q2-tecton-elements 1.71.1 → 1.72.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 (267) hide show
  1. package/dist/bundle-report.json +1282 -594
  2. package/dist/cjs/click-elsewhere_3.cjs.entry.js +10 -9
  3. package/dist/cjs/{index-SpDCZABA.js → index-BY3aao8R.js} +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{q2-action-group_2.cjs.entry.js → q2-action-group.cjs.entry.js} +1 -89
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-badge_2.cjs.entry.js +113 -12
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-calendar.cjs.entry.js +7 -5
  10. package/dist/cjs/q2-card-image.cjs.entry.js +4 -4
  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 +1 -1
  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 +2 -2
  18. package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-context.cjs.entry.js +4 -3
  20. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  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 +3 -3
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +38 -37
  25. package/dist/cjs/q2-file-picker.cjs.entry.js +60 -4
  26. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-link_2.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-meter.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-modal.cjs.entry.js +59 -17
  33. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-otp.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-radio-group.cjs.entry.js +22 -4
  40. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  41. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-resize-observer.cjs.entry.js +92 -0
  43. package/dist/cjs/q2-search.cjs.entry.js +13 -4
  44. package/dist/cjs/q2-section.cjs.entry.js +7 -7
  45. package/dist/cjs/q2-select.cjs.entry.js +39 -20
  46. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-surface.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  53. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  54. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  56. package/dist/cjs/tecton-tab-pane.cjs.entry.js +5 -3
  57. package/dist/collection/components/q2-btn/q2-btn.css +79 -21
  58. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +156 -3
  59. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  60. package/dist/collection/components/q2-calendar/q2-calendar.js +5 -3
  61. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +23 -2
  62. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +4 -0
  63. package/dist/collection/components/q2-card-image/q2-card-image.css +89 -134
  64. package/dist/collection/components/q2-card-image/q2-card-image.js +4 -4
  65. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +4 -0
  66. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +13 -0
  67. package/dist/collection/components/q2-checkbox/q2-checkbox.css +2 -2
  68. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +2 -0
  69. package/dist/collection/components/q2-context/q2-context.css +5 -0
  70. package/dist/collection/components/q2-context/q2-context.js +2 -1
  71. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +11 -1
  72. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  73. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +5 -0
  74. package/dist/collection/components/q2-dropdown/q2-dropdown.css +2 -0
  75. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  76. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.vr.js +30 -0
  77. package/dist/collection/components/q2-editable-field/q2-editable-field.css +2 -0
  78. package/dist/collection/components/q2-editable-field/q2-editable-field.js +38 -43
  79. package/dist/collection/components/q2-file-picker/q2-file-picker.css +27 -0
  80. package/dist/collection/components/q2-file-picker/q2-file-picker.js +98 -2
  81. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +22 -0
  82. package/dist/collection/components/q2-input/q2-input.css +67 -1
  83. package/dist/collection/components/q2-input/q2-input.js +155 -13
  84. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +35 -0
  85. package/dist/collection/components/q2-item/q2-item.css +3 -1
  86. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +6 -0
  87. package/dist/collection/components/q2-message/q2-message.css +5 -5
  88. package/dist/collection/components/q2-modal/q2-modal.css +40 -3
  89. package/dist/collection/components/q2-modal/q2-modal.js +100 -16
  90. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +25 -0
  91. package/dist/collection/components/q2-pill/q2-pill.css +2 -2
  92. package/dist/collection/components/q2-popover/q2-popover.css +3 -2
  93. package/dist/collection/components/q2-popover/q2-popover.js +8 -7
  94. package/dist/collection/components/q2-radio/q2-radio.css +158 -104
  95. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  96. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +25 -2
  97. package/dist/collection/components/q2-radio-group/q2-radio-group.css +39 -2
  98. package/dist/collection/components/q2-radio-group/q2-radio-group.js +68 -2
  99. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +43 -1
  100. package/dist/collection/components/q2-relative-time/q2-relative-time.js +2 -2
  101. package/dist/collection/components/q2-search/q2-search.css +2 -0
  102. package/dist/collection/components/q2-search/q2-search.js +11 -2
  103. package/dist/collection/components/q2-section/q2-section.css +2 -0
  104. package/dist/collection/components/q2-section/q2-section.js +6 -6
  105. package/dist/collection/components/q2-select/q2-select.css +3 -0
  106. package/dist/collection/components/q2-select/q2-select.js +41 -19
  107. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +13 -0
  108. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  109. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  110. package/dist/collection/components/q2-surface/q2-surface.js +1 -1
  111. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  112. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  113. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  114. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +5 -3
  115. package/dist/collection/utils/index.js +1 -1
  116. package/dist/collection/utils/test/vr-helpers.js +16 -2
  117. package/dist/components/index2.js +1 -1
  118. package/dist/components/q2-btn2.js +1 -1
  119. package/dist/components/q2-calendar.js +11 -9
  120. package/dist/components/q2-card-image.js +24 -24
  121. package/dist/components/q2-checkbox-group.js +6 -6
  122. package/dist/components/q2-checkbox2.js +1 -1
  123. package/dist/components/q2-context.js +27 -26
  124. package/dist/components/q2-data-table.js +1 -1
  125. package/dist/components/q2-dropdown.js +21 -21
  126. package/dist/components/q2-editable-field.js +33 -35
  127. package/dist/components/q2-file-picker.js +70 -10
  128. package/dist/components/q2-input2.js +268 -163
  129. package/dist/components/q2-item2.js +1 -1
  130. package/dist/components/q2-message2.js +24 -24
  131. package/dist/components/q2-modal.js +96 -78
  132. package/dist/components/q2-pill.js +1 -1
  133. package/dist/components/q2-popover2.js +29 -26
  134. package/dist/components/q2-radio-group.js +70 -40
  135. package/dist/components/q2-radio.js +40 -55
  136. package/dist/components/q2-relative-time.js +5 -5
  137. package/dist/components/q2-search.js +17 -12
  138. package/dist/components/q2-section.js +33 -33
  139. package/dist/components/q2-select2.js +49 -42
  140. package/dist/components/q2-stepper-pane.js +15 -11
  141. package/dist/components/q2-stepper-vertical.js +4 -4
  142. package/dist/components/q2-surface.js +3 -3
  143. package/dist/components/q2-tab-container.js +21 -21
  144. package/dist/components/q2-tab-pane.js +2 -2
  145. package/dist/components/q2-tag2.js +5 -5
  146. package/dist/components/tecton-tab-pane.js +8 -7
  147. package/dist/esm/click-elsewhere_3.entry.js +10 -9
  148. package/dist/esm/{index-Cps4jSQM.js → index-DJw6Feh0.js} +1 -1
  149. package/dist/esm/loader.js +1 -1
  150. package/dist/esm/{q2-action-group_2.entry.js → q2-action-group.entry.js} +3 -90
  151. package/dist/esm/q2-action-sheet.entry.js +1 -1
  152. package/dist/esm/q2-badge_2.entry.js +113 -12
  153. package/dist/esm/q2-btn_2.entry.js +2 -2
  154. package/dist/esm/q2-calendar.entry.js +7 -5
  155. package/dist/esm/q2-card-image.entry.js +4 -4
  156. package/dist/esm/q2-card.entry.js +1 -1
  157. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  158. package/dist/esm/q2-carousel.entry.js +1 -1
  159. package/dist/esm/q2-chart-area.entry.js +1 -1
  160. package/dist/esm/q2-chart-bar.entry.js +1 -1
  161. package/dist/esm/q2-chart-donut.entry.js +1 -1
  162. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  163. package/dist/esm/q2-checkbox_2.entry.js +3 -3
  164. package/dist/esm/q2-context.entry.js +4 -3
  165. package/dist/esm/q2-data-table.entry.js +2 -2
  166. package/dist/esm/q2-detail.entry.js +1 -1
  167. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  168. package/dist/esm/q2-dropdown.entry.js +3 -3
  169. package/dist/esm/q2-editable-field.entry.js +38 -37
  170. package/dist/esm/q2-file-picker.entry.js +60 -4
  171. package/dist/esm/q2-icon.entry.js +1 -1
  172. package/dist/esm/q2-item.entry.js +2 -2
  173. package/dist/esm/q2-link_2.entry.js +1 -1
  174. package/dist/esm/q2-loc.entry.js +1 -1
  175. package/dist/esm/q2-message.entry.js +2 -2
  176. package/dist/esm/q2-meter.entry.js +1 -1
  177. package/dist/esm/q2-modal.entry.js +59 -17
  178. package/dist/esm/q2-month-picker.entry.js +1 -1
  179. package/dist/esm/q2-optgroup.entry.js +1 -1
  180. package/dist/esm/q2-option.entry.js +1 -1
  181. package/dist/esm/q2-otp.entry.js +1 -1
  182. package/dist/esm/q2-pagination.entry.js +1 -1
  183. package/dist/esm/q2-pill.entry.js +2 -2
  184. package/dist/esm/q2-radio-group.entry.js +22 -4
  185. package/dist/esm/q2-radio.entry.js +3 -3
  186. package/dist/esm/q2-relative-time.entry.js +3 -3
  187. package/dist/esm/q2-resize-observer.entry.js +90 -0
  188. package/dist/esm/q2-search.entry.js +13 -4
  189. package/dist/esm/q2-section.entry.js +7 -7
  190. package/dist/esm/q2-select.entry.js +39 -20
  191. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  192. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  193. package/dist/esm/q2-stepper.entry.js +1 -1
  194. package/dist/esm/q2-surface.entry.js +1 -1
  195. package/dist/esm/q2-tab-container.entry.js +2 -2
  196. package/dist/esm/q2-tab-pane.entry.js +1 -1
  197. package/dist/esm/q2-tecton-elements.js +1 -1
  198. package/dist/esm/q2-textarea.entry.js +1 -1
  199. package/dist/esm/q2-toast.entry.js +1 -1
  200. package/dist/esm/q2-tooltip.entry.js +1 -1
  201. package/dist/esm/tecton-tab-pane.entry.js +5 -3
  202. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +32 -29
  203. package/dist/q2-tecton-elements/{index-Cps4jSQM.js → index-DJw6Feh0.js} +1 -1
  204. package/dist/q2-tecton-elements/{q2-action-group_2.entry.js → q2-action-group.entry.js} +35 -113
  205. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1 -1
  206. package/dist/q2-tecton-elements/q2-badge_2.entry.js +240 -140
  207. package/dist/q2-tecton-elements/q2-btn_2.entry.js +2 -2
  208. package/dist/q2-tecton-elements/q2-calendar.entry.js +14 -12
  209. package/dist/q2-tecton-elements/q2-card-image.entry.js +9 -9
  210. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  211. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  212. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  213. package/dist/q2-tecton-elements/q2-chart-area.entry.js +31 -31
  214. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +16 -16
  215. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +6 -6
  216. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  217. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
  218. package/dist/q2-tecton-elements/q2-context.entry.js +22 -21
  219. package/dist/q2-tecton-elements/q2-data-table.entry.js +34 -34
  220. package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
  221. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  222. package/dist/q2-tecton-elements/q2-dropdown.entry.js +15 -15
  223. package/dist/q2-tecton-elements/q2-editable-field.entry.js +38 -40
  224. package/dist/q2-tecton-elements/q2-file-picker.entry.js +61 -6
  225. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  226. package/dist/q2-tecton-elements/q2-item.entry.js +2 -2
  227. package/dist/q2-tecton-elements/q2-link_2.entry.js +1 -1
  228. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  229. package/dist/q2-tecton-elements/q2-message.entry.js +24 -24
  230. package/dist/q2-tecton-elements/q2-meter.entry.js +1 -1
  231. package/dist/q2-tecton-elements/q2-modal.entry.js +61 -45
  232. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  233. package/dist/q2-tecton-elements/q2-optgroup.entry.js +11 -11
  234. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  235. package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
  236. package/dist/q2-tecton-elements/q2-pagination.entry.js +1 -1
  237. package/dist/q2-tecton-elements/q2-pill.entry.js +2 -2
  238. package/dist/q2-tecton-elements/q2-radio-group.entry.js +55 -34
  239. package/dist/q2-tecton-elements/q2-radio.entry.js +38 -53
  240. package/dist/q2-tecton-elements/q2-relative-time.entry.js +12 -12
  241. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +81 -0
  242. package/dist/q2-tecton-elements/q2-search.entry.js +23 -18
  243. package/dist/q2-tecton-elements/q2-section.entry.js +33 -33
  244. package/dist/q2-tecton-elements/q2-select.entry.js +30 -23
  245. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +20 -16
  246. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  247. package/dist/q2-tecton-elements/q2-stepper.entry.js +1 -1
  248. package/dist/q2-tecton-elements/q2-surface.entry.js +3 -3
  249. package/dist/q2-tecton-elements/q2-tab-container.entry.js +20 -20
  250. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +4 -4
  251. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  252. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  253. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  254. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  255. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -7
  256. package/dist/types/components/q2-card-image/q2-card-image.d.ts +1 -1
  257. package/dist/types/components/q2-dropdown/test/q2-dropdown-test.vr.d.ts +1 -0
  258. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +6 -1
  259. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +20 -0
  260. package/dist/types/components/q2-input/q2-input.d.ts +28 -2
  261. package/dist/types/components/q2-modal/q2-modal.d.ts +10 -1
  262. package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +14 -0
  263. package/dist/types/components/q2-search/q2-search.d.ts +1 -0
  264. package/dist/types/components/q2-select/q2-select.d.ts +8 -2
  265. package/dist/types/components.d.ts +119 -11
  266. package/dist/types/utils/test/vr-helpers.d.ts +2 -0
  267. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-SpDCZABA.js');
