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
@@ -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-currency-color: (<color>) Controls the base text color of the currency value.
70
92
  * @prop --tct-currency-font-size?: (<length-percentage>) Controls the optional font size of the currency value.
@@ -146,7 +168,7 @@ button {
146
168
 
147
169
  .currency-small {
148
170
  color: var(--tct-currency-small-color, inherit);
149
- font-size: var(--tct-currency-small-font-size, 24px);
171
+ font-size: var(--tct-currency-small-font-size, var(--const-px-24, 24px));
150
172
  font-weight: var(--tct-currency-small-font-weight, 600);
151
173
  }
152
174
  .currency-small .superscript {
@@ -158,7 +180,7 @@ button {
158
180
 
159
181
  .currency-medium {
160
182
  color: var(--tct-currency-medium-color, inherit);
161
- font-size: var(--tct-currency-medium-font-size, 42px);
183
+ font-size: var(--tct-currency-medium-font-size, var(--const-px-42, 42px));
162
184
  font-weight: var(--tct-currency-medium-font-weight, 600);
163
185
  }
164
186
  .currency-medium .superscript {
@@ -170,7 +192,7 @@ button {
170
192
 
171
193
  .currency-large {
172
194
  color: var(--tct-currency-large-color, inherit);
173
- font-size: var(--tct-currency-large-font-size, 70px);
195
+ font-size: var(--tct-currency-large-font-size, var(--const-px-70, 70px));
174
196
  font-weight: var(--tct-currency-large-font-weight, 700);
175
197
  }
176
198
  .currency-large .superscript {
@@ -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 VARIANTS = [
5
5
  {
6
6
  name: 'default-positive-inline',
@@ -76,3 +76,15 @@ test.describe('q2-currency — variants × themes', () => {
76
76
  }
77
77
  }
78
78
  });
79
+ // Each size uses a distinct --const-px- value: small=24, medium=42, large=70.
80
+ const CURRENCY_FONT_SCALE_VARIANTS = VARIANTS.filter(v => v.name === 'size-small' || v.name === 'size-medium' || v.name === 'size-large');
81
+ test.describe(`q2-currency — scaled font size × themes`, () => {
82
+ for (const variant of CURRENCY_FONT_SCALE_VARIANTS) {
83
+ for (const theme of THEMES) {
84
+ test(`q2-currency--${variant.name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
85
+ await setupPage(page, variant.html, { theme, fontSizePx: FONT_SCALE_PX });
86
+ await expect(page).toHaveScreenshot(`q2-currency--${variant.name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
87
+ });
88
+ }
89
+ }
90
+ });
@@ -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-data-table-width?: (<length-percentage>) Controls the optional explicit width of the data table.
70
92
  * @prop --tct-data-table-layout: (<custom-ident>) Controls the table-layout algorithm of the data table.
@@ -240,7 +262,7 @@ th.vertical-align-bottom {
240
262
 
241
263
  th .header-content {
242
264
  font-weight: var(--tct-data-table-header-font-weight, var(--tct-table-header-font-weight, 600));
243
- font-size: var(--tct-data-table-header-font-size, var(--app-font-size, 14px));
265
+ font-size: var(--tct-data-table-header-font-size, var(--app-font-size, var(--const-px-14, 14px)));
244
266
  }
245
267
  th.sorted .header-content {
246
268
  font-weight: var(--tct-data-table-header-sorted-font-weight, var(--tct-table-header-sorted-font-weight, 600));
@@ -436,7 +458,7 @@ q2-checkbox {
436
458
  column-gap: var(--app-scale-2x);
437
459
  }
438
460
  .tag-table q2-tag {
439
- --tct-tag-font-size: var(--app-font-size, 14px);
461
+ --tct-tag-font-size: var(--app-font-size, var(--const-px-14, 14px));
440
462
  --tct-tag-padding-inline: var(--app-scale-2x, 10px);
441
463
  --tct-tag-height: var(--app-scale-4x, 20px);
442
464
  --tct-tag-margin: 0;
@@ -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 HEADERS_JSON = JSON.stringify([
5
5
  { title: 'Day', key: 'day' },
6
6
  { title: 'Sales', key: 'sales', align: 'center' },
@@ -110,3 +110,13 @@ test.describe('q2-data-table — variants × themes', () => {
110
110
  focusCase(SELECTABLE_MULTIPLE_LEFT_VARIANT, theme);
111
111
  }
112
112
  });
113
+ // 'default' renders column headers, exercising --tct-data-table-header-font-size.
114
+ const DEFAULT_VARIANT = VARIANTS.find(v => v.name === 'default');
115
+ test.describe(`q2-data-table — scaled font size × themes`, () => {
116
+ for (const theme of THEMES) {
117
+ test(`q2-data-table--default--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
118
+ await setupPage(page, buildHtml(DEFAULT_VARIANT), { theme, setupLoc: true, fontSizePx: FONT_SCALE_PX });
119
+ await expect(page).toHaveScreenshot(`q2-data-table--default--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
120
+ });
121
+ }
122
+ });
@@ -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-detail-gap-column: (<length-percentage>) Controls the column gap between the detail label and description.
70
92
  * @prop --tct-detail-gap-row?: (<length-percentage>) Controls the optional row gap between detail items.
@@ -153,27 +175,27 @@ button {
153
175
  }
154
176
  .label-size-xsmall {
155
177
  color: var(--tct-detail-label-xsmall-font-color, var(--tct-detail-label-font-color, inherit));
156
- font-size: var(--tct-detail-label-xsmall-font-size, 14px);
178
+ font-size: var(--tct-detail-label-xsmall-font-size, var(--const-px-14, 14px));
157
179
  font-weight: var(--tct-detail-label-xsmall-font-weight, 400);
158
180
  }
159
181
  .label-size-small {
160
182
  color: var(--tct-detail-label-small-font-color, var(--tct-detail-label-font-color, inherit));
161
- font-size: var(--tct-detail-label-small-font-size, 14px);
183
+ font-size: var(--tct-detail-label-small-font-size, var(--const-px-14, 14px));
162
184
  font-weight: var(--tct-detail-label-small-font-weight, 400);
163
185
  }
164
186
  .label-size-medium {
165
187
  color: var(--tct-detail-label-medium-font-color, var(--tct-detail-label-font-color, inherit));
166
- font-size: var(--tct-detail-label-medium-font-size, 14px);
188
+ font-size: var(--tct-detail-label-medium-font-size, var(--const-px-14, 14px));
167
189
  font-weight: var(--tct-detail-label-medium-font-weight, 400);
168
190
  }
169
191
  .label-size-large {
170
192
  color: var(--tct-detail-label-large-font-color, var(--tct-detail-label-font-color, inherit));
171
- font-size: var(--tct-detail-label-large-font-size, 16px);
193
+ font-size: var(--tct-detail-label-large-font-size, var(--const-px-16, 16px));
172
194
  font-weight: var(--tct-detail-label-large-font-weight, 400);
173
195
  }
174
196
  .label-size-xlarge {
175
197
  color: var(--tct-detail-label-xlarge-font-color, var(--tct-detail-label-font-color, inherit));
176
- font-size: var(--tct-detail-label-xlarge-font-size, 18px);
198
+ font-size: var(--tct-detail-label-xlarge-font-size, var(--const-px-18, 18px));
177
199
  font-weight: var(--tct-detail-label-xlarge-font-weight, 400);
178
200
  }
179
201
  .label-size-inline {
@@ -195,27 +217,27 @@ button {
195
217
  }
196
218
  .description-size-xsmall {
197
219
  color: var(--tct-detail-description-xsmall-font-color, var(--tct-detail-description-font-color, inherit));
198
- font-size: var(--tct-detail-description-xsmall-font-size, 14px);
220
+ font-size: var(--tct-detail-description-xsmall-font-size, var(--const-px-14, 14px));
199
221
  font-weight: var(--tct-detail-description-xsmall-font-weight, 400);
200
222
  }
201
223
  .description-size-small {
202
224
  color: var(--tct-detail-description-small-font-color, var(--tct-detail-description-font-color, inherit));
203
- font-size: var(--tct-detail-description-small-font-size, 14px);
225
+ font-size: var(--tct-detail-description-small-font-size, var(--const-px-14, 14px));
204
226
  font-weight: var(--tct-detail-description-small-font-weight, 400);
205
227
  }
206
228
  .description-size-medium {
207
229
  color: var(--tct-detail-description-medium-font-color, var(--tct-detail-description-font-color, inherit));
208
- font-size: var(--tct-detail-description-medium-font-size, 24px);
230
+ font-size: var(--tct-detail-description-medium-font-size, var(--const-px-24, 24px));
209
231
  font-weight: var(--tct-detail-description-medium-font-weight, 600);
210
232
  }
211
233
  .description-size-large {
212
234
  color: var(--tct-detail-description-large-font-color, var(--tct-detail-description-font-color, inherit));
213
- font-size: var(--tct-detail-description-large-font-size, 28px);
235
+ font-size: var(--tct-detail-description-large-font-size, var(--const-px-28, 28px));
214
236
  font-weight: var(--tct-detail-description-large-font-weight, 600);
215
237
  }
216
238
  .description-size-xlarge {
217
239
  color: var(--tct-detail-description-xlarge-font-color, var(--tct-detail-description-font-color, inherit));
218
- font-size: var(--tct-detail-description-xlarge-font-size, 32px);
240
+ font-size: var(--tct-detail-description-xlarge-font-size, var(--const-px-32, 32px));
219
241
  font-weight: var(--tct-detail-description-xlarge-font-weight, 700);
220
242
  }
221
243
  .description-size-inline {
@@ -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-dropdown-content-padding?: (<length-percentage>+) Controls the optional padding around the dropdown popover content.
70
92
  * @prop --tct-dropdown-popover-top-slot-padding: (<length-percentage>+) Controls the inner padding of the dropdown's popover-top slot.
@@ -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-dropdown-item-disabled-opacity: (<number>) Controls the opacity of the dropdown item when disabled.
70
92
  * @prop --tct-dropdown-item-focus-box-shadow: (*) Controls the box shadow applied to the focused dropdown item button when the item is not disabled.
@@ -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-editable-field-btn-hover-background: (<color>) Controls the background color of the editable field action buttons (begin, save, cancel) on hover.
70
92
  * @prop --tct-editable-field-btn-icon-stroke-primary: (<color>) Controls the primary stroke color of the editable field action button icons.
@@ -200,7 +200,7 @@ export class Q2EditableField {
200
200
  return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;
201
201
  }
202
202
  generateEditStateDOM() {
203
- return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.inputElement = el), label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: this.hasHints ? this.hints : undefined, errors: this.hasErrors ? this.errors : undefined, type: this.type, disabled: this.disabled, formatModifier: this.formatModifier, maxlength: this.maxlength, "test-id": "editableInput", onChange: e => e.stopImmediatePropagation(), onInput: e => e.stopImmediatePropagation(), onTctInput: this.inputInput, onTctChange: this.inputChange, onKeyDown: this.inputKeyDown, onClick: this.inputClick }), h("q2-btn", { ref: el => (this.cancelBtnElement = el), class: "cancel-edit", label: `${loc('tecton.element.editableField.cancel')} ${this.locLabel}`, "hide-label": true, "test-id": "cancelButton", onClick: e => e.stopImmediatePropagation(), onTctClick: this.cancelClick }, h("q2-icon", { type: "close" })), h("q2-btn", { ref: el => (this.saveBtnElement = el), class: "save-edit", label: `${loc('tecton.element.editableField.save')} ${this.locLabel}`, "hide-label": true, "test-id": "saveButton", onClick: e => e.stopImmediatePropagation(), onTctClick: this.saveClick }, h("q2-icon", { type: "checkmark" }))));
203
+ return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.inputElement = el), label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: this.hasHints ? this.hints : undefined, errors: this.hasErrors ? this.errors : undefined, type: this.type, disabled: this.disabled, _updateValueOnInput: false, formatModifier: this.formatModifier, maxlength: this.maxlength, "test-id": "editableInput", onChange: e => e.stopImmediatePropagation(), onInput: e => e.stopImmediatePropagation(), onTctInput: this.inputInput, onTctChange: this.inputChange, onKeyDown: this.inputKeyDown, onClick: this.inputClick }), h("q2-btn", { ref: el => (this.cancelBtnElement = el), class: "cancel-edit", label: `${loc('tecton.element.editableField.cancel')} ${this.locLabel}`, "hide-label": true, "test-id": "cancelButton", onClick: e => e.stopImmediatePropagation(), onTctClick: this.cancelClick }, h("q2-icon", { type: "close" })), h("q2-btn", { ref: el => (this.saveBtnElement = el), class: "save-edit", label: `${loc('tecton.element.editableField.save')} ${this.locLabel}`, "hide-label": true, "test-id": "saveButton", onClick: e => e.stopImmediatePropagation(), onTctClick: this.saveClick }, h("q2-icon", { type: "checkmark" }))));
204
204
  }
205
205
  generateReadStateDOM() {
206
206
  if (this.persistentLabel && this.locLabel) {
@@ -211,7 +211,7 @@ export class Q2EditableField {
211
211
  // #endregion
212
212
  // #region Render Methods
213
213
  render() {
214
- return (h("div", { key: '8231300cc04b5b2dce65d3c39ef2e4c0bc892696' }, this.generateEditStateDOM(), this.generateReadStateDOM()));
214
+ return (h("div", { key: 'bd200b48458ec6c7cb6c6928a1758420dbca66e3' }, this.generateEditStateDOM(), this.generateReadStateDOM()));
215
215
  }
216
216
  static get is() { return "q2-editable-field"; }
217
217
  static get encapsulation() { return "shadow"; }
@@ -63,4 +63,27 @@ button {
63
63
 
64
64
  .invisible {
65
65
  visibility: hidden;
66
+ }
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
+ }
66
89
  }
@@ -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
  box-sizing: border-box;
70
92
  }
@@ -132,6 +154,28 @@ button {
132
154
  visibility: hidden;
133
155
  }
134
156
 
157
+ @container style(--t-prefers-motion: "reduced") {
158
+ *,
159
+ *::before,
160
+ *::after {
161
+ animation-duration: 0.01ms !important;
162
+ transition-duration: 0.01ms !important;
163
+ animation-delay: 0ms !important;
164
+ transition-delay: 0ms !important;
165
+ }
166
+ }
167
+ @container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
168
+ @media (prefers-reduced-motion: reduce) {
169
+ *,
170
+ *::before,
171
+ *::after {
172
+ animation-duration: 0.01ms !important;
173
+ transition-duration: 0.01ms !important;
174
+ animation-delay: 0ms !important;
175
+ transition-delay: 0ms !important;
176
+ }
177
+ }
178
+ }
135
179
  /**
136
180
  * @prop --tct-file-picker-margin: (<length-percentage>+) Controls the outer margin of the file picker host.
137
181
  * @prop --tct-file-picker-margin-top: (<length-percentage>) Controls the top margin of the file picker host when --tct-file-picker-margin is not set.
@@ -184,6 +228,7 @@ button {
184
228
  * @prop --tct-file-picker-item-close-btn-active-color: (<color>) Controls the color of the file item close button when active.
185
229
  * @prop --tct-file-picker-item-close-btn-hover-focus-ring-color: (<color>) Controls the focus ring color of the file item close button on hover and focus.
186
230
  * @prop --tct-file-picker-item-close-btn-border-radius: (<length-percentage>) Controls the corner radius of the file item close button.
231
+ * @prop --tct-file-picker-item-close-btn-size: (<length>) Controls the width and height of the file item close button.
187
232
  * @prop --tct-file-picker-list-max-height: (<length-percentage>) Controls the maximum height of the file list container before scrolling.
188
233
  * @prop --tct-file-picker-scrollbar-color: (<color>) Controls the scrollbar thumb color of the file list container.
189
234
  * @prop --tct-file-picker-loading-size: (<length>) Controls the font size driving the picker-level loading spinner.
@@ -229,7 +274,7 @@ button {
229
274
  .drop-zone-text {
230
275
  --tct-link-font-weight: var(--tct-file-picker-browse-link-font-weight, 700);
231
276
  color: var(--tct-file-picker-drop-zone-text-color, var(--t-gray-6, #4d4d4d));
232
- font-size: var(--tct-file-picker-drop-zone-font-size, var(--app-font-size-small, 12px));
277
+ font-size: var(--tct-file-picker-drop-zone-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
233
278
  font-weight: var(--tct-file-picker-browse-link-font-weight, 700);
234
279
  margin-bottom: 0;
235
280
  margin-top: var(--tct-file-picker-drop-zone-text-margin-top, var(--app-scale-2x, 10px));
@@ -237,7 +282,7 @@ button {
237
282
 
238
283
  .description {
239
284
  color: var(--tct-file-picker-description-text-color, var(--t-gray-1, #0d0d0d));
240
- font-size: var(--tct-file-picker-description-font-size, var(--app-font-size-small, 12px));
285
+ font-size: var(--tct-file-picker-description-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
241
286
  font-weight: var(--tct-file-picker-description-font-weight, 400);
242
287
  text-align: var(--tct-file-picker-description-text-align, left);
243
288
  }
@@ -254,7 +299,7 @@ button {
254
299
  color: var(--tct-file-picker-drop-zone-color, #747474);
255
300
  display: flex;
256
301
  flex-direction: column;
257
- font-size: var(--tct-file-picker-drop-zone-font-size, var(--app-font-size, 14px));
302
+ font-size: var(--tct-file-picker-drop-zone-font-size, var(--app-font-size, var(--const-px-14, 14px)));
258
303
  font-weight: var(--tct-file-picker-drop-zone-font-weight, 400);
259
304
  height: var(--tct-file-picker-drop-zone-height, 150px);
260
305
  justify-content: center;
@@ -295,12 +340,12 @@ button {
295
340
  --tct-btn-neutral-text-hover-outer-ring-color: var(--tct-file-picker-item-close-btn-hover-focus-ring-color, var(--t-gray-1, #0d0d0d));
296
341
  --tct-btn-icon-padding: 0;
297
342
  --tct-icon-stroke-primary: var(--tct-file-picker-item-close-btn-color, var(--t-gray-1, #0d0d0d));
298
- --tct-item-body-font-size: var(--tct-file-picker-item-font-size, var(--app-font-size-small, 12px));
343
+ --tct-item-body-font-size: var(--tct-file-picker-item-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
299
344
  --tct-item-body-font-weight: var(--tct-file-picker-item-font-weight, 400);
300
345
  --tct-item-border-radius: var(--tct-file-picker-item-border-radius, var(--app-border-radius-3, 12px));
301
346
  --tct-item-border: var(--tct-file-picker-item-border-width, 1px) solid var(--tct-file-picker-item-border-color, var(--t-gray-8, #808080));
302
347
  --tct-item-header-color: var(--tct-file-picker-item-name-color, var(--t-gray-1, #0d0d0d));
303
- --tct-item-header-font-size: var(--tct-file-picker-item-name-font-size, var(--app-font-size-small, 12px));
348
+ --tct-item-header-font-size: var(--tct-file-picker-item-name-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
304
349
  --tct-item-header-font-weight: var(--tct-file-picker-item-name-font-weight, 400);
305
350
  --tct-item-padding: var(--tct-file-picker-item-padding, var(--app-scale-1x, 5px) var(--app-scale-2x, 10px));
306
351
  text-align: left;
@@ -313,6 +358,7 @@ button {
313
358
  }
314
359
 
315
360
  .file-item-loading {
361
+ /* stylelint-disable-next-line tecton/require-t-px-fallback */
316
362
  font-size: var(--tct-file-picker-file-item-loading-size, var(--app-scale-6x, 30px));
317
363
  margin-bottom: calc(var(--tct-file-picker-file-item-loading-margin-bottom, var(--app-scale-6x, 30px)) / 8.57);
318
364
  margin-left: calc(var(--tct-file-picker-file-item-loading-margin-bottom, var(--app-scale-1x, 5px)) / 2);
@@ -352,33 +398,34 @@ button {
352
398
  .label {
353
399
  color: var(--tct-file-picker-label-color, var(--t-gray-1, #0d0d0d));
354
400
  display: inline-block;
355
- font-size: var(--tct-file-picker-label-font-size, var(--app-font-size, 14px));
401
+ font-size: var(--tct-file-picker-label-font-size, var(--app-font-size, var(--const-px-14, 14px)));
356
402
  font-weight: var(--tct-file-picker-label-font-weight, 600);
357
403
  text-align: var(--tct-file-picker-label-text-align, left);
358
404
  }
359
405
 
360
406
  .loading {
407
+ /* stylelint-disable-next-line tecton/require-t-px-fallback */
361
408
  font-size: var(--tct-file-picker-loading-size, var(--app-scale-6x, 25px));
362
409
  }
363
410
 
364
411
  .loading-file {
365
412
  color: var(--tct-file-picker-loading-file-color, var(--t-gray-1, #0d0d0d));
366
- font-size: var(--tct-file-picker-loading-file-font-size, var(--app-font-size-small, 12px));
413
+ font-size: var(--tct-file-picker-loading-file-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
367
414
  font-weight: var(--tct-file-picker-loading-file-font-weight, 400);
368
415
  margin: 0;
369
416
  }
370
417
 
371
418
  .loading-message {
372
419
  color: var(--tct-file-picker-loading-message-color, var(--t-gray-1, #0d0d0d));
373
- font-size: var(--tct-file-picker-loading-message-font-size, var(--app-font-size-small, 12px));
420
+ font-size: var(--tct-file-picker-loading-message-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
374
421
  font-weight: var(--tct-file-picker-loading-message-font-weight, 700);
375
422
  margin-bottom: var(--tct-file-picker-loading-message-margin-bottom, var(--app-scale-2x, 10px));
376
423
  margin-top: var(--tct-file-picker-loading-message-margin-top, var(--app-scale-2x, 10px));
377
424
  }
378
425
 
379
426
  .dismiss-button {
380
- height: 30px;
381
- width: 30px;
427
+ --tct-btn-icon-width: var(--tct-file-picker-item-close-btn-size, 30px);
428
+ --tct-btn-icon-height: var(--tct-file-picker-item-close-btn-size, 30px);
382
429
  }
383
430
  .dismiss-button:hover {
384
431
  --tct-icon-stroke-primary: var(--tct-file-picker-item-close-btn-hover-color, var(--t-gray-1, #0d0d0d));
@@ -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 DESC = 'This is some description text for the file picker.';
5
5
  const VARIANTS = [
6
6
  {
@@ -89,3 +89,16 @@ test.describe('q2-file-picker — variants × themes', () => {
89
89
  focusCase(BROWSE_DROP_DEFAULT, theme);
90
90
  }
91
91
  });
92
+ // browse-default: exercises drop-zone, label, description font sizes.
93
+ // browse-drop-with-status-uploaded: exercises file item (item-font-size, item-name-font-size).
94
+ const FILE_PICKER_FONT_SCALE_VARIANTS = [BROWSE_DEFAULT, BROWSE_DROP_DEFAULT].concat(VARIANTS.filter(v => v.name === 'browse-drop-with-status-uploaded'));
95
+ test.describe(`q2-file-picker — scaled font size × themes`, () => {
96
+ for (const variant of FILE_PICKER_FONT_SCALE_VARIANTS) {
97
+ for (const theme of THEMES) {
98
+ test(`q2-file-picker--${variant.name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
99
+ await setupPage(page, buildContent(variant), { theme, setupLoc: true, fontSizePx: FONT_SCALE_PX });
100
+ await expect(page).toHaveScreenshot(`q2-file-picker--${variant.name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
101
+ });
102
+ }
103
+ }
104
+ });
@@ -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-form-spacing-none: (<length-percentage>+) Controls the margin applied to form input children when spacing is none.
70
92
  * @prop --tct-form-spacing-compact: (<length-percentage>+) Controls the margin applied to form input children when spacing is compact.
@@ -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-formatted-text-color?: (<color>) Controls the optional text color of the formatted text in its default size.
70
92
  * @prop --tct-formatted-text-font-size?: (<length-percentage>) Controls the optional font size of the formatted text in its default size.
@@ -91,18 +113,18 @@ button {
91
113
 
92
114
  .formatted-text-small {
93
115
  color: var(--tct-formatted-text-small-color, inherit);
94
- font-size: var(--tct-formatted-text-small-font-size, 24px);
116
+ font-size: var(--tct-formatted-text-small-font-size, var(--const-px-24, 24px));
95
117
  font-weight: var(--tct-formatted-text-small-font-weight, 600);
96
118
  }
97
119
 
98
120
  .formatted-text-medium {
99
121
  color: var(--tct-formatted-text-medium-color, inherit);
100
- font-size: var(--tct-formatted-text-medium-font-size, 42px);
122
+ font-size: var(--tct-formatted-text-medium-font-size, var(--const-px-42, 42px));
101
123
  font-weight: var(--tct-formatted-text-medium-font-weight, 600);
102
124
  }
103
125
 
104
126
  .formatted-text-large {
105
127
  color: var(--tct-formatted-text-large-color, inherit);
106
- font-size: var(--tct-formatted-text-large-font-size, 70px);
128
+ font-size: var(--tct-formatted-text-large-font-size, var(--const-px-70, 70px));
107
129
  font-weight: var(--tct-formatted-text-large-font-weight, 700);
108
130
  }
@@ -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 VARIANTS = [
5
5
  {
6
6
  name: 'inline',
@@ -52,3 +52,15 @@ test.describe('q2-formatted-text — variants × themes', () => {
52
52
  }
53
53
  }
54
54
  });
55
+ // Each size uses a distinct --const-px- value: small=24, medium=42, large=70.
56
+ const FORMATTED_TEXT_FONT_SCALE_VARIANTS = VARIANTS.filter(v => v.name === 'size-small' || v.name === 'size-medium' || v.name === 'size-large');
57
+ test.describe(`q2-formatted-text — scaled font size × themes`, () => {
58
+ for (const variant of FORMATTED_TEXT_FONT_SCALE_VARIANTS) {
59
+ for (const theme of THEMES) {
60
+ test(`q2-formatted-text--${variant.name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
61
+ await setupPage(page, variant.html, { theme, fontSizePx: FONT_SCALE_PX });
62
+ await expect(page).toHaveScreenshot(`q2-formatted-text--${variant.name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
63
+ });
64
+ }
65
+ }
66
+ });