q2-tecton-elements 1.54.3 → 1.55.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 (576) hide show
  1. package/dist/bundle-report.json +2135 -776
  2. package/dist/cjs/{index-76f63767.js → index-905f4c87.js} +3 -2
  3. package/dist/cjs/index-905f4c87.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-group.cjs.entry.js +45 -14
  6. package/dist/cjs/q2-action-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js +4 -1364
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  9. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-badge_7.cjs.entry.js +59 -22
  11. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  16. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-checkbox.cjs.entry.js +21 -21
  23. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-dropdown-item.cjs.entry.js +22 -3
  28. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-form.cjs.entry.js +23 -0
  34. package/dist/cjs/q2-form.cjs.entry.js.map +1 -0
  35. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  37. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  38. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  39. package/dist/cjs/q2-loc.cjs.entry.js +20 -26
  40. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-modal.cjs.entry.js +172 -0
  43. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-option-list_2.cjs.entry.js +9 -7
  47. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-option.cjs.entry.js +37 -25
  49. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  51. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-resize-observer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  59. package/dist/cjs/q2-select.cjs.entry.js +10 -6
  60. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/q2-tag.cjs.entry.js +51 -9
  65. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  67. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  68. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  69. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  70. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  71. package/dist/cjs/sanitize-html-string-b8e3b24b.js +1366 -0
  72. package/dist/cjs/sanitize-html-string-b8e3b24b.js.map +1 -0
  73. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  74. package/dist/collection/collection-manifest.json +3 -1
  75. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  76. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  77. package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
  78. package/dist/collection/components/q2-action-group/q2-action-group.js +47 -13
  79. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  80. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js +365 -0
  81. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js.map +1 -0
  82. package/dist/collection/components/q2-action-group/test/{q2-action-group.spec.js → q2-action-group-test.spec.js} +67 -26
  83. package/dist/collection/components/q2-action-group/test/q2-action-group-test.spec.js.map +1 -0
  84. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  85. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  86. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  87. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  88. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  89. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  90. package/dist/collection/components/q2-badge/q2-badge.css +52 -41
  91. package/dist/collection/components/q2-badge/q2-badge.js +88 -22
  92. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  93. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js +35 -126
  94. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js +415 -0
  96. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js.map +1 -0
  97. package/dist/collection/components/q2-btn/q2-btn.css +12 -10
  98. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  99. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  100. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  101. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  102. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  103. package/dist/collection/components/q2-calendar/q2-calendar.css +2 -0
  104. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  105. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  106. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  107. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  108. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  109. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  110. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  112. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  113. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  114. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  115. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  116. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  117. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  118. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  119. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  120. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  121. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  122. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  123. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  124. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  125. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  126. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  127. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  128. package/dist/collection/components/q2-checkbox/q2-checkbox.css +99 -62
  129. package/dist/collection/components/q2-checkbox/q2-checkbox.js +19 -19
  130. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  131. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js +227 -208
  132. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  133. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +8 -1
  134. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  135. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  136. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  137. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  138. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  139. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  140. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  141. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  142. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  143. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  144. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  145. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +38 -2
  146. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  147. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +21 -2
  148. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  149. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +43 -2
  150. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  151. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  152. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  153. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  154. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  155. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  156. package/dist/collection/components/q2-file-picker/q2-file-picker.css +2 -0
  157. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  158. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  159. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  160. package/dist/collection/components/q2-form/q2-form.css +93 -0
  161. package/dist/collection/components/q2-form/q2-form.js +44 -0
  162. package/dist/collection/components/q2-form/q2-form.js.map +1 -0
  163. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js +93 -0
  164. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js.map +1 -0
  165. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  166. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  167. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  168. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  169. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  170. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js +1 -352
  171. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  172. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js +464 -0
  173. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js.map +1 -0
  174. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  175. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  176. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  177. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  178. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  179. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  180. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  181. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  182. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  183. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  184. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  185. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  186. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  187. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  188. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  189. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  190. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  191. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  192. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  193. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  194. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  195. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  196. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  197. package/dist/collection/components/q2-input/q2-input.css +3 -2
  198. package/dist/collection/components/q2-input/q2-input.js +4 -3
  199. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  200. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  201. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  202. package/dist/collection/components/q2-input/test/q2-input-test.spec.js +10 -0
  203. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  204. package/dist/collection/components/q2-item/q2-item.js +1 -1
  205. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  206. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  207. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  208. package/dist/collection/components/q2-legend/q2-legend.css +1 -1
  209. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  210. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  211. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  212. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  213. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  214. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  215. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
  216. package/dist/collection/components/q2-list/q2-list.js +1 -1
  217. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  218. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  219. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  220. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  221. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  222. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  223. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  224. package/dist/collection/components/q2-loc/q2-loc.js +19 -37
  225. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  226. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +1 -7
  227. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  228. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +140 -82
  229. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  230. package/dist/collection/components/q2-message/q2-message.js +1 -1
  231. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  232. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  233. package/dist/collection/components/q2-modal/q2-modal.css +223 -0
  234. package/dist/collection/components/q2-modal/q2-modal.js +470 -0
  235. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -0
  236. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js +102 -0
  237. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js.map +1 -0
  238. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js +127 -0
  239. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js.map +1 -0
  240. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  241. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  242. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  243. package/dist/collection/components/q2-option/q2-option.js +51 -25
  244. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  245. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +40 -94
  246. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  247. package/dist/collection/components/q2-option/test/q2-option-test.spec.js +137 -19
  248. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  249. package/dist/collection/components/q2-option-list/q2-option-list.js +7 -5
  250. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  251. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  252. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
  253. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  254. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  255. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  256. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  257. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  258. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  259. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  260. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  261. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  262. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  263. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  264. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  265. package/dist/collection/components/q2-radio-group/q2-radio-group.css +4 -2
  266. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  267. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  268. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  269. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  270. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  271. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +2 -2
  272. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  273. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  274. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  275. package/dist/collection/components/q2-section/q2-section.js +2 -2
  276. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  277. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  278. package/dist/collection/components/q2-select/q2-select.css +2 -2
  279. package/dist/collection/components/q2-select/q2-select.js +15 -4
  280. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  281. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +5 -1
  282. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  283. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +85 -0
  284. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  285. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  286. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  287. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  288. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  289. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  290. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  291. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  292. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  293. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  294. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  295. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  296. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  297. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  298. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  299. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  300. package/dist/collection/components/q2-tag/q2-tag.css +9 -0
  301. package/dist/collection/components/q2-tag/q2-tag.js +65 -15
  302. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  303. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +131 -341
  304. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  305. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js +719 -0
  306. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js.map +1 -0
  307. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  308. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  309. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  310. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  311. package/dist/collection/components/q2-tooltip/q2-tooltip.css +0 -1
  312. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  313. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  314. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  315. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  316. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  317. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  318. package/dist/collection/index.js.map +1 -1
  319. package/dist/collection/utils/action-sheet.js.map +1 -1
  320. package/dist/collection/utils/charting.js.map +1 -1
  321. package/dist/collection/utils/helpers.js +1 -25
  322. package/dist/collection/utils/helpers.js.map +1 -1
  323. package/dist/collection/utils/index.js +2 -1
  324. package/dist/collection/utils/index.js.map +1 -1
  325. package/dist/collection/utils/mirror-emit.js +19 -0
  326. package/dist/collection/utils/mirror-emit.js.map +1 -0
  327. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  328. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  329. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  330. package/dist/collection/utils/test/index.spec.js.map +1 -1
  331. package/dist/components/index.js +4 -0
  332. package/dist/components/index.js.map +1 -1
  333. package/dist/components/index2.js +2 -1
  334. package/dist/components/index2.js.map +1 -1
  335. package/dist/components/q2-action-group.js +1 -116
  336. package/dist/components/q2-action-group.js.map +1 -1
  337. package/dist/components/q2-action-group2.js +151 -0
  338. package/dist/components/q2-action-group2.js.map +1 -0
  339. package/dist/components/q2-action-sheet.js +2 -1362
  340. package/dist/components/q2-action-sheet.js.map +1 -1
  341. package/dist/components/q2-avatar2.js +1 -1
  342. package/dist/components/q2-badge2.js +54 -16
  343. package/dist/components/q2-badge2.js.map +1 -1
  344. package/dist/components/q2-btn2.js +1 -1
  345. package/dist/components/q2-btn2.js.map +1 -1
  346. package/dist/components/q2-calendar.js +1 -1
  347. package/dist/components/q2-calendar.js.map +1 -1
  348. package/dist/components/q2-carousel-pane.js +2 -2
  349. package/dist/components/q2-chart-area.js +1 -1
  350. package/dist/components/q2-chart-bar.js +1 -1
  351. package/dist/components/q2-chart-donut.js +1 -1
  352. package/dist/components/q2-checkbox-group.js +1 -1
  353. package/dist/components/q2-checkbox-group.js.map +1 -1
  354. package/dist/components/q2-checkbox2.js +20 -20
  355. package/dist/components/q2-checkbox2.js.map +1 -1
  356. package/dist/components/q2-currency.js +1 -1
  357. package/dist/components/q2-detail.js +1 -1
  358. package/dist/components/q2-dropdown-item2.js +21 -2
  359. package/dist/components/q2-dropdown-item2.js.map +1 -1
  360. package/dist/components/q2-file-picker.js +1 -1
  361. package/dist/components/q2-file-picker.js.map +1 -1
  362. package/dist/components/q2-form.d.ts +11 -0
  363. package/dist/components/q2-form.js +39 -0
  364. package/dist/components/q2-form.js.map +1 -0
  365. package/dist/components/q2-formatted-text.js +1 -1
  366. package/dist/components/q2-input2.js +5 -4
  367. package/dist/components/q2-input2.js.map +1 -1
  368. package/dist/components/q2-item2.js +1 -1
  369. package/dist/components/q2-legend2.js +2 -2
  370. package/dist/components/q2-legend2.js.map +1 -1
  371. package/dist/components/q2-list2.js +1 -1
  372. package/dist/components/q2-loc.js +22 -33
  373. package/dist/components/q2-loc.js.map +1 -1
  374. package/dist/components/q2-message2.js +1 -1
  375. package/dist/components/q2-modal.d.ts +11 -0
  376. package/dist/components/q2-modal.js +231 -0
  377. package/dist/components/q2-modal.js.map +1 -0
  378. package/dist/components/q2-month-picker.js +2 -2
  379. package/dist/components/q2-optgroup2.js +1 -1
  380. package/dist/components/q2-option-list2.js +7 -5
  381. package/dist/components/q2-option-list2.js.map +1 -1
  382. package/dist/components/q2-option2.js +38 -26
  383. package/dist/components/q2-option2.js.map +1 -1
  384. package/dist/components/q2-pagination.js +3 -3
  385. package/dist/components/q2-pill.js +1 -1
  386. package/dist/components/q2-popover2.js +1 -1
  387. package/dist/components/q2-radio-group.js +1 -1
  388. package/dist/components/q2-radio-group.js.map +1 -1
  389. package/dist/components/q2-relative-time.js +1 -1
  390. package/dist/components/q2-resize-observer2.js +2 -2
  391. package/dist/components/q2-resize-observer2.js.map +1 -1
  392. package/dist/components/q2-section.js +2 -2
  393. package/dist/components/q2-select2.js +9 -5
  394. package/dist/components/q2-select2.js.map +1 -1
  395. package/dist/components/q2-stepper-vertical.js +1 -1
  396. package/dist/components/q2-stepper.js +1 -1
  397. package/dist/components/q2-tab-container.js +1 -1
  398. package/dist/components/q2-tab-pane.js +1 -1
  399. package/dist/components/q2-tag.js +50 -8
  400. package/dist/components/q2-tag.js.map +1 -1
  401. package/dist/components/q2-textarea.js +2 -2
  402. package/dist/components/q2-textarea.js.map +1 -1
  403. package/dist/components/q2-tooltip.js +1 -1
  404. package/dist/components/q2-tooltip.js.map +1 -1
  405. package/dist/components/sanitize-html-string.js +1364 -0
  406. package/dist/components/sanitize-html-string.js.map +1 -0
  407. package/dist/components/tecton-tab-pane.js +2 -2
  408. package/dist/esm/{index-504f1a9e.js → index-f2a66217.js} +3 -2
  409. package/dist/esm/index-f2a66217.js.map +1 -0
  410. package/dist/esm/loader.js +1 -1
  411. package/dist/esm/q2-action-group.entry.js +45 -14
  412. package/dist/esm/q2-action-group.entry.js.map +1 -1
  413. package/dist/esm/q2-action-sheet.entry.js +3 -1363
  414. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  415. package/dist/esm/q2-avatar.entry.js +1 -1
  416. package/dist/esm/q2-badge_7.entry.js +59 -22
  417. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  418. package/dist/esm/q2-calendar.entry.js +2 -2
  419. package/dist/esm/q2-calendar.entry.js.map +1 -1
  420. package/dist/esm/q2-card.entry.js +1 -1
  421. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  422. package/dist/esm/q2-carousel.entry.js +1 -1
  423. package/dist/esm/q2-chart-area.entry.js +2 -2
  424. package/dist/esm/q2-chart-bar.entry.js +2 -2
  425. package/dist/esm/q2-chart-donut.entry.js +2 -2
  426. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  427. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  428. package/dist/esm/q2-checkbox.entry.js +21 -21
  429. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  430. package/dist/esm/q2-currency.entry.js +1 -1
  431. package/dist/esm/q2-data-table.entry.js +1 -1
  432. package/dist/esm/q2-detail.entry.js +2 -2
  433. package/dist/esm/q2-dropdown-item.entry.js +22 -3
  434. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  435. package/dist/esm/q2-dropdown.entry.js +1 -1
  436. package/dist/esm/q2-editable-field.entry.js +1 -1
  437. package/dist/esm/q2-file-picker.entry.js +2 -2
  438. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  439. package/dist/esm/q2-form.entry.js +19 -0
  440. package/dist/esm/q2-form.entry.js.map +1 -0
  441. package/dist/esm/q2-formatted-text.entry.js +1 -1
  442. package/dist/esm/q2-item_3.entry.js +3 -3
  443. package/dist/esm/q2-legend.entry.js +2 -2
  444. package/dist/esm/q2-legend.entry.js.map +1 -1
  445. package/dist/esm/q2-loc.entry.js +21 -27
  446. package/dist/esm/q2-loc.entry.js.map +1 -1
  447. package/dist/esm/q2-message.entry.js +2 -2
  448. package/dist/esm/q2-modal.entry.js +168 -0
  449. package/dist/esm/q2-modal.entry.js.map +1 -0
  450. package/dist/esm/q2-month-picker.entry.js +3 -3
  451. package/dist/esm/q2-optgroup.entry.js +2 -2
  452. package/dist/esm/q2-option-list_2.entry.js +9 -7
  453. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  454. package/dist/esm/q2-option.entry.js +37 -25
  455. package/dist/esm/q2-option.entry.js.map +1 -1
  456. package/dist/esm/q2-pagination.entry.js +4 -4
  457. package/dist/esm/q2-pill.entry.js +2 -2
  458. package/dist/esm/q2-radio-group.entry.js +2 -2
  459. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  460. package/dist/esm/q2-radio.entry.js +1 -1
  461. package/dist/esm/q2-relative-time.entry.js +2 -2
  462. package/dist/esm/q2-resize-observer.entry.js +2 -2
  463. package/dist/esm/q2-resize-observer.entry.js.map +1 -1
  464. package/dist/esm/q2-section.entry.js +3 -3
  465. package/dist/esm/q2-select.entry.js +10 -6
  466. package/dist/esm/q2-select.entry.js.map +1 -1
  467. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  468. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  469. package/dist/esm/q2-stepper.entry.js +2 -2
  470. package/dist/esm/q2-tag.entry.js +51 -9
  471. package/dist/esm/q2-tag.entry.js.map +1 -1
  472. package/dist/esm/q2-tecton-elements.js +1 -1
  473. package/dist/esm/q2-textarea.entry.js +3 -3
  474. package/dist/esm/q2-textarea.entry.js.map +1 -1
  475. package/dist/esm/q2-tooltip.entry.js +2 -2
  476. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  477. package/dist/esm/sanitize-html-string-735c19f5.js +1364 -0
  478. package/dist/esm/sanitize-html-string-735c19f5.js.map +1 -0
  479. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  480. package/dist/jest.setup.js +22 -0
  481. package/dist/jest.setup.js.map +1 -0
  482. package/dist/q2-tecton-elements/{index-504f1a9e.js → index-f2a66217.js} +9 -8
  483. package/dist/q2-tecton-elements/index-f2a66217.js.map +1 -0
  484. package/dist/q2-tecton-elements/q2-action-group.entry.js +49 -17
  485. package/dist/q2-tecton-elements/q2-action-group.entry.js.map +1 -1
  486. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +121 -1331
  487. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  488. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  489. package/dist/q2-tecton-elements/q2-badge_7.entry.js +199 -164
  490. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  491. package/dist/q2-tecton-elements/q2-calendar.entry.js +180 -180
  492. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  494. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
  495. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  496. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  497. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  498. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  499. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +5 -5
  500. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-checkbox.entry.js +92 -88
  502. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  503. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  504. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  505. package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
  506. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +23 -6
  507. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  508. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  509. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  510. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  511. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  512. package/dist/q2-tecton-elements/q2-form.entry.js +25 -0
  513. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -0
  514. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  515. package/dist/q2-tecton-elements/q2-item_3.entry.js +22 -22
  516. package/dist/q2-tecton-elements/q2-legend.entry.js +6 -6
  517. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-loc.entry.js +23 -32
  519. package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -1
  520. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  521. package/dist/q2-tecton-elements/q2-modal.entry.js +226 -0
  522. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -0
  523. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  524. package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
  525. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +33 -27
  526. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  527. package/dist/q2-tecton-elements/q2-option.entry.js +60 -40
  528. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  529. package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
  530. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  531. package/dist/q2-tecton-elements/q2-radio-group.entry.js +28 -28
  532. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  533. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  534. package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
  535. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +5 -2
  536. package/dist/q2-tecton-elements/q2-resize-observer.entry.js.map +1 -1
  537. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  538. package/dist/q2-tecton-elements/q2-select.entry.js +13 -9
  539. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  540. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  541. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  542. package/dist/q2-tecton-elements/q2-stepper.entry.js +22 -22
  543. package/dist/q2-tecton-elements/q2-tag.entry.js +84 -45
  544. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  545. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  546. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  548. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  550. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  551. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js +1214 -0
  552. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js.map +1 -0
  553. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  554. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  555. package/dist/types/components/q2-action-group/q2-action-group.d.ts +5 -2
  556. package/dist/types/components/q2-badge/q2-badge.d.ts +17 -3
  557. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +3 -3
  558. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +8 -0
  559. package/dist/types/components/q2-form/q2-form.d.ts +6 -0
  560. package/dist/types/components/q2-loc/q2-loc.d.ts +5 -5
  561. package/dist/types/components/q2-modal/q2-modal.d.ts +80 -0
  562. package/dist/types/components/q2-option/q2-option.d.ts +11 -4
  563. package/dist/types/components/q2-select/q2-select.d.ts +1 -0
  564. package/dist/types/components/q2-tag/q2-tag.d.ts +19 -0
  565. package/dist/types/components.d.ts +193 -6
  566. package/dist/types/util.d.ts +1 -8
  567. package/dist/types/utils/helpers.d.ts +1 -13
  568. package/dist/types/utils/index.d.ts +3 -2
  569. package/dist/types/utils/mirror-emit.d.ts +11 -0
  570. package/package.json +3 -3
  571. package/dist/cjs/index-76f63767.js.map +0 -1
  572. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +0 -166
  573. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +0 -1
  574. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +0 -1
  575. package/dist/esm/index-504f1a9e.js.map +0 -1
  576. package/dist/q2-tecton-elements/index-504f1a9e.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel, getActiveElementTestId, getNestedElementStyle, getListOfStyleCompilationIssues, evaluateA11y, } from "../../../utils/helpers";