4
+ var index$1 = require('./index-BY3aao8R.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
 
7
7
  const q2TextareaCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{--comp-default-textarea-margin:var(--tct-textarea-margin-top, var(--t-textarea-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-textarea-margin-bottom, var(--t-textarea-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-textarea-margin, var(--comp-default-textarea-margin));font-size:var(--tct-textarea-font-size, var(--t-textarea-font-size, var(--app-font-size, inherit)));font-weight:var(--tct-textarea-font-weight, var(--t-textarea-font-weight, 400))}:host([hidden]){display:none}label{--comp-label-padding:var(--tct-textarea-label-padding, 0 var(--tct-textarea-label-padding-right, var(--t-textarea-label-padding-right, 0)) 0 var(--tct-textarea-label-padding-left, var(--t-textarea-label-padding-left, 0)));--comp-label-margin:var(--tct-textarea-label-margin, var(--tct-textarea-label-margin-top, var(--t-textarea-label-margin-top, 0)) 0 var(--tct-textarea-label-margin-bottom, var(--t-textarea-label-margin-bottom, var(--tct-scale-1x, var(--app-scale-1x, 5px)))));display:block;padding:var(--comp-label-padding);margin:var(--comp-label-margin);color:var(--tct-textarea-label-font-color, var(--t-textarea-label-font-color, inherit));font-size:var(--tct-textarea-label-font-size, var(--t-textarea-label-font-size, inherit));font-weight:var(--tct-textarea-label-font-weight, var(--t-textarea-label-font-weight, 600));text-transform:var(--tct-textarea-label-text-transform, var(--t-textarea-label-text-transform, none));letter-spacing:var(--tct-textarea-label-letter-spacing, var(--t-textarea-label-letter-spacing, inherit));transition:color var(--tct-textarea-tween, var(--t-textarea-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))))}.has-error label{color:var(--tct-textarea-error-label-font-color, var(--t-textarea-error-label-font-color, var(--tct-textarea-label-font-color, inherit)))}:hover label{color:var(--tct-textarea-hover-label-font-color, var(--tct-textarea-label-font-color, var(--t-textarea-label-font-color, inherit)))}.has-error :hover label{color:var(--tct-textarea-error-hover-label-font-color, var(--tct-textarea-error-label-font-color, var(--t-textarea-error-label-font-color, var(--tct-textarea-hover-label-font-color, var(--tct-textarea-label-font-color, inherit)))))}:host(:focus-within) label{color:var(--tct-textarea-focus-label-font-color, var(--tct-textarea-label-font-color, var(--t-textarea-label-font-color, inherit)))}:host(:focus-within) .has-error label{color:var(--tct-textarea-error-focus-label-font-color, var(--tct-textarea-error-label-font-color, var(--t-textarea-error-label-font-color, var(--tct-textarea-focus-label-font-color, var(--tct-textarea-label-font-color, var(--t-textarea-label-font-color, inherit))))))}.optional-tag{--comp-label-optional-margin:var(--tct-textarea-label-optional-margin, 0 0 0 var(--tct-textarea-label-optional-margin-left, var(--t-textarea-label-optional-margin-left, var(--tct-scale-1x, var(--app-scale-1x, 5px)))));margin:var(--comp-label-optional-margin);color:var(--tct-textarea-label-optional-font-color, var(--t-textarea-label-optional-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-textarea-label-optional-font-size, var(--t-textarea-label-optional-font-size, var(--const-px-12, 12px)));font-weight:var(--tct-textarea-label-optional-font-weight, var(--t-textarea-label-optional-font-weight, 400))}.input-container{min-height:var(--tct-textarea-min-height, var(--t-textarea-min-height, var(--comp-textarea-min-height)));height:100%;--comp-default-border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 4px));--comp-textarea-border-top-left-radius:var(--tct-textarea-border-top-left-radius, var(--t-textarea-border-top-left-radius, var(--comp-default-border-radius)));--comp-textarea-border-top-right-radius:var(--tct-textarea-border-top-right-radius, var(--t-textarea-border-top-right-radius, var(--comp-default-border-radius)));--comp-textarea-border-bottom-right-radius:var(--tct-textarea-border-bottom-right-radius, var(--t-textarea-border-bottom-right-radius, var(--comp-default-border-radius)));--comp-textarea-border-bottom-left-radius:var(--tct-textarea-border-bottom-left-radius, var(--t-textarea-border-bottom-left-radius, var(--comp-default-border-radius)));--comp-textarea-border-radius:var(--comp-textarea-border-top-left-radius) var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius) var(--comp-textarea-border-bottom-left-radius);--comp-textarea-border-width:var(--tct-textarea-border-top-width, var(--t-textarea-border-top-width, 1px)) var(--tct-textarea-border-right-width, var(--t-textarea-border-right-width, 1px)) var(--tct-textarea-border-bottom-width, var(--t-textarea-border-bottom-width, 1px)) var(--tct-textarea-border-left-width, var(--t-textarea-border-left-width, 1px));--comp-textarea-icon-clearance:34px}:host([disabled]) .input-container{cursor:not-allowed;opacity:var(--tct-textarea-disabled-opacity, var(--t-textarea-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));backdrop-filter:var(--tct-textarea-disabled-backdrop-filter, var(--comp-input-backdrop-filter))}.content-container{--comp-textarea-min-height:46px;--comp-textarea-min-width:150px;position:relative;display:inline-block;min-height:var(--tct-textarea-min-height, var(--t-textarea-min-height, var(--comp-textarea-min-height)));min-width:var(--tct-textarea-min-width, var(--t-textarea-min-width, var(--comp-textarea-min-width)))}:host(:not([cols])) .content-container{width:100%}textarea{--comp-textarea-padding:var(--tct-textarea-padding, var(--tct-textarea-vertical-padding, var(--t-textarea-vertical-padding, var(--tct-scale-2x, var(--app-scale-2x, 10px)))) var(--tct-textarea-horizontal-padding, var(--t-textarea-horizontal-padding, var(--tct-scale-2x, var(--app-scale-2x, 10px)))));--comp-textarea-backdrop-filter:var(--tct-textarea-backdrop-filter, none);--comp-textarea-border-color:var(--tct-textarea-border-color, var(--t-textarea-border-color, var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #949494)))));--comp-textarea-background:var(--tct-textarea-background, var(--tct-textarea-bg, var(--t-textarea-bg, var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--t-gray-14, #fcfcfd)))))));--comp-textarea-hover-ring-color:var(--tct-textarea-hover-ring-color);--comp-textarea-hover-ring:0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color), var(--tct-textarea-hover-box-shadow, 0 0 transparent);font-size:var(--tct-textarea-font-size, inherit);resize:none;height:100%;-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;min-height:var(--tct-textarea-min-height, var(--t-textarea-min-height, var(--comp-textarea-min-height)));padding:var(--comp-textarea-padding);backdrop-filter:var(--comp-textarea-backdrop-filter);background:var(--comp-textarea-background);color:var(--tct-textarea-font-color, var(--t-textarea-font-color, var(--t-input-font-color, inherit)));border-width:var(--comp-textarea-border-width);border-style:solid;border-color:var(--comp-textarea-border-color);border-radius:var(--comp-textarea-border-radius);box-shadow:var(--tct-textarea-box-shadow, var(--t-textarea-box-shadow, none));scrollbar-width:thin;scrollbar-color:var(--t-a11y-gray-color) transparent;--comp-textarea-tween:var(--tct-textarea-tween, var(--t-textarea-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))));transition:background var(--comp-textarea-tween), backdrop-filter var(--comp-textarea-tween), border-width var(--comp-textarea-tween), border-color var(--comp-textarea-tween), box-shadow var(--comp-textarea-tween)}textarea::-webkit-scrollbar{width:var(--app-scale-1x);height:var(--app-scale-1x);margin:var(--app-scale-1x)}textarea::-webkit-scrollbar-thumb{background:var(--t-a11y-gray-color);border-radius:2px}textarea::-webkit-scrollbar-track{background:transparent}textarea:not([cols]){width:100%}.has-error textarea{padding-right:var(--comp-textarea-icon-clearance);backdrop-filter:var(--tct-textarea-error-backdrop-filter, var(--comp-textarea-backdrop-filter));border-color:var(--tct-textarea-error-border-color, var(--t-textarea-error-border-color, var(--const-stoplight-alert, #d20a0a)));background:var(--tct-textarea-error-background, var(--comp-textarea-background));box-shadow:var(--tct-textarea-error-box-shadow, var(--tct-textarea-box-shadow, var(--t-textarea-box-shadow, none)))}textarea:hover{border-color:var(--tct-textarea-hover-border-color, var(--comp-textarea-border-color));backdrop-filter:var(--tct-textarea-hover-backdrop-filter, var(--comp-textarea-backdrop-filter));background:var(--tct-textarea-hover-background, var(--comp-textarea-background));box-shadow:var(--tct-textarea-hover-box-shadow, var(--comp-textarea-hover-ring))}.has-error textarea:hover{border-color:var(--tct-textarea-error-hover-border-color, var(--tct-textarea-error-border-color, var(--t-textarea-error-border-color, var(--const-stoplight-alert, #d20a0a))));backdrop-filter:var(--tct-textarea-error-hover-backdrop-filter, var(--tct-textarea-error-backdrop-filter, var(--tct-textarea-hover-backdrop-filter, var(--comp-textarea-backdrop-filter))));background:var(--tct-textarea-error-hover-background, var(--tct-textarea-error-background, var(--comp-textarea-background)));box-shadow:var(--tct-textarea-error-hover-box-shadow, var(--tct-textarea-error-box-shadow, var(--tct-textarea-hover-box-shadow, var(--comp-textarea-hover-ring))))}textarea:focus{border-color:var(--tct-textarea-focus-border-color, var(--comp-textarea-border-color));backdrop-filter:var(--tct-textarea-focus-backdrop-filter, var(--comp-textarea-backdrop-filter));background:var(--tct-textarea-focus-background, var(--comp-textarea-background))}.has-error textarea:focus{border-color:var(--tct-textarea-error-focus-border-color, var(--tct-textarea-error-border-color, var(--const-stoplight-alert, #d20a0a)));backdrop-filter:var(--tct-textarea-error-focus-backdrop-filter, var(--tct-textarea-error-backdrop-filter, var(--tct-textarea-focus-backdrop-filter, var(--comp-textarea-backdrop-filter))));background:var(--tct-textarea-error-focus-background, var(--tct-textarea-error-background, var(--tct-textarea-focus-background, var(--comp-textarea-background))));box-shadow:var(--tct-textarea-error-focus-box-shadow, var(--tct-textarea-error-box-shadow, var(--tct-textarea-focus-box-shadow, var(--const-double-focus-ring))))}textarea:focus-visible{box-shadow:var(--tct-textarea-focus-box-shadow, var(--const-double-focus-ring))}textarea::placeholder{color:var(--tct-textarea-placeholder-font-color, var(--t-textarea-placeholder-font-color, var(--t-input-placeholder-font-color, var(--tct-gray-7, var(--app-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666)))))))}textarea[disabled]{cursor:not-allowed}textarea.resize-vertical-auto{overflow:hidden}.has-error textarea{padding-right:var(--comp-textarea-icon-clearance)}.has-error textarea:not(:focus){border-color:var(--tct-textarea-error-border-color, var(--t-textarea-error-border-color, var(--const-stoplight-alert, #d20a0a)))}q2-icon{margin-top:calc(var(--tct-textarea-border-top-width, var(--t-textarea-border-top-width, 1px)) / 2);margin-bottom:calc(var(--tct-textarea-border-bottom-width, var(--t-textarea-border-bottom-width, 1px)) / 2);pointer-events:none;position:absolute;top:var(--tct-textarea-vertical-padding, var(--t-textarea-vertical-padding, var(--tct-scale-2x, var(--app-scale-2x, 10px))));color:var(--tct-textarea-icon-stroke-primary, var(--t-textarea-icon-stroke-primary, var(--app-gray-9, var(--tct-gray, var(--app-gray, #999999)))));right:0;margin-right:var(--tct-scale-2x, var(--app-scale-2x, 10px));--tct-icon-stroke-primary:var(--tct-textarea-icon-stroke-primary, var(--t-textarea-icon-stroke-primary, var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))));--t-icon-stroke-primary:var(--tct-textarea-icon-stroke-primary, var(--t-textarea-icon-stroke-primary, var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))))}.icon-error{color:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));--t-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a))}.messages-container{height:0px;overflow:hidden;background:var(--tct-message-background, var(--tct-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));box-shadow:var(--tct-textarea-message-box-shadow, var(--t-textarea-message-box-shadow, var(--tct-box-shadow-1, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)))));transition:height var(--tct-textarea-messages-tween, var(--t-textarea-messages-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));margin-top:var(--tct-textarea-messages-margin-top, 2px);z-index:1;position:absolute;width:100%;color:var(--tct-textarea-messages-font-color, var(--t-textarea-messages-font-color, inherit))}.max-length{color:var(--tct-textarea-max-length-color, var(--t-textarea-max-length-color, var(--t-textA, rgba(77, 77, 77, 0.77))));font-size:var(--tct-textarea-max-length-font-size, var(--t-textarea-max-length-font-size, var(--tct-font-size-small, var(--app-font-size-small, var(--const-px-12, 12px)))));position:absolute;right:0}.btn-resize{--tct-textarea-resize-icon-padding:calc( calc( var(--tct-textarea-resize-btn-width, var(--t-textarea-resize-btn-width, var(--tct-btn-icon-width, 44px))) - var(--tct-textarea-resize-icon-size, var(--t-textarea-resize-icon-size, 12px)) ) / 2 );width:var(--tct-textarea-resize-btn-width, var(--t-textarea-resize-btn-width, var(--tct-btn-icon-width, 44px)));height:var(--tct-textarea-resize-btn-height, var(--t-textarea-resize-btn-height, var(--tct-btn-icon-height, 44px)));background:var(--tct-textarea-resize-btn-background, var(--t-textarea-resize-btn-background, transparent));stroke:var(--tct-textarea-resize-color, var(--t-textarea-resize-color, var(--t-textA, rgba(77, 77, 77, 0.77))));stroke-width:var(--tct-textarea-resize-stroke-width, var(--t-textarea-resize-stroke-width, 1));border:0;position:absolute;right:var(--tct-textarea-resize-right, calc(var(--tct-textarea-resize-icon-padding, var(--t-textarea-resize-icon-padding)) * -1 + 2px));bottom:var(--tct-textarea-resize-bottom, calc(var(--tct-textarea-resize-icon-padding, var(--t-textarea-resize-icon-padding)) * -1 + 2px));display:block;padding:var(--tct-textarea-resize-icon-padding, var(--t-textarea-resize-icon-padding));font-size:0}.btn-resize:focus{outline:none;box-shadow:none}:host([resize=both]) .btn-resize{cursor:se-resize}:host([resize=vertical]) .btn-resize,:host([resize=vertical-auto]) .btn-resize{cursor:s-resize}:host([resize=horizontal]) .btn-resize{cursor:e-resize}`;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-SpDCZABA.js');
4
+ var index$1 = require('./index-BY3aao8R.js');
5
5
 
6
6
  const q2ToastCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{display:block}.toast{--comp-accent-width:1px;--comp-icon-size:32px;--comp-icon-bg:transparent;--comp-text-color:var(--tct-toast-text, var(--tct-gray-2, var(--app-gray-2, #333333)));--comp-subtle-color:var(--tct-toast-subtle, var(--tct-gray-5, var(--app-gray-5, #6b6b6b)));--comp-color-success:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--comp-color-info:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--comp-color-warning:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500));--comp-color-alert:var(--tct-stoplight-alert, var(--const-stoplight-alert, #d20a0a));--comp-color-default:white;display:flex;flex-direction:column;gap:var(--tct-toast-gap, var(--app-scale-2x, 10px));padding-left:3px;border-radius:5px;border:1px solid transparent;background:var(--tct-toast-background, var(--tct-gray-14, var(--app-gray-l3, #ffffff)));color:var(--comp-text-color);box-shadow:var(--tct-toast-shadow, var(--app-shadow-2, 0 12px 24px rgb(0 0 0 / 0.12)));overflow:hidden}.toast.success{border-color:var(--comp-color-success);background-color:var(--comp-color-success);--comp-icon-bg:#e7f5e3}.toast.info{border-color:var(--comp-color-info);background-color:var(--comp-color-info);--comp-icon-bg:#e6f1fb}.toast.warning{border-color:var(--comp-color-warning);background-color:var(--comp-color-warning);--comp-icon-bg:#fff0df}.toast.alert{border-color:var(--comp-color-alert);background-color:var(--comp-color-alert);--comp-icon-bg:#fde6e6}.toast.is-closing{animation-name:shrink;animation-duration:500ms;animation-timing-function:linear;animation-fill-mode:forwards;transform-origin:top;overflow:hidden}.toast.small .container{padding:var(--tct-toast-padding-small, var(--app-scale-2x, 10px))}.toast.default{--comp-border-color:var(--tct-toast-border, var(--tct-gray-9, var(--app-gray-4, #d1d1d1)));--comp-icon-bg:var(--tct-toast-icon-bg, var(--tct-gray-12, var(--app-gray-l2, #f3f3f3)));border-color:var(--comp-border-color)}.header{display:grid;grid-template-columns:var(--comp-icon-size) 1fr auto;gap:var(--tct-toast-gap, var(--app-scale-2x, 10px));align-items:center}.toast.no-icon .header{grid-template-columns:1fr auto}.icon{width:var(--comp-icon-size);height:var(--comp-icon-size);border-radius:50%;display:grid;place-items:center;background:var(--comp-icon-bg)}.icon q2-icon{--tct-icon-size:calc(var(--comp-icon-size) - 6px);--tct-icon-stroke-primary:var(--comp-border-color);--tct-icon-stroke-secondary:var(--comp-border-color);--tct-icon-fill:var(--comp-border-color)}.title{font-weight:600;display:flex;align-items:center}.title-text{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content{color:var(--comp-subtle-color);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.footer{margin-top:var(--tct-toast-footer-gap, var(--app-scale-2x, 10px));display:flex;align-items:center;justify-content:space-between;gap:var(--tct-toast-footer-spacing, var(--app-scale-2x, 10px));color:var(--comp-subtle-color);font-size:0.875rem}.time{white-space:nowrap}.actions{display:inline-flex;align-items:center;gap:var(--tct-toast-actions-gap, var(--app-scale-2x, 10px))}.close{border:none;background:transparent;padding:2px;margin-left:var(--tct-toast-close-offset, var(--app-scale-1x, 5px));color:var(--comp-subtle-color);cursor:pointer}.close q2-icon{--tct-icon-size:18px}.container{padding:var(--tct-toast-padding, var(--app-scale-3x, 15px));background-color:white}@keyframes shrink{from{transform:scale(1);height:var(--toast-close-height, 0px);opacity:1}to{transform:scale(0);height:0;opacity:0}}`;
7
7
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-SpDCZABA.js');
4
+ var index$1 = require('./index-BY3aao8R.js');
5
5
 
6
6
  const q2TooltipCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{display:inline-block;line-height:0}:host([block]){display:block}.tooltip{--comp-background:var(--tct-tooltip-background, var(--tct-tooltip-background-color, var(--t-tooltip-background-color, var(--t-top-a3, rgba(13, 13, 13, 0.8509803922)))));--comp-offset-default:calc(var(--app-scale-1x, 5px) * -1);--comp-offset:var(--tct-tooltip-offset, var(--t-tooltip-offset, var(--comp-offset-default)));--comp-position:var(--tct-tooltip-position, var(--t-tooltip-position, var(--app-scale-1x, 5px)));--comp-body-offset-default:calc(var(--app-scale-3x, 15px) * -1);--comp-body-offset:var(--tct-tooltip-body-offset, var(--t-tooltip-body-offset, var(--comp-body-offset-default)));--comp-duration:var(--tct-tooltip-transition-duration, var(--t-tooltip-transition-duration, var(--app-duration-1, 0.2s)));--comp-visible-duration:var(--tct-tooltip-transition-visible-duration, var(--t-tooltip-transition-visible-duration, 2s));--comp-delay:var(--tct-tooltip-transition-delay, var(--t-tooltip-transition-delay, 0s));display:inline-flex;line-height:normal;position:relative}.tooltip:hover{--comp-delay:var(--tct-tooltip-hover-delay, var(--tct-tooltip-transition-delay, 1s))}:host([immediate]:not([immediate=false])) .tooltip:hover{--comp-delay:0s}.tooltip:before{position:absolute;z-index:2;width:0;height:0;color:var(--comp-background);pointer-events:none;content:"";border:var(--tct-tooltip-arrow-size, var(--t-tooltip-arrow-size, var(--app-scale-1x, 5px))) solid transparent}.tooltip:after{--comp-padding:var(--app-scale-1x, 5px) 8px;position:absolute;z-index:1;padding:var(--tct-tooltip-padding, var(--t-tooltip-padding, var(--comp-padding)));font-weight:var(--tct-tooltip-font-weight, var(--t-tooltip-font-weight, 600));font-size:var(--tct-tooltip-font-size, var(--t-tooltip-font-size, var(--app-font-size-small, var(--const-px-12, 12px))));line-height:1.5;color:var(--tct-tooltip-color, var(--t-tooltip-color, var(--app-white, #ffffff)));text-align:center;text-decoration:none;text-shadow:none;text-transform:none;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(data-label);background:var(--comp-background);border-radius:var(--tct-tooltip-border-radius, var(--t-tooltip-border-radius, var(--app-border-radius-1, 4px)))}.tooltip:before,.tooltip:after{display:inline-block;visibility:hidden;opacity:0;transition:all var(--comp-duration) ease-in-out var(--comp-delay);transition-property:visibility, opacity}:host([block]) .tooltip{display:block}:host([persist-on-hover]:not([persist-on-hover=false])) .tooltip:before,:host([persist-on-hover]:not([persist-on-hover=false])) .tooltip:after{pointer-events:auto}.tooltip:not(.dismissed):hover:before,.tooltip:not(.dismissed):hover:after,.tooltip:not(.dismissed).has-keyboard-focus:focus-within:before,.tooltip:not(.dismissed).has-keyboard-focus:focus-within:after,:host([persistent]:not([persistent=false])) .tooltip:not(.dismissed):before,:host([persistent]:not([persistent=false])) .tooltip:not(.dismissed):after{text-decoration:none;visibility:visible;opacity:1}@keyframes tooltippedFade{from{opacity:0}to{opacity:1}}.tooltip.has-touch-click:before,.tooltip.has-touch-click:after{visibility:visible;opacity:0;transition:none;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-name:tooltippedFade, tooltippedFade;animation-direction:normal, reverse;animation-duration:var(--comp-duration);animation-delay:0ms, calc(var(--comp-visible-duration) + var(--comp-duration))}.tooltip.has-touch-click:hover:before,.tooltip.has-touch-click:hover:after{animation-name:tooltippedFade;animation-direction:normal;animation-delay:0ms}.tooltip.dismissed:before,.tooltip.dismissed:after{visibility:hidden;opacity:0;animation-name:none}:host([multiline]) .tooltip:after{width:max-content;max-width:var(--tct-tooltip-max-width, var(--t-tooltip-max-width, 200px));word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate;text-align:left}:host([position=s]) :host([multiline]) .tooltip:after,:host([position=n]) :host([multiline]) .tooltip:after{right:auto;left:50%;transform:translateX(-50%)}:host([position=w]) :host([multiline]) .tooltip:after,:host([position=e]) :host([multiline]) .tooltip:after{right:100%}:host([multiline]) .tooltip:hover:after,:host([multiline]) .tooltip:active:after,:host([multiline]) .tooltip:focus:after{display:table-cell}:host([multiline]) .tooltip:focus-within:after{display:table-cell}:host([position=s]) .tooltip:after,:host([position=se]) .tooltip:after,:host([position=sw]) .tooltip:after{top:100%;right:50%;margin-top:var(--comp-position)}:host([position=s]) .tooltip:before,:host([position=se]) .tooltip:before,:host([position=sw]) .tooltip:before{top:auto;right:50%;bottom:var(--comp-offset);margin-right:var(--comp-offset);border-bottom-color:var(--comp-background)}:host([position=n]) .tooltip:after,:host([position=ne]) .tooltip:after,:host([position=nw]) .tooltip:after{right:50%;bottom:100%;margin-bottom:var(--comp-position)}:host([position=n]) .tooltip:before,:host([position=ne]) .tooltip:before,:host([position=nw]) .tooltip:before{top:var(--comp-offset);right:50%;bottom:auto;margin-right:var(--comp-offset);border-top-color:var(--comp-background)}:host([position=se]) .tooltip:after,:host([position=ne]) .tooltip:after{right:auto;left:50%;margin-left:var(--comp-body-offset);margin-right:var(--comp-body-offset);transform:translateX(var(--comp-offset-translate, 0))}:host([position=sw]) .tooltip:after,:host([position=nw]) .tooltip:after{margin-right:var(--comp-body-offset);margin-left:var(--comp-body-offset);right:50%;transform:translateX(var(--comp-offset-translate, 0))}:host([position=s]) .tooltip:after,:host([position=n]) .tooltip:after{transform:translateX(calc(50% + var(--comp-offset-translate, 0)))}:host([position=w]) .tooltip:after{right:100%;bottom:50%;margin-right:var(--comp-position);transform:translateY(50%)}:host([position=w]) .tooltip:before{top:50%;bottom:50%;left:var(--comp-offset);margin-top:var(--comp-offset);border-left-color:var(--comp-background)}:host([position=e]) .tooltip:after{bottom:50%;left:100%;margin-left:var(--comp-position);transform:translateY(50%)}:host([position=e]) .tooltip:before{top:50%;right:var(--comp-offset);bottom:50%;margin-top:var(--comp-offset);border-right-color:var(--comp-background)}`;
7
7
 
@@ -23,7 +23,9 @@ const TectonTabPane = class {
23
23
  const loadingWrapper = this.hostElement.shadowRoot.querySelector('.loading-wrapper');
24
24
  /* istanbul ignore next */
25
25
  if (loadingWrapper) {
26
- loadingWrapper.style.minHeight = this.minHeight;
26
+ if (loadingWrapper.querySelector('.q2-row')) {
27
+ loadingWrapper.style.minHeight = this.minHeight;
28
+ }
27
29
  loadingWrapper.hidden = !this.selected;
28
30
  }
29
31
  }
@@ -55,9 +57,9 @@ const TectonTabPane = class {
55
57
  // #endregion
56
58
  // #region Render Methods
57
59
  render() {
58
- return (index.h("div", { key: '68c7250777ec0c700107df4997634d4aee8f8e91', id: `tab-pane-${this.guid}-${this.index}`, class: `tab-pane${this.selected ? '' : ' hidden'}`, role: "tabpanel", tabindex: "-1", "aria-hidden": `${!this.selected}`, "aria-labelledby": `tab-${this.guid}-${this.index}` }, this.selected && this.provided !== undefined && !this.provided && (index.h("div", { key: '7b8c74b691fc1c599766900125e09afe79e53859' }, index.h("slot", { key: 'bbf7c58bef21ab334059655e958e976b9bdf327e', name: "loading-wrapper" }), index.h("iframe", { key: '6a262f757dd78294fcf49242b337b02c13842ee8', hidden: true, name: this.moduleId, scrolling: "no", src: this.showForm && this.authPayload.length ? '' : this.url || '', "data-module-id": this.moduleId, style: this.minHeight ? { minHeight: this.minHeight } : null, onLoad: this.onIFrameLoad, title: this.iframeTitle, allow: "geolocation; camera" }), this._showForm && this.authPayload ? (index.h("form", { hidden: true, method: "post", action: this.url, target: this.moduleId, encType: "multipart/form-data" }, this.authPayload.map(element => {
60
+ return (index.h("div", { key: '6c0524ab1981900cc7a37803fd9426c6397049c4', id: `tab-pane-${this.guid}-${this.index}`, class: `tab-pane${this.selected ? '' : ' hidden'}`, role: "tabpanel", tabindex: "-1", "aria-hidden": `${!this.selected}`, "aria-labelledby": `tab-${this.guid}-${this.index}` }, this.selected && this.provided !== undefined && !this.provided && (index.h("div", { key: '10cc2712e1ccefa6a9bb3b657830636da4d81980' }, index.h("slot", { key: 'cde7112d4035c6f118e9c50b0fe5d9d91c70ee7d', name: "loading-wrapper" }), index.h("iframe", { key: '851972991feb3b8f6c7f569e92ff2e624d94e221', hidden: true, name: this.moduleId, scrolling: "no", src: this.showForm && this.authPayload.length ? '' : this.url || '', "data-module-id": this.moduleId, style: this.minHeight ? { minHeight: this.minHeight } : null, onLoad: this.onIFrameLoad, title: this.iframeTitle, allow: "geolocation; camera" }), this._showForm && this.authPayload ? (index.h("form", { hidden: true, method: "post", action: this.url, target: this.moduleId, encType: "multipart/form-data" }, this.authPayload.map(element => {
59
61
  return (index.h("input", { type: "hidden", value: element.value, name: element.key }));
60
- }))) : (''))), index.h("div", { key: 'd9be64623c99011b7f30256d0abfaeab23f72c00', class: "slot-wrapper", hidden: this.selected && this.provided !== undefined && !this.provided }, index.h("slot", { key: 'a1a3a9772b2875c7d4ab510e9014d99b6e036ad3' }))));
62
+ }))) : (''))), index.h("div", { key: '741c6f2c89dc15493f165428929f589425aa4d75', class: "slot-wrapper", hidden: this.selected && this.provided !== undefined && !this.provided }, index.h("slot", { key: '17100ec2dc0ea2d1e27628d36e9e6e1139f293a9' }))));
61
63
  }
62
64
  get hostElement() { return index.getElement(this); }
63
65
  static get watchers() { return {
@@ -236,6 +236,7 @@ button {
236
236
  * @prop --tct-btn-coin-focus-box-shadow?: (*) Controls the optional box shadow of the coin button on focus.
237
237
  * @prop --tct-btn-coin-focus-visible-box-shadow: (*) Controls the box shadow of the coin button when focused via keyboard.
238
238
  * @prop --tct-btn-coin-focus-ring: (<color>) Controls the focus ring color of the coin button.
239
+ * @prop --tct-btn-coin-focus-visible-outer-ring-color: (<color>) Controls the outer ring color of the coin button when focused via keyboard.
239
240
  * @prop --tct-btn-coin-active-background?: (<color>) Controls the optional background color of the coin button when active.
240
241
  * @prop --tct-btn-coin-icon-stroke-primary: (<color>) Controls the primary stroke color of icons inside the coin button.
241
242
  * @prop --tct-btn-coin-icon-stroke-secondary: (<color>) Controls the secondary stroke color of icons inside the coin button.
@@ -257,6 +258,9 @@ button {
257
258
  * @prop --tct-btn-primary-text-decoration: (<custom-ident>) Controls the text-decoration of the primary-intent button.
258
259
  * @prop --tct-btn-primary-box-shadow: (*) Controls the box shadow of the primary-intent button.
259
260
  * @prop --tct-btn-primary-icon-color: (<color>) Controls the icon color of the primary-intent button.
261
+ * @prop --tct-btn-primary-tween: (*) Controls the transition timing of primary-intent button state changes.
262
+ * @prop --tct-btn-primary-compositor-transform?: (*) Controls the optional compositor transform used during primary-intent button interactions.
263
+ * @prop --tct-btn-primary-active-scale: (<number>) Controls the scale of the primary-intent button when active.
260
264
  * @prop --tct-btn-primary-hover-background: (<color>) Controls the background color of the primary-intent button on hover.
261
265
  * @prop --tct-btn-primary-hover-border-color: (<color>) Controls the border color of the primary-intent button on hover.
262
266
  * @prop --tct-btn-primary-hover-font-color: (<color>) Controls the text color of the primary-intent button on hover.
@@ -528,6 +532,7 @@ button.icon-only ::slotted(q2-icon) {
528
532
  --comp-btn-tween: var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));
529
533
  --comp-btn-fallback-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
530
534
  --comp-background-alternative: #ebf8ff;
535
+ --comp-focus-ring-color: var(--t-focus-color, var(--const-focus-color));
531
536
  }
532
537
  :host .btn-height-wrapper {
533
538
  cursor: pointer;
@@ -554,7 +559,7 @@ button {
554
559
  color: inherit;
555
560
  cursor: pointer;
556
561
  transition: var(--comp-btn-tween);
557
- transition-property: background, color, box-shadow, fill, border-color, border-width;
562
+ transition-property: background, color, box-shadow, fill, border-color, border-width, transform;
558
563
  outline: 0;
559
564
  min-height: var(--tct-btn-min-height, none);
560
565
  letter-spacing: var(--tct-btn-letter-spacing, inherit);
@@ -617,17 +622,22 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
617
622
  --tct-icon-size: var(--tct-btn-icon-size-large, 18px);
618
623
  }
619
624
  :host(:not([intent])) button:focus-visible {
620
- --comp-double-focus-ring-fallback: 0 0 0 2px #ffffff, 0 0 0 4px #0066cc;
621
- box-shadow: var(--tct-btn-default-double-focus-visible-ring, var(--const-double-focus-ring, var(--comp-double-focus-ring-fallback)));
625
+ --comp-default-focus-visible-box-shadow: 0 0 0 2px #ffffff,
626
+ 0 0 0 4px var(--comp-focus-ring-color);
627
+ box-shadow: var(--tct-btn-default-double-focus-visible-ring, var(--comp-default-focus-visible-box-shadow));
622
628
  }
623
629
  :host([color=primary]) button, :host([intent=workflow-primary]) button {
630
+ --comp-btn-tween: var(--tct-btn-primary-tween, 100ms ease-out);
624
631
  backdrop-filter: var(--tct-btn-primary-backdrop-filter);
632
+ transform-origin: center;
625
633
  --comp-background: var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)));
626
- --comp-hover-background: var(--tct-btn-primary-hover-background, var(--tct-btn-primary-hover-bg));
634
+ --comp-hover-background: var(--tct-btn-primary-hover-background, var(--tct-btn-primary-hover-bg, #5e408b));
635
+ --comp-hover-border-color: #5e408b;
627
636
  --comp-font-color: var(--tct-btn-primary-font-color, var(--app-white, #ffffff));
628
- --comp-box-shadow: var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));
629
- --comp-focus-box-shadow: var(--tct-btn-primary-focus-box-shadow, var(--comp-btn-fallback-box-shadow));
630
- --comp-active-background: var(--tct-btn-primary-active-background, #0063a0);
637
+ --comp-box-shadow: var(--tct-btn-primary-box-shadow, none);
638
+ --comp-focus-box-shadow: var(--tct-btn-primary-focus-box-shadow, var(--comp-box-shadow));
639
+ --comp-active-background: var(--tct-btn-primary-active-background, #523578);
640
+ --comp-active-border-color: #523578;
631
641
  --comp-hover-outer-ring-color: var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));
632
642
  --comp-hover-inner-ring-color: var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));
633
643
  --comp-hover-box-shadow: var(
@@ -637,13 +647,14 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
637
647
  );
638
648
  --comp-active-box-shadow: var(--comp-box-shadow);
639
649
  --comp-disabled-box-shadow: var(--comp-box-shadow);
640
- --comp-focus-visible-outer-ring-color: var(--tct-btn-primary-focus-visible-outer-ring-color, var(--const-focus-color));
641
- --comp-focus-visible-inner-ring-color: var(--tct-btn-primary-focus-visible-inner-ring-color, var(--comp-font-color));
650
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-primary-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
651
+ --comp-focus-visible-inner-ring-color: var(--tct-btn-primary-focus-visible-inner-ring-color, #ffffff);
642
652
  --comp-focus-visible-box-shadow: var(
643
653
  --tct-btn-primary-focus-visible-box-shadow,
644
654
  0 0 0 2px var(--comp-focus-visible-inner-ring-color),
645
655
  0 0 0 4px var(--comp-focus-visible-outer-ring-color)
646
656
  );
657
+ --comp-hover-box-shadow: var(--tct-btn-primary-hover-box-shadow, none);
647
658
  border-style: var(--tct-btn-primary-border-style, var(--comp-border-style));
648
659
  border-width: var(--tct-btn-primary-border-width, var(--comp-border-width));
649
660
  font-weight: var(--tct-btn-primary-font-weight, var(--comp-font-weight));
@@ -705,6 +716,21 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
705
716
  :host([color=primary]) button ::slotted(q2-icon), :host([intent=workflow-primary]) button ::slotted(q2-icon) {
706
717
  --t-text: var(--tct-btn-primary-icon-color, var(--t-btn-primary-icon-color, var(--comp-font-color, currentcolor)));
707
718
  }
719
+ :host([color=primary]) button:enabled:focus-visible, :host([intent=workflow-primary]) button:enabled:focus-visible {
720
+ border-color: var(--tct-btn-primary-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));
721
+ background: var(--tct-btn-primary-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));
722
+ color: var(--tct-btn-primary-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));
723
+ text-decoration: var(--tct-btn-primary-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));
724
+ box-shadow: var(--comp-focus-visible-box-shadow);
725
+ }
726
+ :host([color=primary]) button:enabled:active, :host([intent=workflow-primary]) button:enabled:active {
727
+ border-color: var(--tct-btn-primary-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));
728
+ background: var(--tct-btn-primary-active-background, var(--comp-active-background, var(--comp-background)));
729
+ color: var(--tct-btn-primary-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));
730
+ text-decoration: var(--tct-btn-primary-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));
731
+ box-shadow: var(--comp-active-box-shadow);
732
+ transform: scale(var(--tct-btn-primary-active-scale, 0.97)) var(--tct-btn-primary-compositor-transform, translateZ(0));
733
+ }
708
734
  :host([color=secondary]) button, :host([intent=workflow-secondary]) button {
709
735
  backdrop-filter: var(--tct-btn-secondary-backdrop-filter);
710
736
  --comp-background: var(--tct-btn-secondary-background, var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc)));
@@ -719,9 +745,13 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
719
745
  0 0 0 2px var(--comp-hover-inner-ring-color),
720
746
  0 0 0 4px var(--comp-hover-outer-ring-color)
721
747
  );
748
+ --comp-hover-box-shadow: var(
749
+ --tct-btn-secondary-hover-box-shadow,
750
+ var(--tct-btn-secondary-box-shadow, none)
751
+ );
722
752
  --comp-active-box-shadow: var(--comp-box-shadow);
723
753
  --comp-disabled-box-shadow: var(--comp-box-shadow);
724
- --comp-focus-visible-outer-ring-color: var(--tct-btn-secondary-focus-visible-outer-ring-color, var(--const-focus-color));
754
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-secondary-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
725
755
  --comp-focus-visible-inner-ring-color: var(--tct-btn-secondary-focus-visible-inner-ring-color, var(--app-white));
726
756
  --comp-focus-visible-box-shadow: var(
727
757
  --tct-btn-secondary-focus-visible-box-shadow,
@@ -802,9 +832,13 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
802
832
  0 0 0 2px var(--comp-hover-inner-ring-color),
803
833
  0 0 0 4px var(--comp-hover-outer-ring-color)
804
834
  );
835
+ --comp-hover-box-shadow: var(
836
+ --tct-btn-destroy-hover-box-shadow,
837
+ var(--tct-btn-destroy-box-shadow, none)
838
+ );
805
839
  --comp-active-box-shadow: var(--comp-box-shadow);
806
840
  --comp-disabled-box-shadow: var(--comp-box-shadow);
807
- --comp-focus-visible-outer-ring-color: var(--tct-btn-destroy-focus-visible-outer-ring-color, var(--const-focus-color));
841
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-destroy-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
808
842
  --comp-focus-visible-inner-ring-color: var(--tct-btn-destroy-focus-visible-inner-ring-color, var(--comp-font-color));
809
843
  --comp-focus-visible-box-shadow: var(
810
844
  --tct-btn-destroy-focus-visible-box-shadow,
@@ -877,7 +911,6 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
877
911
  --comp-background: var(--tct-btn-escape-background, var(--app-white, #ffffff));
878
912
  --comp-font-color: var(--tct-btn-escape-font-color, var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040))));
879
913
  --comp-box-shadow: var(--tct-btn-escape-box-shadow, var(--comp-btn-fallback-box-shadow));
880
- --comp-hover-box-shadow: var(--tct-btn-escape-hover-box-shadow, var(--comp-btn-fallback-box-shadow));
881
914
  --comp-focus-box-shadow: var(--tct-btn-escape-focus-box-shadow, var(--comp-btn-fallback-box-shadow));
882
915
  --comp-hover-background: var(--tct-btn-escape-hover-background, var(--comp-background-alternative));
883
916
  --comp-active-background: var(--tct-btn-escape-active-background, var(--comp-background-alternative));
@@ -889,9 +922,13 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
889
922
  0 0 0 2px var(--comp-hover-inner-ring-color),
890
923
  0 0 0 4px var(--comp-hover-outer-ring-color)
891
924
  );
925
+ --comp-hover-box-shadow: var(
926
+ --tct-btn-escape-hover-box-shadow,
927
+ var(--tct-btn-escape-box-shadow, none)
928
+ );
892
929
  --comp-active-box-shadow: var(--comp-box-shadow);
893
930
  --comp-disabled-box-shadow: var(--comp-box-shadow);
894
- --comp-focus-visible-outer-ring-color: var(--tct-btn-escape-focus-visible-outer-ring-color, var(--const-focus-color));
931
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-escape-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
895
932
  --comp-focus-visible-inner-ring-color: var(--tct-btn-escape-focus-visible-inner-ring-color, var(--comp-background));
896
933
  --comp-focus-visible-box-shadow: var(
897
934
  --tct-btn-escape-focus-visible-box-shadow,
@@ -975,9 +1012,13 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
975
1012
  0 0 0 2px var(--comp-hover-inner-ring-color),
976
1013
  0 0 0 4px var(--comp-hover-outer-ring-color)
977
1014
  );
1015
+ --comp-hover-box-shadow: var(
1016
+ --tct-btn-neutral-hover-box-shadow,
1017
+ var(--tct-btn-neutral-box-shadow, none)
1018
+ );
978
1019
  --comp-active-box-shadow: var(--comp-box-shadow);
979
1020
  --comp-disabled-box-shadow: var(--comp-box-shadow);
980
- --comp-focus-visible-outer-ring-color: var(--tct-btn-neutral-focus-visible-outer-ring-color, var(--const-focus-color));
1021
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-neutral-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
981
1022
  --comp-focus-visible-inner-ring-color: var(--tct-btn-neutral-focus-visible-inner-ring-color, var(--comp-background));
982
1023
  --comp-focus-visible-box-shadow: var(
983
1024
  --tct-btn-neutral-focus-visible-box-shadow,
@@ -1059,9 +1100,13 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
1059
1100
  0 0 0 2px var(--comp-hover-inner-ring-color),
1060
1101
  0 0 0 4px var(--comp-hover-outer-ring-color)
1061
1102
  );
1103
+ --comp-hover-box-shadow: var(
1104
+ --tct-btn-neutral-text-hover-box-shadow,
1105
+ var(--tct-btn-neutral-text-box-shadow, none)
1106
+ );
1062
1107
  --comp-active-box-shadow: var(--comp-box-shadow);
1063
1108
  --comp-disabled-box-shadow: var(--comp-box-shadow);
1064
- --comp-focus-visible-outer-ring-color: var(--tct-btn-neutral-text-focus-visible-outer-ring-color, var(--const-focus-color));
1109
+ --comp-focus-visible-outer-ring-color: var(--tct-btn-neutral-text-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
1065
1110
  --comp-focus-visible-inner-ring-color: var(--tct-btn-neutral-text-focus-visible-inner-ring-color, var(--app-white));
1066
1111
  --comp-focus-visible-box-shadow: var(
1067
1112
  --tct-btn-neutral-text-focus-visible-box-shadow,
@@ -1202,22 +1247,21 @@ button.intent-coin {
1202
1247
  box-shadow: var(--tct-btn-coin-box-shadow);
1203
1248
  }
1204
1249
  button.intent-coin:hover:not([disabled]), button.intent-coin:hover:focus:not(:active):not([disabled]) {
1205
- --const-double-focus-ring: 0 0 0 2px #ffffff,
1206
- 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));
1207
1250
  --tct-avatar-background: var(--tct-btn-coin-hover-background, var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1)));
1208
1251
  --tct-avatar-fallback-background: var(--tct-btn-coin-hover-background, var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1)));
1209
1252
  --tct-icon-stroke-primary: var(--tct-btn-coin-icon-stroke-primary, var(--t-base, #ffffff));
1210
1253
  --tct-avatar-text-color: var(--tct-btn-coin-avatar-text-color, var(--t-base, #ffffff));
1211
- box-shadow: var(--tct-btn-coin-hover-box-shadow, var(--tct-btn-coin-box-shadow, var(--const-double-focus-ring)));
1254
+ box-shadow: var(--tct-btn-coin-hover-box-shadow, var(--tct-btn-coin-box-shadow, none));
1212
1255
  }
1213
1256
  button.intent-coin:focus:not([disabled]) {
1214
1257
  --const-double-focus-ring: 0;
1215
1258
  box-shadow: var(--tct-btn-coin-focus-box-shadow, var(--tct-btn-coin-box-shadow, 0));
1216
1259
  }
1217
1260
  button.intent-coin:focus-visible:not([disabled]) {
1218
- --const-double-focus-ring: 0 0 0 2px #ffffff,
1219
- 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));
1220
- box-shadow: var(--tct-btn-coin-focus-visible-box-shadow, var(--tct-btn-coin-focus-box-shadow, var(--tct-btn-coin-box-shadow, var(--const-double-focus-ring))));
1261
+ --comp-coin-focus-visible-outer-ring-color: var(--tct-btn-coin-focus-visible-outer-ring-color, var(--comp-focus-ring-color));
1262
+ --comp-coin-focus-visible-box-shadow: 0 0 0 2px #ffffff,
1263
+ 0 0 0 4px var(--comp-coin-focus-visible-outer-ring-color);
1264
+ box-shadow: var(--tct-btn-coin-focus-visible-box-shadow, var(--comp-coin-focus-visible-box-shadow));
1221
1265
  }
1222
1266
  button.intent-coin:focus:active:not([disabled]) {
1223
1267
  --tct-avatar-background: var(--tct-btn-coin-active-background);
@@ -1225,6 +1269,20 @@ button.intent-coin:focus:active:not([disabled]) {
1225
1269
  box-shadow: none;
1226
1270
  }
1227
1271
 
1272
+ @container style(--t-prefers-motion: "reduced") {
1273
+ :host([color=primary]) button:enabled:active,
1274
+ :host([intent=workflow-primary]) button:enabled:active {
1275
+ transform: none;
1276
+ }
1277
+ }
1278
+ @container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
1279
+ @media (prefers-reduced-motion: reduce) {
1280
+ :host([color=primary]) button:enabled:active,
1281
+ :host([intent=workflow-primary]) button:enabled:active {
1282
+ transform: none;
1283
+ }
1284
+ }
1285
+ }
1228
1286
  .coin-label {
1229
1287
  color: var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));
1230
1288
  font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, var(--const-px-14, 14px)));
