q2-tecton-elements 1.50.1 → 1.51.0

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 (578) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +21 -12
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/index-9aa4a776.js +235 -0
  4. package/dist/cjs/index-9aa4a776.js.map +1 -0
  5. package/dist/cjs/{index-43010ce4.js → index-f69742cf.js} +1 -1
  6. package/dist/cjs/{index-43010ce4.js.map → index-f69742cf.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-group.cjs.entry.js +50 -0
  9. package/dist/cjs/q2-action-group.cjs.entry.js.map +1 -0
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +1364 -3
  11. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-badge_7.cjs.entry.js +23 -13
  14. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  18. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  23. package/dist/cjs/q2-chart-donut.cjs.entry.js +16 -16
  24. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-data-table.cjs.entry.js +62 -62
  30. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-dropdown.cjs.entry.js +77 -5
  35. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-formatted-text.cjs.entry.js +72 -0
  38. package/dist/cjs/q2-formatted-text.cjs.entry.js.map +1 -0
  39. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-link.cjs.entry.js +64 -0
  43. package/dist/cjs/q2-link.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-list.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  48. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-option-list.cjs.entry.js +9 -4
  50. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  51. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-pagination.cjs.entry.js +90 -9
  53. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-pill.cjs.entry.js +26 -5
  55. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  59. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  60. package/dist/cjs/q2-resize-observer.cjs.entry.js +96 -0
  61. package/dist/cjs/q2-resize-observer.cjs.entry.js.map +1 -0
  62. package/dist/cjs/q2-section.cjs.entry.js +27 -3
  63. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-select.cjs.entry.js +7 -6
  65. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  67. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  68. package/dist/cjs/q2-stepper.cjs.entry.js +39 -3
  69. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-tag.cjs.entry.js +3 -2
  71. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  72. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  73. package/dist/cjs/q2-textarea.cjs.entry.js +46 -11
  74. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  75. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  76. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  77. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  78. package/dist/collection/collection-manifest.json +4 -0
  79. package/dist/collection/components/q2-action-group/q2-action-group.css +99 -0
  80. package/dist/collection/components/q2-action-group/q2-action-group.js +120 -0
  81. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -0
  82. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +30 -0
  83. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -0
  84. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js +156 -0
  85. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -0
  86. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +3 -2
  87. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  88. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  89. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js +14 -9
  90. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  91. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js +14 -9
  92. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  93. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js +14 -9
  94. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  96. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +227 -223
  97. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  98. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js +12 -7
  99. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  100. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js +49 -45
  101. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  102. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  103. package/dist/collection/components/q2-chart-area/q2-chart-area.js +2 -2
  104. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  105. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js +12 -7
  106. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  107. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +2 -2
  108. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  109. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js +16 -11
  110. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +15 -15
  112. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  113. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js +32 -26
  114. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  115. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js +12 -7
  116. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  117. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +2 -2
  118. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  119. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js +22 -17
  120. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  121. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  122. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js +12 -7
  123. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  124. package/dist/collection/components/q2-data-table/q2-data-table.js +104 -104
  125. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  126. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js +42 -24
  127. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  128. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  129. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js +12 -7
  130. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  131. package/dist/collection/components/q2-dropdown/q2-dropdown.js +201 -4
  132. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  133. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +305 -124
  134. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  135. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
  136. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  137. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +18 -13
  138. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  139. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js +14 -18
  140. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  141. package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +94 -0
  142. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +230 -0
  143. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -0
  144. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js +430 -0
  145. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -0
  146. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js +14 -9
  147. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  148. package/dist/collection/components/q2-input/q2-input.css +9 -0
  149. package/dist/collection/components/q2-input/q2-input.js +7 -8
  150. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  151. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +50 -33
  152. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  153. package/dist/collection/components/q2-item/q2-item.js +1 -1
  154. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js +32 -7
  155. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  156. package/dist/collection/components/q2-legend/q2-legend.css +1 -1
  157. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  158. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js +13 -8
  159. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  160. package/dist/collection/components/q2-link/q2-link.css +146 -0
  161. package/dist/collection/components/q2-link/q2-link.js +242 -0
  162. package/dist/collection/components/q2-link/q2-link.js.map +1 -0
  163. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +145 -0
  164. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -0
  165. package/dist/collection/components/q2-list/q2-list.js +1 -1
  166. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js +12 -7
  167. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  168. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js +14 -9
  169. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  170. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js +14 -9
  171. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  172. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  173. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +16 -11
  174. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  175. package/dist/collection/components/q2-message/q2-message.js +1 -1
  176. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js +14 -9
  177. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  178. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  179. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js +20 -13
  180. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  181. package/dist/collection/components/q2-option/q2-option.js +1 -1
  182. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +28 -12
  183. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  184. package/dist/collection/components/q2-option-list/q2-option-list.js +7 -5
  185. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  186. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js +415 -405
  187. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  188. package/dist/collection/components/q2-pagination/q2-pagination.js +230 -14
  189. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  190. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +138 -15
  191. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  192. package/dist/collection/components/q2-pill/q2-pill.css +12 -0
  193. package/dist/collection/components/q2-pill/q2-pill.js +43 -3
  194. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  195. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +412 -212
  196. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  197. package/dist/collection/components/q2-popover/q2-popover.js +37 -11
  198. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  199. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +296 -236
  200. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  201. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +3 -3
  202. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  203. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js +21 -7
  204. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  205. package/dist/collection/components/q2-radio-group/q2-radio-group.js +2 -2
  206. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  207. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js +32 -26
  208. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  209. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  210. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js +12 -7
  211. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  212. package/dist/collection/components/q2-resize-observer/q2-resize-observer.css +71 -0
  213. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +166 -0
  214. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -0
  215. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js +83 -0
  216. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -0
  217. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js +66 -0
  218. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -0
  219. package/dist/collection/components/q2-section/q2-section.js +78 -2
  220. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  221. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js +39 -9
  222. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  223. package/dist/collection/components/q2-select/q2-select.js +23 -5
  224. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  225. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +695 -676
  226. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  227. package/dist/collection/components/q2-stepper/q2-stepper.js +76 -2
  228. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  229. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js +183 -87
  230. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  231. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +2 -2
  232. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js +20 -9
  233. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  234. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  235. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js +71 -67
  236. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  237. package/dist/collection/components/q2-tab-container/q2-tab-container.js +50 -7
  238. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  239. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js +89 -65
  240. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  241. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  242. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js +14 -9
  243. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  244. package/dist/collection/components/q2-tag/q2-tag.js +19 -1
  245. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  246. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +47 -28
  247. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  248. package/dist/collection/components/q2-textarea/q2-textarea.js +51 -13
  249. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  250. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js +31 -10
  251. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  252. package/dist/collection/components/q2-tooltip/q2-tooltip.css +5 -2
  253. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js +51 -13
  254. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  255. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  256. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js +18 -13
  257. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  258. package/dist/collection/utils/helpers.js +65 -0
  259. package/dist/collection/utils/helpers.js.map +1 -1
  260. package/dist/collection/utils/index.js +11 -11
  261. package/dist/collection/utils/index.js.map +1 -1
  262. package/dist/collection/utils/sanitize-html-string.js +10 -0
  263. package/dist/collection/utils/sanitize-html-string.js.map +1 -0
  264. package/dist/collection/utils/sanitize-regex-string.js +4 -0
  265. package/dist/collection/utils/sanitize-regex-string.js.map +1 -0
  266. package/dist/components/index.js +8 -0
  267. package/dist/components/index.js.map +1 -1
  268. package/dist/components/index2.js +11 -1356
  269. package/dist/components/index2.js.map +1 -1
  270. package/dist/components/q2-action-group.d.ts +11 -0
  271. package/dist/components/q2-action-group.js +75 -0
  272. package/dist/components/q2-action-group.js.map +1 -0
  273. package/dist/components/q2-action-sheet.js +1363 -2
  274. package/dist/components/q2-action-sheet.js.map +1 -1
  275. package/dist/components/q2-avatar2.js +1 -1
  276. package/dist/components/q2-btn2.js +1 -1
  277. package/dist/components/q2-carousel-pane.js +2 -2
  278. package/dist/components/q2-chart-area.js +1 -1
  279. package/dist/components/q2-chart-area.js.map +1 -1
  280. package/dist/components/q2-chart-bar.js +1 -1
  281. package/dist/components/q2-chart-bar.js.map +1 -1
  282. package/dist/components/q2-chart-donut.js +15 -15
  283. package/dist/components/q2-chart-donut.js.map +1 -1
  284. package/dist/components/q2-checkbox-group.js +2 -2
  285. package/dist/components/q2-checkbox-group.js.map +1 -1
  286. package/dist/components/q2-currency.js +1 -1
  287. package/dist/components/q2-data-table.js +64 -64
  288. package/dist/components/q2-data-table.js.map +1 -1
  289. package/dist/components/q2-detail.js +1 -1
  290. package/dist/components/q2-dropdown-item2.js +1 -1
  291. package/dist/components/q2-dropdown-item2.js.map +1 -1
  292. package/dist/components/q2-dropdown.js +82 -5
  293. package/dist/components/q2-dropdown.js.map +1 -1
  294. package/dist/components/q2-formatted-text.d.ts +11 -0
  295. package/dist/components/q2-formatted-text.js +101 -0
  296. package/dist/components/q2-formatted-text.js.map +1 -0
  297. package/dist/components/q2-input2.js +4 -5
  298. package/dist/components/q2-input2.js.map +1 -1
  299. package/dist/components/q2-item.js +1 -1
  300. package/dist/components/q2-legend2.js +2 -2
  301. package/dist/components/q2-legend2.js.map +1 -1
  302. package/dist/components/q2-link.d.ts +11 -0
  303. package/dist/components/q2-link.js +93 -0
  304. package/dist/components/q2-link.js.map +1 -0
  305. package/dist/components/q2-list.js +1 -1
  306. package/dist/components/q2-loc.js +1 -1
  307. package/dist/components/q2-message2.js +1 -1
  308. package/dist/components/q2-month-picker.js +2 -2
  309. package/dist/components/q2-optgroup2.js +1 -1
  310. package/dist/components/q2-option-list2.js +8 -3
  311. package/dist/components/q2-option-list2.js.map +1 -1
  312. package/dist/components/q2-option2.js +1 -1
  313. package/dist/components/q2-pagination.js +97 -10
  314. package/dist/components/q2-pagination.js.map +1 -1
  315. package/dist/components/q2-pill.js +29 -5
  316. package/dist/components/q2-pill.js.map +1 -1
  317. package/dist/components/q2-popover2.js +22 -12
  318. package/dist/components/q2-popover2.js.map +1 -1
  319. package/dist/components/q2-radio-group.js +2 -2
  320. package/dist/components/q2-radio-group.js.map +1 -1
  321. package/dist/components/q2-relative-time.js +1 -1
  322. package/dist/components/q2-resize-observer.d.ts +11 -0
  323. package/dist/components/q2-resize-observer.js +8 -0
  324. package/dist/components/q2-resize-observer.js.map +1 -0
  325. package/dist/components/q2-resize-observer2.js +112 -0
  326. package/dist/components/q2-resize-observer2.js.map +1 -0
  327. package/dist/components/q2-section.js +30 -4
  328. package/dist/components/q2-section.js.map +1 -1
  329. package/dist/components/q2-select2.js +7 -5
  330. package/dist/components/q2-select2.js.map +1 -1
  331. package/dist/components/q2-stepper-vertical.js +1 -1
  332. package/dist/components/q2-stepper.js +40 -3
  333. package/dist/components/q2-stepper.js.map +1 -1
  334. package/dist/components/q2-tab-container.js +20 -8
  335. package/dist/components/q2-tab-container.js.map +1 -1
  336. package/dist/components/q2-tab-pane.js +1 -1
  337. package/dist/components/q2-tag.js +3 -1
  338. package/dist/components/q2-tag.js.map +1 -1
  339. package/dist/components/q2-textarea.js +49 -12
  340. package/dist/components/q2-textarea.js.map +1 -1
  341. package/dist/components/q2-tooltip.js +1 -1
  342. package/dist/components/q2-tooltip.js.map +1 -1
  343. package/dist/components/tecton-tab-pane.js +2 -2
  344. package/dist/esm/click-elsewhere_2.entry.js +21 -12
  345. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  346. package/dist/esm/{index-c6d74f10.js → index-3184c760.js} +1 -1
  347. package/dist/esm/{index-c6d74f10.js.map → index-3184c760.js.map} +1 -1
  348. package/dist/esm/index-844fc010.js +211 -0
  349. package/dist/esm/index-844fc010.js.map +1 -0
  350. package/dist/esm/loader.js +1 -1
  351. package/dist/esm/q2-action-group.entry.js +46 -0
  352. package/dist/esm/q2-action-group.entry.js.map +1 -0
  353. package/dist/esm/q2-action-sheet.entry.js +1363 -2
  354. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  355. package/dist/esm/q2-avatar.entry.js +1 -1
  356. package/dist/esm/q2-badge_7.entry.js +23 -13
  357. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  358. package/dist/esm/q2-calendar.entry.js +2 -2
  359. package/dist/esm/q2-card.entry.js +1 -1
  360. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  361. package/dist/esm/q2-carousel.entry.js +1 -1
  362. package/dist/esm/q2-chart-area.entry.js +2 -2
  363. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  364. package/dist/esm/q2-chart-bar.entry.js +2 -2
  365. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  366. package/dist/esm/q2-chart-donut.entry.js +16 -16
  367. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  368. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  369. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  370. package/dist/esm/q2-checkbox.entry.js +1 -1
  371. package/dist/esm/q2-currency.entry.js +1 -1
  372. package/dist/esm/q2-data-table.entry.js +62 -62
  373. package/dist/esm/q2-data-table.entry.js.map +1 -1
  374. package/dist/esm/q2-detail.entry.js +2 -2
  375. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  376. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  377. package/dist/esm/q2-dropdown.entry.js +77 -5
  378. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  379. package/dist/esm/q2-editable-field.entry.js +1 -1
  380. package/dist/esm/q2-formatted-text.entry.js +68 -0
  381. package/dist/esm/q2-formatted-text.entry.js.map +1 -0
  382. package/dist/esm/q2-item.entry.js +2 -2
  383. package/dist/esm/q2-legend.entry.js +2 -2
  384. package/dist/esm/q2-legend.entry.js.map +1 -1
  385. package/dist/esm/q2-link.entry.js +60 -0
  386. package/dist/esm/q2-link.entry.js.map +1 -0
  387. package/dist/esm/q2-list.entry.js +2 -2
  388. package/dist/esm/q2-loc.entry.js +2 -2
  389. package/dist/esm/q2-message.entry.js +2 -2
  390. package/dist/esm/q2-month-picker.entry.js +3 -3
  391. package/dist/esm/q2-optgroup.entry.js +2 -2
  392. package/dist/esm/q2-option-list.entry.js +9 -4
  393. package/dist/esm/q2-option-list.entry.js.map +1 -1
  394. package/dist/esm/q2-option.entry.js +1 -1
  395. package/dist/esm/q2-pagination.entry.js +90 -9
  396. package/dist/esm/q2-pagination.entry.js.map +1 -1
  397. package/dist/esm/q2-pill.entry.js +26 -5
  398. package/dist/esm/q2-pill.entry.js.map +1 -1
  399. package/dist/esm/q2-radio-group.entry.js +2 -2
  400. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  401. package/dist/esm/q2-radio.entry.js +1 -1
  402. package/dist/esm/q2-relative-time.entry.js +3 -3
  403. package/dist/esm/q2-resize-observer.entry.js +92 -0
  404. package/dist/esm/q2-resize-observer.entry.js.map +1 -0
  405. package/dist/esm/q2-section.entry.js +27 -3
  406. package/dist/esm/q2-section.entry.js.map +1 -1
  407. package/dist/esm/q2-select.entry.js +7 -6
  408. package/dist/esm/q2-select.entry.js.map +1 -1
  409. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  410. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  411. package/dist/esm/q2-stepper.entry.js +39 -3
  412. package/dist/esm/q2-stepper.entry.js.map +1 -1
  413. package/dist/esm/q2-tag.entry.js +3 -2
  414. package/dist/esm/q2-tag.entry.js.map +1 -1
  415. package/dist/esm/q2-tecton-elements.js +1 -1
  416. package/dist/esm/q2-textarea.entry.js +47 -12
  417. package/dist/esm/q2-textarea.entry.js.map +1 -1
  418. package/dist/esm/q2-tooltip.entry.js +2 -2
  419. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  420. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  421. package/dist/q2-tecton-elements/{p-0a3a804a.entry.js → p-06701928.entry.js} +2 -2
  422. package/dist/q2-tecton-elements/{p-0a3a804a.entry.js.map → p-06701928.entry.js.map} +1 -1
  423. package/dist/q2-tecton-elements/{p-5d936af5.entry.js → p-07d1c3ae.entry.js} +2 -2
  424. package/dist/q2-tecton-elements/p-15ac45d6.js +2 -0
  425. package/dist/q2-tecton-elements/p-15ac45d6.js.map +1 -0
  426. package/dist/q2-tecton-elements/{p-ce4e6b41.entry.js → p-16910682.entry.js} +2 -2
  427. package/dist/q2-tecton-elements/p-16910682.entry.js.map +1 -0
  428. package/dist/q2-tecton-elements/p-188eb162.entry.js +3 -0
  429. package/dist/q2-tecton-elements/p-188eb162.entry.js.map +1 -0
  430. package/dist/q2-tecton-elements/{p-58cafc0d.entry.js → p-1c760a89.entry.js} +2 -2
  431. package/dist/q2-tecton-elements/{p-074ae80c.entry.js → p-1c88d057.entry.js} +2 -2
  432. package/dist/q2-tecton-elements/{p-3b0d3cd4.entry.js → p-20a3d6ed.entry.js} +2 -2
  433. package/dist/q2-tecton-elements/p-20a3d6ed.entry.js.map +1 -0
  434. package/dist/q2-tecton-elements/{p-77a0cc0c.entry.js → p-2733583e.entry.js} +2 -2
  435. package/dist/q2-tecton-elements/{p-4116579f.entry.js → p-3e428290.entry.js} +2 -2
  436. package/dist/q2-tecton-elements/p-3e428290.entry.js.map +1 -0
  437. package/dist/q2-tecton-elements/{p-072c5877.entry.js → p-4774e5b3.entry.js} +2 -2
  438. package/dist/q2-tecton-elements/{p-77272c4c.entry.js → p-490ef8e5.entry.js} +2 -2
  439. package/dist/q2-tecton-elements/{p-0a1dff75.entry.js → p-4e10550d.entry.js} +2 -2
  440. package/dist/q2-tecton-elements/p-4e10550d.entry.js.map +1 -0
  441. package/dist/q2-tecton-elements/{p-2ca6d44f.entry.js → p-50f7328f.entry.js} +2 -2
  442. package/dist/q2-tecton-elements/p-5637c486.entry.js +2 -0
  443. package/dist/q2-tecton-elements/p-5637c486.entry.js.map +1 -0
  444. package/dist/q2-tecton-elements/p-56df21b0.entry.js +2 -0
  445. package/dist/q2-tecton-elements/p-56df21b0.entry.js.map +1 -0
  446. package/dist/q2-tecton-elements/{p-34856c71.entry.js → p-5a834214.entry.js} +2 -2
  447. package/dist/q2-tecton-elements/{p-34856c71.entry.js.map → p-5a834214.entry.js.map} +1 -1
  448. package/dist/q2-tecton-elements/p-5f99a4a8.entry.js +2 -0
  449. package/dist/q2-tecton-elements/p-5f99a4a8.entry.js.map +1 -0
  450. package/dist/q2-tecton-elements/p-72d948b4.entry.js +2 -0
  451. package/dist/q2-tecton-elements/p-72d948b4.entry.js.map +1 -0
  452. package/dist/q2-tecton-elements/{p-3c7be0bb.entry.js → p-7903cd15.entry.js} +2 -2
  453. package/dist/q2-tecton-elements/p-7903cd15.entry.js.map +1 -0
  454. package/dist/q2-tecton-elements/{p-d2e1631a.entry.js → p-7906f49e.entry.js} +2 -2
  455. package/dist/q2-tecton-elements/{p-d2e1631a.entry.js.map → p-7906f49e.entry.js.map} +1 -1
  456. package/dist/q2-tecton-elements/{p-2fcaf2d6.entry.js → p-7aef0c08.entry.js} +2 -2
  457. package/dist/q2-tecton-elements/{p-8a4b106d.entry.js → p-7c9a0122.entry.js} +2 -2
  458. package/dist/q2-tecton-elements/p-7c9f8b62.entry.js +2 -0
  459. package/dist/q2-tecton-elements/p-7c9f8b62.entry.js.map +1 -0
  460. package/dist/q2-tecton-elements/{p-cf32b5db.entry.js → p-81fbe718.entry.js} +2 -2
  461. package/dist/q2-tecton-elements/p-81fbe718.entry.js.map +1 -0
  462. package/dist/q2-tecton-elements/{p-6237c775.entry.js → p-896c7008.entry.js} +2 -2
  463. package/dist/q2-tecton-elements/{p-395904b4.entry.js → p-8d07cf91.entry.js} +2 -2
  464. package/dist/q2-tecton-elements/{p-fffb54e9.entry.js → p-8d2b02e1.entry.js} +2 -2
  465. package/dist/q2-tecton-elements/{p-6e6d9793.entry.js → p-95a7c042.entry.js} +2 -2
  466. package/dist/q2-tecton-elements/{p-45407ecc.entry.js → p-96b1406c.entry.js} +2 -2
  467. package/dist/q2-tecton-elements/{p-cb3f48de.entry.js → p-a47597dd.entry.js} +2 -2
  468. package/dist/q2-tecton-elements/p-a47597dd.entry.js.map +1 -0
  469. package/dist/q2-tecton-elements/p-a5d0e252.entry.js +2 -0
  470. package/dist/q2-tecton-elements/p-a5d0e252.entry.js.map +1 -0
  471. package/dist/q2-tecton-elements/{p-2c26295e.entry.js → p-ac6aa392.entry.js} +2 -2
  472. package/dist/q2-tecton-elements/{p-376a0589.entry.js → p-ad057d10.entry.js} +2 -2
  473. package/dist/q2-tecton-elements/p-ad798287.entry.js +2 -0
  474. package/dist/q2-tecton-elements/p-ad798287.entry.js.map +1 -0
  475. package/dist/q2-tecton-elements/{p-ad998f71.entry.js → p-b0e5e9dc.entry.js} +2 -2
  476. package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js.map +1 -0
  477. package/dist/q2-tecton-elements/{p-34696e3f.entry.js → p-b1784be3.entry.js} +2 -2
  478. package/dist/q2-tecton-elements/{p-259b728a.entry.js → p-b7de110e.entry.js} +2 -2
  479. package/dist/q2-tecton-elements/{p-8111547c.entry.js → p-c235ab3f.entry.js} +2 -2
  480. package/dist/q2-tecton-elements/p-c5667d5d.entry.js +2 -0
  481. package/dist/q2-tecton-elements/p-c5667d5d.entry.js.map +1 -0
  482. package/dist/q2-tecton-elements/{p-c81d299a.entry.js → p-e216ef3f.entry.js} +2 -2
  483. package/dist/q2-tecton-elements/p-e2c800ef.entry.js +2 -0
  484. package/dist/q2-tecton-elements/p-e2c800ef.entry.js.map +1 -0
  485. package/dist/q2-tecton-elements/p-f135b265.entry.js +2 -0
  486. package/dist/q2-tecton-elements/p-f135b265.entry.js.map +1 -0
  487. package/dist/q2-tecton-elements/{p-721365be.js → p-f1e887f5.js} +1 -1
  488. package/dist/q2-tecton-elements/{p-6b7c53a8.entry.js → p-f5f23659.entry.js} +2 -2
  489. package/dist/q2-tecton-elements/p-f7867f21.entry.js +2 -0
  490. package/dist/q2-tecton-elements/p-f7867f21.entry.js.map +1 -0
  491. package/dist/q2-tecton-elements/p-ff8f1a32.entry.js +2 -0
  492. package/dist/q2-tecton-elements/p-ff8f1a32.entry.js.map +1 -0
  493. package/dist/q2-tecton-elements/p-fff01dc1.entry.js +2 -0
  494. package/dist/q2-tecton-elements/p-fff01dc1.entry.js.map +1 -0
  495. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  496. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  497. package/dist/types/components/q2-action-group/q2-action-group.d.ts +30 -0
  498. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +1 -1
  499. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +1 -1
  500. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +2 -0
  501. package/dist/types/components/q2-data-table/q2-data-table.d.ts +15 -13
  502. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +36 -0
  503. package/dist/types/components/q2-formatted-text/q2-formatted-text.d.ts +34 -0
  504. package/dist/types/components/q2-input/q2-input.d.ts +10 -9
  505. package/dist/types/components/q2-legend/q2-legend.d.ts +1 -0
  506. package/dist/types/components/q2-link/q2-link.d.ts +36 -0
  507. package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -3
  508. package/dist/types/components/q2-pill/q2-pill.d.ts +11 -0
  509. package/dist/types/components/q2-popover/q2-popover.d.ts +7 -1
  510. package/dist/types/components/q2-resize-observer/q2-resize-observer.d.ts +28 -0
  511. package/dist/types/components/q2-section/q2-section.d.ts +12 -0
  512. package/dist/types/components/q2-select/q2-select.d.ts +5 -0
  513. package/dist/types/components/q2-stepper/q2-stepper.d.ts +10 -1
  514. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +8 -2
  515. package/dist/types/components/q2-tag/q2-tag.d.ts +5 -0
  516. package/dist/types/components/q2-textarea/q2-textarea.d.ts +8 -3
  517. package/dist/types/components.d.ts +394 -18
  518. package/dist/types/utils/helpers.d.ts +28 -0
  519. package/dist/types/utils/index.d.ts +3 -3
  520. package/dist/types/utils/sanitize-html-string.d.ts +1 -0
  521. package/dist/types/utils/sanitize-regex-string.d.ts +1 -0
  522. package/package.json +4 -4
  523. package/dist/cjs/index-64d8b839.js +0 -1580
  524. package/dist/cjs/index-64d8b839.js.map +0 -1
  525. package/dist/esm/index-4a80972c.js +0 -1556
  526. package/dist/esm/index-4a80972c.js.map +0 -1
  527. package/dist/q2-tecton-elements/p-0a1dff75.entry.js.map +0 -1
  528. package/dist/q2-tecton-elements/p-3b0d3cd4.entry.js.map +0 -1
  529. package/dist/q2-tecton-elements/p-3c7be0bb.entry.js.map +0 -1
  530. package/dist/q2-tecton-elements/p-403bf3d4.entry.js +0 -2
  531. package/dist/q2-tecton-elements/p-403bf3d4.entry.js.map +0 -1
  532. package/dist/q2-tecton-elements/p-4116579f.entry.js.map +0 -1
  533. package/dist/q2-tecton-elements/p-661ed976.entry.js +0 -2
  534. package/dist/q2-tecton-elements/p-661ed976.entry.js.map +0 -1
  535. package/dist/q2-tecton-elements/p-9a1a4bc0.js +0 -3
  536. package/dist/q2-tecton-elements/p-9a1a4bc0.js.map +0 -1
  537. package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js +0 -2
  538. package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js.map +0 -1
  539. package/dist/q2-tecton-elements/p-aa57b657.entry.js +0 -2
  540. package/dist/q2-tecton-elements/p-aa57b657.entry.js.map +0 -1
  541. package/dist/q2-tecton-elements/p-ad998f71.entry.js.map +0 -1
  542. package/dist/q2-tecton-elements/p-adec9275.entry.js +0 -2
  543. package/dist/q2-tecton-elements/p-adec9275.entry.js.map +0 -1
  544. package/dist/q2-tecton-elements/p-adf0a7c9.entry.js +0 -2
  545. package/dist/q2-tecton-elements/p-adf0a7c9.entry.js.map +0 -1
  546. package/dist/q2-tecton-elements/p-b72fd065.entry.js +0 -2
  547. package/dist/q2-tecton-elements/p-b72fd065.entry.js.map +0 -1
  548. package/dist/q2-tecton-elements/p-c0c658d1.entry.js +0 -2
  549. package/dist/q2-tecton-elements/p-c0c658d1.entry.js.map +0 -1
  550. package/dist/q2-tecton-elements/p-cb3f48de.entry.js.map +0 -1
  551. package/dist/q2-tecton-elements/p-ce4e6b41.entry.js.map +0 -1
  552. package/dist/q2-tecton-elements/p-cf32b5db.entry.js.map +0 -1
  553. package/dist/q2-tecton-elements/p-cf966a0f.entry.js +0 -2
  554. package/dist/q2-tecton-elements/p-cf966a0f.entry.js.map +0 -1
  555. package/dist/q2-tecton-elements/p-dc77bf66.entry.js +0 -2
  556. package/dist/q2-tecton-elements/p-dc77bf66.entry.js.map +0 -1
  557. /package/dist/q2-tecton-elements/{p-5d936af5.entry.js.map → p-07d1c3ae.entry.js.map} +0 -0
  558. /package/dist/q2-tecton-elements/{p-58cafc0d.entry.js.map → p-1c760a89.entry.js.map} +0 -0
  559. /package/dist/q2-tecton-elements/{p-074ae80c.entry.js.map → p-1c88d057.entry.js.map} +0 -0
  560. /package/dist/q2-tecton-elements/{p-77a0cc0c.entry.js.map → p-2733583e.entry.js.map} +0 -0
  561. /package/dist/q2-tecton-elements/{p-072c5877.entry.js.map → p-4774e5b3.entry.js.map} +0 -0
  562. /package/dist/q2-tecton-elements/{p-77272c4c.entry.js.map → p-490ef8e5.entry.js.map} +0 -0
  563. /package/dist/q2-tecton-elements/{p-2ca6d44f.entry.js.map → p-50f7328f.entry.js.map} +0 -0
  564. /package/dist/q2-tecton-elements/{p-2fcaf2d6.entry.js.map → p-7aef0c08.entry.js.map} +0 -0
  565. /package/dist/q2-tecton-elements/{p-8a4b106d.entry.js.map → p-7c9a0122.entry.js.map} +0 -0
  566. /package/dist/q2-tecton-elements/{p-6237c775.entry.js.map → p-896c7008.entry.js.map} +0 -0
  567. /package/dist/q2-tecton-elements/{p-395904b4.entry.js.map → p-8d07cf91.entry.js.map} +0 -0
  568. /package/dist/q2-tecton-elements/{p-fffb54e9.entry.js.map → p-8d2b02e1.entry.js.map} +0 -0
  569. /package/dist/q2-tecton-elements/{p-6e6d9793.entry.js.map → p-95a7c042.entry.js.map} +0 -0
  570. /package/dist/q2-tecton-elements/{p-45407ecc.entry.js.map → p-96b1406c.entry.js.map} +0 -0
  571. /package/dist/q2-tecton-elements/{p-2c26295e.entry.js.map → p-ac6aa392.entry.js.map} +0 -0
  572. /package/dist/q2-tecton-elements/{p-376a0589.entry.js.map → p-ad057d10.entry.js.map} +0 -0
  573. /package/dist/q2-tecton-elements/{p-34696e3f.entry.js.map → p-b1784be3.entry.js.map} +0 -0
  574. /package/dist/q2-tecton-elements/{p-259b728a.entry.js.map → p-b7de110e.entry.js.map} +0 -0
  575. /package/dist/q2-tecton-elements/{p-8111547c.entry.js.map → p-c235ab3f.entry.js.map} +0 -0
  576. /package/dist/q2-tecton-elements/{p-c81d299a.entry.js.map → p-e216ef3f.entry.js.map} +0 -0
  577. /package/dist/q2-tecton-elements/{p-721365be.js.map → p-f1e887f5.js.map} +0 -0
  578. /package/dist/q2-tecton-elements/{p-6b7c53a8.entry.js.map → p-f5f23659.entry.js.map} +0 -0
@@ -12,48 +12,6 @@ describe('q2-pill', () => {
12
12
  const page = await setup({ html: `<q2-pill></q2-pill>` });
13
13
  expect(await getListOfStyleCompilationIssues(page, 'q2-pill')).toHaveLength(0);
14
14
  });
15
- describe('[A11y] guideline compliance', () => {
16
- it('Does not have accessibility violations with only label', async () => {
17
- page = await setup({ html: `<q2-pill label="My pill"></q2-pill>` });
18
- const hasViolations = await evaluateA11y(page);
19
- expect(hasViolations).toBe(false);
20
- });
21
- it('Does not have accessibility violations when has options', async () => {
22
- page = await setup({
23
- html: `
24
- <q2-pill label="My pill">
25
- <q2-option value="1">Option 1</q2-option>
26
- <q2-option value="2">Option 2</q2-option>
27
- <q2-option value="3">Option 3</q2-option>
28
- </q2-pill>
29
- `,
30
- });
31
- const hasViolations = await evaluateA11y(page);
32
- expect(hasViolations).toBe(false);
33
- });
34
- it("option-list should have a role of 'listbox' and the options a role of 'option'", async () => {
35
- page = await setup({
36
- html: `
37
- <q2-pill label="My pill" open>
38
- <q2-option value="1">Option 1</q2-option>
39
- <q2-option value="2">Option 2</q2-option>
40
- <q2-option value="3">Option 3</q2-option>
41
- </q2-pill>
42
- `,
43
- });
44
- await page.waitForChanges();
45
- const snapshot = await page.accessibility.snapshot();
46
- const button = snapshot.children[0].children[0];
47
- const optionList = snapshot.children[1];
48
- expect(button.role).toEqual('combobox');
49
- expect(optionList.role).toEqual('listbox');
50
- expect(optionList.children).toHaveLength(3);
51
- optionList.children.forEach(child => {
52
- expect(child.role).toEqual('option');
53
- expect(child.name).toBeTruthy();
54
- });
55
- });
56
- });
57
15
  describe('Props', () => {
58
16
  describe('hoist', () => {
59
17
  const runHoistSetup = async (action, hoistEnabled = false, defineShowActionSheet = false, isCancelled = false) => {
@@ -432,6 +390,21 @@ describe('q2-pill', () => {
432
390
  });
433
391
  });
434
392
  });
393
+ describe('popoverMaxHeight', () => {
394
+ it('when provided, passes the value to q2-popover', async () => {
395
+ page = await setup({
396
+ html: `
397
+ <q2-pill label="My pill" popover-max-height="600">
398
+ <q2-option value="1">Option 1</q2-option>
399
+ <q2-option value="2">Option 2</q2-option>
400
+ <q2-option value="3">Option 3</q2-option>
401
+ </q2-pill>
402
+ `,
403
+ });
404
+ popover = await page.find('q2-pill >>> q2-popover');
405
+ expect(await popover.getProperty('maxHeight')).toEqual(600);
406
+ });
407
+ });
435
408
  describe('popoverDirection', () => {
436
409
  describe('when not provided', () => {
437
410
  it('does not default and does not pass a value to q2-popover', async () => {
@@ -762,119 +735,348 @@ describe('q2-pill', () => {
762
735
  });
763
736
  });
764
737
  });
765
- describe('Keyboard', () => {
738
+ describe('Focus', () => {
739
+ let page;
740
+ let pill;
766
741
  beforeEach(async () => {
767
742
  page = await setup({
768
743
  html: `
769
- <q2-pill label="My pill">
770
- <q2-option value="1">Option 1</q2-option>
771
- <q2-option value="2">Option 2</q2-option>
772
- <q2-option value="3">Option 3</q2-option>
773
- </q2-pill>
774
- `,
744
+ <q2-pill label="My pill" value="my-pill-value">
745
+ <q2-option value="1">Option 1</q2-option>
746
+ <q2-option value="2">Option 2</q2-option>
747
+ <q2-option value="3">Option 3</q2-option>
748
+ </q2-pill>
749
+ `,
775
750
  });
776
751
  pill = await page.find('q2-pill');
777
- allOptions = await page.findAll('q2-option');
778
- optionList = await page.find('q2-pill >>> q2-option-list');
779
- popover = await page.find('q2-pill >>> q2-popover');
780
- optionContainer = await page.find('q2-pill >>> q2-option-list >>> .options');
781
- controlBtn = await page.find('q2-pill >>> .btn-primary');
782
- changeSpy = await pill.spyOnEvent('change');
783
752
  });
784
- describe('pill button interactions', () => {
785
- it('opens list and focuses first option on ArrowDown', async () => {
786
- await controlBtn.press('ArrowDown');
787
- await page.waitForChanges();
788
- expect(popover).toHaveAttribute('open');
789
- expect(pill).toHaveAttribute('open');
790
- expect(await getFocusedAttribute(page, 'value')).toEqual('1');
753
+ it('focuses the <button> element when focus event is dispatched', async function () {
754
+ pill.triggerEvent('focus');
755
+ await page.waitForChanges();
756
+ expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
757
+ });
758
+ });
759
+ describe('Slot content', () => {
760
+ describe('popover-top', () => {
761
+ it('renders the provided content in the popover-top slot', async () => {
762
+ page = await setup({
763
+ html: `
764
+ <q2-pill label="My pill" value="my-pill-value">
765
+ <q2-option value="1">Option 1</q2-option>
766
+ <q2-option value="2">Option 2</q2-option>
767
+ <q2-option value="3">Option 3</q2-option>
768
+ <div slot='popover-top'>Popover Slot Top</div>
769
+ </q2-pill>
770
+ `,
771
+ });
772
+ const slotContainer = await page.find('q2-pill >>> .popover-top-container');
773
+ const slotData = await page.$eval('q2-pill', element => {
774
+ const nodes = element.shadowRoot
775
+ .querySelector('slot[name="popover-top"]')
776
+ .assignedElements();
777
+ return {
778
+ childCount: nodes.length,
779
+ slot: nodes[0].getAttribute('slot'),
780
+ text: nodes[0].textContent,
781
+ };
782
+ });
783
+ expect(slotContainer).not.toHaveAttribute('hidden');
784
+ expect(slotData.childCount).toEqual(1);
785
+ expect(slotData.slot).toEqual('popover-top');
786
+ expect(slotData.text).toEqual('Popover Slot Top');
791
787
  });
792
- it('opens list and focuses last option on ArrowUp', async () => {
793
- await controlBtn.press('ArrowUp');
794
- await page.waitForChanges();
795
- expect(popover).toHaveAttribute('open');
796
- expect(pill).toHaveAttribute('open');
797
- expect(await getFocusedAttribute(page, 'value')).toEqual('3');
788
+ it('hides the container if no content provided', async () => {
789
+ page = await setup({
790
+ html: `
791
+ <q2-pill label="My pill" value="my-pill-value">
792
+ <q2-option value="1">Option 1</q2-option>
793
+ <q2-option value="2">Option 2</q2-option>
794
+ <q2-option value="3">Option 3</q2-option>
795
+ </q2-pill>
796
+ `,
797
+ });
798
+ const slotContainer = await page.find('q2-pill >>> .popover-top-container');
799
+ expect(slotContainer).toHaveAttribute('hidden');
798
800
  });
799
- it('opens list and does not focus first option on Enter', async () => {
800
- await controlBtn.press('Enter');
801
- await page.waitForChanges();
802
- expect(popover).toHaveAttribute('open');
803
- expect(pill).toHaveAttribute('open');
804
- expect(await getActiveElementTestId(page)).toEqual('btn-control');
801
+ });
802
+ describe('popover-bottom', () => {
803
+ it('renders the provided content in the popover-bottom slot', async () => {
804
+ page = await setup({
805
+ html: `
806
+ <q2-pill label="My pill" value="my-pill-value">
807
+ <q2-option value="1">Option 1</q2-option>
808
+ <q2-option value="2">Option 2</q2-option>
809
+ <q2-option value="3">Option 3</q2-option>
810
+ <div slot='popover-bottom'>Popover Slot Bottom</div>
811
+ </q2-pill>
812
+ `,
813
+ });
814
+ const slotContainer = await page.find('q2-pill >>> .popover-bottom-container');
815
+ const slotData = await page.$eval('q2-pill', element => {
816
+ const nodes = element.shadowRoot
817
+ .querySelector('slot[name="popover-bottom"]')
818
+ .assignedElements();
819
+ return {
820
+ childCount: nodes.length,
821
+ slot: nodes[0].getAttribute('slot'),
822
+ text: nodes[0].textContent,
823
+ };
824
+ });
825
+ expect(slotContainer).not.toHaveAttribute('hidden');
826
+ expect(slotData.childCount).toEqual(1);
827
+ expect(slotData.slot).toEqual('popover-bottom');
828
+ expect(slotData.text).toEqual('Popover Slot Bottom');
805
829
  });
806
- it('opens list and does not focus first option on Space', async () => {
807
- await controlBtn.press(' ');
808
- await page.waitForChanges();
809
- expect(popover).toHaveAttribute('open');
810
- expect(pill).toHaveAttribute('open');
811
- expect(await getActiveElementTestId(page)).toEqual('btn-control');
830
+ it('hides the container if no content provided', async () => {
831
+ page = await setup({
832
+ html: `
833
+ <q2-pill label="My pill" value="my-pill-value">
834
+ <q2-option value="1">Option 1</q2-option>
835
+ <q2-option value="2">Option 2</q2-option>
836
+ <q2-option value="3">Option 3</q2-option>
837
+ </q2-pill>
838
+ `,
839
+ });
840
+ const slotContainer = await page.find('q2-pill >>> .popover-bottom-container');
841
+ expect(slotContainer).toHaveAttribute('hidden');
812
842
  });
813
- it('opens list and focuses last option on Home', async () => {
814
- await controlBtn.press('Home');
843
+ });
844
+ });
845
+ describe('Mutation Observer', () => {
846
+ describe('Popover Slots', () => {
847
+ it('updates the component when popover-top slot is added', async () => {
848
+ page = await setup({
849
+ html: `
850
+ <q2-pill label="My pill" value="my-pill-value">
851
+ <q2-option value="1">Option 1</q2-option>
852
+ <q2-option value="2">Option 2</q2-option>
853
+ <q2-option value="3">Option 3</q2-option>
854
+ </q2-pill>
855
+ `,
856
+ });
857
+ const slotContainer = await page.find('q2-pill >>> .popover-top-container');
858
+ expect(slotContainer).toHaveAttribute('hidden');
859
+ await page.evaluate(() => {
860
+ const slot = document.createElement('div');
861
+ slot.setAttribute('slot', 'popover-top');
862
+ slot.textContent = 'Popover Slot Top';
863
+ document.querySelector('q2-pill').appendChild(slot);
864
+ });
815
865
  await page.waitForChanges();
816
- expect(popover).toHaveAttribute('open');
817
- expect(pill).toHaveAttribute('open');
818
- expect(await getFocusedOptionValue(page)).toEqual('1');
866
+ expect(slotContainer).not.toHaveAttribute('hidden');
819
867
  });
820
- it('opens list and focuses last option on End', async () => {
821
- await controlBtn.press('End');
868
+ it('updates the component when popover-bottom slot is added', async () => {
869
+ page = await setup({
870
+ html: `
871
+ <q2-pill label="My pill" value="my-pill-value">
872
+ <q2-option value="1">Option 1</q2-option>
873
+ <q2-option value="2">Option 2</q2-option>
874
+ <q2-option value="3">Option 3</q2-option>
875
+ </q2-pill>
876
+ `,
877
+ });
878
+ const slotContainer = await page.find('q2-pill >>> .popover-bottom-container');
879
+ expect(slotContainer).toHaveAttribute('hidden');
880
+ await page.evaluate(() => {
881
+ const slot = document.createElement('div');
882
+ slot.setAttribute('slot', 'popover-bottom');
883
+ slot.textContent = 'Popover Slot Bottom';
884
+ document.querySelector('q2-pill').appendChild(slot);
885
+ });
822
886
  await page.waitForChanges();
823
- expect(popover).toHaveAttribute('open');
824
- expect(pill).toHaveAttribute('open');
825
- expect(await getFocusedAttribute(page, 'value')).toEqual('3');
887
+ expect(slotContainer).not.toHaveAttribute('hidden');
826
888
  });
827
889
  });
828
- describe('option list interactions', () => {
829
- it('can select options via keyboard', async () => {
830
- let closeBtn = await page.find('q2-pill >>> .btn-close');
831
- let closeIcon = await page.find('q2-pill >>> q2-icon');
832
- const btnWrapper = await page.find('q2-pill >>> .btn-wrapper');
833
- expect(pill).not.toHaveAttribute('active');
834
- expect(await closeBtn.isVisible()).toBe(true);
835
- expect(closeIcon).toEqualAttribute('type', 'chevron-down');
836
- expect(btnWrapper.classList.contains('has-icon')).toBe(true);
837
- expect(btnWrapper.classList.contains('has-options')).toBe(true);
838
- expect(popover).not.toHaveAttribute('open');
839
- expect(closeBtn.tagName).toEqual('DIV');
840
- await controlBtn.press('ArrowDown');
890
+ describe('Option Count', () => {
891
+ it('updates the option count when options are added', async () => {
892
+ page = await setup({ html: `` });
893
+ await setTestStrings(page, {
894
+ 'tecton.element.optionList.optionCount': 'This option list has {0} options.',
895
+ });
896
+ page.setContent(`
897
+ <q2-pill label="My pill" value="my-pill-value">
898
+ <q2-option value="1">Option 1</q2-option>
899
+ </q2-pill>`);
841
900
  await page.waitForChanges();
842
- expect(pill).not.toHaveAttribute('active');
843
- expect(pill).toHaveAttribute('open');
844
- expect(popover).toHaveAttribute('open');
845
- expect(await getFocusedOptionValue(page)).toEqual('1');
846
- await optionContainer.press('ArrowDown');
901
+ pill = await page.find('q2-pill');
902
+ const optionDescription = await page.find('q2-pill >>> #option-description');
903
+ expect(optionDescription).toEqualText('This option list has 1 options.');
904
+ await page.evaluate(() => {
905
+ const option = document.createElement('q2-option');
906
+ option.setAttribute('value', '2');
907
+ option.textContent = 'Option 2';
908
+ document.querySelector('q2-pill').appendChild(option);
909
+ });
847
910
  await page.waitForChanges();
848
- expect(await getFocusedOptionValue(page)).toEqual('2');
849
- await allOptions[1].press(' ');
911
+ const updatedOptionDescription = await page.find('q2-pill >>> #option-description');
912
+ expect(updatedOptionDescription).toEqualText('This option list has 2 options.');
913
+ });
914
+ it('updates the option count when options are removed', async () => {
915
+ page = await setup({ html: `` });
916
+ await setTestStrings(page, {
917
+ 'tecton.element.optionList.optionCount': 'This option list has {0} options.',
918
+ });
919
+ page.setContent(`
920
+ <q2-pill label="My pill" value="my-pill-value">
921
+ <q2-option value="1">Option 1</q2-option>
922
+ <q2-option value="2">Option 2</q2-option>
923
+ </q2-pill>`);
850
924
  await page.waitForChanges();
851
- expect(pill).toHaveAttribute('active');
852
- expect(pill).not.toHaveAttribute('open');
853
- expect(popover).not.toHaveAttribute('open');
854
- expect(changeSpy).toHaveReceivedEventDetail({
855
- active: true,
856
- value: '2',
857
- values: [{ display: 'Option 2', value: '2' }],
925
+ pill = await page.find('q2-pill');
926
+ const optionDescription = await page.find('q2-pill >>> #option-description');
927
+ expect(optionDescription).toEqualText('This option list has 2 options.');
928
+ await page.evaluate(() => {
929
+ const option = document.querySelector('q2-option');
930
+ document.querySelector('q2-pill').removeChild(option);
858
931
  });
859
- expect(await optionList.getProperty('selectedOptions')).toEqual([{ display: 'Option 2', value: '2' }]);
860
- closeBtn = await page.find('q2-pill >>> .btn-close');
861
- closeIcon = await page.find('q2-pill >>> q2-icon');
862
- expect(closeBtn.tagName).toEqual('BUTTON');
863
- expect(closeIcon).toEqualAttribute('type', 'close');
864
- await closeBtn.press(' ');
865
932
  await page.waitForChanges();
866
- expect(pill).not.toHaveAttribute('active');
867
- expect(changeSpy).toHaveReceivedEventDetail({
868
- active: false,
869
- value: null,
870
- values: [],
933
+ const updatedOptionDescription = await page.find('q2-pill >>> #option-description');
934
+ expect(updatedOptionDescription).toEqualText('This option list has 1 options.');
935
+ });
936
+ });
937
+ });
938
+ describe('Regressions', () => {
939
+ describe('TCT-2161', () => {
940
+ it('leaves the element when Tab is pressed', async function () {
941
+ page = await setup({
942
+ html: `
943
+ <q2-pill label="My pill">
944
+ <q2-option value="1">Option 1</q2-option>
945
+ <q2-option value="2">Option 2</q2-option>
946
+ <q2-option value="3">Option 3</q2-option>
947
+ </q2-pill>
948
+ <button test-id="btn-next">Test</button>
949
+ `,
871
950
  });
872
- expect(await optionList.getProperty('selectedOptions')).toEqual([]);
951
+ pill = await page.find('q2-pill');
952
+ await pill.focus();
953
+ expect(await getActiveElementTestId(page)).toEqual('btn-control');
954
+ await pill.press('Tab');
955
+ await page.waitForChanges();
956
+ expect(await getActiveElementTestId(page)).toEqual('btn-next');
873
957
  });
874
- describe('when multiple', () => {
875
- it('can select multiple options via keyboard', async () => {
876
- pill.setProperty('multiple', true);
958
+ });
959
+ describe('TCT-2433', () => {
960
+ it('zero is not rendered inside the click-elsewhere element', async () => {
961
+ page = await setup({
962
+ html: `<q2-pill label="My Pill"></q2-pill>`,
963
+ });
964
+ pill = await page.find('q2-pill');
965
+ const clickElsewhere = await page.find('q2-pill >>> click-elsewhere');
966
+ expect(await pill.getProperty('label')).toBe('My Pill');
967
+ expect(clickElsewhere.textContent.slice(-1)).not.toBe('0');
968
+ });
969
+ });
970
+ });
971
+ describe('Accessibility', () => {
972
+ describe('aXe DevTools', () => {
973
+ it('does not have accessibility violations with only label', async () => {
974
+ page = await setup({ html: `<q2-pill label="My pill"></q2-pill>` });
975
+ const hasViolations = await evaluateA11y(page);
976
+ expect(hasViolations).toBe(false);
977
+ });
978
+ it('does not have accessibility violations when options are present', async () => {
979
+ page = await setup({
980
+ html: `
981
+ <q2-pill label="My pill">
982
+ <q2-option value="1">Option 1</q2-option>
983
+ <q2-option value="2">Option 2</q2-option>
984
+ <q2-option value="3">Option 3</q2-option>
985
+ </q2-pill>
986
+ `,
987
+ });
988
+ const hasViolations = await evaluateA11y(page);
989
+ expect(hasViolations).toBe(false);
990
+ });
991
+ it("option-list should have a role of 'listbox' and the options a role of 'option'", async () => {
992
+ page = await setup({
993
+ html: `
994
+ <q2-pill label="My pill" open>
995
+ <q2-option value="1">Option 1</q2-option>
996
+ <q2-option value="2">Option 2</q2-option>
997
+ <q2-option value="3">Option 3</q2-option>
998
+ </q2-pill>
999
+ `,
1000
+ });
1001
+ await page.waitForChanges();
1002
+ const snapshot = await page.accessibility.snapshot();
1003
+ const button = snapshot.children[0].children[0];
1004
+ const optionList = snapshot.children[1];
1005
+ expect(button.role).toEqual('combobox');
1006
+ expect(optionList.role).toEqual('listbox');
1007
+ expect(optionList.children).toHaveLength(3);
1008
+ optionList.children.forEach(child => {
1009
+ expect(child.role).toEqual('option');
1010
+ expect(child.name).toBeTruthy();
1011
+ });
1012
+ });
1013
+ });
1014
+ describe('Accessibility Tree', () => { });
1015
+ describe('Keyboard Controls', () => {
1016
+ beforeEach(async () => {
1017
+ page = await setup({
1018
+ html: `
1019
+ <q2-pill label="My pill">
1020
+ <q2-option value="1">Option 1</q2-option>
1021
+ <q2-option value="2">Option 2</q2-option>
1022
+ <q2-option value="3">Option 3</q2-option>
1023
+ </q2-pill>
1024
+ `,
1025
+ });
1026
+ pill = await page.find('q2-pill');
1027
+ allOptions = await page.findAll('q2-option');
1028
+ optionList = await page.find('q2-pill >>> q2-option-list');
1029
+ popover = await page.find('q2-pill >>> q2-popover');
1030
+ optionContainer = await page.find('q2-pill >>> q2-option-list >>> .options');
1031
+ controlBtn = await page.find('q2-pill >>> .btn-primary');
1032
+ changeSpy = await pill.spyOnEvent('change');
1033
+ });
1034
+ describe('pill button interactions', () => {
1035
+ it('opens list and focuses first option on ArrowDown', async () => {
1036
+ await controlBtn.press('ArrowDown');
1037
+ await page.waitForChanges();
1038
+ expect(popover).toHaveAttribute('open');
1039
+ expect(pill).toHaveAttribute('open');
1040
+ expect(await getFocusedAttribute(page, 'value')).toEqual('1');
1041
+ });
1042
+ it('opens list and focuses last option on ArrowUp', async () => {
1043
+ await controlBtn.press('ArrowUp');
1044
+ await page.waitForChanges();
1045
+ expect(popover).toHaveAttribute('open');
1046
+ expect(pill).toHaveAttribute('open');
1047
+ expect(await getFocusedAttribute(page, 'value')).toEqual('3');
1048
+ });
1049
+ it('opens list and does not focus first option on Enter', async () => {
1050
+ await controlBtn.press('Enter');
1051
+ await page.waitForChanges();
1052
+ expect(popover).toHaveAttribute('open');
1053
+ expect(pill).toHaveAttribute('open');
1054
+ expect(await getActiveElementTestId(page)).toEqual('btn-control');
1055
+ });
1056
+ it('opens list and does not focus first option on Space', async () => {
1057
+ await controlBtn.press(' ');
1058
+ await page.waitForChanges();
1059
+ expect(popover).toHaveAttribute('open');
1060
+ expect(pill).toHaveAttribute('open');
1061
+ expect(await getActiveElementTestId(page)).toEqual('btn-control');
1062
+ });
1063
+ it('opens list and focuses last option on Home', async () => {
1064
+ await controlBtn.press('Home');
1065
+ await page.waitForChanges();
1066
+ expect(popover).toHaveAttribute('open');
1067
+ expect(pill).toHaveAttribute('open');
1068
+ expect(await getFocusedOptionValue(page)).toEqual('1');
1069
+ });
1070
+ it('opens list and focuses last option on End', async () => {
1071
+ await controlBtn.press('End');
877
1072
  await page.waitForChanges();
1073
+ expect(popover).toHaveAttribute('open');
1074
+ expect(pill).toHaveAttribute('open');
1075
+ expect(await getFocusedAttribute(page, 'value')).toEqual('3');
1076
+ });
1077
+ });
1078
+ describe('option list interactions', () => {
1079
+ it('can select options via keyboard', async () => {
878
1080
  let closeBtn = await page.find('q2-pill >>> .btn-close');
879
1081
  let closeIcon = await page.find('q2-pill >>> q2-icon');
880
1082
  const btnWrapper = await page.find('q2-pill >>> .btn-wrapper');
@@ -897,10 +1099,11 @@ describe('q2-pill', () => {
897
1099
  await allOptions[1].press(' ');
898
1100
  await page.waitForChanges();
899
1101
  expect(pill).toHaveAttribute('active');
900
- expect(pill).toHaveAttribute('open');
901
- expect(popover).toHaveAttribute('open');
1102
+ expect(pill).not.toHaveAttribute('open');
1103
+ expect(popover).not.toHaveAttribute('open');
902
1104
  expect(changeSpy).toHaveReceivedEventDetail({
903
1105
  active: true,
1106
+ value: '2',
904
1107
  values: [{ display: 'Option 2', value: '2' }],
905
1108
  });
906
1109
  expect(await optionList.getProperty('selectedOptions')).toEqual([
@@ -910,31 +1113,7 @@ describe('q2-pill', () => {
910
1113
  closeIcon = await page.find('q2-pill >>> q2-icon');
911
1114
  expect(closeBtn.tagName).toEqual('BUTTON');
912
1115
  expect(closeIcon).toEqualAttribute('type', 'close');
913
- await optionContainer.press('ArrowDown');
914
- await page.waitForChanges();
915
- expect(await getFocusedOptionValue(page)).toEqual('3');
916
- await allOptions[2].press(' ');
917
- await page.waitForChanges();
918
- expect(changeSpy).toHaveReceivedEventDetail({
919
- active: true,
920
- values: [
921
- { display: 'Option 2', value: '2' },
922
- { display: 'Option 3', value: '3' },
923
- ],
924
- });
925
- expect(await optionList.getProperty('selectedOptions')).toEqual([
926
- { display: 'Option 2', value: '2' },
927
- { display: 'Option 3', value: '3' },
928
- ]);
929
- expect(pill).toHaveAttribute('active');
930
- expect(pill).toHaveAttribute('open');
931
- expect(popover).toHaveAttribute('open');
932
- await btnWrapper.click();
933
- await page.waitForChanges();
934
- expect(pill).toHaveAttribute('active');
935
- expect(pill).not.toHaveAttribute('open');
936
- expect(optionList).not.toHaveAttribute('open');
937
- await closeBtn.click();
1116
+ await closeBtn.press(' ');
938
1117
  await page.waitForChanges();
939
1118
  expect(pill).not.toHaveAttribute('active');
940
1119
  expect(changeSpy).toHaveReceivedEventDetail({
@@ -944,62 +1123,83 @@ describe('q2-pill', () => {
944
1123
  });
945
1124
  expect(await optionList.getProperty('selectedOptions')).toEqual([]);
946
1125
  });
947
- });
948
- });
949
- });
950
- describe('Focus', () => {
951
- let page;
952
- let pill;
953
- beforeEach(async () => {
954
- page = await setup({
955
- html: `
956
- <q2-pill label="My pill" value="my-pill-value">
957
- <q2-option value="1">Option 1</q2-option>
958
- <q2-option value="2">Option 2</q2-option>
959
- <q2-option value="3">Option 3</q2-option>
960
- </q2-pill>
961
- `,
962
- });
963
- pill = await page.find('q2-pill');
964
- });
965
- it('focuses the <button> element when focus event is dispatched', async function () {
966
- pill.triggerEvent('focus');
967
- await page.waitForChanges();
968
- expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
969
- });
970
- });
971
- describe('Regressions', () => {
972
- describe('TCT-2161', () => {
973
- it('leaves the element when Tab is pressed', async function () {
974
- page = await setup({
975
- html: `
976
- <q2-pill label="My pill">
977
- <q2-option value="1">Option 1</q2-option>
978
- <q2-option value="2">Option 2</q2-option>
979
- <q2-option value="3">Option 3</q2-option>
980
- </q2-pill>
981
- <button test-id="btn-next">Test</button>
982
- `,
983
- });
984
- pill = await page.find('q2-pill');
985
- await pill.focus();
986
- expect(await getActiveElementTestId(page)).toEqual('btn-control');
987
- await pill.press('Tab');
988
- await page.waitForChanges();
989
- expect(await getActiveElementTestId(page)).toEqual('btn-next');
990
- });
991
- });
992
- describe('TCT-2433', () => {
993
- it('zero is not rendered inside the click-elsewhere element', async () => {
994
- page = await setup({
995
- html: `<q2-pill label="My Pill"></q2-pill>`,
1126
+ describe('when multiple', () => {
1127
+ it('can select multiple options via keyboard', async () => {
1128
+ pill.setProperty('multiple', true);
1129
+ await page.waitForChanges();
1130
+ let closeBtn = await page.find('q2-pill >>> .btn-close');
1131
+ let closeIcon = await page.find('q2-pill >>> q2-icon');
1132
+ const btnWrapper = await page.find('q2-pill >>> .btn-wrapper');
1133
+ expect(pill).not.toHaveAttribute('active');
1134
+ expect(await closeBtn.isVisible()).toBe(true);
1135
+ expect(closeIcon).toEqualAttribute('type', 'chevron-down');
1136
+ expect(btnWrapper.classList.contains('has-icon')).toBe(true);
1137
+ expect(btnWrapper.classList.contains('has-options')).toBe(true);
1138
+ expect(popover).not.toHaveAttribute('open');
1139
+ expect(closeBtn.tagName).toEqual('DIV');
1140
+ await controlBtn.press('ArrowDown');
1141
+ await page.waitForChanges();
1142
+ expect(pill).not.toHaveAttribute('active');
1143
+ expect(pill).toHaveAttribute('open');
1144
+ expect(popover).toHaveAttribute('open');
1145
+ expect(await getFocusedOptionValue(page)).toEqual('1');
1146
+ await optionContainer.press('ArrowDown');
1147
+ await page.waitForChanges();
1148
+ expect(await getFocusedOptionValue(page)).toEqual('2');
1149
+ await allOptions[1].press(' ');
1150
+ await page.waitForChanges();
1151
+ expect(pill).toHaveAttribute('active');
1152
+ expect(pill).toHaveAttribute('open');
1153
+ expect(popover).toHaveAttribute('open');
1154
+ expect(changeSpy).toHaveReceivedEventDetail({
1155
+ active: true,
1156
+ values: [{ display: 'Option 2', value: '2' }],
1157
+ });
1158
+ expect(await optionList.getProperty('selectedOptions')).toEqual([
1159
+ { display: 'Option 2', value: '2' },
1160
+ ]);
1161
+ closeBtn = await page.find('q2-pill >>> .btn-close');
1162
+ closeIcon = await page.find('q2-pill >>> q2-icon');
1163
+ expect(closeBtn.tagName).toEqual('BUTTON');
1164
+ expect(closeIcon).toEqualAttribute('type', 'close');
1165
+ await optionContainer.press('ArrowDown');
1166
+ await page.waitForChanges();
1167
+ expect(await getFocusedOptionValue(page)).toEqual('3');
1168
+ await allOptions[2].press(' ');
1169
+ await page.waitForChanges();
1170
+ expect(changeSpy).toHaveReceivedEventDetail({
1171
+ active: true,
1172
+ values: [
1173
+ { display: 'Option 2', value: '2' },
1174
+ { display: 'Option 3', value: '3' },
1175
+ ],
1176
+ });
1177
+ expect(await optionList.getProperty('selectedOptions')).toEqual([
1178
+ { display: 'Option 2', value: '2' },
1179
+ { display: 'Option 3', value: '3' },
1180
+ ]);
1181
+ expect(pill).toHaveAttribute('active');
1182
+ expect(pill).toHaveAttribute('open');
1183
+ expect(popover).toHaveAttribute('open');
1184
+ await btnWrapper.click();
1185
+ await page.waitForChanges();
1186
+ expect(pill).toHaveAttribute('active');
1187
+ expect(pill).not.toHaveAttribute('open');
1188
+ expect(optionList).not.toHaveAttribute('open');
1189
+ await closeBtn.click();
1190
+ await page.waitForChanges();
1191
+ expect(pill).not.toHaveAttribute('active');
1192
+ expect(changeSpy).toHaveReceivedEventDetail({
1193
+ active: false,
1194
+ value: null,
1195
+ values: [],
1196
+ });
1197
+ expect(await optionList.getProperty('selectedOptions')).toEqual([]);
1198
+ });
996
1199
  });
997
- pill = await page.find('q2-pill');
998
- const clickElsewhere = await page.find('q2-pill >>> click-elsewhere');
999
- expect(await pill.getProperty('label')).toBe('My Pill');
1000
- expect(clickElsewhere.textContent.slice(-1)).not.toBe('0');
1001
1200
  });
1002
1201
  });
1202
+ describe('Other', () => { });
1003
1203
  });
1004
1204
  });
1005
1205
  //# sourceMappingURL=q2-pill-test.e2e.js.map