1
+ import { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel, getActiveElementTestId, getListOfStyleCompilationIssues, evaluateA11y, } from "../../../utils/helpers";
2
2
  describe('q2-checkbox', () => {
3
3
  let page;
4
4
  let normalStyle;
@@ -216,232 +216,205 @@ describe('q2-checkbox', () => {
216
216
  describe('when not set (default)', () => {
217
217
  it('renders the unchecked state', async () => {
218
218
  page = await setupPage();
219
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
219
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
220
220
  const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
221
- expect(labelFontWeight).toBe('400');
221
+ expect(label.fontWeight).toBe('400');
222
222
  expect(checkboxFill).toBeNull();
223
223
  });
224
- it('applies necessary styles when hovered', async () => {
225
- page = await setupPage('type="toggle"');
226
- await page.hover('q2-checkbox >>> .toggle-svg');
227
- await page.waitForChanges();
228
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
229
- expect(labelFontWeight).toBe('400');
230
- });
231
- describe('when checked attribute is present', () => {
224
+ describe('when "checked" attribute is present', () => {
232
225
  it('renders the checked state', async () => {
233
226
  page = await setupPage('checked');
234
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
227
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
235
228
  const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
236
- expect(labelFontWeight).toBe('600');
229
+ expect(label.fontWeight).toBe('600');
237
230
  expect(checkboxFill).toBeTruthy();
238
231
  });
239
232
  it('applies necessary styles when hovered', async () => {
240
233
  page = await setupPage('checked');
241
234
  await page.hover('q2-checkbox >>> .checkbox-fill');
242
235
  await page.waitForChanges();
243
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
236
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
244
237
  const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
245
- expect(labelFontWeight).toBe('600');
238
+ expect(label.fontWeight).toBe('600');
246
239
  expect(checkboxFill).toBeTruthy();
247
240
  });
248
241
  it('renders the unchecked state when checked="false"', async () => {
249
242
  page = await setupPage('checked="false"');
250
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
243
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
251
244
  const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
252
- expect(labelFontWeight).toBe('400');
245
+ expect(label.fontWeight).toBe('400');
253
246
  expect(checkboxFill).toBeNull();
254
247
  });
255
248
  });
256
249
  });
257
- describe("when set to 'toggle'", () => {
258
- const getToggleStyles = async (page) => {
259
- const labelFontWeight = await getNestedElementStyle(page, ['q2-checkbox', '.label-text label'], 'font-weight');
260
- const toggleHoverCircleStrokeWidth = await getNestedElementStyle(page, ['q2-checkbox', '.toggle-hover-circle'], 'stroke-width');
261
- const toggleIndicatorLeft = await getNestedElementStyle(page, ['q2-checkbox', '.toggle-indicator'], 'left');
262
- const toggleSvgOffOpacity = await getNestedElementStyle(page, ['q2-checkbox', '.toggle-svg .off'], 'opacity');
263
- const toggleSvgOnOpacity = await getNestedElementStyle(page, ['q2-checkbox', '.toggle-svg .on'], 'opacity');
264
- return {
265
- labelFontWeight,
266
- toggleIndicatorLeft,
267
- toggleHoverCircleStrokeWidth,
268
- toggleSvgOffOpacity,
269
- toggleSvgOnOpacity,
270
- };
271
- };
272
- it('renders the unchecked state', async () => {
273
- page = await setupPage('type="toggle"');
274
- const computedStyles = await getToggleStyles(page);
275
- expect(computedStyles.labelFontWeight).toBe('400');
276
- expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');
277
- expect(computedStyles.toggleIndicatorLeft).toBe('0px');
278
- expect(computedStyles.toggleSvgOffOpacity).toBe('1');
279
- expect(computedStyles.toggleSvgOnOpacity).toBe('0');
280
- });
281
- it('applies necessary styles when hovered', async () => {
282
- page = await setupPage('type="toggle"');
283
- await page.hover('q2-checkbox >>> .toggle-svg');
250
+ describe('when type is "favorite"', () => {
251
+ it('renders the star icon for type="favorite"', async () => {
252
+ page = await setupPage();
253
+ let svg = await page.find('q2-checkbox >>> .checkbox-icon');
254
+ expect(svg.tagName).toEqual('svg');
255
+ const checkbox = await page.find('q2-checkbox');
256
+ checkbox.setProperty('type', 'favorite');
284
257
  await page.waitForChanges();
285
- const computedStyles = await getToggleStyles(page);
286
- expect(computedStyles.labelFontWeight).toBe('400');
287
- expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('10px');
288
- expect(computedStyles.toggleIndicatorLeft).toBe('0px');
289
- expect(computedStyles.toggleSvgOffOpacity).toBe('1');
290
- expect(computedStyles.toggleSvgOnOpacity).toBe('0');
291
- });
292
- describe('when checked attribute is present', () => {
293
- it('renders the checked state', async () => {
258
+ svg = await page.find('q2-checkbox >>> .checkbox-icon');
259
+ expect(svg.tagName).toEqual('Q2-ICON');
260
+ expect(svg.getAttribute('type')).toEqual('star');
261
+ });
262
+ });
263
+ describe("when type is 'toggle'", () => {
264
+ it('renders the toggle for type="toggle"', async () => {
265
+ page = await setupPage();
266
+ let toggleSVG = await page.find('q2-checkbox >>> .toggle-svg-container');
267
+ expect(toggleSVG).toBeNull();
268
+ const checkbox = await page.find('q2-checkbox');
269
+ checkbox.setProperty('type', 'toggle');
270
+ await page.waitForChanges();
271
+ toggleSVG = await page.find('q2-checkbox >>> .toggle-svg-container');
272
+ expect(toggleSVG).not.toBeNull();
273
+ });
274
+ describe('"unchecked" toggle styles', () => {
275
+ it('sets proper label styles', async () => {
276
+ page = await setupPage('type="toggle"');
277
+ const labelStyles = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
278
+ expect(labelStyles.fontWeight).toBe('400');
279
+ });
280
+ it('sets proper toggle-svg-container styles', async () => {
281
+ page = await setupPage('type="toggle"');
282
+ const toggleStyles = await (await page.find('q2-checkbox >>> .toggle-svg-container')).getComputedStyle();
283
+ expect(toggleStyles.height).toBe('30px');
284
+ expect(toggleStyles.width).toBe('38px');
285
+ });
286
+ it('sets proper toggle-indicator styles', async () => {
287
+ page = await setupPage('type="toggle"');
288
+ const toggleIndicator = await (await page.find('q2-checkbox >>> .toggle-indicator')).getComputedStyle();
289
+ expect(toggleIndicator.height).toBe('16px');
290
+ expect(toggleIndicator.width).toBe('16px');
291
+ expect(toggleIndicator.left).toBe('4px');
292
+ });
293
+ it('sets proper toggle-track styles', async () => {
294
+ page = await setupPage('type="toggle"');
295
+ const toggleTrack = await (await page.find('q2-checkbox >>> .toggle-track')).getComputedStyle();
296
+ expect(toggleTrack.height).toBe('24px');
297
+ expect(toggleTrack.width).toBe('38px');
298
+ expect(toggleTrack.borderRadius).toBe('12px');
299
+ expect(toggleTrack.boxShadow).toBe('rgb(128, 128, 128) 0px 0px 0px 1px inset');
300
+ });
301
+ it('sets proper toggle-circle styles', async () => {
302
+ page = await setupPage('type="toggle"');
303
+ const toggleCircle = await (await page.find('q2-checkbox >>> .toggle-circle')).getComputedStyle();
304
+ expect(toggleCircle.mask).toBe('url("#xMask")');
305
+ });
306
+ it('sets proper toggle-icon styles', async () => {
307
+ page = await setupPage('type="toggle"');
308
+ const toggleIcon = await (await page.find('q2-checkbox >>> .toggle-icon')).getComputedStyle();
309
+ expect(toggleIcon.strokeLinecap).toBe('round');
310
+ expect(toggleIcon.strokeLinejoin).toBe('round');
311
+ expect(toggleIcon.strokeWidth).toBe('2px');
312
+ expect(toggleIcon.stroke).toBe('rgb(0, 0, 0)');
313
+ });
314
+ });
315
+ describe('"checked" toggle styles', () => {
316
+ it('sets proper label styles', async () => {
294
317
  page = await setupPage('type="toggle" checked');
295
- const computedStyles = await getToggleStyles(page);
296
- expect(computedStyles.labelFontWeight).toBe('600');
297
- expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');
298
- expect(computedStyles.toggleIndicatorLeft).toBe('21px');
299
- expect(computedStyles.toggleSvgOffOpacity).toBe('0');
300
- expect(computedStyles.toggleSvgOnOpacity).toBe('1');
318
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
319
+ expect(label.fontWeight).toBe('600');
301
320
  });
302
- it('applies necessary styles when hovered', async () => {
321
+ it('sets proper toggle-track styles', async () => {
303
322
  page = await setupPage('type="toggle" checked');
304
- await page.hover('q2-checkbox >>> .toggle-svg');
305
- await page.waitForChanges();
306
- const computedStyles = await getToggleStyles(page);
307
- expect(computedStyles.labelFontWeight).toBe('600');
308
- expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('10px');
309
- expect(computedStyles.toggleIndicatorLeft).toBe('21px');
310
- expect(computedStyles.toggleSvgOffOpacity).toBe('0');
311
- expect(computedStyles.toggleSvgOnOpacity).toBe('1');
323
+ const toggleTrack = await (await page.find('q2-checkbox >>> .toggle-track')).getComputedStyle();
324
+ expect(toggleTrack.border).toBe('0px none rgb(0, 0, 0)');
325
+ expect(toggleTrack.fill).toBe('rgb(106, 74, 158)');
312
326
  });
313
- it('renders the unchecked state when checked="false"', async () => {
314
- page = await setupPage('type="toggle" checked="false"');
315
- const computedStyles = await getToggleStyles(page);
316
- expect(computedStyles.labelFontWeight).toBe('400');
317
- expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');
318
- expect(computedStyles.toggleIndicatorLeft).toBe('0px');
319
- expect(computedStyles.toggleSvgOffOpacity).toBe('1');
320
- expect(computedStyles.toggleSvgOnOpacity).toBe('0');
327
+ it('sets proper toggle-indicator styles', async () => {
328
+ page = await setupPage('type="toggle" checked');
329
+ const toggleIndicator = await (await page.find('q2-checkbox >>> .toggle-indicator')).getComputedStyle();
330
+ expect(toggleIndicator.left).toBe('18px');
331
+ });
332
+ it('sets proper toggle-circle styles', async () => {
333
+ page = await setupPage('type="toggle" checked');
334
+ const toggleCircle = await (await page.find('q2-checkbox >>> .toggle-circle')).getComputedStyle();
335
+ expect(toggleCircle.mask).toBe('url("#checkMask")');
336
+ expect(toggleCircle.fill).toBe('rgb(255, 255, 255)');
321
337
  });
322
338
  });
323
339
  });
324
340
  });
325
- });
326
- it('toggles the checked attribute when clicked', async () => {
327
- page = await setupPage('label="My Checkbox"');
328
- const checkbox = await page.find('q2-checkbox');
329
- expect(checkbox).not.toHaveAttribute('checked');
330
- const innerInput = await page.find('q2-checkbox >>> input');
331
- await innerInput.press('Space');
332
- await page.waitForChanges();
333
- expect(checkbox).toHaveAttribute('checked');
334
- });
335
- it('allows slotted content', async () => {
336
- page = await setup({
337
- html: `
338
- <q2-checkbox value="1" label="Label">
339
- <p>A yielded label</p>
340
- </q2-checkbox>
341
- `,
341
+ describe('checked', () => {
342
+ it('toggles the checked attribute when clicked', async () => {
343
+ page = await setupPage('label="My Checkbox"');
344
+ const checkbox = await page.find('q2-checkbox');
345
+ expect(checkbox).not.toHaveAttribute('checked');
346
+ const innerInput = await page.find('q2-checkbox >>> input');
347
+ await innerInput.press('Space');
348
+ await page.waitForChanges();
349
+ expect(checkbox).toHaveAttribute('checked');
350
+ });
351
+ it('handles checked state', async () => {
352
+ page = await setupPage('checked');
353
+ const innerCheckbox = await page.find('q2-checkbox >>> input');
354
+ expect(await innerCheckbox.getProperty('checked')).toEqual(true);
355
+ let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
356
+ expect(checkboxFill).not.toBeNull();
357
+ expect(checkboxFill).toHaveClass('checked-fill');
358
+ const checkbox = await page.find('q2-checkbox');
359
+ checkbox.setProperty('checked', false);
360
+ await page.waitForChanges();
361
+ checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
362
+ expect(checkboxFill).toBeNull();
363
+ });
342
364
  });
343
- const { slottedText, slottedTag } = await page.$eval('q2-checkbox', element => {
344
- const slottedNode = element.shadowRoot.querySelector('slot').assignedElements()[0];
345
- return {
346
- slottedText: slottedNode.textContent,
347
- slottedTag: slottedNode.localName,
348
- };
365
+ describe('name', () => {
366
+ it('binds the name property', async () => {
367
+ page = await setupPage();
368
+ const innerCheckbox = await page.find('q2-checkbox >>> input');
369
+ const innerCheckboxId = innerCheckbox.getAttribute('id');
370
+ expect(innerCheckbox.getAttribute('name')).toEqual(innerCheckboxId);
371
+ const checkbox = await page.find('q2-checkbox');
372
+ checkbox.setProperty('name', 'checkboxname');
373
+ await page.waitForChanges();
374
+ expect(innerCheckbox.getAttribute('name')).toEqual('checkboxname');
375
+ });
376
+ });
377
+ describe('indeterminate', () => {
378
+ it('handles indeterminate state', async () => {
379
+ page = await setupPage('indeterminate');
380
+ const innerCheckbox = await page.find('q2-checkbox >>> input');
381
+ expect(await innerCheckbox.getProperty('checked')).toEqual(true);
382
+ let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
383
+ expect(checkboxFill).not.toBeNull();
384
+ expect(checkboxFill).toHaveClass('indeterminate-fill');
385
+ const checkbox = await page.find('q2-checkbox');
386
+ checkbox.setProperty('checked', true);
387
+ await page.waitForChanges();
388
+ checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
389
+ // indeterminance takes precedence over checked
390
+ expect(checkboxFill).not.toBeNull();
391
+ expect(checkboxFill).toHaveClass('indeterminate-fill');
392
+ expect(checkboxFill).not.toHaveClass('checked-fill');
393
+ checkbox.setProperty('indeterminate', false);
394
+ checkbox.setProperty('checked', false);
395
+ await page.waitForChanges();
396
+ checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
397
+ expect(checkboxFill).toBeNull();
398
+ });
349
399
  });
350
- expect(slottedText).toEqual('A yielded label');
351
- expect(slottedTag).toEqual('p');
352
- });
353
- it('binds aria-label when provided and no label present', async () => {
354
- page = await setupPage('aria-label="Aria-Label Text"');
355
- const checkbox = await page.find('q2-checkbox');
356
- const labelContent = await page.find('q2-checkbox >>> .label-text');
357
- expect(labelContent).toHaveClass('sr');
358
- expect(labelContent).toEqualText('Aria-Label Text');
359
- checkbox.setProperty('label', 'Label Text');
360
- checkbox.setProperty('hideLabel', false);
361
- await page.waitForChanges();
362
- expect(labelContent).not.toHaveClass('sr');
363
- expect(labelContent).toEqualText('Label Text');
364
- });
365
- it('binds the name property', async () => {
366
- page = await setupPage();
367
- const innerCheckbox = await page.find('q2-checkbox >>> input');
368
- const innerCheckboxId = innerCheckbox.getAttribute('id');
369
- expect(innerCheckbox.getAttribute('name')).toEqual(innerCheckboxId);
370
- const checkbox = await page.find('q2-checkbox');
371
- checkbox.setProperty('name', 'checkboxname');
372
- await page.waitForChanges();
373
- expect(innerCheckbox.getAttribute('name')).toEqual('checkboxname');
374
- });
375
- it('renders the star icon for type="favorite"', async () => {
376
- page = await setupPage();
377
- let svg = await page.find('q2-checkbox >>> .checkbox-icon');
378
- expect(svg.tagName).toEqual('svg');
379
- const checkbox = await page.find('q2-checkbox');
380
- checkbox.setProperty('type', 'favorite');
381
- await page.waitForChanges();
382
- svg = await page.find('q2-checkbox >>> .checkbox-icon');
383
- expect(svg.tagName).toEqual('Q2-ICON');
384
- expect(svg.getAttribute('type')).toEqual('star');
385
- });
386
- it('renders the toggle for type="toggle"', async () => {
387
- page = await setupPage();
388
- let toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');
389
- expect(toggleSVG).toBeNull();
390
- const checkbox = await page.find('q2-checkbox');
391
- checkbox.setProperty('type', 'toggle');
392
- await page.waitForChanges();
393
- toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');
394
- expect(toggleSVG).not.toBeNull();
395
- });
396
- it('handles checked state', async () => {
397
- page = await setupPage('checked');
398
- const innerCheckbox = await page.find('q2-checkbox >>> input');
399
- expect(await innerCheckbox.getProperty('checked')).toEqual(true);
400
- let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
401
- expect(checkboxFill).not.toBeNull();
402
- expect(checkboxFill).toHaveClass('checked-fill');
403
- const checkbox = await page.find('q2-checkbox');
404
- checkbox.setProperty('checked', false);
405
- await page.waitForChanges();
406
- checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
407
- expect(checkboxFill).toBeNull();
408
- });
409
- it('handles indeterminate state', async () => {
410
- page = await setupPage('indeterminate');
411
- const innerCheckbox = await page.find('q2-checkbox >>> input');
412
- expect(await innerCheckbox.getProperty('checked')).toEqual(true);
413
- let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
414
- expect(checkboxFill).not.toBeNull();
415
- expect(checkboxFill).toHaveClass('indeterminate-fill');
416
- const checkbox = await page.find('q2-checkbox');
417
- checkbox.setProperty('checked', true);
418
- await page.waitForChanges();
419
- checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
420
- // indeterminance takes precedence over checked
421
- expect(checkboxFill).not.toBeNull();
422
- expect(checkboxFill).toHaveClass('indeterminate-fill');
423
- expect(checkboxFill).not.toHaveClass('checked-fill');
424
- checkbox.setProperty('indeterminate', false);
425
- checkbox.setProperty('checked', false);
426
- await page.waitForChanges();
427
- checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');
428
- expect(checkboxFill).toBeNull();
429
400
  });
430
- it('localizes appropriate attribute strings', async () => {
431
- page = await setupPage();
432
- await setTestStrings(page, {
433
- 'q2-checkbox.label': 'Label Text',
434
- 'q2-checkbox.ariaLabel': 'Aria-Label Text',
401
+ describe('Localization', () => {
402
+ it('localizes appropriate attribute strings', async () => {
403
+ page = await setupPage();
404
+ await setTestStrings(page, {
405
+ 'q2-checkbox.label': 'Label Text',
406
+ 'q2-checkbox.ariaLabel': 'Aria-Label Text',
407
+ });
408
+ const checkbox = await page.find('q2-checkbox');
409
+ checkbox.setProperty('ariaLabel', 'q2-checkbox.ariaLabel');
410
+ await page.waitForChanges();
411
+ const innerLabel = await page.find('q2-checkbox >>> .label-text');
412
+ expect(innerLabel).toEqualText('Aria-Label Text');
413
+ checkbox.setProperty('label', 'q2-checkbox.label');
414
+ checkbox.setProperty('hideLabel', false);
415
+ await page.waitForChanges();
416
+ expect(innerLabel.innerText).toEqual('Label Text');
435
417
  });
436
- const checkbox = await page.find('q2-checkbox');
437
- checkbox.setProperty('ariaLabel', 'q2-checkbox.ariaLabel');
438
- await page.waitForChanges();
439
- const innerLabel = await page.find('q2-checkbox >>> .label-text');
440
- expect(innerLabel).toEqualText('Aria-Label Text');
441
- checkbox.setProperty('label', 'q2-checkbox.label');
442
- checkbox.setProperty('hideLabel', false);
443
- await page.waitForChanges();
444
- expect(innerLabel.innerText).toEqual('Label Text');
445
418
  });
446
419
  describe('focus transferring', () => {
447
420
  it('focuses when focus event dispatched ', async () => {
@@ -472,21 +445,34 @@ describe('q2-checkbox', () => {
472
445
  });
473
446
  describe('Hover behavior', () => {
474
447
  describe('checkbox type="toggle" hover state', () => {
475
- describe('default behavior', () => {
476
- it('hides default outer circle when not hovered', async () => {
477
- page = await setupPage('label="My Checkbox" type="toggle"');
478
- const toggleCircle = await page.find('q2-checkbox >>> .toggle-hover-circle');
479
- normalStyle = await toggleCircle.getComputedStyle();
480
- expect(normalStyle.strokeWidth).toBe('0px');
481
- });
482
- it('shows default outer circle on hover', async () => {
483
- page = await setupPage('label="My Checkbox" type="toggle"');
484
- const toggleCircle = await page.find('q2-checkbox >>> .toggle-hover-circle');
485
- await page.hover('q2-checkbox');
486
- await page.waitForChanges();
487
- hoverStyle = await toggleCircle.getComputedStyle();
488
- expect(hoverStyle.strokeWidth).toBe('10px');
489
- });
448
+ it('sets proper hover styles when "unchecked"', async () => {
449
+ page = await setupPage('type="toggle"');
450
+ await page.hover('q2-checkbox >>> .toggle-svg-container');
451
+ await page.waitForChanges();
452
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
453
+ const toggleTrack = await (await page.find('q2-checkbox >>> .toggle-track')).getComputedStyle();
454
+ const toggleCircle = await (await page.find('q2-checkbox >>> .toggle-circle')).getComputedStyle();
455
+ const toggleIndicator = await (await page.find('q2-checkbox >>> .toggle-indicator')).getComputedStyle();
456
+ const boxShadowWidth = toggleTrack.boxShadow.split(' ').find(value => {
457
+ return value.endsWith('px') && Number(value.replace('px', ''));
458
+ });
459
+ expect(label.fontWeight).toBe('400');
460
+ expect(toggleCircle.fill).not.toBe('rgb(128, 128, 128)');
461
+ expect(Number(boxShadowWidth.replace('px', ''))).toBeGreaterThan(1);
462
+ expect(Math.round(Number(toggleIndicator.height.replace('px', '')))).toBe(18);
463
+ expect(Math.round(Number(toggleIndicator.width.replace('px', '')))).toBe(18);
464
+ });
465
+ it('sets proper hover styles when "checked"', async () => {
466
+ page = await setupPage('type="toggle" checked');
467
+ await page.hover('q2-checkbox >>> .toggle-svg-container');
468
+ await page.waitForChanges();
469
+ const label = await (await page.find('q2-checkbox >>> .label-text')).getComputedStyle();
470
+ const toggleTrack = await (await page.find('q2-checkbox >>> .toggle-track')).getComputedStyle();
471
+ const toggleIndicator = await (await page.find('q2-checkbox >>> .toggle-indicator')).getComputedStyle();
472
+ expect(label.fontWeight).toBe('600');
473
+ expect(toggleTrack.fill).not.toBe('rgb(106, 74, 158)');
474
+ expect(Math.round(Number(toggleIndicator.height.replace('px', '')))).toBe(18);
475
+ expect(Math.round(Number(toggleIndicator.width.replace('px', '')))).toBe(18);
490
476
  });
491
477
  });
492
478
  describe('default checkbox hover state', () => {
@@ -733,6 +719,26 @@ describe('q2-checkbox', () => {
733
719
  });
734
720
  });
735
721
  });
722
+ describe('Slots', () => {
723
+ it('allows slotted content', async () => {
724
+ page = await setup({
725
+ html: `
726
+ <q2-checkbox value="1" label="Label">
727
+ <p>A yielded label</p>
728
+ </q2-checkbox>
729
+ `,
730
+ });
731
+ const { slottedText, slottedTag } = await page.$eval('q2-checkbox', element => {
732
+ const slottedNode = element.shadowRoot.querySelector('slot').assignedElements()[0];
733
+ return {
734
+ slottedText: slottedNode.textContent,
735
+ slottedTag: slottedNode.localName,
736
+ };
737
+ });
738
+ expect(slottedText).toEqual('A yielded label');
739
+ expect(slottedTag).toEqual('p');
740
+ });
741
+ });
736
742
  describe('Regressions', () => {
737
743
  it('applies font-weight to label when CSS property is updated (TCT-2246)', async () => {
738
744
  page = await setupPage('label="My Checkbox"');
@@ -766,7 +772,20 @@ describe('q2-checkbox', () => {
766
772
  });
767
773
  describe('Accessibility Tree', () => { });
768
774
  describe('Keyboard Controls', () => { });
769
- describe('Other', () => { });
775
+ describe('Other', () => {
776
+ it('binds aria-label when provided and no label present', async () => {
777
+ page = await setupPage('aria-label="Aria-Label Text"');
778
+ const checkbox = await page.find('q2-checkbox');
779
+ const labelContent = await page.find('q2-checkbox >>> .label-text');
780
+ expect(labelContent).toHaveClass('sr');
781
+ expect(labelContent).toEqualText('Aria-Label Text');
782
+ checkbox.setProperty('label', 'Label Text');
783
+ checkbox.setProperty('hideLabel', false);
784
+ await page.waitForChanges();
785
+ expect(labelContent).not.toHaveClass('sr');
786
+ expect(labelContent).toEqualText('Label Text');
787
+ });
788
+ });
770
789
  });
771
790
  });
772
791
  //# sourceMappingURL=q2-checkbox-test.e2e.js.map