q2-tecton-elements 1.60.2 → 1.61.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 (315) hide show
  1. package/dist/bundle-report.json +16580 -15448
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-action-group_2.cjs.entry.js +1 -1
  4. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-badge.cjs.entry.js +82 -0
  6. package/dist/cjs/q2-badge.cjs.entry.js.map +1 -0
  7. package/dist/cjs/q2-badge.entry.cjs.js.map +1 -0
  8. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -0
  9. package/dist/cjs/q2-btn_2.cjs.entry.js +432 -0
  10. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -0
  11. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  14. package/dist/cjs/q2-file-picker.cjs.entry.js +15 -3
  15. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  17. package/dist/cjs/q2-grid-area.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-grid-area.entry.cjs.js.map +1 -1
  20. package/dist/cjs/q2-icon.cjs.entry.js +715 -0
  21. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -0
  22. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -0
  23. package/dist/cjs/q2-input.cjs.entry.js +3556 -0
  24. package/dist/cjs/q2-input.cjs.entry.js.map +1 -0
  25. package/dist/cjs/q2-input.entry.cjs.js.map +1 -0
  26. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  30. package/dist/cjs/q2-link_2.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-meter.cjs.entry.js +109 -0
  33. package/dist/cjs/q2-meter.cjs.entry.js.map +1 -0
  34. package/dist/cjs/q2-meter.entry.cjs.js.map +1 -0
  35. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-pagination.cjs.entry.js +23 -10
  38. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  39. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  40. package/dist/cjs/q2-pill.cjs.entry.js +36 -12
  41. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  43. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-select.cjs.entry.js +6 -3
  46. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  48. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-tab-container.cjs.entry.js +280 -0
  51. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -0
  52. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -0
  53. package/dist/cjs/q2-tab-pane.cjs.entry.js +34 -0
  54. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -0
  55. package/dist/cjs/q2-tab-pane.entry.cjs.js.map +1 -0
  56. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  58. package/dist/cjs/{sanitize-html-string-BtI99lfg.js → sanitize-html-string-DPqrzfM9.js} +61 -27
  59. package/dist/cjs/sanitize-html-string-DPqrzfM9.js.map +1 -0
  60. package/dist/cjs/sprites-DZZE7UFT.js +22 -0
  61. package/dist/cjs/sprites-DZZE7UFT.js.map +1 -0
  62. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  63. package/dist/collection/collection-manifest.json +1 -0
  64. package/dist/collection/components/q2-data-table/q2-data-table.css +23 -2
  65. package/dist/collection/components/q2-file-picker/q2-file-picker.css +5 -0
  66. package/dist/collection/components/q2-file-picker/q2-file-picker.js +33 -2
  67. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  68. package/dist/collection/components/q2-grid-area/q2-grid-area.js +15 -15
  69. package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +1 -1
  70. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  71. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  72. package/dist/collection/components/q2-legend/q2-legend.css +7 -7
  73. package/dist/collection/components/q2-link/q2-link.css +3 -3
  74. package/dist/collection/components/q2-meter/q2-meter.css +230 -0
  75. package/dist/collection/components/q2-meter/q2-meter.js +384 -0
  76. package/dist/collection/components/q2-meter/q2-meter.js.map +1 -0
  77. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  78. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  79. package/dist/collection/components/q2-pagination/q2-pagination.js +29 -15
  80. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  81. package/dist/collection/components/q2-pill/q2-pill.css +10 -4
  82. package/dist/collection/components/q2-pill/q2-pill.js +35 -11
  83. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  84. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  85. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  86. package/dist/collection/components/q2-section/q2-section.js +2 -2
  87. package/dist/collection/components/q2-select/q2-select.js +6 -3
  88. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  89. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  90. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  91. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  92. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  93. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  94. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  95. package/dist/components/index.js +2 -0
  96. package/dist/components/index.js.map +1 -1
  97. package/dist/components/q2-data-table.js +1 -1
  98. package/dist/components/q2-data-table.js.map +1 -1
  99. package/dist/components/q2-file-picker.js +16 -3
  100. package/dist/components/q2-file-picker.js.map +1 -1
  101. package/dist/components/q2-grid-area.js +8 -8
  102. package/dist/components/q2-grid-area.js.map +1 -1
  103. package/dist/components/q2-legend2.js +1 -1
  104. package/dist/components/q2-legend2.js.map +1 -1
  105. package/dist/components/q2-link2.js +1 -1
  106. package/dist/components/q2-link2.js.map +1 -1
  107. package/dist/components/q2-meter.d.ts +11 -0
  108. package/dist/components/q2-meter.js +145 -0
  109. package/dist/components/q2-meter.js.map +1 -0
  110. package/dist/components/q2-modal.js +1 -1
  111. package/dist/components/q2-optgroup2.js +1 -1
  112. package/dist/components/q2-pagination.js +24 -11
  113. package/dist/components/q2-pagination.js.map +1 -1
  114. package/dist/components/q2-pill.js +36 -12
  115. package/dist/components/q2-pill.js.map +1 -1
  116. package/dist/components/q2-relative-time.js +1 -1
  117. package/dist/components/q2-resize-observer2.js +1 -1
  118. package/dist/components/q2-section.js +2 -2
  119. package/dist/components/q2-select2.js +6 -3
  120. package/dist/components/q2-select2.js.map +1 -1
  121. package/dist/components/q2-stepper-vertical.js +1 -1
  122. package/dist/components/q2-stepper.js +1 -1
  123. package/dist/components/q2-tab-container.js +1 -1
  124. package/dist/components/q2-tab-pane.js +1 -1
  125. package/dist/components/q2-tag.js +1 -1
  126. package/dist/components/q2-tooltip.js +1 -127
  127. package/dist/components/q2-tooltip.js.map +1 -1
  128. package/dist/components/q2-tooltip2.js +132 -0
  129. package/dist/components/q2-tooltip2.js.map +1 -0
  130. package/dist/components/sanitize-html-string.js +59 -25
  131. package/dist/components/sanitize-html-string.js.map +1 -1
  132. package/dist/components/tecton-tab-pane.js +2 -2
  133. package/dist/esm/{index-xCuy-dFb.js → index-LNnzUeDP.js} +3 -3
  134. package/dist/esm/{index-xCuy-dFb.js.map → index-LNnzUeDP.js.map} +1 -1
  135. package/dist/esm/loader.js +1 -1
  136. package/dist/esm/q2-action-group_2.entry.js +2 -2
  137. package/dist/esm/q2-action-sheet.entry.js +2 -2
  138. package/dist/esm/q2-badge.entry.js +80 -0
  139. package/dist/esm/q2-badge.entry.js.map +1 -0
  140. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -0
  141. package/dist/esm/q2-btn_2.entry.js +429 -0
  142. package/dist/esm/q2-btn_2.entry.js.map +1 -0
  143. package/dist/esm/q2-calendar.entry.js +1 -1
  144. package/dist/esm/q2-card.entry.js +1 -1
  145. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  146. package/dist/esm/q2-carousel.entry.js +1 -1
  147. package/dist/esm/q2-chart-area.entry.js +1 -1
  148. package/dist/esm/q2-chart-bar.entry.js +1 -1
  149. package/dist/esm/q2-chart-donut.entry.js +1 -1
  150. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  151. package/dist/esm/q2-checkbox.entry.js +1 -1
  152. package/dist/esm/q2-context.entry.js +1 -1
  153. package/dist/esm/q2-data-table.entry.js +2 -2
  154. package/dist/esm/q2-data-table.entry.js.map +1 -1
  155. package/dist/esm/q2-detail.entry.js +1 -1
  156. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  157. package/dist/esm/q2-dropdown.entry.js +1 -1
  158. package/dist/esm/q2-editable-field.entry.js +1 -1
  159. package/dist/esm/q2-file-picker.entry.js +16 -4
  160. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  161. package/dist/esm/q2-grid-area.entry.js +2 -2
  162. package/dist/esm/q2-grid-area.entry.js.map +1 -1
  163. package/dist/esm/q2-icon.entry.js +713 -0
  164. package/dist/esm/q2-icon.entry.js.map +1 -0
  165. package/dist/esm/q2-input.entry.js +3554 -0
  166. package/dist/esm/q2-input.entry.js.map +1 -0
  167. package/dist/esm/q2-item.entry.js +1 -1
  168. package/dist/esm/q2-legend.entry.js +1 -1
  169. package/dist/esm/q2-legend.entry.js.map +1 -1
  170. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  171. package/dist/esm/q2-link_2.entry.js +2 -2
  172. package/dist/esm/q2-link_2.entry.js.map +1 -1
  173. package/dist/esm/q2-loc.entry.js +1 -1
  174. package/dist/esm/q2-message.entry.js +1 -1
  175. package/dist/esm/q2-meter.entry.js +107 -0
  176. package/dist/esm/q2-meter.entry.js.map +1 -0
  177. package/dist/esm/q2-modal.entry.js +3 -3
  178. package/dist/esm/q2-month-picker.entry.js +1 -1
  179. package/dist/esm/q2-optgroup.entry.js +2 -2
  180. package/dist/esm/q2-option-list_2.entry.js +1 -1
  181. package/dist/esm/q2-option.entry.js +1 -1
  182. package/dist/esm/q2-pagination.entry.js +24 -11
  183. package/dist/esm/q2-pagination.entry.js.map +1 -1
  184. package/dist/esm/q2-pill.entry.js +37 -13
  185. package/dist/esm/q2-pill.entry.js.map +1 -1
  186. package/dist/esm/q2-radio-group.entry.js +1 -1
  187. package/dist/esm/q2-radio.entry.js +1 -1
  188. package/dist/esm/q2-relative-time.entry.js +2 -2
  189. package/dist/esm/q2-section.entry.js +3 -3
  190. package/dist/esm/q2-select.entry.js +7 -4
  191. package/dist/esm/q2-select.entry.js.map +1 -1
  192. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  193. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  194. package/dist/esm/q2-stepper.entry.js +2 -2
  195. package/dist/esm/q2-tab-container.entry.js +278 -0
  196. package/dist/esm/q2-tab-container.entry.js.map +1 -0
  197. package/dist/esm/q2-tab-pane.entry.js +32 -0
  198. package/dist/esm/q2-tab-pane.entry.js.map +1 -0
  199. package/dist/esm/q2-tag.entry.js +2 -2
  200. package/dist/esm/q2-tecton-elements.js +1 -1
  201. package/dist/esm/q2-textarea.entry.js +1 -1
  202. package/dist/esm/q2-tooltip.entry.js +1 -1
  203. package/dist/esm/{sanitize-html-string-DL0kgllh.js → sanitize-html-string-DOVERJq5.js} +61 -27
  204. package/dist/esm/sanitize-html-string-DOVERJq5.js.map +1 -0
  205. package/dist/esm/sprites-jG2RmiwF.js +20 -0
  206. package/dist/esm/sprites-jG2RmiwF.js.map +1 -0
  207. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  208. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  209. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  210. package/dist/q2-tecton-elements/{index-xCuy-dFb.js → index-LNnzUeDP.js} +3 -3
  211. package/dist/q2-tecton-elements/{index-xCuy-dFb.js.map → index-LNnzUeDP.js.map} +1 -1
  212. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  213. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  214. package/dist/q2-tecton-elements/q2-badge.entry.esm.js.map +1 -0
  215. package/dist/q2-tecton-elements/q2-badge.entry.js +84 -0
  216. package/dist/q2-tecton-elements/q2-badge.entry.js.map +1 -0
  217. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -0
  218. package/dist/q2-tecton-elements/q2-btn_2.entry.js +453 -0
  219. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -0
  220. package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
  221. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  222. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  223. package/dist/q2-tecton-elements/q2-carousel.entry.js +5 -5
  224. package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
  225. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1 -1
  226. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +9 -9
  227. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  228. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  229. package/dist/q2-tecton-elements/q2-context.entry.js +1 -1
  230. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  231. package/dist/q2-tecton-elements/q2-data-table.entry.js +109 -109
  232. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  233. package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
  234. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +4 -4
  235. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  236. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  237. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  238. package/dist/q2-tecton-elements/q2-file-picker.entry.js +112 -93
  239. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  240. package/dist/q2-tecton-elements/q2-grid-area.entry.esm.js.map +1 -1
  241. package/dist/q2-tecton-elements/q2-grid-area.entry.js +3 -3
  242. package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -1
  243. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -0
  244. package/dist/q2-tecton-elements/q2-icon.entry.js +870 -0
  245. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -0
  246. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -0
  247. package/dist/q2-tecton-elements/q2-input.entry.js +3883 -0
  248. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -0
  249. package/dist/q2-tecton-elements/q2-item.entry.js +1 -1
  250. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  251. package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
  252. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  253. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  254. package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
  255. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  256. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  257. package/dist/q2-tecton-elements/q2-message.entry.js +1 -1
  258. package/dist/q2-tecton-elements/q2-meter.entry.esm.js.map +1 -0
  259. package/dist/q2-tecton-elements/q2-meter.entry.js +176 -0
  260. package/dist/q2-tecton-elements/q2-meter.entry.js.map +1 -0
  261. package/dist/q2-tecton-elements/q2-modal.entry.js +24 -24
  262. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  263. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  264. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +15 -15
  265. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  266. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  267. package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -33
  268. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  269. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  270. package/dist/q2-tecton-elements/q2-pill.entry.js +57 -36
  271. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  272. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  273. package/dist/q2-tecton-elements/q2-radio.entry.js +4 -4
  274. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  275. package/dist/q2-tecton-elements/q2-section.entry.js +21 -21
  276. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  277. package/dist/q2-tecton-elements/q2-select.entry.js +7 -4
  278. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  279. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  280. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +19 -19
  281. package/dist/q2-tecton-elements/q2-stepper.entry.js +13 -13
  282. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -0
  283. package/dist/q2-tecton-elements/q2-tab-container.entry.js +348 -0
  284. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/q2-tab-pane.entry.esm.js.map +1 -0
  286. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +44 -0
  287. package/dist/q2-tecton-elements/q2-tab-pane.entry.js.map +1 -0
  288. package/dist/q2-tecton-elements/q2-tag.entry.js +57 -57
  289. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  290. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  291. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  292. package/dist/q2-tecton-elements/{sanitize-html-string-DL0kgllh.js → sanitize-html-string-DOVERJq5.js} +314 -282
  293. package/dist/q2-tecton-elements/sanitize-html-string-DOVERJq5.js.map +1 -0
  294. package/dist/q2-tecton-elements/sprites-jG2RmiwF.js +18 -0
  295. package/dist/q2-tecton-elements/sprites-jG2RmiwF.js.map +1 -0
  296. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  297. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +5 -0
  298. package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +6 -6
  299. package/dist/types/components/q2-meter/q2-meter.d.ts +70 -0
  300. package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -1
  301. package/dist/types/components/q2-pill/q2-pill.d.ts +8 -1
  302. package/dist/types/components.d.ts +147 -4
  303. package/package.json +3 -3
  304. package/dist/cjs/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.cjs.js.map +0 -1
  305. package/dist/cjs/q2-badge_7.cjs.entry.js +0 -5074
  306. package/dist/cjs/q2-badge_7.cjs.entry.js.map +0 -1
  307. package/dist/cjs/sanitize-html-string-BtI99lfg.js.map +0 -1
  308. package/dist/esm/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.js.map +0 -1
  309. package/dist/esm/q2-badge_7.entry.js +0 -5066
  310. package/dist/esm/q2-badge_7.entry.js.map +0 -1
  311. package/dist/esm/sanitize-html-string-DL0kgllh.js.map +0 -1
  312. package/dist/q2-tecton-elements/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.esm.js.map +0 -1
  313. package/dist/q2-tecton-elements/q2-badge_7.entry.js +0 -5659
  314. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +0 -1
  315. package/dist/q2-tecton-elements/sanitize-html-string-DL0kgllh.js.map +0 -1
