q2-tecton-elements 1.70.2 → 1.71.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 (360) hide show
  1. package/dist/bundle-report.json +556 -231
  2. package/dist/cjs/click-elsewhere_3.cjs.entry.js +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
  5. package/dist/cjs/q2-action-sheet.cjs.entry.js +4 -3
  6. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-badge_2.cjs.entry.js +17 -8
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-calendar.cjs.entry.js +8 -6
  10. package/dist/cjs/q2-card-image.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel.cjs.entry.js +108 -74
  14. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
  25. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-item.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-meter.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-modal.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-otp.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-pill.cjs.entry.js +18 -2
  42. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  43. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-search.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  47. package/dist/cjs/q2-select.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +32 -9
  50. package/dist/cjs/q2-stepper.cjs.entry.js +18 -4
  51. package/dist/cjs/q2-surface.cjs.entry.js +3 -3
  52. package/dist/cjs/q2-tab-container.cjs.entry.js +89 -20
  53. package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  55. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  56. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-tooltip.cjs.entry.js +26 -15
  58. package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
  59. package/dist/collection/components/q2-action-group/q2-action-group.css +22 -0
  60. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +24 -1
  61. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +3 -2
  62. package/dist/collection/components/q2-avatar/q2-avatar.css +23 -1
  63. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +13 -1
  64. package/dist/collection/components/q2-badge/q2-badge.css +26 -4
  65. package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js +13 -1
  66. package/dist/collection/components/q2-btn/q2-btn.css +53 -9
  67. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +19 -1
  68. package/dist/collection/components/q2-calendar/q2-calendar.css +26 -4
  69. package/dist/collection/components/q2-calendar/q2-calendar.js +7 -5
  70. package/dist/collection/components/q2-calendar/q2-month-picker.css +22 -0
  71. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +34 -1
  72. package/dist/collection/components/q2-card/q2-card.css +23 -1
  73. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +10 -1
  74. package/dist/collection/components/q2-card-image/q2-card-image.css +23 -1
  75. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +9 -1
  76. package/dist/collection/components/q2-carousel/q2-carousel.css +29 -39
  77. package/dist/collection/components/q2-carousel/q2-carousel.js +122 -69
  78. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +5 -4
  79. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +22 -0
  80. package/dist/collection/components/q2-chart-area/q2-chart-area.css +22 -0
  81. package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +22 -0
  82. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +24 -2
  83. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +13 -1
  84. package/dist/collection/components/q2-checkbox/q2-checkbox.css +23 -1
  85. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js +11 -1
  86. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +23 -1
  87. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js +11 -1
  88. package/dist/collection/components/q2-currency/q2-currency.css +25 -3
  89. package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js +13 -1
  90. package/dist/collection/components/q2-data-table/q2-data-table.css +24 -2
  91. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +11 -1
  92. package/dist/collection/components/q2-detail/q2-detail.css +32 -10
  93. package/dist/collection/components/q2-dropdown/q2-dropdown.css +22 -0
  94. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +22 -0
  95. package/dist/collection/components/q2-editable-field/q2-editable-field.css +22 -0
  96. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  97. package/dist/collection/components/q2-example/q2-example.css +23 -0
  98. package/dist/collection/components/q2-file-picker/q2-file-picker.css +57 -10
  99. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +14 -1
  100. package/dist/collection/components/q2-form/q2-form.css +22 -0
  101. package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +25 -3
  102. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js +13 -1
  103. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  104. package/dist/collection/components/q2-icon/q2-icon.css +22 -0
  105. package/dist/collection/components/q2-input/q2-input.css +26 -4
  106. package/dist/collection/components/q2-input/q2-input.js +39 -7
  107. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +36 -1
  108. package/dist/collection/components/q2-item/q2-item.css +46 -2
  109. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +12 -1
  110. package/dist/collection/components/q2-legend/q2-legend.css +24 -2
  111. package/dist/collection/components/q2-link/q2-link.css +22 -0
  112. package/dist/collection/components/q2-list/q2-list.css +46 -2
  113. package/dist/collection/components/q2-list/test/q2-list-test.vr.js +12 -1
  114. package/dist/collection/components/q2-loading/q2-loading.css +23 -0
  115. package/dist/collection/components/q2-message/q2-message.css +22 -0
  116. package/dist/collection/components/q2-meter/q2-meter.css +25 -3
  117. package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js +12 -1
  118. package/dist/collection/components/q2-modal/q2-modal.css +23 -1
  119. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +12 -1
  120. package/dist/collection/components/q2-optgroup/q2-optgroup.css +23 -1
  121. package/dist/collection/components/q2-option/q2-option.css +22 -0
  122. package/dist/collection/components/q2-option-list/q2-option-list.css +22 -0
  123. package/dist/collection/components/q2-otp/q2-otp.css +27 -4
  124. package/dist/collection/components/q2-otp/test/q2-otp-test.vr.js +12 -1
  125. package/dist/collection/components/q2-pagination/q2-pagination.css +22 -0
  126. package/dist/collection/components/q2-pill/q2-pill.css +42 -2
  127. package/dist/collection/components/q2-pill/q2-pill.js +18 -1
  128. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +27 -1
  129. package/dist/collection/components/q2-popover/q2-popover.css +22 -7
  130. package/dist/collection/components/q2-radio/q2-radio.css +24 -2
  131. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +12 -1
  132. package/dist/collection/components/q2-radio-group/q2-radio-group.css +23 -1
  133. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +11 -1
  134. package/dist/collection/components/q2-relative-time/q2-relative-time.css +22 -0
  135. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  136. package/dist/collection/components/q2-resize-observer/q2-resize-observer.css +22 -0
  137. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  138. package/dist/collection/components/q2-search/q2-search.css +22 -0
  139. package/dist/collection/components/q2-search/q2-search.js +1 -1
  140. package/dist/collection/components/q2-section/q2-section.css +23 -1
  141. package/dist/collection/components/q2-section/q2-section.js +2 -2
  142. package/dist/collection/components/q2-section/test/q2-section-test.vr.js +11 -1
  143. package/dist/collection/components/q2-select/q2-select.css +22 -0
  144. package/dist/collection/components/q2-stepper/q2-stepper.css +38 -4
  145. package/dist/collection/components/q2-stepper/q2-stepper.js +17 -3
  146. package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js +12 -1
  147. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.css +22 -0
  148. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  149. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +39 -5
  150. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +31 -8
  151. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js +16 -1
  152. package/dist/collection/components/q2-surface/q2-surface.css +71 -32
  153. package/dist/collection/components/q2-surface/q2-surface.js +7 -7
  154. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +54 -0
  155. package/dist/collection/components/q2-tab-container/q2-tab-container.css +112 -6
  156. package/dist/collection/components/q2-tab-container/q2-tab-container.js +114 -21
  157. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js +24 -1
  158. package/dist/collection/components/q2-tab-pane/q2-tab-pane.css +22 -0
  159. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  160. package/dist/collection/components/q2-tag/q2-tag.css +25 -2
  161. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  162. package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js +21 -1
  163. package/dist/collection/components/q2-textarea/q2-textarea.css +24 -2
  164. package/dist/collection/components/q2-textarea/q2-textarea.js +2 -2
  165. package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js +16 -1
  166. package/dist/collection/components/q2-toast/q2-toast.css +22 -0
  167. package/dist/collection/components/q2-tooltip/q2-tooltip.css +27 -19
  168. package/dist/collection/components/q2-tooltip/q2-tooltip.js +32 -21
  169. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +13 -1
  170. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.css +22 -0
  171. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  172. package/dist/collection/utils/helpers.js +29 -6
  173. package/dist/collection/utils/test/vr-helpers.js +7 -0
  174. package/dist/components/q2-action-group2.js +1 -1
  175. package/dist/components/q2-action-sheet.js +21 -18
  176. package/dist/components/q2-avatar2.js +1 -1
  177. package/dist/components/q2-badge2.js +1 -1
  178. package/dist/components/q2-btn2.js +15 -15
  179. package/dist/components/q2-calendar.js +306 -301
  180. package/dist/components/q2-card-image.js +6 -6
  181. package/dist/components/q2-card.js +14 -14
  182. package/dist/components/q2-carousel-pane2.js +1 -1
  183. package/dist/components/q2-carousel.js +633 -585
  184. package/dist/components/q2-chart-area.js +1 -1
  185. package/dist/components/q2-chart-bar.js +70 -70
  186. package/dist/components/q2-chart-donut.js +1 -1
  187. package/dist/components/q2-checkbox-group.js +42 -42
  188. package/dist/components/q2-checkbox2.js +1 -1
  189. package/dist/components/q2-currency.js +32 -32
  190. package/dist/components/q2-data-table.js +34 -34
  191. package/dist/components/q2-detail.js +5 -5
  192. package/dist/components/q2-dropdown-item2.js +11 -11
  193. package/dist/components/q2-dropdown.js +17 -17
  194. package/dist/components/q2-editable-field.js +12 -11
  195. package/dist/components/q2-example.js +15 -15
  196. package/dist/components/q2-file-picker.js +25 -25
  197. package/dist/components/q2-form.js +11 -11
  198. package/dist/components/q2-formatted-text.js +5 -5
  199. package/dist/components/q2-icon2.js +1 -1
  200. package/dist/components/q2-input2.js +24 -13
  201. package/dist/components/q2-item2.js +1 -1
  202. package/dist/components/q2-legend2.js +56 -56
  203. package/dist/components/q2-link2.js +6 -6
  204. package/dist/components/q2-list2.js +22 -22
  205. package/dist/components/q2-loading2.js +1 -1
  206. package/dist/components/q2-message2.js +20 -20
  207. package/dist/components/q2-meter.js +1 -1
  208. package/dist/components/q2-modal.js +3 -3
  209. package/dist/components/q2-month-picker.js +10 -10
  210. package/dist/components/q2-optgroup2.js +7 -7
  211. package/dist/components/q2-option-list2.js +34 -34
  212. package/dist/components/q2-option2.js +13 -13
  213. package/dist/components/q2-otp.js +5 -5
  214. package/dist/components/q2-pagination.js +58 -58
  215. package/dist/components/q2-pill.js +66 -54
  216. package/dist/components/q2-popover2.js +1 -1
  217. package/dist/components/q2-radio-group.js +5 -5
  218. package/dist/components/q2-radio.js +14 -14
  219. package/dist/components/q2-relative-time.js +10 -10
  220. package/dist/components/q2-resize-observer2.js +9 -9
  221. package/dist/components/q2-search.js +5 -5
  222. package/dist/components/q2-section.js +22 -22
  223. package/dist/components/q2-select2.js +1 -1
  224. package/dist/components/q2-stepper-pane.js +33 -33
  225. package/dist/components/q2-stepper-vertical.js +84 -60
  226. package/dist/components/q2-stepper.js +79 -65
  227. package/dist/components/q2-surface.js +14 -14
  228. package/dist/components/q2-tab-container.js +110 -55
  229. package/dist/components/q2-tab-pane.js +7 -7
  230. package/dist/components/q2-tag2.js +39 -39
  231. package/dist/components/q2-textarea.js +16 -16
  232. package/dist/components/q2-toast.js +22 -22
  233. package/dist/components/q2-tooltip2.js +26 -25
  234. package/dist/components/tecton-tab-pane.js +11 -11
  235. package/dist/esm/click-elsewhere_3.entry.js +2 -2
  236. package/dist/esm/loader.js +1 -1
  237. package/dist/esm/q2-action-group_2.entry.js +3 -3
  238. package/dist/esm/q2-action-sheet.entry.js +4 -3
  239. package/dist/esm/q2-avatar.entry.js +1 -1
  240. package/dist/esm/q2-badge_2.entry.js +17 -8
  241. package/dist/esm/q2-btn_2.entry.js +2 -2
  242. package/dist/esm/q2-calendar.entry.js +8 -6
  243. package/dist/esm/q2-card-image.entry.js +1 -1
  244. package/dist/esm/q2-card.entry.js +1 -1
  245. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  246. package/dist/esm/q2-carousel.entry.js +104 -70
  247. package/dist/esm/q2-chart-area.entry.js +1 -1
  248. package/dist/esm/q2-chart-bar.entry.js +1 -1
  249. package/dist/esm/q2-chart-donut.entry.js +1 -1
  250. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  251. package/dist/esm/q2-checkbox_2.entry.js +3 -3
  252. package/dist/esm/q2-currency.entry.js +1 -1
  253. package/dist/esm/q2-data-table.entry.js +1 -1
  254. package/dist/esm/q2-detail.entry.js +1 -1
  255. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  256. package/dist/esm/q2-dropdown.entry.js +1 -1
  257. package/dist/esm/q2-editable-field.entry.js +3 -3
  258. package/dist/esm/q2-example.entry.js +1 -1
  259. package/dist/esm/q2-file-picker.entry.js +1 -1
  260. package/dist/esm/q2-form.entry.js +1 -1
  261. package/dist/esm/q2-formatted-text.entry.js +1 -1
  262. package/dist/esm/q2-icon.entry.js +1 -1
  263. package/dist/esm/q2-item.entry.js +1 -1
  264. package/dist/esm/q2-legend.entry.js +1 -1
  265. package/dist/esm/q2-link_2.entry.js +2 -2
  266. package/dist/esm/q2-message.entry.js +1 -1
  267. package/dist/esm/q2-meter.entry.js +1 -1
  268. package/dist/esm/q2-modal.entry.js +1 -1
  269. package/dist/esm/q2-month-picker.entry.js +1 -1
  270. package/dist/esm/q2-optgroup.entry.js +1 -1
  271. package/dist/esm/q2-option.entry.js +1 -1
  272. package/dist/esm/q2-otp.entry.js +1 -1
  273. package/dist/esm/q2-pagination.entry.js +1 -1
  274. package/dist/esm/q2-pill.entry.js +18 -2
  275. package/dist/esm/q2-radio-group.entry.js +1 -1
  276. package/dist/esm/q2-radio.entry.js +1 -1
  277. package/dist/esm/q2-relative-time.entry.js +2 -2
  278. package/dist/esm/q2-search.entry.js +2 -2
  279. package/dist/esm/q2-section.entry.js +3 -3
  280. package/dist/esm/q2-select.entry.js +1 -1
  281. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  282. package/dist/esm/q2-stepper-vertical.entry.js +32 -9
  283. package/dist/esm/q2-stepper.entry.js +18 -4
  284. package/dist/esm/q2-surface.entry.js +3 -3
  285. package/dist/esm/q2-tab-container.entry.js +89 -20
  286. package/dist/esm/q2-tab-pane.entry.js +2 -2
  287. package/dist/esm/q2-tecton-elements.js +1 -1
  288. package/dist/esm/q2-textarea.entry.js +3 -3
  289. package/dist/esm/q2-toast.entry.js +1 -1
  290. package/dist/esm/q2-tooltip.entry.js +27 -16
  291. package/dist/esm/tecton-tab-pane.entry.js +3 -3
  292. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  293. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +23 -23
  294. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +42 -42
  295. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +21 -18
  296. package/dist/q2-tecton-elements/q2-avatar.entry.js +1 -1
  297. package/dist/q2-tecton-elements/q2-badge_2.entry.js +25 -15
  298. package/dist/q2-tecton-elements/q2-btn_2.entry.js +2 -2
  299. package/dist/q2-tecton-elements/q2-calendar.entry.js +120 -115
  300. package/dist/q2-tecton-elements/q2-card-image.entry.js +1 -1
  301. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  302. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +11 -11
  303. package/dist/q2-tecton-elements/q2-carousel.entry.js +572 -540
  304. package/dist/q2-tecton-elements/q2-chart-area.entry.js +166 -166
  305. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +190 -190
  306. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +1 -1
  307. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
  308. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
  309. package/dist/q2-tecton-elements/q2-currency.entry.js +40 -40
  310. package/dist/q2-tecton-elements/q2-data-table.entry.js +64 -64
  311. package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
  312. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +5 -5
  313. package/dist/q2-tecton-elements/q2-dropdown.entry.js +21 -21
  314. package/dist/q2-tecton-elements/q2-editable-field.entry.js +18 -17
  315. package/dist/q2-tecton-elements/q2-example.entry.js +5 -5
  316. package/dist/q2-tecton-elements/q2-file-picker.entry.js +6 -6
  317. package/dist/q2-tecton-elements/q2-form.entry.js +3 -3
  318. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +3 -3
  319. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  320. package/dist/q2-tecton-elements/q2-item.entry.js +1 -1
  321. package/dist/q2-tecton-elements/q2-legend.entry.js +8 -8
  322. package/dist/q2-tecton-elements/q2-link_2.entry.js +5 -5
  323. package/dist/q2-tecton-elements/q2-message.entry.js +23 -23
  324. package/dist/q2-tecton-elements/q2-meter.entry.js +4 -4
  325. package/dist/q2-tecton-elements/q2-modal.entry.js +3 -3
  326. package/dist/q2-tecton-elements/q2-month-picker.entry.js +39 -39
  327. package/dist/q2-tecton-elements/q2-optgroup.entry.js +13 -13
  328. package/dist/q2-tecton-elements/q2-option.entry.js +22 -22
  329. package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
  330. package/dist/q2-tecton-elements/q2-pagination.entry.js +11 -11
  331. package/dist/q2-tecton-elements/q2-pill.entry.js +30 -18
  332. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  333. package/dist/q2-tecton-elements/q2-radio.entry.js +24 -24
  334. package/dist/q2-tecton-elements/q2-relative-time.entry.js +21 -21
  335. package/dist/q2-tecton-elements/q2-search.entry.js +12 -12
  336. package/dist/q2-tecton-elements/q2-section.entry.js +25 -25
  337. package/dist/q2-tecton-elements/q2-select.entry.js +5 -5
  338. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -16
  339. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +77 -53
  340. package/dist/q2-tecton-elements/q2-stepper.entry.js +44 -30
  341. package/dist/q2-tecton-elements/q2-surface.entry.js +5 -5
  342. package/dist/q2-tecton-elements/q2-tab-container.entry.js +109 -56
  343. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +13 -13
  344. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  345. package/dist/q2-tecton-elements/q2-textarea.entry.js +14 -14
  346. package/dist/q2-tecton-elements/q2-toast.entry.js +6 -6
  347. package/dist/q2-tecton-elements/q2-tooltip.entry.js +25 -24
  348. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +11 -11
  349. package/dist/types/components/q2-carousel/q2-carousel.d.ts +14 -0
  350. package/dist/types/components/q2-input/q2-input.d.ts +7 -1
  351. package/dist/types/components/q2-pill/q2-pill.d.ts +2 -0
  352. package/dist/types/components/q2-stepper/q2-stepper.d.ts +1 -0
  353. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +3 -2
  354. package/dist/types/components/q2-surface/q2-surface.d.ts +3 -3
  355. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +17 -3
  356. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +2 -1
  357. package/dist/types/components.d.ts +50 -21
  358. package/dist/types/utils/helpers.d.ts +16 -1
  359. package/dist/types/utils/test/vr-helpers.d.ts +11 -0
  360. package/package.json +12 -5