@@ -49,7 +49,7 @@ const focusCase = (name, html, theme) => {
49
49
  await expect(page).toHaveScreenshot(`${name}--${theme}.png`);
50
50
  });
51
51
  };
52
- const activeCase = (name, html, theme) => {
52
+ const activeCase = (name, html, theme, settleAfterMs = 50) => {
53
53
  test(`${name} — ${theme}`, async ({ page }) => {
54
54
  await setupPage(page, html, { theme });
55
55
  const btn = page.locator('q2-btn');
@@ -58,7 +58,7 @@ const activeCase = (name, html, theme) => {
58
58
  throw new Error('q2-btn bounding box unavailable');
59
59
  await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
60
60
  await page.mouse.down();
61
- await page.waitForTimeout(50);
61
+ await page.waitForTimeout(settleAfterMs);
62
62
  await expect(page).toHaveScreenshot(`${name}--${theme}.png`);
63
63
  await page.mouse.up();
64
64
  });
@@ -69,7 +69,8 @@ test.describe('q2-btn label+icon — intents × states × themes', () => {
69
69
  restingCase(`q2-btn--${intent}--resting`, labelAndIconHtml(intent), theme);
70
70
  hoverCase(`q2-btn--${intent}--hover`, labelAndIconHtml(intent), theme);
71
71
  focusCase(`q2-btn--${intent}--focus`, labelAndIconHtml(intent), theme);
72
- activeCase(`q2-btn--${intent}--active`, labelAndIconHtml(intent), theme);
72
+ const settleAfterMs = intent === 'workflow-primary' && theme === 'default-2026' ? 125 : 50;
73
+ activeCase(`q2-btn--${intent}--active`, labelAndIconHtml(intent), theme, settleAfterMs);
73
74
  }
74
75
  }
75
76
  });
@@ -91,6 +92,158 @@ test.describe('q2-btn intents — sizes × themes (resting)', () => {
91
92
  }
92
93
  }
93
94
  });