@@ -0,0 +1,429 @@
1
+ import { r as registerInstance, h, F as Fragment, g as getElement } from './index-CGkHOjh1.js';
2
+ import { t as handleDeprecationWarning, e as handleAriaLabel, u as handleColor, o as overrideFocus, a as isEventFromElement, v as getAriaValueFromProp, l as loc } from './index-LNnzUeDP.js';
3
+ import { s as shapes } from './shapes-B6iI6sMH.js';
4
+ import { g as getOrCreateSpriteContainer } from './sprites-jG2RmiwF.js';
5
+
6
+ const q2BtnCss = "*{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}*{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}q2-loading{--tct-loading-primary-color:currentcolor;--tct-loading-secondary-color:currentcolor;--tct-loading-spinner-size:24px}.slot-container{display:flex;align-items:center;justify-content:center;gap:var(--app-scale-1x, 5px);pointer-events:none}:host([loading]) .icon-right .slot-container{flex-direction:row-reverse}:host([loading]) ::slotted(q2-icon){display:none}:host([loading]:not([loading=false])) button{pointer-events:none}:host([block]) button,:host([block]) button.icon-only{display:block;width:100%}:host{display:inline-block}:host([hidden]){display:none}:host([block]){display:block;width:100%}::slotted(q2-icon){pointer-events:none;margin-block:-100px}:host{--comp-font-weight:600;--comp-border-radius:var(--tct-btn-border-radius, var(--app-border-radius-1, 4px));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-background-alternative:#ebf8ff}:host .btn-height-wrapper{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--app-scale-1x, 5px)}:host .btn-height-wrapper:active{box-shadow:none}button{margin:var(--tct-scale-0, var(--app-scale-0x, 0));padding:var(--tct-scale-0, var(--app-scale-0x, 0));display:inline-block;width:100%;hyphens:auto;border:var(--tct-btn-border);background:transparent;box-shadow:none;border-radius:0;font-weight:400;color:inherit;cursor:pointer;transition:var(--comp-btn-tween);transition-property:background, color, box-shadow, fill, border-color, border-width;outline:0}button:disabled{opacity:var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));cursor:not-allowed}button.has-color,button.has-intent{font-size:var(--tct-btn-font-size, var(--t-btn-font-size, inherit));border-radius:var(--tct-btn-border-radius, var(--comp-border-radius));text-transform:var(--tct-btn-text-transform);letter-spacing:var(--tct-btn-letter-spacing, inherit)}button.has-color:not(.has-size),button.has-intent:not(.has-size){padding:var(--tct-btn-padding, var(--t-btn-padding, var(--tct-scale-2, var(--app-scale-2x, 10px))))}button:not(.has-size):not(.icon-only) ::slotted(q2-icon){--tct-icon-size:var(--tct-btn-icon-size, 18px)}:host([size=\"1\"]) button{padding:var(--tct-scale-1, var(--app-scale-1x, 5px))}:host([size=\"2\"]) button{padding:var(--tct-scale-2, var(--app-scale-2x, 10px))}:host([size=\"3\"]) button{padding:var(--tct-scale-3, var(--app-scale-3x, 15px))}:host([size=\"4x\"]) button{padding:var(--tct-scale-4x, var(--app-scale-4x, 20px))}:host([size=\"4\"]) button{padding:var(--tct-scale-6x, var(--app-scale-6x, 30px))}:host([size=small]) button{padding:var(--tct-btn-padding-size-small, var(--t-btn-padding-size-small, 4px 16px));font-size:var(--tct-btn-font-size-small, var(--t-btn-font-size-small, 14px))}:host([size=small]) button:not(.icon-only) ::slotted(q2-icon){--tct-icon-size:var(--tct-btn-icon-size-small, 16px)}:host([size=medium]) button{padding:var(--tct-btn-padding-size-medium, var(--t-btn-padding-size-medium, 12px 24px));font-size:var(--tct-btn-font-size-medium, var(--t-btn-font-size-medium, 16px))}:host([size=medium]) button:not(.icon-only) ::slotted(q2-icon){--tct-icon-size:var(--tct-btn-icon-size-medium, unset)}:host([size=large]) button{padding:var(--tct-btn-padding-size-large, var(--t-btn-padding-size-large, 16px 32px));font-size:var(--tct-btn-font-size-large, var(--t-btn-font-size-large, 20px))}:host([size=large]) button:not(.icon-only) ::slotted(q2-icon){--tct-icon-size:var(--tct-btn-icon-size-large, unset)}:host([color=primary]) button,:host([intent=workflow-primary]) button{backdrop-filter:var(--tct-btn-primary-backdrop-filter);--comp-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)));--comp-hover-background:var(--tct-btn-primary-hover-background, var(--tct-btn-primary-hover-bg));--comp-font-color:var(--tct-btn-primary-font-color, var(--app-white, #ffffff));--comp-box-shadow:var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-focus-box-shadow:var(--tct-btn-primary-focus-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-active-background:var(--tct-btn-primary-active-background, #0063a0);--comp-hover-outer-ring-color:var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:var(\n --tct-btn-primary-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-primary-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-primary-focus-visible-inner-ring-color, var(--comp-font-color));--comp-focus-visible-box-shadow:var(\n --tct-btn-primary-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-primary-border-style, var(--comp-border-style));border-width:var(--tct-btn-primary-border-width, var(--comp-border-width));font-weight:var(--tct-btn-primary-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-primary-border-color, var(--comp-border-color));background:var(--tct-btn-primary-background, var(--comp-background));color:var(--tct-btn-primary-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-primary-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([color=primary]) button:enabled:hover,:host([intent=workflow-primary]) button:enabled:hover{border-color:var(--tct-btn-primary-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-primary-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([color=primary]) button:enabled:focus,:host([intent=workflow-primary]) button:enabled:focus{border-color:var(--tct-btn-primary-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-primary-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([color=primary]) button:enabled:focus-visible,:host([intent=workflow-primary]) button:enabled:focus-visible{border-color:var(--tct-btn-primary-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-primary-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([color=primary]) button:enabled:active,:host([intent=workflow-primary]) button:enabled:active{border-color:var(--tct-btn-primary-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-primary-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([color=primary]) button:focus-visible,:host([color=primary]) button:focus-visible:hover:enabled,:host([color=primary]) button:focus,:host([color=primary]) button:focus:hover:enabled,:host([intent=workflow-primary]) button:focus-visible,:host([intent=workflow-primary]) button:focus-visible:hover:enabled,:host([intent=workflow-primary]) button:focus,:host([intent=workflow-primary]) button:focus:hover:enabled{border-color:var(--tct-btn-primary-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-primary-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([color=primary]) button:focus-visible:active:enabled,:host([color=primary]) button:focus:active:enabled,:host([intent=workflow-primary]) button:focus-visible:active:enabled,:host([intent=workflow-primary]) button:focus:active:enabled{border-color:var(--tct-btn-primary-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-primary-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([color=primary]) button:disabled,:host([intent=workflow-primary]) button:disabled{border-color:var(--tct-btn-primary-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-primary-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-primary-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-primary-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([color=primary]) button ::slotted(q2-icon),:host([intent=workflow-primary]) button ::slotted(q2-icon){--t-text:var(--tct-btn-primary-icon-color, var(--t-btn-primary-icon-color, var(--comp-font-color, currentcolor)))}:host([color=secondary]) button,:host([intent=workflow-secondary]) button{backdrop-filter:var(--tct-btn-secondary-backdrop-filter);--comp-background:var(--tct-btn-secondary-background, var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc)));--comp-hover-background:var(--tct-btn-secondary-hover-background, var(--tct-btn-secondary-hover-bg, var(--t-a11y-active-gray-color-AA, #404040)));--comp-hover-font-color:var(--app-white, #ffffff);--comp-box-shadow:var(--tct-btn-secondary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-focus-box-shadow:var(--tct-btn-secondary-focus-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-hover-outer-ring-color:var(--tct-btn-secondary-hover-outer-ring-color, var(--comp-hover-background));--comp-hover-inner-ring-color:var(--tct-btn-secondary-hover-inner-ring-color, var(--app-white));--comp-hover-box-shadow:var(\n --tct-btn-secondary-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-secondary-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-secondary-focus-visible-inner-ring-color, var(--app-white));--comp-focus-visible-box-shadow:var(\n --tct-btn-secondary-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-secondary-border-style, var(--comp-border-style));border-width:var(--tct-btn-secondary-border-width, var(--comp-border-width));font-weight:var(--tct-btn-secondary-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-secondary-border-color, var(--comp-border-color));background:var(--tct-btn-secondary-background, var(--comp-background));color:var(--tct-btn-secondary-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-secondary-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([color=secondary]) button:enabled:hover,:host([intent=workflow-secondary]) button:enabled:hover{border-color:var(--tct-btn-secondary-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-secondary-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([color=secondary]) button:enabled:focus,:host([intent=workflow-secondary]) button:enabled:focus{border-color:var(--tct-btn-secondary-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-secondary-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([color=secondary]) button:enabled:focus-visible,:host([intent=workflow-secondary]) button:enabled:focus-visible{border-color:var(--tct-btn-secondary-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-secondary-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([color=secondary]) button:enabled:active,:host([intent=workflow-secondary]) button:enabled:active{border-color:var(--tct-btn-secondary-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-secondary-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([color=secondary]) button:focus-visible,:host([color=secondary]) button:focus-visible:hover:enabled,:host([color=secondary]) button:focus,:host([color=secondary]) button:focus:hover:enabled,:host([intent=workflow-secondary]) button:focus-visible,:host([intent=workflow-secondary]) button:focus-visible:hover:enabled,:host([intent=workflow-secondary]) button:focus,:host([intent=workflow-secondary]) button:focus:hover:enabled{border-color:var(--tct-btn-secondary-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-secondary-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([color=secondary]) button:focus-visible:active:enabled,:host([color=secondary]) button:focus:active:enabled,:host([intent=workflow-secondary]) button:focus-visible:active:enabled,:host([intent=workflow-secondary]) button:focus:active:enabled{border-color:var(--tct-btn-secondary-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-secondary-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([color=secondary]) button:disabled,:host([intent=workflow-secondary]) button:disabled{border-color:var(--tct-btn-secondary-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-secondary-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-secondary-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-secondary-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([color=secondary]) button ::slotted(q2-icon),:host([intent=workflow-secondary]) button ::slotted(q2-icon){--t-text:var(--tct-btn-secondary-icon-color, var(--t-btn-secondary-icon-color, var(--comp-font-color, currentcolor)))}:host([intent=workflow-destroy]) button{backdrop-filter:var(--tct-btn-destroy-backdrop-filter);--comp-background:var(--tct-btn-destroy-background, var(--const-stoplight-alert, #d20a0a));--comp-font-color:var(--tct-btn-destroy-font-color, var(--app-white));--comp-box-shadow:var(--tct-btn-destroy-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-focus-box-shadow:var(--tct-btn-destroy-focus-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-hover-outer-ring-color:var(--tct-btn-destroy-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-destroy-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:var(\n --tct-btn-destroy-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-destroy-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-destroy-focus-visible-inner-ring-color, var(--comp-font-color));--comp-focus-visible-box-shadow:var(\n --tct-btn-destroy-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-destroy-border-style, var(--comp-border-style));border-width:var(--tct-btn-destroy-border-width, var(--comp-border-width));font-weight:var(--tct-btn-destroy-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-destroy-border-color, var(--comp-border-color));background:var(--tct-btn-destroy-background, var(--comp-background));color:var(--tct-btn-destroy-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-destroy-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([intent=workflow-destroy]) button:enabled:hover{border-color:var(--tct-btn-destroy-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-destroy-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=workflow-destroy]) button:enabled:focus{border-color:var(--tct-btn-destroy-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-destroy-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([intent=workflow-destroy]) button:enabled:focus-visible{border-color:var(--tct-btn-destroy-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-destroy-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([intent=workflow-destroy]) button:enabled:active{border-color:var(--tct-btn-destroy-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-destroy-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=workflow-destroy]) button:focus-visible,:host([intent=workflow-destroy]) button:focus-visible:hover:enabled,:host([intent=workflow-destroy]) button:focus,:host([intent=workflow-destroy]) button:focus:hover:enabled{border-color:var(--tct-btn-destroy-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-destroy-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=workflow-destroy]) button:focus-visible:active:enabled,:host([intent=workflow-destroy]) button:focus:active:enabled{border-color:var(--tct-btn-destroy-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-destroy-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=workflow-destroy]) button:disabled{border-color:var(--tct-btn-destroy-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-destroy-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-destroy-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-destroy-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([intent=workflow-destroy]) button ::slotted(q2-icon){--t-text:var(--tct-btn-destroy-icon-color, var(--t-btn-destroy-icon-color, var(--comp-font-color, currentcolor)))}:host([intent=workflow-escape]) button{backdrop-filter:var(--tct-btn-escape-backdrop-filter);--comp-background:var(--tct-btn-escape-background, var(--app-white, #ffffff));--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))));--comp-box-shadow:var(--tct-btn-escape-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-hover-box-shadow:var(--tct-btn-escape-hover-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-focus-box-shadow:var(--tct-btn-escape-focus-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-hover-background:var(--tct-btn-escape-hover-background, var(--comp-background-alternative));--comp-active-background:var(--tct-btn-escape-active-background, var(--comp-background-alternative));--comp-focus-background:var(--tct-btn-escape-focus-background, var(--comp-background-alternative));--comp-hover-outer-ring-color:var(--tct-btn-escape-hover-outer-ring-color, var(--comp-font-color));--comp-hover-inner-ring-color:var(--tct-btn-escape-hover-inner-ring-color, var(--comp-background));--comp-hover-box-shadow:var(\n --tct-btn-escape-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-escape-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-escape-focus-visible-inner-ring-color, var(--comp-background));--comp-focus-visible-box-shadow:var(\n --tct-btn-escape-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-escape-border-style, var(--comp-border-style));border-width:var(--tct-btn-escape-border-width, var(--comp-border-width));font-weight:var(--tct-btn-escape-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-escape-border-color, var(--comp-border-color));background:var(--tct-btn-escape-background, var(--comp-background));color:var(--tct-btn-escape-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-escape-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([intent=workflow-escape]) button:enabled:hover{border-color:var(--tct-btn-escape-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-escape-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=workflow-escape]) button:enabled:focus{border-color:var(--tct-btn-escape-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-escape-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([intent=workflow-escape]) button:enabled:focus-visible{border-color:var(--tct-btn-escape-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-escape-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([intent=workflow-escape]) button:enabled:active{border-color:var(--tct-btn-escape-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-escape-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=workflow-escape]) button:focus-visible,:host([intent=workflow-escape]) button:focus-visible:hover:enabled,:host([intent=workflow-escape]) button:focus,:host([intent=workflow-escape]) button:focus:hover:enabled{border-color:var(--tct-btn-escape-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-escape-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=workflow-escape]) button:focus-visible:active:enabled,:host([intent=workflow-escape]) button:focus:active:enabled{border-color:var(--tct-btn-escape-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-escape-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=workflow-escape]) button:disabled{border-color:var(--tct-btn-escape-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-escape-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-escape-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-escape-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([intent=workflow-escape]) button ::slotted(q2-icon){--t-text:var(--tct-btn-escape-icon-color, var(--t-btn-escape-icon-color, var(--comp-font-color, currentcolor)))}:host([intent=neutral]) button{backdrop-filter:var(--tct-btn-neutral-backdrop-filter);--comp-background:var(--tct-btn-neutral-background, var(--app-white, #ffffff));--comp-font-color:var(--tct-btn-neutral-font-color, var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040))));--comp-box-shadow:var(--tct-btn-neutral-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-focus-box-shadow:var(--tct-btn-neutral-focus-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-border-width:1px;--comp-border-style:solid;--comp-border-color:var(--comp-font-color);--comp-hover-outer-ring-color:var(--tct-btn-neutral-hover-outer-ring-color, var(--comp-font-color));--comp-hover-inner-ring-color:var(--tct-btn-neutral-hover-inner-ring-color, var(--app-white));--comp-hover-box-shadow:var(\n --tct-btn-neutral-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-neutral-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-neutral-focus-visible-inner-ring-color, var(--comp-background));--comp-focus-visible-box-shadow:var(\n --tct-btn-neutral-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-neutral-border-style, var(--comp-border-style));border-width:var(--tct-btn-neutral-border-width, var(--comp-border-width));font-weight:var(--tct-btn-neutral-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-neutral-border-color, var(--comp-border-color));background:var(--tct-btn-neutral-background, var(--comp-background));color:var(--tct-btn-neutral-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-neutral-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([intent=neutral]) button:enabled:hover{border-color:var(--tct-btn-neutral-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-neutral-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=neutral]) button:enabled:focus{border-color:var(--tct-btn-neutral-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-neutral-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([intent=neutral]) button:enabled:focus-visible{border-color:var(--tct-btn-neutral-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-neutral-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([intent=neutral]) button:enabled:active{border-color:var(--tct-btn-neutral-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-neutral-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=neutral]) button:focus-visible,:host([intent=neutral]) button:focus-visible:hover:enabled,:host([intent=neutral]) button:focus,:host([intent=neutral]) button:focus:hover:enabled{border-color:var(--tct-btn-neutral-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-neutral-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=neutral]) button:focus-visible:active:enabled,:host([intent=neutral]) button:focus:active:enabled{border-color:var(--tct-btn-neutral-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-neutral-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=neutral]) button:disabled{border-color:var(--tct-btn-neutral-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-neutral-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([intent=neutral]) button ::slotted(q2-icon){--t-text:var(--tct-btn-neutral-icon-color, var(--t-btn-neutral-icon-color, var(--comp-font-color, currentcolor)))}:host([intent=neutral-text]) button{backdrop-filter:var(--tct-btn-neutral-text-backdrop-filter);--comp-background:var(--tct-btn-neutral-text-background, var(--tct-btn-neutral-text-bg, var(--app-white, #ffffff)));--comp-font-color:var(--tct-btn-neutral-text-font-color, var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040))));--comp-box-shadow:var(--tct-btn-neutral-text-box-shadow);--comp-hover-text-decoration:underline;--comp-focus-background:var(--tct-btn-neutral-text-focus-background, var(--comp-background-alternative));--comp-hover-outer-ring-color:var(--tct-btn-neutral-text-hover-outer-ring-color, var(--comp-font-color));--comp-hover-inner-ring-color:var(--tct-btn-neutral-text-hover-inner-ring-color, var(--comp-background));--comp-hover-box-shadow:var(\n --tct-btn-neutral-text-hover-box-shadow,\n 0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)\n );--comp-active-box-shadow:var(--comp-box-shadow);--comp-disabled-box-shadow:var(--comp-box-shadow);--comp-focus-visible-outer-ring-color:var(--tct-btn-neutral-text-focus-visible-outer-ring-color, var(--const-focus-color));--comp-focus-visible-inner-ring-color:var(--tct-btn-neutral-text-focus-visible-inner-ring-color, var(--app-white));--comp-focus-visible-box-shadow:var(\n --tct-btn-neutral-text-focus-visible-box-shadow,\n 0 0 0 2px var(--comp-focus-visible-inner-ring-color),\n 0 0 0 4px var(--comp-focus-visible-outer-ring-color)\n );border-style:var(--tct-btn-neutral-text-border-style, var(--comp-border-style));border-width:var(--tct-btn-neutral-text-border-width, var(--comp-border-width));font-weight:var(--tct-btn-neutral-text-font-weight, var(--comp-font-weight));border-color:var(--tct-btn-neutral-text-border-color, var(--comp-border-color));background:var(--tct-btn-neutral-text-background, var(--comp-background));color:var(--tct-btn-neutral-text-font-color, var(--comp-font-color));text-decoration:var(--tct-btn-neutral-text-text-decoration, var(--comp-text-decoration));box-shadow:var(--comp-box-shadow)}:host([intent=neutral-text]) button:enabled:hover{border-color:var(--tct-btn-neutral-text-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-neutral-text-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=neutral-text]) button:enabled:focus{border-color:var(--tct-btn-neutral-text-focus-border-color, var(--comp-focus-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-focus-background, var(--comp-focus-background, var(--comp-background)));color:var(--tct-btn-neutral-text-focus-font-color, var(--comp-focus-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-focus-text-decoration, var(--comp-focus-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-box-shadow)}:host([intent=neutral-text]) button:enabled:focus-visible{border-color:var(--tct-btn-neutral-text-focus-visible-border-color, var(--comp-focus-visible-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-focus-visible-background, var(--comp-focus-visible-background, var(--comp-background)));color:var(--tct-btn-neutral-text-focus-visible-font-color, var(--comp-focus-visible-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-focus-visible-text-decoration, var(--comp-focus-visible-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-focus-visible-box-shadow)}:host([intent=neutral-text]) button:enabled:active{border-color:var(--tct-btn-neutral-text-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-neutral-text-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=neutral-text]) button:focus-visible,:host([intent=neutral-text]) button:focus-visible:hover:enabled,:host([intent=neutral-text]) button:focus,:host([intent=neutral-text]) button:focus:hover:enabled{border-color:var(--tct-btn-neutral-text-hover-border-color, var(--comp-hover-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-hover-background, var(--comp-hover-background, var(--comp-background)));color:var(--tct-btn-neutral-text-hover-font-color, var(--comp-hover-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-hover-text-decoration, var(--comp-hover-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-hover-box-shadow)}:host([intent=neutral-text]) button:focus-visible:active:enabled,:host([intent=neutral-text]) button:focus:active:enabled{border-color:var(--tct-btn-neutral-text-active-border-color, var(--comp-active-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-active-background, var(--comp-active-background, var(--comp-background)));color:var(--tct-btn-neutral-text-active-font-color, var(--comp-active-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-active-text-decoration, var(--comp-active-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-active-box-shadow)}:host([intent=neutral-text]) button:disabled{border-color:var(--tct-btn-neutral-text-disabled-border-color, var(--comp-disabled-border-color, var(--comp-border-color)));background:var(--tct-btn-neutral-text-disabled-background, var(--comp-disabled-background, var(--comp-background)));color:var(--tct-btn-neutral-text-disabled-font-color, var(--comp-disabled-font-color, var(--comp-font-color)));text-decoration:var(--tct-btn-neutral-text-disabled-text-decoration, var(--comp-disabled-text-decoration, var(--comp-text-decoration)));box-shadow:var(--comp-disabled-box-shadow)}:host([intent=neutral-text]) button ::slotted(q2-icon){--t-text:var(--tct-btn-neutral-text-icon-color, var(--t-btn-neutral-text-icon-color, var(--comp-font-color, currentcolor)))}button.icon-only{width:var(--tct-btn-icon-width, var(--t-btn-icon-width, 44px));height:var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px));border-radius:var(--tct-btn-icon-border-radius, var(--t-btn-icon-border-radius, var(--tct-btn-border-radius, 0)));padding:var(--tct-btn-icon-padding, 0px)}button.icon-only ::slotted(q2-icon){--tct-icon-size:unset}button.icon-only.has-size{padding:var(--tct-btn-icon-padding, 0px)}button.icon-only.has-intent{padding:var(--tct-btn-icon-padding, 10px);border-radius:var(--tct-btn-icon-border-radius, var(--comp-border-radius))}button:not(.has-color):not(.has-intent):hover,button:not(.has-color):not(.has-intent):focus,button.icon-only:hover,button.icon-only:focus{background:var(--tct-btn-icon-hover-background, var(--tct-btn-icon-hover-bg, var(--t-btn-icon-hover-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))))}button:not(.has-intent).is-active.icon-only{background-color:var(--tct-btn-icon-active-background, var(--tct-btn-icon-active-bg, var(--t-btn-icon-active-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))))}button:not(.has-intent).icon-only:hover *,button:not(.has-intent).icon-only:focus *,button:not(.has-intent).is-active.icon-only *{color:var(--tct-btn-icon-hover-color, var(--t-btn-icon-hover-color, var(--tct-link-hover-color, var(--t-link-hover-color, #080808))))}button:not(.has-intent):not(.icon-only){height:var(--tct-btn-height, auto);padding-inline:var(--tct-btn-padding-inline, 0);font-weight:var(--tct-btn-font-weight);border-radius:var(--tct-btn-border-radius, 0)}button:not(.has-intent):not(.icon-only):hover,button:not(.has-intent):not(.icon-only):focus{background:var(--tct-btn-hover-background)}:host([badge]) button{padding:var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px));font-size:var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, var(--tct-btn-font-size, var(--t-btn-font-size, inherit))));border-radius:var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));background-color:var(--tct-btn-badge-background, var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent)));color:var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit))}:host([badge]) button ::slotted(q2-icon){--tct-icon-size:1em}:host([badge]:hover) button:enabled{background-color:var(--tct-btn-badge-hover-background, var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))));color:var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))))}:host(.selected[badge]) button,:host([active][badge]) button{background-color:var(--tct-btn-badge-active-background, var(--tct-btn-badge-active-bg, var(--t-btn-badge-active-bg, var(--comp-btn-primary-background))));color:var(--tct-btn-badge-active-font-color, var(--t-btn-badge-active-font-color, var(--comp-btn-primary-font-color)))}button.intent-coin{--tct-avatar-background:var(--tct-btn-coin-background, var(--t-primary-l5, #b4a0d3));--tct-avatar-height:var(--tct-btn-coin-height, 44px);--tct-avatar-width:var(--tct-btn-coin-width, 44px);--tct-avatar-fallback-background:var(--tct-btn-coin-background, var(--t-primary-l5, #b4a0d3));--tct-icon-stroke-primary:var(--tct-btn-coin-icon-stroke-primary, var(--t-text, #4d4d4d));--tct-avatar-text-color:var(--tct-btn-coin-avatar-text-color, var(--t-text, #4d4d4d));--tct-icon-stroke-width:var(--tct-btn-coin-icon-stroke-width, 1px);--tct-btn-padding:0;--tct-btn-border-radius:50%;--tct-avatar-border:var(--tct-btn-coin-border, 0);width:auto;backdrop-filter:var(--tct-btn-coin-backdrop-filter);box-shadow:var(--tct-btn-coin-box-shadow)}button.intent-coin:hover:not([disabled]){--const-double-focus-ring:0 0 0 2px #ffffff,\n 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));--tct-avatar-background:var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1));--tct-avatar-fallback-background:var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1));--tct-icon-stroke-primary:var(--tct-btn-coin-icon-stroke-primary, var(--t-base, #ffffff));--tct-avatar-text-color:var(--tct-btn-coin-avatar-text-color, var(--t-base, #ffffff));box-shadow:var(--tct-btn-coin-hover-box-shadow, var(--tct-btn-coin-box-shadow, var(--const-double-focus-ring)))}button.intent-coin:focus:not([disabled]){--const-double-focus-ring:0;box-shadow:var(--tct-btn-coin-focus-box-shadow, var(--tct-btn-coin-box-shadow, 0))}button.intent-coin:focus-visible:not([disabled]){--const-double-focus-ring:0 0 0 2px #ffffff,\n 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));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))))}button.intent-coin:active:not([disabled]){box-shadow:none}.coin-label{color:var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));font-size:var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));max-width:100px;text-align:center;text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.coin-label.disabled{color:var(--tct-btn-coin-label-disabled-color, var(--t-textA, #767676));max-width:100px}.coin-wrapper{--tct-avatar-display:block;display:flex;align-items:center;justify-content:center;gap:var(--app-scale-1x, 5px);flex-direction:column;width:var(--tct-btn-coin-container-width, 95px)}.coin-wrapper ::slotted(:not(q2-avatar,[slot=coin-label])){display:none}.coin-wrapper .coin-label{color:var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));font-size:var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));margin-top:var(--tct-btn-coin-gap, var(--app-scale-2x, 10px));max-width:100px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.coin-wrapper .coin-label.disabled{color:var(--tct-btn-coin-label-disabled-color, var(--t-textA, #767676));max-width:100px}";
7
+
8
+ const Q2Btn = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ /** The default behavior of the button. */
12
+ this.type = 'button';
13
+ this.handleButtonSize = () => {
14
+ if (Number(this.size) <= 4) {
15
+ handleDeprecationWarning(this, 'size', 'prop');
16
+ }
17
+ };
18
+ this.handleIcons = () => {
19
+ // Only allow one icon in the button
20
+ const icon = Array.from(this.hostElement.querySelectorAll(':scope > q2-icon')).reduce((acc, element) => {
21
+ if (acc)
22
+ element.remove();
23
+ else
24
+ acc = element;
25
+ return acc;
26
+ }, null);
27
+ const hasIcon = !!icon;
28
+ const hasLoc = !!this.hostElement.querySelector('q2-loc');
29
+ const hasText = !!this.hostElement.textContent.trim();
30
+ const hasIconLeft = (hasLoc || hasText) && hasIcon && this.hostElement.firstElementChild === icon;
31
+ const hasIconRight = (hasLoc || hasText) && hasIcon && this.hostElement.lastElementChild === icon;
32
+ const hasIconOnly = !hasIconLeft && !hasIconRight && hasIcon;
33
+ let iconPosition;
34
+ if (hasIconOnly)
35
+ iconPosition = 'only';
36
+ else if (hasIconLeft)
37
+ iconPosition = 'left';
38
+ else if (hasIconRight)
39
+ iconPosition = 'right';
40
+ this.iconPosition = iconPosition;
41
+ };
42
+ this.handleSlotChange = () => {
43
+ this.handleIcons();
44
+ };
45
+ }
46
+ // #endregion
47
+ // #region Component Lifecycle Events
48
+ componentWillLoad() {
49
+ this.handleIcons();
50
+ handleAriaLabel(this);
51
+ handleColor(this);
52
+ }
53
+ componentDidLoad() {
54
+ this.handleButtonSize();
55
+ overrideFocus(this.hostElement);
56
+ }
57
+ disconnectedCallback() {
58
+ this.primaryBtn = null;
59
+ this.primaryBtnWrapper = null;
60
+ }
61
+ // #endregion
62
+ // #region Listeners
63
+ handleClick(event) {
64
+ if (this.loading || this.disabled) {
65
+ event.stopImmediatePropagation();
66
+ }
67
+ this.primaryBtn.focus();
68
+ }
69
+ delegateFocus(event) {
70
+ if (!isEventFromElement(event, this.hostElement))
71
+ return;
72
+ this.primaryBtn.focus();
73
+ }
74
+ // #endregion
75
+ // #region Watchers
76
+ ariaLabelObserver() {
77
+ handleAriaLabel(this);
78
+ }
79
+ sizeObserver() {
80
+ this.handleButtonSize();
81
+ }
82
+ // #endregion
83
+ // #region Local Methods
84
+ get buttonAttributes() {
85
+ return {
86
+ ariaExpanded: getAriaValueFromProp(this.ariaExpanded, ['true', 'false']),
87
+ ariaHasPopup: getAriaValueFromProp(this.ariaHasPopup, [
88
+ 'true',
89
+ 'false',
90
+ 'menu',
91
+ 'listbox',
92
+ 'tree',
93
+ 'grid',
94
+ 'dialog',
95
+ ]),
96
+ ariaLabel: this.label && this.hideLabel ? loc(this.label) : undefined,
97
+ ariaSelected: getAriaValueFromProp(this.ariaSelected, ['true', 'false']),
98
+ ariaPressed: getAriaValueFromProp(this.ariaPressed, ['true', 'false']),
99
+ description: this.description !== undefined ? this.description : undefined,
100
+ disabled: this.disabled || false,
101
+ type: this.type,
102
+ tabindex: this.tabIndex || undefined,
103
+ };
104
+ }
105
+ get buttonClasses() {
106
+ const classes = [];
107
+ if (this.iconPosition)
108
+ classes.push(`icon-${this.iconPosition}`);
109
+ if (this.intent === 'coin')
110
+ classes.push('intent-coin');
111
+ if (!!this.block)
112
+ classes.push('is-block');
113
+ if (!!this.color)
114
+ classes.push('has-color');
115
+ if (!!this.intent)
116
+ classes.push(`has-intent`);
117
+ if (!!this.size)
118
+ classes.push('has-size');
119
+ if (!!this.active)
120
+ classes.push('is-active');
121
+ return classes.join(' ');
122
+ }
123
+ get coinLabelClasses() {
124
+ const classes = ['coin-label'];
125
+ if (this.disabled) {
126
+ classes.push('disabled');
127
+ }
128
+ return classes.join(' ');
129
+ }
130
+ // #endregion
131
+ // #region Render Methods
132
+ renderButton() {
133
+ const { ariaExpanded, ariaHasPopup, ariaSelected, ariaPressed, description, disabled, type, tabindex } = this.buttonAttributes;
134
+ const { iconPosition, loading, badge, label, hideLabel } = this;
135
+ const renderLoadingSpinner = iconPosition || loading;
136
+ const isLoadingSpinnerInline = !iconPosition || badge;
137
+ return (h(Fragment, null, h("button", { ref: el => (this.primaryBtn = el !== null && el !== void 0 ? el : this.primaryBtn), "aria-expanded": ariaExpanded, "aria-haspopup": ariaHasPopup, "aria-label": hideLabel && loc(label), "aria-selected": ariaSelected, "aria-pressed": ariaPressed, disabled: disabled, type: type, tabindex: tabindex, "test-id": "q2BtnInnerButton", class: this.buttonClasses, "aria-describedby": !!description ? 'hidden-description' : undefined, "aria-labelledby": this.intent === 'coin' && !hideLabel ? 'coin-label' : undefined, role: this._role || undefined }, h("div", { class: "slot-container" }, renderLoadingSpinner && (h("q2-loading", { hidden: !loading, modifiers: isLoadingSpinnerInline ? 'inline' : undefined })), this.renderDefaultLabel(), this.renderDefaultCoinSlot())), this.renderCoinLabel(), !!description && (h("div", { id: "hidden-description", "aria-hidden": "true", class: "sr" }, description))));
138
+ }
139
+ renderCoinLabel() {
140
+ if (this.intent !== 'coin' || this.hideLabel)
141
+ return;
142
+ return (h("div", { id: "coin-label", class: this.coinLabelClasses }, this.label ? (loc(this.label)) : (h("slot", { name: "coin-label", onSlotchange: this.handleSlotChange }))));
143
+ }
144
+ renderDefaultCoinSlot() {
145
+ if (this.intent !== 'coin')
146
+ return;
147
+ return h("slot", { onSlotchange: this.handleSlotChange });
148
+ }
149
+ renderDefaultLabel() {
150
+ if (this.intent === 'coin')
151
+ return;
152
+ if (!this.hideLabel && this.label)
153
+ return loc(this.label);
154
+ return h("slot", { onSlotchange: this.handleSlotChange });
155
+ }
156
+ render() {
157
+ return (this.size === 'small' && this.iconPosition !== 'only') || this.intent === 'coin' ? (
158
+ // wrap only for small sized and coin intent
159
+ h("div", { class: this.size === 'small' ? 'btn-height-wrapper' : 'coin-wrapper', ref: el => (this.primaryBtnWrapper = el !== null && el !== void 0 ? el : this.primaryBtnWrapper), tabIndex: this.size === 'small' ? -1 : undefined }, this.renderButton())) : (this.renderButton());
160
+ }
161
+ get hostElement() { return getElement(this); }
162
+ static get watchers() { return {
163
+ "ariaLabel": ["ariaLabelObserver"],
164
+ "size": ["sizeObserver"]
165
+ }; }
166
+ };
167
+ Q2Btn.style = q2BtnCss;
168
+
169
+ const q2LoadingCss = "*{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}.flex{display:flex}.flex-center{justify-content:center}.flex-left{justify-content:flex-start}.flex-right{justify-content:flex-end}.flex-v-center{align-items:center}.no-margin{margin:0}:host{display:block}:host([inline]),:host([modifiers*=inline]){display:inline-block}:host([hidden]){display:none}:host(:not([inline]):not([modifiers*=inline])){font-size:var(--tct-loading-spinner-size, var(--t-loading-spinner-size, var(--app-scale-12x, 60px)))}.q2-loading-animation{height:1em;width:1em}#custom-loader-container{min-height:1em;min-width:1em}#custom-loader-container svg{display:block}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;position:relative}.half-circle-spinner .circle{position:absolute;width:100%;height:100%;border-radius:100%;border:0.0833333333em solid transparent}.half-circle-spinner .circle.circle-1{border-top-color:var(--tct-loading-primary-color, var(--t-loading-primary-color, var(--t-primary, #0079c1)));animation:half-circle-spinner-animation 1s infinite}.half-circle-spinner .circle.circle-2{border-bottom-color:var(--tct-loading-secondary-color, var(--t-loading-secondary-color, #9ddd4f));animation:half-circle-spinner-animation 1s infinite alternate}@keyframes half-circle-spinner-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{--comp-loading-skeleton-opacity:var(--var-loading-skeleton-opacity, 0.25)}@media (prefers-contrast: more){:host{--comp-loading-skeleton-opacity:var(--var-loading-skeleton-opacity, 1)}}.q2-loading-skeleton{position:relative;width:100%;height:100%;overflow:hidden;--comp-loading-skeleton-shimmer-color:var(--tct-loading-skeleton-shimmer-color, var(--t-base, rgba(255, 255, 255, 0.5)));--comp-loading-skeleton-vertical-gap:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px));--comp-loading-skeleton-horizontal-gap:var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.q2-loading-skeleton-shimmer{position:absolute;width:1rem;height:100%;top:0;left:-100px;animation:skeletonShimmer 3s ease-in-out infinite;background-color:var(--comp-loading-skeleton-shimmer-color);box-shadow:0 0 25px 20px var(--comp-loading-skeleton-shimmer-color);transform:rotate(10deg)}.skeleton-shape.rectangle:not(.no-margin){margin:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px)) var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.skeleton-shape.circle,.skeleton-shape.rectangle{background:var(--tct-loading-skeleton-element-background, var(--tct-loading-skeleton-element-bg, var(--t-gray-8, #808080)));opacity:var(--comp-loading-skeleton-opacity)}.skeleton-shape.rectangle{min-height:var(--tct-loading-skeleton-rectangle-min-height, 20px)}.skeleton-shape.circle{border-radius:50%;padding-top:100%}.flex .rectangle{flex-grow:1}.skeleton-table-row .rectangle{margin:var(--comp-loading-skeleton-vertical-gap) var(--comp-loading-skeleton-horizontal-gap)}.skeleton-table-row .rectangle:not(:first-child):not(:last-child){flex-grow:2}.skeleton-table-row-border .skeleton-shape{margin:0 var(--comp-loading-skeleton-horizontal-gap)}.form{flex-wrap:wrap}.form .field{margin:var(--comp-loading-skeleton-vertical-gap) 0}.form.columns-1 .field{flex-basis:100%}.form.columns-2 .field{flex-basis:50%}.form.columns-3 .field{flex-basis:33.3333%}.form.columns-4 .field{flex-basis:25%}.form.columns-5 .field{flex-basis:20%}.text .rectangle{margin-bottom:0}.text .header.center{margin:0 auto}.text .header.right{margin-left:auto}.text .header{height:1.5rem}.text .header.smaller{height:1rem}.detailed-item{flex-wrap:wrap}.detailed-item.right{flex-flow:row-reverse}.detailed-item-image{flex:0 0 auto;display:inline-flex}.center .detailed-item-image{flex-basis:100%;display:flex}.detailed-item-image .rectangle{flex-grow:0}.detailed-item-text>div{width:100%}.detailed-item-text{flex:1 1 auto}.detailed-item-text .text{margin-top:0;margin-bottom:0}.label-value{flex-wrap:wrap}.label-value .rectangle{flex-basis:calc(50% - 2 * var(--comp-loading-skeleton-horizontal-gap))}@keyframes skeletonShimmer{0%{left:-100px;opacity:1}70%{opacity:1}100%{left:800px;opacity:0}}";
170
+
171
+ const Q2Loading = class {
172
+ constructor(hostRef) {
173
+ registerInstance(this, hostRef);
174
+ this.dontUpdateScreenReaderLabel = false;
175
+ this.liveRegionChangeIndicatorToggle = false;
176
+ this.customLoaderClass = 'tct-loading-custom-loader';
177
+ this.hasCustomLoader = false;
178
+ /** Hides the loading element from screen readers. */
179
+ this.hideFromScreenReaders = false;
180
+ // #endregion
181
+ // #region Render Methods
182
+ this.renderHalfCircleSpinner = () => {
183
+ return (h("div", { class: "q2-loading-animation half-circle-spinner", "aria-hidden": this.hideFromScreenReaders ? 'true' : undefined, "aria-live": !this.hideFromScreenReaders ? 'polite' : undefined, role: !this.hideFromScreenReaders ? 'status' : undefined }, h("div", { class: "circle circle-1" }), h("div", { class: "circle circle-2" }), !this.hideFromScreenReaders && (h("div", { class: "sr", ref: el => (this.screenReaderElement = el) }))));
184
+ };
185
+ this.renderCustomLoaderContainer = () => {
186
+ return (h("div", { id: "custom-loader-container", "aria-hidden": this.hideFromScreenReaders ? 'true' : undefined, "aria-live": !this.hideFromScreenReaders ? 'polite' : undefined, role: !this.hideFromScreenReaders ? 'status' : undefined }, !this.hideFromScreenReaders && (h("div", { class: "sr", ref: el => (this.screenReaderElement = el) }))));
187
+ };
188
+ this.renderSkeletonLoader = () => {
189
+ return (h("div", { class: "q2-loading-skeleton", "aria-hidden": this.hideFromScreenReaders ? 'true' : undefined, "aria-live": !this.hideFromScreenReaders ? 'polite' : undefined, role: !this.hideFromScreenReaders ? 'status' : undefined }, this.shape === 'custom' ? h("slot", null) : this.skeletonShape, h("div", { class: "q2-loading-skeleton-shimmer" }), !this.hideFromScreenReaders && (h("div", { class: "sr", ref: el => (this.screenReaderElement = el) }))));
190
+ };
191
+ this.renderSpinner = () => {
192
+ return this.renderHalfCircleSpinner();
193
+ };
194
+ }
195
+ // #endregion
196
+ // #region Component Lifecycle Events
197
+ disconnectedCallback() {
198
+ this.cleanupLiveRegionDelay();
199
+ }
200
+ componentWillLoad() {
201
+ handleAriaLabel(this);
202
+ this.handleType();
203
+ }
204
+ componentDidLoad() {
205
+ this.setupLiveRegionDelay();
206
+ }
207
+ componentDidUpdate() {
208
+ this.updateScreenReaderLabel();
209
+ }
210
+ componentDidRender() {
211
+ var _a;
212
+ if (!this.loaderClone)
213
+ return;
214
+ if (!this.hasCustomLoader)
215
+ return;
216
+ const customLoaderContainer = this.hostElement.shadowRoot.querySelector('#custom-loader-container');
217
+ (_a = customLoaderContainer.querySelector(`svg.${this.customLoaderClass}`)) === null || _a === void 0 ? void 0 : _a.remove();
218
+ customLoaderContainer.appendChild(this.loaderClone);
219
+ }
220
+ // #endregion
221
+ // #region Listeners
222
+ onUpdateLoaders() {
223
+ const { customLoaderURL } = this;
224
+ this.hasCustomLoader = !!customLoaderURL;
225
+ this.fetchLoader();
226
+ }
227
+ // #endregion
228
+ // #region Watchers
229
+ handleType() {
230
+ this.fetchLoader();
231
+ }
232
+ async fetchLoader() {
233
+ const { isSkeletonType, customLoaderURL } = this;
234
+ this.hasCustomLoader = false;
235
+ if (isSkeletonType) {
236
+ return;
237
+ }
238
+ if (!customLoaderURL)
239
+ return;
240
+ this.hasCustomLoader = true;
241
+ let { customLoaderElement } = this;
242
+ const loaderExists = this.checkForLoader();
243
+ if (loaderExists)
244
+ return;
245
+ try {
246
+ const response = await fetch(customLoaderURL);
247
+ // Check for HTTP errors (including CORS issues that return error status)
248
+ if (!response.ok) {
249
+ throw new Error(`HTTP ${response.status}: Failed to fetch SVG. ` +
250
+ `This may be due to incorrect URL, server error, or CORS restrictions.`);
251
+ }
252
+ const svgText = await response.text();
253
+ const parser = new DOMParser();
254
+ const svgDoc = parser.parseFromString(svgText, 'image/svg+xml');
255
+ const svg = svgDoc.querySelector('svg');
256
+ if (!svg)
257
+ throw new Error('No SVG found in the loaded content');
258
+ svg.dataset.loaded = '';
259
+ svg.dataset.url = customLoaderURL;
260
+ svg.classList.add(this.customLoaderClass);
261
+ customLoaderElement = this.customLoaderElement;
262
+ if (!customLoaderElement)
263
+ return;
264
+ if (typeof customLoaderElement.replaceWith === 'function') {
265
+ customLoaderElement.replaceWith(svg);
266
+ }
267
+ else {
268
+ customLoaderElement.parentNode.replaceChild(svg, customLoaderElement);
269
+ }
270
+ svg.dispatchEvent(new CustomEvent(this.loaderEventName, { bubbles: true }));
271
+ }
272
+ catch (error) {
273
+ // Provide more specific error messaging for common issues
274
+ if (error instanceof TypeError && error.message === 'Failed to fetch') {
275
+ console.error(`Failed to load custom loader from ${customLoaderURL}. ` +
276
+ `This is likely due to a CORS (Cross-Origin Resource Sharing) error. ` +
277
+ `Ensure the server hosting the SVG includes proper CORS headers ` +
278
+ `(Access-Control-Allow-Origin) or host the SVG on the same domain.`, error);
279
+ }
280
+ else {
281
+ console.error(`Failed to load custom loader SVG from ${customLoaderURL}:`, error);
282
+ }
283
+ }
284
+ }
285
+ // #endregion
286
+ // #region Local Methods
287
+ get customLoaderURL() {
288
+ const hostComputedStyles = window.getComputedStyle(this.hostElement);
289
+ const loadingVariableURL = hostComputedStyles.getPropertyValue(`--tct-loading-custom-${this.type || 'spinner'}-url`);
290
+ if (!loadingVariableURL)
291
+ return;
292
+ return loadingVariableURL.trim().replace(/^url\(['"]?|['"]?\)$/g, '');
293
+ }
294
+ get isSkeletonType() {
295
+ return this.type === 'skeleton';
296
+ }
297
+ get loaderEventName() {
298
+ const { type = 'spinner', isSkeletonType } = this;
299
+ if (isSkeletonType)
300
+ return;
301
+ return `tct-loaded-${type}`;
302
+ }
303
+ get customLoaderElement() {
304
+ const { customLoaderURL, customLoaderClass } = this;
305
+ if (!customLoaderURL)
306
+ return;
307
+ return document.querySelector(`.${customLoaderClass}[data-url="${customLoaderURL}"]`);
308
+ }
309
+ get countsArray() {
310
+ if (this.type !== 'skeleton' || !this.counts) {
311
+ return undefined;
312
+ }
313
+ return this.counts.split('x').map(Number);
314
+ }
315
+ get localizedLabel() {
316
+ return loc(this.label || this.ariaLabel || 'tecton.element.loading.ariaLabel');
317
+ }
318
+ get modifiersSet() {
319
+ if (this.type !== 'skeleton' || !this.modifiers) {
320
+ return undefined;
321
+ }
322
+ return new Set(this.modifiers.split('-'));
323
+ }
324
+ get skeletonShape() {
325
+ var _a, _b;
326
+ return (_b = (_a = shapes[this.shape]) === null || _a === void 0 ? void 0 : _a.call(shapes, this.countsArray, this.modifiersSet)) !== null && _b !== void 0 ? _b : '';
327
+ }
328
+ checkForLoader() {
329
+ const { loaderEventName, customLoaderClass } = this;
330
+ const spriteContainer = getOrCreateSpriteContainer();
331
+ let { customLoaderElement } = this;
332
+ // If the loading element exists and has the `data-loaded` attribute, we know we have everything we need
333
+ if (customLoaderElement === null || customLoaderElement === void 0 ? void 0 : customLoaderElement.hasAttribute('data-loaded')) {
334
+ this.cloneLoaderNode();
335
+ return true;
336
+ }
337
+ // If the loading element exists but does not have the `data-loaded` attribute, we know it's being loaded
338
+ // We'll listen for the event that will be dispatched when the element is loaded
339
+ spriteContainer.addEventListener(loaderEventName, () => {
340
+ this.cloneLoaderNode();
341
+ }, { once: true });
342
+ // If the loading element exists, we know it's being loaded and will be handled by the event listener
343
+ if (customLoaderElement)
344
+ return true;
345
+ // If loading element does not exist, create a placeholder
346
+ // This will let other icons know the element is being loaded and prevent multiple fetches
347
+ customLoaderElement = document.createElement('div');
348
+ customLoaderElement.classList.add(customLoaderClass);
349
+ customLoaderElement.dataset.url = this.customLoaderURL;
350
+ spriteContainer.appendChild(customLoaderElement);
351
+ return false;
352
+ }
353
+ cloneLoaderNode() {
354
+ const { customLoaderElement } = this;
355
+ this.loaderClone = customLoaderElement ? customLoaderElement.cloneNode(true) : undefined;
356
+ }
357
+ cleanupLiveRegionDelay() {
358
+ if (this.hideFromScreenReaders)
359
+ return;
360
+ clearTimeout(this.ariaLiveTimer);
361
+ this.observer.disconnect();
362
+ this.observer = null;
363
+ }
364
+ setupLiveRegionDelay() {
365
+ if (this.hideFromScreenReaders)
366
+ return;
367
+ // The screen reader element starts out empty and is then populated by the
368
+ // label text after a delay to ensure that it is announced by screen
369
+ // readers.
370
+ const options = {
371
+ root: null,
372
+ rootMargin: '0px',
373
+ threshold: [1],
374
+ };
375
+ this.observer = new IntersectionObserver(entries => {
376
+ entries.forEach(entry => {
377
+ if (entry.isIntersecting) {
378
+ clearTimeout(this.ariaLiveTimer);
379
+ this.ariaLiveTimer = setTimeout(() => {
380
+ if (this.screenReaderElement) {
381
+ this.screenReaderElement.textContent = `${this.localizedLabel}${this.liveRegionChangeIndicatorToggle ? '.' : ''}`;
382
+ }
383
+ this.liveRegionChangeIndicatorToggle = !this.liveRegionChangeIndicatorToggle;
384
+ this.dontUpdateScreenReaderLabel = false;
385
+ }, 2000);
386
+ }
387
+ else {
388
+ clearTimeout(this.ariaLiveTimer);
389
+ if (this.screenReaderElement) {
390
+ this.screenReaderElement.textContent = '';
391
+ }
392
+ this.dontUpdateScreenReaderLabel = true;
393
+ }
394
+ });
395
+ }, options);
396
+ this.observer.observe(this.hostElement);
397
+ }
398
+ updateScreenReaderLabel() {
399
+ if (this.dontUpdateScreenReaderLabel)
400
+ return;
401
+ if (!this.screenReaderElement)
402
+ return;
403
+ this.screenReaderElement.textContent = this.localizedLabel;
404
+ }
405
+ get renderLoader() {
406
+ const loaderMap = {
407
+ default: this.renderSpinner,
408
+ spinner: this.renderSpinner,
409
+ skeleton: this.renderSkeletonLoader,
410
+ custom: this.renderCustomLoaderContainer,
411
+ };
412
+ const { type, hasCustomLoader } = this;
413
+ const loaderMapKey = hasCustomLoader ? 'custom' : type;
414
+ return loaderMap[loaderMapKey] || loaderMap.default;
415
+ }
416
+ render() {
417
+ return this.renderLoader();
418
+ }
419
+ get hostElement() { return getElement(this); }
420
+ static get watchers() { return {
421
+ "type": ["handleType"]
422
+ }; }
423
+ };
424
+ Q2Loading.style = q2LoadingCss;
425
+
426
+ export { Q2Btn as q2_btn, Q2Loading as q2_loading };
427
+ //# sourceMappingURL=q2-btn.q2-loading.entry.js.map
428
+
429
+ //# sourceMappingURL=q2-btn_2.entry.js.map