@@ -1,6 +1,6 @@
1
1
  import { expect } from "@playwright/test";
2
2
  import { test } from "@stencil/playwright";
3
- import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
3
+ import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
4
4
  const DEFAULT_PANES = `
5
5
  <q2-stepper-pane label="Step 1" id="step-1">Pane content</q2-stepper-pane>
6
6
  <q2-stepper-pane label="Step 2" id="step-2">Pane content</q2-stepper-pane>
@@ -94,3 +94,18 @@ test.describe('q2-stepper-vertical — variants × themes', () => {
94
94
  }
95
95
  }
96
96
  });
97
+ // 'with-children' exercises --tct-stepper-vertical-btn-font-size,
98
+ // --tct-stepper-vertical-btn-label-font-size, --tct-stepper-vertical-child-btn-font-size,
99
+ // and --tct-stepper-vertical-child-btn-label-font-size (top-level + nested step buttons).
100
+ // 'with-descriptions' exercises --tct-stepper-vertical-description-font-size.
101
+ const SV_FONT_SCALE_VARIANTS = VARIANTS.filter(v => v.name === 'with-children' || v.name === 'with-descriptions');
102
+ test.describe(`q2-stepper-vertical — scaled font size × themes`, () => {
103
+ for (const variant of SV_FONT_SCALE_VARIANTS) {
104
+ for (const theme of THEMES) {
105
+ test(`q2-stepper-vertical--${variant.name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
106
+ await setupPage(page, variant.html, { theme, fontSizePx: FONT_SCALE_PX });
107
+ await expect(page).toHaveScreenshot(`q2-stepper-vertical--${variant.name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
108
+ });
109
+ }
110
+ }
111
+ });
@@ -1,19 +1,27 @@
1
1
  /**
2
- * @prop --tct-surface-background-default: (<color>) Background color when background="default". Defaults to --t-base.
3
- * @prop --tct-surface-background-primary: (<color>) Background color when background="primary". Defaults to --t-primary.
4
- * @prop --tct-surface-background-secondary: (<color>) Background color when background="secondary". Defaults to --t-secondary.
5
- * @prop --tct-surface-background-tertiary: (<color>) Background color when background="tertiary". Defaults to --t-tertiary.
6
- * @prop --tct-surface-hover-background: (<color>) Hover background when clickable and no background is set. Defaults to --t-base-hover.
7
- * @prop --tct-surface-primary-hover-background: (<color>) Hover background when clickable and background="primary". Defaults to --t-primary-l2.
8
- * @prop --tct-surface-secondary-hover-background: (<color>) Hover background when clickable and background="secondary". Defaults to --t-secondary-l2.
9
- * @prop --tct-surface-tertiary-hover-background: (<color>) Hover background when clickable and background="tertiary". Defaults to --t-tertiary-l2.
2
+ * @prop --tct-surface-default-background: (<color>) Background color when background="default". Defaults to --t-base.
3
+ * @prop --tct-surface-primary-background: (<color>) Background color when background="primary". Defaults to --t-primary.
4
+ * @prop --tct-surface-secondary-background: (<color>) Background color when background="secondary". Defaults to --t-secondary.
5
+ * @prop --tct-surface-tertiary-background: (<color>) Background color when background="tertiary". Defaults to --t-tertiary.
6
+ * @prop --tct-surface-gray-background: (<color>) Background color when background="gray". Defaults to --t-base-gray1.
7
+ * @prop --tct-surface-default-hover-background: (<color>) Hover background when clickable and background="default" (or unset). Defaults to --t-base-primary1.
8
+ * @prop --tct-surface-primary-hover-background: (<color>) Hover background when clickable and background="primary". Defaults to --t-primary-d2.
9
+ * @prop --tct-surface-secondary-hover-background: (<color>) Hover background when clickable and background="secondary". Defaults to --t-secondary-d2.
10
+ * @prop --tct-surface-tertiary-hover-background: (<color>) Hover background when clickable and background="tertiary". Defaults to --t-tertiary-d2.
11
+ * @prop --tct-surface-gray-hover-background: (<color>) Hover background when clickable and background="gray". Defaults to --t-base-primary1 (matches --tct-surface-default-hover-background).
12
+ * @prop --tct-surface-default-active-background: (<color>) Active/pressed background when clickable and background="default" (or unset). Defaults to --t-base-primary2.
13
+ * @prop --tct-surface-primary-active-background: (<color>) Active/pressed background when clickable and background="primary". Defaults to --t-primary-d3.
14
+ * @prop --tct-surface-secondary-active-background: (<color>) Active/pressed background when clickable and background="secondary". Defaults to --t-secondary-d3.
15
+ * @prop --tct-surface-tertiary-active-background: (<color>) Active/pressed background when clickable and background="tertiary". Defaults to --t-tertiary-d3.
16
+ * @prop --tct-surface-gray-active-background: (<color>) Active/pressed background when clickable and background="gray". Defaults to --t-base-primary2 (matches --tct-surface-default-active-background).
10
17
  * @prop --tct-surface-primary-font-color: (<color>) Text color when background="primary". Defaults to --t-primary-text.
11
18
  * @prop --tct-surface-secondary-font-color: (<color>) Text color when background="secondary". Defaults to --t-secondary-text.
12
19
  * @prop --tct-surface-tertiary-font-color: (<color>) Text color when background="tertiary". Defaults to --t-tertiary-text.
13
- * @prop --tct-surface-border-color: (<color>) Border color when border="default". Defaults to --t-gray-12.
20
+ * @prop --tct-surface-default-border-color: (<color>) Border color when border="default". Defaults to --t-gray-12.
14
21
  * @prop --tct-surface-primary-border-color: (<color>) Border color when border="primary". Defaults to --t-primary.
15
22
  * @prop --tct-surface-secondary-border-color: (<color>) Border color when border="secondary" . Defaults to --t-secondary.
16
23
  * @prop --tct-surface-tertiary-border-color: (<color>) Border color when border="tertiary". Defaults to --t-tertiary.
24
+ * @prop --tct-surface-gray-border-color: (<color>) Border color when border="gray". Defaults to --t-gray-8.
17
25
  * @prop --tct-surface-border-radius-1: (<length>) Corner radius at radius=1. Defaults to --app-border-radius-1 (4px).
18
26
  * @prop --tct-surface-border-radius-2: (<length>) Corner radius at radius=2. Defaults to --app-border-radius-2 (8px).
19
27
  * @prop --tct-surface-border-radius-3: (<length>) Corner radius at radius=3. Defaults to --app-border-radius-3 (12px).
@@ -41,8 +49,8 @@
41
49
  */
42
50
  :host {
43
51
  --comp-surface-bg: transparent;
44
- --comp-surface-hover-background: var(--tct-surface-hover-background, var(--t-base-hover, #f2f2f2));
45
- --comp-surface-border-color: var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9));
52
+ --comp-surface-hover-background: var(--tct-surface-default-hover-background, var(--t-base-primary1, #f2f2f2));
53
+ --comp-surface-border-color: var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9));
46
54
  --comp-surface-animation-duration: var(--tct-surface-animation-duration, 1s);
47
55
  --comp-surface-gradient-direction: var(--tct-surface-background-gradient-direction, to right bottom);
48
56
  --comp-surface-radius: 0px;
@@ -119,30 +127,42 @@
119
127
  border-radius: var(--comp-surface-radius);
120
128
  }
121
129
 
122
- :host([background=default]) {
123
- --comp-surface-bg: var(--tct-surface-background-default, var(--t-base, #ffffff));
124
- --comp-surface-hover-background: var(--tct-surface-hover-background, var(--t-base-hover, #f2f2f2));
130
+ :host([background=default]),
131
+ :host([clickable]:not([clickable=false]):not([background])) {
132
+ --comp-surface-bg: var(--tct-surface-default-background, var(--t-base, #ffffff));
133
+ --comp-surface-hover-background: var(--tct-surface-default-hover-background, var(--t-base-primary1, #f2f2f2));
134
+ --comp-surface-active-background: var(--tct-surface-default-active-background, var(--t-base-primary2, #e6e6e6));
125
135
  }
126
136
 
127
137
  :host([background=primary]) {
128
- --comp-surface-bg: var(--tct-surface-background-primary, var(--t-primary, #6a4a9e));
129
- --comp-surface-hover-background: var(--tct-surface-primary-hover-background, var(--t-primary-l2, #7d5ab8));
138
+ --comp-surface-bg: var(--tct-surface-primary-background, var(--t-primary, #6a4a9e));
139
+ --comp-surface-hover-background: var(--tct-surface-primary-hover-background, var(--t-primary-d2, #533978));
140
+ --comp-surface-active-background: var(--tct-surface-primary-active-background, var(--t-primary-d3, #3d2a58));
130
141
  color: var(--tct-surface-primary-font-color, var(--t-primary-text, #ffffff));
131
142
  }
132
143
 
133
144
  :host([background=secondary]) {
134
- --comp-surface-bg: var(--tct-surface-background-secondary, var(--t-secondary, #b3c2cc));
135
- --comp-surface-hover-background: var(--tct-surface-secondary-hover-background, var(--t-secondary-l2, #c2cfd8));
145
+ --comp-surface-bg: var(--tct-surface-secondary-background, var(--t-secondary, #b3c2cc));
146
+ --comp-surface-hover-background: var(--tct-surface-secondary-hover-background, var(--t-secondary-d2, #8fa1ac));
147
+ --comp-surface-active-background: var(--tct-surface-secondary-active-background, var(--t-secondary-d3, #6b7d88));
136
148
  color: var(--tct-surface-secondary-font-color, var(--t-secondary-text, #1a1a1a));
137
149
  }
138
150
 
139
151
  :host([background=tertiary]) {
140
- --comp-surface-bg: var(--tct-surface-background-tertiary, var(--t-tertiary, #e8f5fc));
141
- --comp-surface-hover-background: var(--tct-surface-tertiary-hover-background, var(--t-tertiary-l2, #edf7fd));
152
+ --comp-surface-bg: var(--tct-surface-tertiary-background, var(--t-tertiary, #e8f5fc));
153
+ --comp-surface-hover-background: var(--tct-surface-tertiary-hover-background, var(--t-tertiary-d2, #b8dcef));
154
+ --comp-surface-active-background: var(--tct-surface-tertiary-active-background, var(--t-tertiary-d3, #88c4e2));
142
155
  color: var(--tct-surface-tertiary-font-color, var(--t-tertiary-text, #1a1a1a));
143
156
  }
144
157
 
145
- :host([background]) .container {
158
+ :host([background=gray]) {
159
+ --comp-surface-bg: var(--tct-surface-gray-background, var(--t-base-gray1, #f4f4f4));
160
+ --comp-surface-hover-background: var(--tct-surface-gray-hover-background, var(--t-base-primary1, #f2f2f2));
161
+ --comp-surface-active-background: var(--tct-surface-gray-active-background, var(--t-base-primary2, #e6e6e6));
162
+ }
163
+
164
+ :host([background]) .container,
165
+ :host([clickable]:not([clickable=false]):not([background])) .container {
146
166
  background: var(--comp-surface-bg);
147
167
  }
148
168
 
@@ -166,6 +186,10 @@
166
186
  border-color: var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc));
167
187
  }
168
188
 
189
+ :host([border=gray]) .container {
190
+ border-color: var(--tct-surface-gray-border-color, var(--t-gray-8, #808080));
191
+ }
192
+
169
193
  :host([border-gradient]) {
170
194
  padding: 2px;
171
195
  }
@@ -177,7 +201,7 @@
177
201
  }
178
202
 
179
203
  :host([border-gradient]:not([background])) {
180
- --comp-surface-bg: var(--tct-surface-background-default, var(--t-base, #ffffff));
204
+ --comp-surface-bg: var(--tct-surface-default-background, var(--t-base, #ffffff));
181
205
  }
182
206
  :host([border-gradient]:not([background])) .container {
183
207
  background: var(--comp-surface-bg);
@@ -185,7 +209,7 @@
185
209
 
186
210
  :host([border-gradient]:not([border])),
187
211
  :host([border-gradient][border=default]) {
188
- background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9)), white 40%), var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9)));
212
+ background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9)), white 40%), var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9)));
189
213
  }
190
214
 
191
215
  :host([border-gradient][border=primary]) {
@@ -200,6 +224,10 @@
200
224
  background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc)), white 40%), var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc)));
201
225
  }
202
226
 
227
+ :host([border-gradient][border=gray]) {
228
+ background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-gray-border-color, var(--t-gray-8, #808080)), white 40%), var(--tct-surface-gray-border-color, var(--t-gray-8, #808080)));
229
+ }
230
+
203
231
  :host([inset=compact]) .container {
204
232
  padding: var(--tct-surface-inset-compact, var(--app-scale-1x, 5px));
205
233
  }
@@ -244,31 +272,34 @@
244
272
  padding-block: var(--tct-surface-inset-comfortable, var(--app-scale-5x, 25px));
245
273
  }
246
274
 
247
- :host([clickable]) {
275
+ :host([clickable]:not([clickable=false])) {
248
276
  cursor: pointer;
249
277
  }
250
- :host([clickable]):hover .container {
278
+ :host([clickable]:not([clickable=false])) .container:hover {
251
279
  background: var(--comp-surface-hover-background);
252
280
  }
253
- :host([clickable])[elevation="0"]:hover .container, :host([clickable]):not([elevation]):hover .container {
281
+ :host([clickable]:not([clickable=false])) .container:active {
282
+ background: var(--comp-surface-active-background, var(--comp-surface-hover-background));
283
+ }
284
+ :host([clickable]:not([clickable=false]))[elevation="0"]:hover .container, :host([clickable]:not([clickable=false])):not([elevation]):hover .container {
254
285
  box-shadow: var(--tct-surface-elevation-hover-0-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));
255
286
  }
256
- :host([clickable])[elevation="1"]:hover .container {
287
+ :host([clickable]:not([clickable=false]))[elevation="1"]:hover .container {
257
288
  box-shadow: var(--tct-surface-elevation-hover-1-box-shadow, var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14)));
258
289
  }
259
- :host([clickable])[elevation="2"]:hover .container {
290
+ :host([clickable]:not([clickable=false]))[elevation="2"]:hover .container {
260
291
  box-shadow: var(--tct-surface-elevation-hover-2-box-shadow, var(--app-shadow-3, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 8px 16px rgba(0, 0, 0, 0.14)));
261
292
  }
262
- :host([clickable])[elevation="3"]:hover .container {
293
+ :host([clickable]:not([clickable=false]))[elevation="3"]:hover .container {
263
294
  box-shadow: var(--tct-surface-elevation-hover-3-box-shadow, var(--app-shadow-4, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 14px 28px rgba(0, 0, 0, 0.14)));
264
295
  }
265
- :host([clickable])[elevation="4"]:hover .container {
296
+ :host([clickable]:not([clickable=false]))[elevation="4"]:hover .container {
266
297
  box-shadow: var(--tct-surface-elevation-hover-4-box-shadow, var(--app-shadow-5, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 32px 64px rgba(0, 0, 0, 0.14)));
267
298
  }
268
- :host([clickable])[elevation="5"]:hover .container {
299
+ :host([clickable]:not([clickable=false]))[elevation="5"]:hover .container {
269
300
  box-shadow: var(--tct-surface-elevation-hover-5-box-shadow, var(--app-shadow-5, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 32px 64px rgba(0, 0, 0, 0.14)));
270
301
  }
271
- :host([clickable]) .container:focus-visible {
302
+ :host([clickable]:not([clickable=false])) .container:focus-visible {
272
303
  outline: none;
273
304
  box-shadow: var(--tct-surface-focus-visible-box-shadow, var(--const-double-focus-ring, 0 0 0 2px var(--t-base), 0 0 0 4px var(--const-focus-color), 0 0 0 6px var(--t-base)));
274
305
  }
@@ -345,4 +376,12 @@
345
376
 
346
377
  :host(.q2-surface-animate-tada) {
347
378
  animation: q2-surface-tada var(--comp-surface-animation-duration) both;
379
+ }
380
+
381
+ ::slotted(:is(h1, h2, h3, h4):first-child) {
382
+ margin-top: 0 !important;
383
+ }
384
+
385
+ ::slotted(:is(q2-action-group):last-child) {
386
+ margin-bottom: 0 !important;
348
387
  }
@@ -61,7 +61,7 @@ export class Q2Surface {
61
61
  * @param animation The animation to play. Defaults to `'pulse'`.
62
62
  * @returns A Promise that resolves when the animation finishes or is cancelled.
63
63
  */
64
- async animate(animation = 'pulse') {
64
+ async triggerAnimation(animation = 'pulse') {
65
65
  var _a;
66
66
  (_a = this._cancelAnimation) === null || _a === void 0 ? void 0 : _a.call(this);
67
67
  return new Promise(resolve => {
@@ -84,7 +84,7 @@ export class Q2Surface {
84
84
  // #endregion
85
85
  // #region Render Methods
86
86
  render() {
87
- return (h(Host, { key: '235f94ccfb0eb7167079e8e25ee78d652999f8e8' }, h("div", { key: 'b01d6e71bb4b8f1f583c63910d4b1eca757572dd', class: "container", role: this.clickable ? 'button' : undefined, tabIndex: this.clickable ? 0 : undefined }, h("slot", { key: '591dc9fcb51d6f238a6186f047661020be9ea800' }))));
87
+ return (h(Host, { key: '992667ac1d625dff77a01d06d058865f99d8d190' }, h("div", { key: 'd58162c346c58a2cc21a4334c08b6cc4a53ed2e0', class: "container", role: this.clickable ? 'button' : undefined, tabIndex: this.clickable ? 0 : undefined }, h("slot", { key: 'b70930390799484c71da93d1f801ecc681d168c6' }))));
88
88
  }
89
89
  static get is() { return "q2-surface"; }
90
90
  static get encapsulation() { return "shadow"; }
@@ -104,8 +104,8 @@ export class Q2Surface {
104
104
  "type": "string",
105
105
  "mutable": false,
106
106
  "complexType": {
107
- "original": "'default' | 'primary' | 'secondary' | 'tertiary'",
108
- "resolved": "\"default\" | \"primary\" | \"secondary\" | \"tertiary\"",
107
+ "original": "'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'",
108
+ "resolved": "\"default\" | \"gray\" | \"primary\" | \"secondary\" | \"tertiary\"",
109
109
  "references": {}
110
110
  },
111
111
  "required": false,
@@ -146,8 +146,8 @@ export class Q2Surface {
146
146
  "type": "string",
147
147
  "mutable": false,
148
148
  "complexType": {
149
- "original": "'default' | 'primary' | 'secondary' | 'tertiary'",
150
- "resolved": "\"default\" | \"primary\" | \"secondary\" | \"tertiary\"",
149
+ "original": "'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'",
150
+ "resolved": "\"default\" | \"gray\" | \"primary\" | \"secondary\" | \"tertiary\"",
151
151
  "references": {}
152
152
  },
153
153
  "required": false,
@@ -333,7 +333,7 @@ export class Q2Surface {
333
333
  }
334
334
  static get methods() {
335
335
  return {
336
- "animate": {
336
+ "triggerAnimation": {
337
337
  "complexType": {
338
338
  "signature": "(animation?: \"bounce\" | \"flash\" | \"pulse\" | \"tada\") => Promise<void>",
339
339
  "parameters": [{
@@ -12,16 +12,41 @@ const VARIANTS = [
12
12
  html: `<q2-surface background="primary" inset="normal"></q2-surface>`,
13
13
  states: ['resting'],
14
14
  },
15
+ {
16
+ name: 'background-primary-clickable',
17
+ html: `<q2-surface background="primary" clickable inset="normal" radius="2"></q2-surface>`,
18
+ states: ['hover', 'active'],
19
+ },
15
20
  {
16
21
  name: 'background-secondary',
17
22
  html: `<q2-surface background="secondary" inset="normal"></q2-surface>`,
18
23
  states: ['resting'],
19
24
  },
25
+ {
26
+ name: 'background-secondary-clickable',
27
+ html: `<q2-surface background="secondary" clickable inset="normal" radius="2"></q2-surface>`,
28
+ states: ['hover', 'active'],
29
+ },
20
30
  {
21
31
  name: 'background-tertiary',
22
32
  html: `<q2-surface background="tertiary" inset="normal"></q2-surface>`,
23
33
  states: ['resting'],
24
34
  },
35
+ {
36
+ name: 'background-tertiary-clickable',
37
+ html: `<q2-surface background="tertiary" clickable inset="normal" radius="2"></q2-surface>`,
38
+ states: ['hover', 'active'],
39
+ },
40
+ {
41
+ name: 'background-gray',
42
+ html: `<q2-surface background="gray" inset="normal"></q2-surface>`,
43
+ states: ['resting'],
44
+ },
45
+ {
46
+ name: 'background-gray-clickable',
47
+ html: `<q2-surface background="gray" clickable inset="normal" radius="2"></q2-surface>`,
48
+ states: ['resting', 'hover', 'active'],
49
+ },
25
50
  {
26
51
  name: 'background-gradient-primary',
27
52
  html: `<q2-surface background="primary" background-gradient inset="normal" radius="2"></q2-surface>`,
@@ -47,16 +72,45 @@ const VARIANTS = [
47
72
  html: `<q2-surface border="tertiary" inset="normal"></q2-surface>`,
48
73
  states: ['resting'],
49
74
  },
75
+ {
76
+ name: 'border-gray',
77
+ html: `<q2-surface border="gray" inset="normal"></q2-surface>`,
78
+ states: ['resting'],
79
+ },
50
80
  {
51
81
  name: 'border-gradient-primary',
52
82
  html: `<q2-surface border="primary" border-gradient inset="normal" radius="2"></q2-surface>`,
53
83
  states: ['resting'],
54
84
  },
85
+ {
86
+ name: 'border-gradient-gray',
87
+ html: `<q2-surface border="gray" border-gradient inset="normal" radius="2"></q2-surface>`,
88
+ states: ['resting'],
89
+ },
55
90
  {
56
91
  name: 'clickable',
57
92
  html: `<q2-surface clickable border="default" radius="2" inset="normal"></q2-surface>`,
58
93
  states: ['resting', 'hover', 'focus', 'active'],
59
94
  },
95
+ {
96
+ name: 'slotted-first-heading',
97
+ html: `<q2-surface border="default" inset="normal" radius="2">
98
+ <h2>Slotted heading</h2>
99
+ <p>Body copy beneath the heading.</p>
100
+ </q2-surface>`,
101
+ states: ['resting'],
102
+ },
103
+ {
104
+ name: 'slotted-last-action-group',
105
+ html: `<q2-surface border="default" inset="normal" radius="2">
106
+ <p>Body copy above the action group.</p>
107
+ <q2-action-group>
108
+ <q2-btn intent="workflow-primary">Confirm</q2-btn>
109
+ <q2-btn intent="workflow-secondary">Cancel</q2-btn>
110
+ </q2-action-group>
111
+ </q2-surface>`,
112
+ states: ['resting'],
113
+ },
60
114
  ];
61
115
  const restingCase = (variant, theme) => {
62
116
  test(`q2-surface--${variant.name}--resting — ${theme}`, async ({ page }) => {
@@ -65,6 +65,28 @@ button {
65
65
  visibility: hidden;
66
66
  }
67
67
 
68
+ @container style(--t-prefers-motion: "reduced") {
69
+ *,
70
+ *::before,
71
+ *::after {
72
+ animation-duration: 0.01ms !important;
73
+ transition-duration: 0.01ms !important;
74
+ animation-delay: 0ms !important;
75
+ transition-delay: 0ms !important;
76
+ }
77
+ }
78
+ @container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
79
+ @media (prefers-reduced-motion: reduce) {
80
+ *,
81
+ *::before,
82
+ *::after {
83
+ animation-duration: 0.01ms !important;
84
+ transition-duration: 0.01ms !important;
85
+ animation-delay: 0ms !important;
86
+ transition-delay: 0ms !important;
87
+ }
88
+ }
89
+ }
68
90
  /**
69
91
  * @prop --tct-tab-container-padding: (<length-percentage>+) Controls the inner padding of the tab container list.
70
92
  * @prop --tct-tab-container-margin?: (<length-percentage>+) Controls the optional outer margin of the tab container list.
@@ -72,7 +94,7 @@ button {
72
94
  * @prop --tct-tab-container-border-style: (<custom-ident>) Controls the bottom border style of the tab container list.
73
95
  * @prop --tct-tab-container-border-color: (<color>) Controls the bottom border color of the tab container list.
74
96
  * @prop --tct-tab-container-content-padding: (<length-percentage>+) Controls the inner padding of the tab content area.
75
- * @prop --tct-tab-container-content-backgrond?: (<color>) Controls the optional background color of the tab content area.
97
+ * @prop --tct-tab-container-content-background?: (<color>) Controls the optional background color of the tab content area.
76
98
  * @prop --tct-tab-content-padding: (<length-percentage>+) Controls the inner padding of the tab content area when --tct-tab-container-content-padding is not set.
77
99
  * @prop --tct-tab-focus-visible-box-shadow: (*) Controls the box shadow of a tab button when focused via keyboard.
78
100
  * @prop --tct-tab-gap: (<length-percentage>) Controls the gap between adjacent tab buttons.
@@ -102,6 +124,12 @@ button {
102
124
  * @prop --tct-tab-section-padding: (<length-percentage>+) Controls the inner padding of tab buttons when type="section".
103
125
  * @prop --tct-tab-section-font-size: (<length-percentage>) Controls the font size of tab buttons when type="section".
104
126
  * @prop --tct-tab-section-line-height: (<number> | <length-percentage>) Controls the line height of tab buttons when type="section".
127
+ * @prop --tct-tab-container-width: (<length-percentage>) Controls the width of the tab strip when orientation="vertical". Defaults to `200px`.
128
+ * @prop --tct-tab-active-indicator-width: (<length>) Controls the width of the active-tab indicator on the leading edge when orientation="vertical". Defaults to `3px`.
129
+ * @prop --tct-tab-badge-gap?: (<length-percentage>) Controls the optional gap between the label and badge within a tab button when orientation="vertical".
130
+ * @prop --tct-vertical-tab-container-padding?: (<length-percentage>+) Controls the inner padding of the tab container list when orientation="vertical". Defaults to `0`.
131
+ * @prop --tct-vertical-tab-border-radius?: (<length-percentage>) Controls the optional corner radius of tab buttons when orientation="vertical". Defaults to `0`.
132
+ * @prop --tct-vertical-tab-container-content-padding?: (<length-percentage>+) Controls the inner padding of the tab content area when orientation="vertical".
105
133
  */
106
134
  :host {
107
135
  display: block;
@@ -162,15 +190,15 @@ li button {
162
190
  text-decoration: var(--tct-tab-text-decoration, var(--t-tab-text-decoration, none));
163
191
  padding: var(--tct-tab-padding, var(--t-tab-padding, var(--tct-scale-2, var(--app-scale-2x, 10px))));
164
192
  color: var(--tct-tab-inactive-color, var(--t-tab-inactive-color, inherit));
165
- font-size: var(--tct-tab-font-size, var(--t-tab-font-size, 17px));
166
- line-height: var(--tct-tab-line-height, 20px);
193
+ font-size: var(--tct-tab-font-size, var(--t-tab-font-size, var(--const-px-17, 17px)));
194
+ line-height: var(--tct-tab-line-height, var(--const-px-20, 20px));
167
195
  display: block;
168
196
  transition: background var(--t-tween-ease-inout) var(--t-tween-time-in-xxs), color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs), border-color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs);
169
197
  }
170
198
  :host([type=section]) li button {
171
199
  --comp-tab-section-padding: var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-1, var(--app-scale-1x, 5px));
172
- font-size: var(--tct-tab-section-font-size, 14px);
173
- line-height: var(--tct-tab-section-line-height, 18px);
200
+ font-size: var(--tct-tab-section-font-size, var(--const-px-14, 14px));
201
+ line-height: var(--tct-tab-section-line-height, var(--const-px-18, 18px));
174
202
  padding: var(--tct-tab-section-padding, var(--t-tab-section-padding, var(--comp-tab-section-padding)));
175
203
  }
176
204
  li button:focus-visible {
@@ -206,7 +234,7 @@ li button[aria-selected=true] {
206
234
  .tab-content {
207
235
  --comp-tab-content-padding: var(--tct-scale-2, var(--app-scale-2x, 10px)) 0;
208
236
  padding: var(--tct-tab-container-content-padding, var(--tct-tab-content-padding, var(--t-tab-content-padding, var(--comp-tab-content-padding))));
209
- background: var(--tct-tab-container-content-backgrond, none);
237
+ background: var(--tct-tab-container-content-background, none);
210
238
  }
211
239
  .tab-content:focus {
212
240
  outline: none;
@@ -263,4 +291,82 @@ li button[aria-selected=true] {
263
291
  .tab-pane-badge q2-badge {
264
292
  margin-left: 5px;
265
293
  margin-right: 5px;
294
+ }
295
+
296
+ @media screen and (min-width: 768px) {
297
+ :host([orientation=vertical]) {
298
+ display: flex;
299
+ flex-direction: row;
300
+ align-items: stretch;
301
+ }
302
+ :host([orientation=vertical]) .tab-container {
303
+ width: var(--tct-tab-container-width, 200px);
304
+ flex-shrink: 0;
305
+ }
306
+ :host([orientation=vertical]) .tab-content {
307
+ --comp-vertical-tab-content-padding: 0 var(--tct-scale-2, var(--app-scale-2x, 10px));
308
+ flex: 1 1 auto;
309
+ min-width: 0;
310
+ padding: var(--tct-vertical-tab-container-content-padding, var(--tct-vertical-tab-content-padding, var(--t-vertical-tab-content-padding, var(--comp-vertical-tab-content-padding))));
311
+ }
312
+ :host([orientation=vertical]) ul {
313
+ padding: var(--tct-vertical-tab-container-padding, 0);
314
+ flex-direction: column;
315
+ align-items: stretch;
316
+ overflow-y: auto;
317
+ overflow-x: visible;
318
+ border-bottom-width: 0;
319
+ border-right-width: var(--tct-tab-container-border-width, 1px);
320
+ border-right-style: var(--tct-tab-container-border-style, solid);
321
+ border-right-color: var(--tct-tab-container-border-color, var(--t-tab-container-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
322
+ height: 100%;
323
+ }
324
+ :host([orientation=vertical]) li {
325
+ border-left-width: var(--tct-tab-active-indicator-width, 3px);
326
+ border-left-style: solid;
327
+ border-left-color: transparent;
328
+ transition: border-color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs);
329
+ }
330
+ :host([orientation=vertical]) li:has(button[aria-selected=true]) {
331
+ color: var(--tct-tab-active-color, var(--t-tab-active-color, #2e2e2e));
332
+ border-left-color: var(--tct-tab-active-border-color, var(--t-tab-active-border-color, currentcolor));
333
+ }
334
+ :host([orientation=vertical]) li button {
335
+ border-width: 0;
336
+ text-align: start;
337
+ border-radius: var(--tct-vertical-tab-border-radius, 0);
338
+ }
339
+ :host([orientation=vertical]) .tab-pane-badge {
340
+ justify-content: flex-start;
341
+ gap: var(--tct-tab-badge-gap, var(--tct-scale-1, var(--app-scale-1x, 5px)));
342
+ }
343
+ :host([orientation=vertical]) .gradient-left {
344
+ right: 0;
345
+ width: 100%;
346
+ height: 44px;
347
+ background-image: linear-gradient(to top, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);
348
+ }
349
+ :host([orientation=vertical]) .gradient-right {
350
+ bottom: 0;
351
+ top: auto;
352
+ left: 0;
353
+ width: 100%;
354
+ height: 44px;
355
+ background-image: linear-gradient(to bottom, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);
356
+ }
357
+ :host([orientation=vertical]) .btn-left {
358
+ top: 0;
359
+ left: 50%;
360
+ transform: translateX(-50%);
361
+ }
362
+ :host([orientation=vertical]) .btn-right {
363
+ bottom: 0;
364
+ top: auto;
365
+ left: 50%;
366
+ right: auto;
367
+ transform: translateX(-50%);
368
+ }
369
+ :host([orientation=vertical][color=alt]) li:has(button[aria-selected=true]) {
370
+ color: var(--tct-tab-alt-active-color, var(--t-tab-alt-active-color, inherit));
371
+ }
266
372
  }