95
+ test.describe('q2-btn workflow-primary — updated states', () => {
96
+ for (const size of SIZES) {
97
+ activeCase(`q2-btn--workflow-primary--size-${size}--active`, sizeHtml('workflow-primary', size), 'default-2026', 125);
98
+ }
99
+ restingCase('q2-btn--workflow-primary--disabled', '<q2-btn intent="workflow-primary" disabled><span>My Button</span></q2-btn>', 'default-2026');
100
+ test('uses the proposed-primary pointer and active contract', async ({ page }) => {
101
+ await setupPage(page, labelAndIconHtml('workflow-primary'), {
102
+ theme: 'default-2026',
103
+ motion: 'normal',
104
+ });
105
+ const host = page.locator('q2-btn');
106
+ const button = host.locator('button');
107
+ await host.hover();
108
+ await page.waitForTimeout(125);
109
+ expect(await button.evaluate(element => getComputedStyle(element).backgroundColor)).toBe('rgb(94, 64, 139)');
110
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toBe('none');
111
+ await host.click();
112
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toBe('none');
113
+ const box = await host.boundingBox();
114
+ if (!box)
115
+ throw new Error('q2-btn bounding box unavailable');
116
+ await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
117
+ await page.mouse.down();
118
+ await page.waitForTimeout(125);
119
+ expect(await button.evaluate(element => getComputedStyle(element).backgroundColor)).toBe('rgb(82, 53, 120)');
120
+ expect(await button.evaluate(element => getComputedStyle(element).transform)).toBe('matrix(0.97, 0, 0, 0.97, 0, 0)');
121
+ await page.mouse.up();
122
+ });
123
+ test('uses the proposed-primary keyboard focus contract', async ({ page }) => {
124
+ await setupPage(page, labelAndIconHtml('workflow-primary'), { theme: 'default-2026' });
125
+ const button = page.locator('q2-btn').locator('button');
126
+ await page.keyboard.press('Tab');
127
+ await expect(button).toBeFocused();
128
+ await page.waitForTimeout(125);
129
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(106, 74, 158)');
130
+ });
131
+ test('removes the Flat hover ring', async ({ page }) => {
132
+ await setupPage(page, labelAndIconHtml('workflow-primary'), { theme: 'flat' });
133
+ const host = page.locator('q2-btn');
134
+ const button = host.locator('button');
135
+ await host.hover();
136
+ await page.waitForTimeout(125);
137
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toBe('none');
138
+ });
139
+ for (const theme of ['flat', 'neo-brutalist']) {
140
+ test(`does not add a ${theme} pointer focus ring`, async ({ page }) => {
141
+ await setupPage(page, labelAndIconHtml('workflow-primary'), { theme });
142
+ const host = page.locator('q2-btn');
143
+ const button = host.locator('button');
144
+ await page.waitForTimeout(125);
145
+ const restingShadow = await button.evaluate(element => getComputedStyle(element).boxShadow);
146
+ await host.click();
147
+ await page.mouse.move(0, 0);
148
+ await page.waitForTimeout(125);
149
+ await expect(button).toBeFocused();
150
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toBe(restingShadow);
151
+ });
152
+ }
153
+ test('removes only the active scale for reduced motion', async ({ page }) => {
154
+ await page.emulateMedia({ reducedMotion: 'reduce' });
155
+ await setupPage(page, labelAndIconHtml('workflow-primary'), { theme: 'default-2026' });
156
+ const host = page.locator('q2-btn');
157
+ const button = host.locator('button');
158
+ const box = await host.boundingBox();
159
+ if (!box)
160
+ throw new Error('q2-btn bounding box unavailable');
161
+ await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
162
+ await page.mouse.down();
163
+ await page.waitForTimeout(125);
164
+ expect(await button.evaluate(element => getComputedStyle(element).backgroundColor)).toBe('rgb(82, 53, 120)');
165
+ expect(await button.evaluate(element => getComputedStyle(element).transform)).toBe('none');
166
+ await page.mouse.up();
167
+ });
168
+ });
169
+ test.describe('q2-btn coin — updated hover state', () => {
170
+ for (const theme of [
171
+ 'default-2026',
172
+ 'flat',
173
+ 'high-visibility',
174
+ 'minimalist',
175
+ 'neo-brutalist',
176
+ 'standard',
177
+ ]) {
178
+ test(`does not add a ${theme} hover ring`, async ({ page }) => {
179
+ await setupPage(page, coinHtml(), { theme });
180
+ const host = page.locator('q2-btn');
181
+ const button = host.locator('button');
182
+ await host.hover();
183
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toBe('none');
184
+ });
185
+ }
186
+ });
187
+ test.describe('q2-btn coin — theme focus color × aesthetics', () => {
188
+ for (const theme of THEMES) {
189
+ test(`uses the theme focus color in ${theme}`, async ({ page }) => {
190
+ await setupPage(page, coinHtml(), { theme });
191
+ await page.locator('html').evaluate(element => element.style.setProperty('--t-focus-color', '#123456'));
192
+ const button = page.locator('q2-btn').locator('button');
193
+ await page.keyboard.press('Tab');
194
+ await expect(button).toBeFocused();
195
+ await page.waitForTimeout(125);
196
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(18, 52, 86)');
197
+ });
198
+ }
199
+ });
200
+ test.describe('q2-btn intents — consistent focus ring', () => {
201
+ for (const intent of INTENTS) {
202
+ test(`uses the theme focus color for ${intent}`, async ({ page }) => {
203
+ await setupPage(page, labelAndIconHtml(intent), { theme: 'default-2026' });
204
+ await page.locator('html').evaluate(element => element.style.setProperty('--t-focus-color', '#123456'));
205
+ const button = page.locator('q2-btn').locator('button');
206
+ await page.keyboard.press('Tab');
207
+ await expect(button).toBeFocused();
208
+ await page.waitForTimeout(125);
209
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(18, 52, 86)');
210
+ });
211
+ }
212
+ test('prefers the per-intent outer ring color', async ({ page }) => {
213
+ await setupPage(page, '<q2-btn intent="workflow-destroy" style="--tct-btn-destroy-focus-visible-outer-ring-color: #123456">My Button</q2-btn>', { theme: 'default-2026' });
214
+ const button = page.locator('q2-btn').locator('button');
215
+ await page.keyboard.press('Tab');
216
+ await expect(button).toBeFocused();
217
+ await page.waitForTimeout(125);
218
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(18, 52, 86)');
219
+ });
220
+ test('uses the theme focus color without an intent', async ({ page }) => {
221
+ await setupPage(page, plainHtml(), { theme: 'default-2026' });
222
+ const button = page.locator('q2-btn').locator('button');
223
+ await page.keyboard.press('Tab');
224
+ await expect(button).toBeFocused();
225
+ await page.waitForTimeout(125);
226
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(106, 74, 158)');
227
+ });
228
+ test('falls back to the constant focus color when the theme token is unavailable', async ({ page }) => {
229
+ await setupPage(page, '<q2-btn intent="workflow-primary">My Button</q2-btn>', { theme: 'default-2026' });
230
+ await page.locator('html').evaluate(element => element.style.setProperty('--t-focus-color', 'initial'));
231
+ const button = page.locator('q2-btn').locator('button');
232
+ await page.keyboard.press('Tab');
233
+ await expect(button).toBeFocused();
234
+ await page.waitForTimeout(125);
235
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(0, 102, 204)');
236
+ });
237
+ test('uses the constant focus color fallback for coin', async ({ page }) => {
238
+ await setupPage(page, coinHtml(), { theme: 'default-2026' });
239
+ await page.locator('html').evaluate(element => element.style.setProperty('--t-focus-color', 'initial'));
240
+ const button = page.locator('q2-btn').locator('button');
241
+ await page.keyboard.press('Tab');
242
+ await expect(button).toBeFocused();
243
+ await page.waitForTimeout(125);
244
+ expect(await button.evaluate(element => getComputedStyle(element).boxShadow)).toContain('rgb(0, 102, 204)');
245
+ });
246
+ });
94
247
  test.describe('q2-btn plain (no intent) — states × themes', () => {
95
248
  for (const theme of THEMES) {
96
249
  restingCase('q2-btn--plain--resting', plainHtml(), theme);
@@ -93,6 +93,7 @@ button {
93
93
  * @prop --tct-calendar-margin-bottom: (<length-percentage>) Controls the bottom margin of the calendar host when --tct-calendar-margin is not set.
94
94
  * @prop --tct-calendar-popover-padding: (<length-percentage>+) Controls the inner padding of the calendar popover.
95
95
  * @prop --tct-calendar-label-padding: (<length-percentage>+) Controls the inner padding of the calendar input label.
96
+ * @prop --tct-calendar-icon-size: (<length>) Controls the size of the calendar input icon.
96
97
  * @prop --tct-calendar-label-font-size: (<length-percentage>) Controls the font size of the calendar input label.
97
98
  * @prop --tct-calendar-month-font-size: (<length-percentage>) Controls the font size of the calendar month heading.
98
99
  * @prop --tct-calendar-month-font-weight: (<number>) Controls the font weight of the calendar month heading.
@@ -141,6 +142,8 @@ click-elsewhere {
141
142
  q2-input {
142
143
  margin: 0;
143
144
  cursor: pointer;
145
+ letter-spacing: inherit;
146
+ --tct-input-icon-size: var(--tct-calendar-icon-size, var(--const-px-18, 18px));
144
147
  --tct-input-btn-hover-background: var(--tct-calendar-btn-hover-background, var(--app-gray-l3, #f2f2f2));
145
148
  --tct-input-btn-icon-stroke-primary: var(--tct-calendar-btn-icon-stroke-primary, var(--app-gray, #747474));
146
149
  --tct-input-btn-icon-stroke-secondary: var(--tct-calendar-btn-icon-stroke-secondary, var(--app-gray, #747474));
@@ -351,6 +351,7 @@ export class Q2Calendar {
351
351
  }
352
352
  handleClear() {
353
353
  mirrorEmit(this, ['change', 'tctChange'], { value: null });
354
+ this.internalError = '';
354
355
  this.value = null;
355
356
  this.typedValue = '';
356
357
  }
@@ -496,6 +497,7 @@ export class Q2Calendar {
496
497
  // resetting by empty string
497
498
  if (newValue === '') {
498
499
  this.value = undefined;
500
+ this.internalError = '';
499
501
  this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });
500
502
  return;
501
503
  }
@@ -801,12 +803,12 @@ export class Q2Calendar {
801
803
  }
802
804
  renderInputField() {
803
805
  const { isTypeable, label } = this;
804
- return (h("q2-input", { ref: el => (this.controlElement = el), class: "calendar-input-field", value: this.formattedValue, label: loc(label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, clearable: this.canClear, placeholder: this.computedPlaceholder, optional: !!this.optional, valid: this.valid, ariaExpanded: `${!!this.open}`, ariaControls: "calendar-popover", ariaHaspopup: "dialog", hints: this.hintList, errors: this.errorList, onClick: isTypeable ? undefined : this.onInputClick, onChange: e => e.stopImmediatePropagation(), onTctChange: e => e.stopImmediatePropagation(), onInput: e => e.stopImmediatePropagation(), onTctInput: this.onInputInput, onKeyDown: this.onInputKeydown, onKeyUp: this.onInputKeyup, onBlur: this.onInputBlur, onFocus: this.onInputFocus, "icon-right": isTypeable ? undefined : 'calendar', "format-modifier": isTypeable ? this.formatModifier : this.displayFormat || this.formatModifier, type: "date", "hide-messages": !isTypeable, "test-id": "inputAndCalendarToggle", _role: "combobox", _preventEntry: !isTypeable }, isTypeable && (h("q2-btn", { ref: el => (this.btnCalendarToggle = el), slot: "input-right", onClick: this.onInputClick, "test-id": "calendarToggle", label: loc('tecton.element.calendar.toggleAriaLabel', [
806
+ return (h("q2-input", { ref: el => (this.controlElement = el), class: "calendar-input-field", value: this.formattedValue, label: loc(label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, clearable: this.canClear, placeholder: this.computedPlaceholder, optional: !!this.optional, valid: this.valid, ariaExpanded: isTypeable ? undefined : `${!!this.open}`, ariaControls: isTypeable ? undefined : 'calendar-popover', ariaHaspopup: isTypeable ? undefined : 'dialog', hints: this.hintList, errors: this.errorList, onClick: isTypeable ? undefined : this.onInputClick, onChange: e => e.stopImmediatePropagation(), onTctChange: e => e.stopImmediatePropagation(), onInput: e => e.stopImmediatePropagation(), onTctInput: this.onInputInput, onKeyDown: this.onInputKeydown, onKeyUp: this.onInputKeyup, onBlur: this.onInputBlur, onFocus: this.onInputFocus, "icon-right": isTypeable ? undefined : 'calendar', "format-modifier": isTypeable ? this.formatModifier : this.displayFormat || this.formatModifier, type: "date", "hide-messages": !isTypeable, "test-id": "inputAndCalendarToggle", pseudo: !isTypeable, _role: isTypeable ? undefined : 'combobox', _preventEntry: !isTypeable }, isTypeable && (h("q2-btn", { ref: el => (this.btnCalendarToggle = el), slot: "input-right", onClick: this.onInputClick, "test-id": "calendarToggle", label: loc('tecton.element.calendar.toggleAriaLabel', [
805
807
  label ? loc(label) : loc('tecton.element.calendar.defaultLabel'),
806
- ]), ariaExpanded: `${!!this.open}`, "hide-label": true, disabled: !!this.disabled || !!this.readonly }, h("q2-icon", { type: "calendar" })))));
808
+ ]), ariaExpanded: `${!!this.open}`, ariaHasPopup: "dialog", "hide-label": true, disabled: !!this.disabled || !!this.readonly }, h("q2-icon", { type: "calendar" })))));
807
809
  }
808
810
  render() {
809
- return (h("click-elsewhere", { key: 'e7bcb2f1aec6ca1149742b0b3edc0a7bbf9ce925', class: this.open ? 'dropdown-open' : undefined, onChange: this.onClickElsewhere }, this.renderInputField(), h("q2-popover", { key: 'c80c5d1ecfb42a319bba294b20f519a2be6808e1', ref: el => (this.popoverElement = el), id: "calendar-popover", controlElement: this.innerInputContainer, open: this.open, direction: this.popoverDirection, minHeight: this.popoverMinHeight, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: true }, this.renderHintField(), this.renderCalendarPopover())));
811
+ return (h("click-elsewhere", { key: '89bfe4685021ec4fb3bf1abe1e1d5127c4712582', class: this.open ? 'dropdown-open' : undefined, onChange: this.onClickElsewhere }, this.renderInputField(), h("q2-popover", { key: '9508bb1a1d9d05b133df8e1842d1b9fd72f40937', ref: el => (this.popoverElement = el), id: "calendar-popover", controlElement: this.innerInputContainer, open: this.open, direction: this.popoverDirection, minHeight: this.popoverMinHeight, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: true }, this.renderHintField(), this.renderCalendarPopover())));
810
812
  }
811
813
  static get is() { return "q2-calendar"; }
812
814
  static get encapsulation() { return "shadow"; }