q2-tecton-elements 1.65.0 → 1.66.1

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 (687) hide show
  1. package/dist/bundle-report.json +1908 -745
  2. package/dist/cjs/{action-sheet-CiK2Bap_.js → action-sheet-D71RSc-w.js} +5 -2
  3. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -0
  4. package/dist/cjs/component-DRAntnCA.js +47 -0
  5. package/dist/cjs/component-DRAntnCA.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/q2-action-group.q2-resize-observer.entry.cjs.js.map +1 -1
  8. package/dist/cjs/q2-action-group_2.cjs.entry.js +121 -45
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +9 -5
  11. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-action-sheet.entry.cjs.js.map +1 -1
  13. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  17. package/dist/cjs/q2-btn_2.cjs.entry.js +13 -4
  18. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  20. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  22. package/dist/cjs/q2-card-image.cjs.entry.js +5 -5
  23. package/dist/cjs/q2-card-image.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-card-image.entry.cjs.js.map +1 -1
  25. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  27. package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
  28. package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -3
  29. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  31. package/dist/cjs/q2-carousel.cjs.entry.js +12 -2
  32. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  34. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-checkbox-group.cjs.entry.js +5 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  40. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -4
  41. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-checkbox.entry.cjs.js.map +1 -1
  43. package/dist/cjs/q2-context.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
  45. package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
  46. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-data-table.cjs.entry.js +19 -9
  48. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  49. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  50. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-detail.entry.cjs.js.map +1 -1
  53. package/dist/cjs/q2-dropdown-item.cjs.entry.js +3 -1
  54. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-dropdown-item.entry.cjs.js.map +1 -1
  56. package/dist/cjs/q2-dropdown.cjs.entry.js +33 -8
  57. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  62. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  64. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  65. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  66. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  67. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  68. package/dist/cjs/q2-grid-area.cjs.entry.js +9 -1
  69. package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-grid-area.entry.cjs.js.map +1 -1
  71. package/dist/cjs/q2-icon.cjs.entry.js +6 -0
  72. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  73. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  74. package/dist/cjs/q2-input.cjs.entry.js +8 -6
  75. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  76. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  77. package/dist/cjs/q2-item.cjs.entry.js +17 -17
  78. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  79. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  80. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  81. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  82. package/dist/cjs/q2-link_2.cjs.entry.js +11 -7
  83. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  84. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  85. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  86. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  87. package/dist/cjs/q2-meter.cjs.entry.js +1 -1
  88. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  89. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  90. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  91. package/dist/cjs/q2-optgroup.cjs.entry.js +4 -2
  92. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
  93. package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
  94. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +1 -1
  95. package/dist/cjs/q2-option-list_2.cjs.entry.js +5 -3
  96. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  97. package/dist/cjs/q2-option.cjs.entry.js +3 -1
  98. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  99. package/dist/cjs/q2-option.entry.cjs.js.map +1 -1
  100. package/dist/cjs/q2-pagination.cjs.entry.js +10 -12
  101. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  102. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  103. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  104. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  105. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  108. package/dist/cjs/q2-section-container.cjs.entry.js +2 -0
  109. package/dist/cjs/q2-section-container.cjs.entry.js.map +1 -1
  110. package/dist/cjs/q2-section-container.entry.cjs.js.map +1 -1
  111. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  112. package/dist/cjs/q2-select.cjs.entry.js +7 -3
  113. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  114. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  115. package/dist/cjs/q2-stepper-pane.cjs.entry.js +3 -1
  116. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  117. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  118. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  119. package/dist/cjs/q2-stepper.cjs.entry.js +6 -2
  120. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  121. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  122. package/dist/cjs/q2-tab-container.cjs.entry.js +5 -1
  123. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  124. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  125. package/dist/cjs/q2-tab-pane.cjs.entry.js +8 -1
  126. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
  127. package/dist/cjs/q2-tab-pane.entry.cjs.js.map +1 -1
  128. package/dist/cjs/q2-tag.cjs.entry.js +3 -3
  129. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  130. package/dist/cjs/q2-tag.entry.cjs.js.map +1 -1
  131. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  132. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  133. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  134. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  135. package/dist/cjs/q2-toast.cjs.entry.js +192 -0
  136. package/dist/cjs/q2-toast.cjs.entry.js.map +1 -0
  137. package/dist/cjs/q2-toast.entry.cjs.js.map +1 -0
  138. package/dist/cjs/{sanitize-html-string-DPqrzfM9.js → sanitize-html-string-C2iwHNz5.js} +30 -6
  139. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +1 -0
  140. package/dist/cjs/tecton-tab-pane.cjs.entry.js +4 -2
  141. package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
  142. package/dist/cjs/tecton-tab-pane.entry.cjs.js.map +1 -1
  143. package/dist/collection/collection-manifest.json +3 -2
  144. package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
  145. package/dist/collection/components/q2-action-group/q2-action-group.js +121 -45
  146. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  147. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +8 -0
  148. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +9 -5
  149. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  150. package/dist/collection/components/q2-avatar/q2-avatar.css +3 -0
  151. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  152. package/dist/collection/components/q2-btn/q2-btn.css +9 -1
  153. package/dist/collection/components/q2-btn/q2-btn.js +1 -1
  154. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  155. package/dist/collection/components/q2-calendar/q2-calendar.css +5 -1
  156. package/dist/collection/components/q2-calendar/q2-calendar.js +2 -2
  157. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  158. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  159. package/dist/collection/components/q2-card/q2-card.css +1 -0
  160. package/dist/collection/components/q2-card-image/q2-card-image.js +6 -6
  161. package/dist/collection/components/q2-card-image/q2-card-image.js.map +1 -1
  162. package/dist/collection/components/q2-carousel/q2-carousel.css +1 -1
  163. package/dist/collection/components/q2-carousel/q2-carousel.js +11 -1
  164. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  165. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +11 -1
  166. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +6 -2
  167. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  168. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  169. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  170. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  171. package/dist/collection/components/q2-checkbox/q2-checkbox.css +136 -15
  172. package/dist/collection/components/q2-checkbox/q2-checkbox.js +2 -8
  173. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  174. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +5 -1
  175. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  176. package/dist/collection/components/q2-context/q2-context.js +1 -1
  177. package/dist/collection/components/q2-context/q2-context.js.map +1 -1
  178. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  179. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  180. package/dist/collection/components/q2-data-table/q2-data-table.js +53 -20
  181. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  182. package/dist/collection/components/q2-detail/q2-detail.css +6 -0
  183. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  184. package/dist/collection/components/q2-dropdown/q2-dropdown.css +17 -0
  185. package/dist/collection/components/q2-dropdown/q2-dropdown.js +75 -8
  186. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  187. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +1 -0
  188. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +2 -0
  189. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  190. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  191. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  192. package/dist/collection/components/q2-example/q2-example.js +1 -1
  193. package/dist/collection/components/q2-file-picker/q2-file-picker.css +4 -1
  194. package/dist/collection/components/q2-file-picker/q2-file-picker.js +4 -4
  195. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  196. package/dist/collection/components/q2-form/q2-form.js +1 -1
  197. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  198. package/dist/collection/components/q2-grid/q2-grid.js +30 -30
  199. package/dist/collection/components/q2-grid-area/q2-grid-area.js +51 -43
  200. package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +1 -1
  201. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  202. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  203. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  204. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  205. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  206. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  207. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  208. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  209. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  210. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  211. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  212. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  213. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  214. package/dist/collection/components/q2-input/formatting/phone.js +4 -2
  215. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  216. package/dist/collection/components/q2-input/q2-input.css +3 -0
  217. package/dist/collection/components/q2-input/q2-input.js +6 -6
  218. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  219. package/dist/collection/components/q2-item/q2-item.css +3 -0
  220. package/dist/collection/components/q2-item/q2-item.js +19 -18
  221. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  222. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  223. package/dist/collection/components/q2-link/q2-link.css +53 -1
  224. package/dist/collection/components/q2-link/q2-link.js +50 -8
  225. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  226. package/dist/collection/components/q2-list/q2-list.js +1 -1
  227. package/dist/collection/components/q2-loading/q2-loading.css +1 -1
  228. package/dist/collection/components/q2-loading/q2-loading.js +10 -1
  229. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  230. package/dist/collection/components/q2-message/q2-message.css +1 -0
  231. package/dist/collection/components/q2-message/q2-message.js +1 -1
  232. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  233. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  234. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  235. package/dist/collection/components/q2-optgroup/q2-optgroup.css +6 -4
  236. package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -1
  237. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  238. package/dist/collection/components/q2-option/q2-option.css +5 -0
  239. package/dist/collection/components/q2-option/q2-option.js +2 -0
  240. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  241. package/dist/collection/components/q2-option-list/q2-option-list.js +8 -6
  242. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  243. package/dist/collection/components/q2-pagination/q2-pagination.css +3 -0
  244. package/dist/collection/components/q2-pagination/q2-pagination.js +20 -17
  245. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  246. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  247. package/dist/collection/components/q2-popover/q2-popover.css +1 -1
  248. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  249. package/dist/collection/components/q2-radio/q2-radio.css +85 -35
  250. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  251. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  252. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  253. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  254. package/dist/collection/components/q2-section/q2-section.js +2 -2
  255. package/dist/collection/components/q2-section-container/q2-section-container.js +2 -0
  256. package/dist/collection/components/q2-section-container/q2-section-container.js.map +1 -1
  257. package/dist/collection/components/q2-select/q2-select.js +6 -5
  258. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  259. package/dist/collection/components/q2-stepper/q2-stepper.css +1 -3
  260. package/dist/collection/components/q2-stepper/q2-stepper.js +6 -2
  261. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  262. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +7 -5
  263. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  264. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  265. package/dist/collection/components/q2-tab-container/q2-tab-container.js +5 -1
  266. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  267. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +8 -1
  268. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  269. package/dist/collection/components/q2-tag/q2-tag.css +8 -0
  270. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  271. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -1
  272. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  273. package/dist/collection/components/q2-toast/q2-toast.css +230 -0
  274. package/dist/collection/components/q2-toast/q2-toast.js +452 -0
  275. package/dist/collection/components/q2-toast/q2-toast.js.map +1 -0
  276. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +4 -2
  277. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  278. package/dist/collection/utils/action-sheet.js +3 -0
  279. package/dist/collection/utils/action-sheet.js.map +1 -1
  280. package/dist/collection/utils/component.js +38 -0
  281. package/dist/collection/utils/component.js.map +1 -0
  282. package/dist/collection/utils/helpers.js +6 -1
  283. package/dist/collection/utils/helpers.js.map +1 -1
  284. package/dist/collection/utils/sanitize-html-string.js +6 -0
  285. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  286. package/dist/components/action-sheet.js +3 -0
  287. package/dist/components/action-sheet.js.map +1 -1
  288. package/dist/components/component.js +42 -0
  289. package/dist/components/component.js.map +1 -0
  290. package/dist/components/index.js +2 -0
  291. package/dist/components/index.js.map +1 -1
  292. package/dist/components/q2-action-group2.js +121 -45
  293. package/dist/components/q2-action-group2.js.map +1 -1
  294. package/dist/components/q2-action-sheet.js +9 -5
  295. package/dist/components/q2-action-sheet.js.map +1 -1
  296. package/dist/components/q2-avatar2.js +2 -2
  297. package/dist/components/q2-avatar2.js.map +1 -1
  298. package/dist/components/q2-btn2.js +2 -2
  299. package/dist/components/q2-btn2.js.map +1 -1
  300. package/dist/components/q2-calendar.js +3 -3
  301. package/dist/components/q2-calendar.js.map +1 -1
  302. package/dist/components/q2-card-image.js +6 -6
  303. package/dist/components/q2-card-image.js.map +1 -1
  304. package/dist/components/q2-card.js +1 -1
  305. package/dist/components/q2-card.js.map +1 -1
  306. package/dist/components/q2-carousel-pane.js +7 -3
  307. package/dist/components/q2-carousel-pane.js.map +1 -1
  308. package/dist/components/q2-carousel.js +12 -2
  309. package/dist/components/q2-carousel.js.map +1 -1
  310. package/dist/components/q2-chart-area.js +1 -1
  311. package/dist/components/q2-chart-bar.js +1 -1
  312. package/dist/components/q2-chart-donut.js +1 -1
  313. package/dist/components/q2-checkbox-group.js +5 -1
  314. package/dist/components/q2-checkbox-group.js.map +1 -1
  315. package/dist/components/q2-checkbox2.js +3 -4
  316. package/dist/components/q2-checkbox2.js.map +1 -1
  317. package/dist/components/q2-context.js +1 -1
  318. package/dist/components/q2-context.js.map +1 -1
  319. package/dist/components/q2-currency.js +1 -1
  320. package/dist/components/q2-data-table.js +20 -9
  321. package/dist/components/q2-data-table.js.map +1 -1
  322. package/dist/components/q2-detail.js +2 -2
  323. package/dist/components/q2-detail.js.map +1 -1
  324. package/dist/components/q2-dropdown-item2.js +3 -1
  325. package/dist/components/q2-dropdown-item2.js.map +1 -1
  326. package/dist/components/q2-dropdown.js +34 -7
  327. package/dist/components/q2-dropdown.js.map +1 -1
  328. package/dist/components/q2-editable-field.js +2 -2
  329. package/dist/components/q2-editable-field.js.map +1 -1
  330. package/dist/components/q2-example.js +1 -1
  331. package/dist/components/q2-file-picker.js +2 -2
  332. package/dist/components/q2-file-picker.js.map +1 -1
  333. package/dist/components/q2-form.js +1 -1
  334. package/dist/components/q2-formatted-text.js +1 -1
  335. package/dist/components/q2-grid-area.js +9 -1
  336. package/dist/components/q2-grid-area.js.map +1 -1
  337. package/dist/components/q2-icon2.js +6 -0
  338. package/dist/components/q2-icon2.js.map +1 -1
  339. package/dist/components/q2-input2.js +8 -6
  340. package/dist/components/q2-input2.js.map +1 -1
  341. package/dist/components/q2-item2.js +17 -17
  342. package/dist/components/q2-item2.js.map +1 -1
  343. package/dist/components/q2-legend2.js +1 -1
  344. package/dist/components/q2-link2.js +12 -6
  345. package/dist/components/q2-link2.js.map +1 -1
  346. package/dist/components/q2-list2.js +1 -1
  347. package/dist/components/q2-loading2.js +11 -2
  348. package/dist/components/q2-loading2.js.map +1 -1
  349. package/dist/components/q2-message2.js +2 -2
  350. package/dist/components/q2-message2.js.map +1 -1
  351. package/dist/components/q2-meter.js +1 -1
  352. package/dist/components/q2-modal.js +1 -1
  353. package/dist/components/q2-month-picker.js +2 -2
  354. package/dist/components/q2-mutation-observer.js +1 -1
  355. package/dist/components/q2-optgroup2.js +4 -2
  356. package/dist/components/q2-optgroup2.js.map +1 -1
  357. package/dist/components/q2-option-list2.js +3 -1
  358. package/dist/components/q2-option-list2.js.map +1 -1
  359. package/dist/components/q2-option2.js +3 -1
  360. package/dist/components/q2-option2.js.map +1 -1
  361. package/dist/components/q2-pagination.js +11 -13
  362. package/dist/components/q2-pagination.js.map +1 -1
  363. package/dist/components/q2-pill.js +1 -1
  364. package/dist/components/q2-popover2.js +2 -2
  365. package/dist/components/q2-popover2.js.map +1 -1
  366. package/dist/components/q2-radio.js +2 -2
  367. package/dist/components/q2-radio.js.map +1 -1
  368. package/dist/components/q2-relative-time.js +1 -1
  369. package/dist/components/q2-resize-observer2.js +1 -1
  370. package/dist/components/q2-section-container.js +2 -0
  371. package/dist/components/q2-section-container.js.map +1 -1
  372. package/dist/components/q2-section.js +2 -2
  373. package/dist/components/q2-select2.js +6 -2
  374. package/dist/components/q2-select2.js.map +1 -1
  375. package/dist/components/q2-stepper-pane.js +3 -1
  376. package/dist/components/q2-stepper-pane.js.map +1 -1
  377. package/dist/components/q2-stepper-vertical.js +1 -1
  378. package/dist/components/q2-stepper.js +7 -3
  379. package/dist/components/q2-stepper.js.map +1 -1
  380. package/dist/components/q2-tab-container.js +5 -1
  381. package/dist/components/q2-tab-container.js.map +1 -1
  382. package/dist/components/q2-tab-pane.js +8 -1
  383. package/dist/components/q2-tab-pane.js.map +1 -1
  384. package/dist/components/q2-tag.js +2 -2
  385. package/dist/components/q2-tag.js.map +1 -1
  386. package/dist/components/q2-textarea.js +2 -2
  387. package/dist/components/q2-textarea.js.map +1 -1
  388. package/dist/components/q2-toast.d.ts +11 -0
  389. package/dist/components/q2-toast.js +233 -0
  390. package/dist/components/q2-toast.js.map +1 -0
  391. package/dist/components/sanitize-html-string.js +28 -5
  392. package/dist/components/sanitize-html-string.js.map +1 -1
  393. package/dist/components/tecton-tab-pane.js +4 -2
  394. package/dist/components/tecton-tab-pane.js.map +1 -1
  395. package/dist/esm/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +5 -2
  396. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -0
  397. package/dist/esm/component-DVxzK3WH.js +42 -0
  398. package/dist/esm/component-DVxzK3WH.js.map +1 -0
  399. package/dist/esm/loader.js +1 -1
  400. package/dist/esm/q2-action-group.q2-resize-observer.entry.js.map +1 -1
  401. package/dist/esm/q2-action-group_2.entry.js +121 -45
  402. package/dist/esm/q2-action-group_2.entry.js.map +1 -1
  403. package/dist/esm/q2-action-sheet.entry.js +9 -5
  404. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  405. package/dist/esm/q2-avatar.entry.js +2 -2
  406. package/dist/esm/q2-avatar.entry.js.map +1 -1
  407. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  408. package/dist/esm/q2-btn_2.entry.js +13 -4
  409. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  410. package/dist/esm/q2-calendar.entry.js +3 -3
  411. package/dist/esm/q2-calendar.entry.js.map +1 -1
  412. package/dist/esm/q2-card-image.entry.js +6 -6
  413. package/dist/esm/q2-card-image.entry.js.map +1 -1
  414. package/dist/esm/q2-card.entry.js +1 -1
  415. package/dist/esm/q2-card.entry.js.map +1 -1
  416. package/dist/esm/q2-carousel-pane.entry.js +7 -3
  417. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  418. package/dist/esm/q2-carousel.entry.js +12 -2
  419. package/dist/esm/q2-carousel.entry.js.map +1 -1
  420. package/dist/esm/q2-chart-area.entry.js +1 -1
  421. package/dist/esm/q2-chart-bar.entry.js +1 -1
  422. package/dist/esm/q2-chart-donut.entry.js +1 -1
  423. package/dist/esm/q2-checkbox-group.entry.js +5 -1
  424. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  425. package/dist/esm/q2-checkbox.entry.js +3 -4
  426. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  427. package/dist/esm/q2-context.entry.js +1 -1
  428. package/dist/esm/q2-context.entry.js.map +1 -1
  429. package/dist/esm/q2-currency.entry.js +1 -1
  430. package/dist/esm/q2-data-table.entry.js +19 -9
  431. package/dist/esm/q2-data-table.entry.js.map +1 -1
  432. package/dist/esm/q2-detail.entry.js +2 -2
  433. package/dist/esm/q2-detail.entry.js.map +1 -1
  434. package/dist/esm/q2-dropdown-item.entry.js +3 -1
  435. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  436. package/dist/esm/q2-dropdown.entry.js +33 -8
  437. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  438. package/dist/esm/q2-editable-field.entry.js +2 -2
  439. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  440. package/dist/esm/q2-example.entry.js +1 -1
  441. package/dist/esm/q2-file-picker.entry.js +2 -2
  442. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  443. package/dist/esm/q2-form.entry.js +1 -1
  444. package/dist/esm/q2-formatted-text.entry.js +1 -1
  445. package/dist/esm/q2-grid-area.entry.js +10 -2
  446. package/dist/esm/q2-grid-area.entry.js.map +1 -1
  447. package/dist/esm/q2-icon.entry.js +6 -0
  448. package/dist/esm/q2-icon.entry.js.map +1 -1
  449. package/dist/esm/q2-input.entry.js +8 -6
  450. package/dist/esm/q2-input.entry.js.map +1 -1
  451. package/dist/esm/q2-item.entry.js +17 -17
  452. package/dist/esm/q2-item.entry.js.map +1 -1
  453. package/dist/esm/q2-legend.entry.js +1 -1
  454. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  455. package/dist/esm/q2-link_2.entry.js +11 -7
  456. package/dist/esm/q2-link_2.entry.js.map +1 -1
  457. package/dist/esm/q2-message.entry.js +2 -2
  458. package/dist/esm/q2-message.entry.js.map +1 -1
  459. package/dist/esm/q2-meter.entry.js +1 -1
  460. package/dist/esm/q2-modal.entry.js +2 -2
  461. package/dist/esm/q2-month-picker.entry.js +2 -2
  462. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  463. package/dist/esm/q2-optgroup.entry.js +4 -2
  464. package/dist/esm/q2-optgroup.entry.js.map +1 -1
  465. package/dist/esm/q2-option-list.q2-popover.entry.js.map +1 -1
  466. package/dist/esm/q2-option-list_2.entry.js +5 -3
  467. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  468. package/dist/esm/q2-option.entry.js +3 -1
  469. package/dist/esm/q2-option.entry.js.map +1 -1
  470. package/dist/esm/q2-pagination.entry.js +10 -12
  471. package/dist/esm/q2-pagination.entry.js.map +1 -1
  472. package/dist/esm/q2-pill.entry.js +2 -2
  473. package/dist/esm/q2-radio.entry.js +2 -2
  474. package/dist/esm/q2-radio.entry.js.map +1 -1
  475. package/dist/esm/q2-relative-time.entry.js +1 -1
  476. package/dist/esm/q2-section-container.entry.js +2 -0
  477. package/dist/esm/q2-section-container.entry.js.map +1 -1
  478. package/dist/esm/q2-section.entry.js +2 -2
  479. package/dist/esm/q2-select.entry.js +7 -3
  480. package/dist/esm/q2-select.entry.js.map +1 -1
  481. package/dist/esm/q2-stepper-pane.entry.js +3 -1
  482. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  483. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  484. package/dist/esm/q2-stepper.entry.js +7 -3
  485. package/dist/esm/q2-stepper.entry.js.map +1 -1
  486. package/dist/esm/q2-tab-container.entry.js +5 -1
  487. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  488. package/dist/esm/q2-tab-pane.entry.js +9 -2
  489. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  490. package/dist/esm/q2-tag.entry.js +3 -3
  491. package/dist/esm/q2-tag.entry.js.map +1 -1
  492. package/dist/esm/q2-tecton-elements.js +1 -1
  493. package/dist/esm/q2-textarea.entry.js +2 -2
  494. package/dist/esm/q2-textarea.entry.js.map +1 -1
  495. package/dist/esm/q2-toast.entry.js +190 -0
  496. package/dist/esm/q2-toast.entry.js.map +1 -0
  497. package/dist/esm/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +30 -7
  498. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +1 -0
  499. package/dist/esm/tecton-tab-pane.entry.js +4 -2
  500. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  501. package/dist/jest.e2e-coverage.js +25 -0
  502. package/dist/jest.e2e-coverage.js.map +1 -0
  503. package/dist/q2-tecton-elements/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +19 -14
  504. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -0
  505. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  506. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  507. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  508. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  509. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  510. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  511. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  512. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  513. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  514. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  515. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  516. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  517. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  518. package/dist/q2-tecton-elements/component-DVxzK3WH.js +40 -0
  519. package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +1 -0
  520. package/dist/q2-tecton-elements/q2-action-group.q2-resize-observer.entry.esm.js.map +1 -1
  521. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +131 -63
  522. package/dist/q2-tecton-elements/q2-action-group_2.entry.js.map +1 -1
  523. package/dist/q2-tecton-elements/q2-action-sheet.entry.esm.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +79 -75
  525. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  526. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  527. package/dist/q2-tecton-elements/q2-avatar.entry.js +7 -7
  528. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  529. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-btn_2.entry.js +11 -4
  531. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  532. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  533. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -3
  534. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  535. package/dist/q2-tecton-elements/q2-card-image.entry.esm.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-card-image.entry.js +11 -11
  537. package/dist/q2-tecton-elements/q2-card-image.entry.js.map +1 -1
  538. package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
  539. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  540. package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -1
  541. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  542. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +25 -20
  543. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  544. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  545. package/dist/q2-tecton-elements/q2-carousel.entry.js +79 -67
  546. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
  548. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
  549. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +9 -9
  550. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  551. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +20 -15
  552. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  553. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +1 -1
  554. package/dist/q2-tecton-elements/q2-checkbox.entry.js +70 -71
  555. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  556. package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
  557. package/dist/q2-tecton-elements/q2-context.entry.js +12 -12
  558. package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
  559. package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
  560. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  561. package/dist/q2-tecton-elements/q2-data-table.entry.js +40 -27
  562. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  563. package/dist/q2-tecton-elements/q2-detail.entry.esm.js.map +1 -1
  564. package/dist/q2-tecton-elements/q2-detail.entry.js +10 -10
  565. package/dist/q2-tecton-elements/q2-detail.entry.js.map +1 -1
  566. package/dist/q2-tecton-elements/q2-dropdown-item.entry.esm.js.map +1 -1
  567. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +11 -8
  568. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  569. package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
  570. package/dist/q2-tecton-elements/q2-dropdown.entry.js +113 -85
  571. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  572. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  573. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -1
  574. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  575. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  576. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-file-picker.entry.js +3 -2
  578. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  579. package/dist/q2-tecton-elements/q2-form.entry.js +7 -7
  580. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  581. package/dist/q2-tecton-elements/q2-grid-area.entry.esm.js.map +1 -1
  582. package/dist/q2-tecton-elements/q2-grid-area.entry.js +18 -7
  583. package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  585. package/dist/q2-tecton-elements/q2-icon.entry.js +145 -137
  586. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  587. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  588. package/dist/q2-tecton-elements/q2-input.entry.js +14 -8
  589. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  590. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  591. package/dist/q2-tecton-elements/q2-item.entry.js +56 -53
  592. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  593. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  594. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  595. package/dist/q2-tecton-elements/q2-link_2.entry.js +22 -18
  596. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  597. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  598. package/dist/q2-tecton-elements/q2-message.entry.js +9 -9
  599. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  600. package/dist/q2-tecton-elements/q2-meter.entry.js +7 -7
  601. package/dist/q2-tecton-elements/q2-modal.entry.js +21 -21
  602. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  603. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  604. package/dist/q2-tecton-elements/q2-optgroup.entry.esm.js.map +1 -1
  605. package/dist/q2-tecton-elements/q2-optgroup.entry.js +15 -12
  606. package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
  607. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +1 -1
  608. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +52 -49
  609. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  610. package/dist/q2-tecton-elements/q2-option.entry.esm.js.map +1 -1
  611. package/dist/q2-tecton-elements/q2-option.entry.js +15 -12
  612. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  613. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  614. package/dist/q2-tecton-elements/q2-pagination.entry.js +66 -66
  615. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  616. package/dist/q2-tecton-elements/q2-pill.entry.js +37 -37
  617. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  618. package/dist/q2-tecton-elements/q2-radio.entry.js +47 -45
  619. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  620. package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
  621. package/dist/q2-tecton-elements/q2-section-container.entry.esm.js.map +1 -1
  622. package/dist/q2-tecton-elements/q2-section-container.entry.js +5 -2
  623. package/dist/q2-tecton-elements/q2-section-container.entry.js.map +1 -1
  624. package/dist/q2-tecton-elements/q2-section.entry.js +11 -11
  625. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  626. package/dist/q2-tecton-elements/q2-select.entry.js +6 -3
  627. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  628. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  629. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +22 -19
  630. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  631. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +69 -69
  632. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  633. package/dist/q2-tecton-elements/q2-stepper.entry.js +42 -39
  634. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  635. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  636. package/dist/q2-tecton-elements/q2-tab-container.entry.js +21 -16
  637. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  638. package/dist/q2-tecton-elements/q2-tab-pane.entry.esm.js.map +1 -1
  639. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +17 -7
  640. package/dist/q2-tecton-elements/q2-tab-pane.entry.js.map +1 -1
  641. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +1 -1
  642. package/dist/q2-tecton-elements/q2-tag.entry.js +59 -59
  643. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  644. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  645. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  646. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  647. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  648. package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -0
  649. package/dist/q2-tecton-elements/q2-toast.entry.js +222 -0
  650. package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -0
  651. package/dist/q2-tecton-elements/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +167 -145
  652. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +1 -0
  653. package/dist/q2-tecton-elements/tecton-tab-pane.entry.esm.js.map +1 -1
  654. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -8
  655. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js.map +1 -1
  656. package/dist/scripts/docs-generator/index.js +1 -1
  657. package/dist/scripts/docs-generator/index.js.map +1 -1
  658. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.e2e-coverage.d.ts +1 -0
  659. package/dist/types/components/q2-action-group/q2-action-group.d.ts +7 -4
  660. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +1 -0
  661. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +0 -5
  662. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -0
  663. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +22 -3
  664. package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +2 -0
  665. package/dist/types/components/q2-input/q2-input.d.ts +4 -5
  666. package/dist/types/components/q2-item/q2-item.d.ts +5 -4
  667. package/dist/types/components/q2-link/q2-link.d.ts +4 -0
  668. package/dist/types/components/q2-pagination/q2-pagination.d.ts +11 -3
  669. package/dist/types/components/q2-select/q2-select.d.ts +1 -2
  670. package/dist/types/components/q2-tab-pane/q2-tab-pane.d.ts +2 -0
  671. package/dist/types/components/q2-toast/q2-toast.d.ts +67 -0
  672. package/dist/types/components.d.ts +189 -34
  673. package/dist/types/utils/action-sheet.d.ts +2 -1
  674. package/dist/types/utils/component.d.ts +4 -0
  675. package/dist/types/utils/sanitize-html-string.d.ts +1 -0
  676. package/package.json +72 -66
  677. package/dist/cjs/action-sheet-CiK2Bap_.js.map +0 -1
  678. package/dist/cjs/sanitize-html-string-DPqrzfM9.js.map +0 -1
  679. package/dist/esm/action-sheet-WwoBwnIp.js.map +0 -1
  680. package/dist/esm/sanitize-html-string-DOVERJq5.js.map +0 -1
  681. package/dist/q2-tecton-elements/action-sheet-WwoBwnIp.js.map +0 -1
  682. package/dist/q2-tecton-elements/sanitize-html-string-DOVERJq5.js.map +0 -1
  683. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
  684. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/index.d.ts +0 -0
  685. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/markdown-generator.d.ts +0 -0
  686. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/tag-handlers.d.ts +0 -0
  687. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/types.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"q2-icon.entry.esm.js","sources":["src/components/q2-icon/q2-icon.scss?tag=q2-icon&encapsulation=shadow","src/components/q2-icon/q2-icon.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n height: var(--tct-icon-size, 24px);\n width: var(--tct-icon-size, 24px);\n position: relative;\n fill: none;\n}\n\n:host([inline]) {\n height: 1em;\n width: 1em;\n}\n\nsvg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n stroke-width: var-list(--tct-icon-stroke-width, --t-icon-stroke-width, --tct-icon-group-stroke-width, 2);\n stroke-linecap: var-list(--tct-icon-cap, --t-icon-cap, round);\n stroke-linejoin: var-list(--tct-icon-cap, --t-icon-cap, round);\n transition: var(--tct-icon-transition, none);\n\n &.brand {\n stroke-width: var-list(--tct-icon-group-brand-stroke-width, 1);\n }\n\n &.browsersos {\n stroke-width: var-list(--tct-icon-group-browsersos-stroke-width, 1);\n }\n}\n\n.stroke-primary {\n stroke: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.stroke-secondary {\n stroke: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.fill-primary {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.fill-secondary {\n fill: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.filled {\n fill: var-list(--tct-icon-fill, --comp-icon-fill, --t-icon-fill, none);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.brand-filled {\n fill: var-list(--tct-brand-icon-fill, --tct-icon-fill, currentColor);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.uniform {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n:host([type='info']),\n:host([type='info-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n}\n\n:host([type='success']),\n:host([type='success-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n}\n\n:host([type='warning']),\n:host([type='warning-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n}\n\n:host([type='error']),\n:host([type='error-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n}\n","import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\nimport iconMap from './assets/icon-map.json';\n\n/**\n * @name Icon\n * @category Display\n * @summary Use for displaying icons that represent actions, states, or concepts.\n */\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(spriteId);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"q2-icon.entry.esm.js","sources":["src/components/q2-icon/q2-icon.scss?tag=q2-icon&encapsulation=shadow","src/components/q2-icon/q2-icon.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n height: var(--tct-icon-size, 24px);\n width: var(--tct-icon-size, 24px);\n position: relative;\n fill: none;\n}\n\n:host([inline]) {\n height: 1em;\n width: 1em;\n}\n\nsvg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n stroke-width: var-list(--tct-icon-stroke-width, --t-icon-stroke-width, --tct-icon-group-stroke-width, 2);\n stroke-linecap: var-list(--tct-icon-cap, --t-icon-cap, round);\n stroke-linejoin: var-list(--tct-icon-cap, --t-icon-cap, round);\n transition: var(--tct-icon-transition, none);\n\n &.brand {\n stroke-width: var-list(--tct-icon-group-brand-stroke-width, 1);\n }\n\n &.browsersos {\n stroke-width: var-list(--tct-icon-group-browsersos-stroke-width, 1);\n }\n}\n\n.stroke-primary {\n stroke: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.stroke-secondary {\n stroke: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.fill-primary {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.fill-secondary {\n fill: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.filled {\n fill: var-list(--tct-icon-fill, --comp-icon-fill, --t-icon-fill, none);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.brand-filled {\n fill: var-list(--tct-brand-icon-fill, --tct-icon-fill, currentColor);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.uniform {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n:host([type='info']),\n:host([type='info-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n}\n\n:host([type='success']),\n:host([type='success-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n}\n\n:host([type='warning']),\n:host([type='warning-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n}\n\n:host([type='error']),\n:host([type='error-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n}\n","import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\nimport iconMap from './assets/icon-map.json';\n\n/**\n * @name Icon\n * @category Display\n * @summary Use for displaying icons that represent actions, states, or concepts.\n */\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(spriteId);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
@@ -82,9 +82,9 @@ const Y = "standard";
82
82
 
83
83
  const _ = "standard";
84
84
 
85
- const J = "devices";
85
+ const J = "standard";
86
86
 
87
- const K = "standard";
87
+ const K = "devices";
88
88
 
89
89
  const M = "standard";
90
90
 
@@ -96,9 +96,9 @@ const T = "standard";
96
96
 
97
97
  const U = "standard";
98
98
 
99
- const X = "status";
99
+ const X = "standard";
100
100
 
101
- const Z = "standard";
101
+ const Z = "status";
102
102
 
103
103
  const rr = "standard";
104
104
 
@@ -132,15 +132,15 @@ const ur = "standard";
132
132
 
133
133
  const fr = "standard";
134
134
 
135
- const mr = "status";
135
+ const mr = "standard";
136
136
 
137
- const gr = "browsersos";
137
+ const gr = "status";
138
138
 
139
- const vr = "standard";
139
+ const vr = "browsersos";
140
140
 
141
- const wr = "devices";
141
+ const wr = "standard";
142
142
 
143
- const yr = "standard";
143
+ const yr = "devices";
144
144
 
145
145
  const kr = "standard";
146
146
 
@@ -200,11 +200,11 @@ const Pr = "standard";
200
200
 
201
201
  const Qr = "standard";
202
202
 
203
- const Tr = "devices";
203
+ const Tr = "standard";
204
204
 
205
205
  const Ur = "standard";
206
206
 
207
- const Xr = "standard";
207
+ const Xr = "devices";
208
208
 
209
209
  const Zr = "standard";
210
210
 
@@ -222,11 +222,11 @@ const dt = "standard";
222
222
 
223
223
  const ot = "standard";
224
224
 
225
- const et = "legacy";
225
+ const et = "standard";
226
226
 
227
227
  const ct = "standard";
228
228
 
229
- const it = "standard";
229
+ const it = "legacy";
230
230
 
231
231
  const lt = "standard";
232
232
 
@@ -260,13 +260,13 @@ const jt = "standard";
260
260
 
261
261
  const Nt = "standard";
262
262
 
263
- const $t = "status";
263
+ const $t = "standard";
264
264
 
265
- const Ct = "devices";
265
+ const Ct = "standard";
266
266
 
267
- const Et = "standard";
267
+ const Et = "status";
268
268
 
269
- const Ft = "standard";
269
+ const Ft = "devices";
270
270
 
271
271
  const It = "standard";
272
272
 
@@ -292,13 +292,17 @@ const Ht = "standard";
292
292
 
293
293
  const Lt = "standard";
294
294
 
295
- const Ot = "status";
295
+ const Ot = "standard";
296
296
 
297
297
  const Yt = "standard";
298
298
 
299
- const _t = "standard";
299
+ const _t = "status";
300
300
 
301
- var Jt = {
301
+ const Jt = "standard";
302
+
303
+ const Kt = "standard";
304
+
305
+ var Mt = {
302
306
  a11y: o,
303
307
  add: e,
304
308
  airplane: c,
@@ -336,6 +340,8 @@ var Jt = {
336
340
  "brand-payrecs-filled": "brand",
337
341
  "brand-snapchat-color": "brand",
338
342
  "brand-snapchat-filled": "brand",
343
+ "brand-threads-color": "brand",
344
+ "brand-tiktok-color": "brand",
339
345
  "brand-twitter-color": "brand",
340
346
  "brand-twitter-filled": "brand",
341
347
  "brand-vimeo-color": "brand",
@@ -462,38 +468,39 @@ var Jt = {
462
468
  close: W,
463
469
  coins: A,
464
470
  compass: H,
465
- conversation: L,
466
- copy: O,
467
- coupon: Y,
471
+ congrats: L,
472
+ conversation: O,
473
+ copy: Y,
474
+ coupon: _,
468
475
  "credit-score": "standard",
469
476
  "currency-dollar": "currencies",
470
477
  "currency-dollar-circle": "currencies",
471
478
  "currency-euro": "currencies",
472
479
  "currency-pound": "currencies",
473
480
  "currency-yen": "currencies",
474
- dashboard: _,
481
+ dashboard: J,
475
482
  "delivery-truck": "standard",
476
- desktop: J,
477
- diploma: K,
478
- divider: M,
479
- document: P,
483
+ desktop: K,
484
+ diploma: M,
485
+ divider: P,
486
+ document: Q,
480
487
  "document-add": "standard",
481
488
  "document-checklist": "standard",
482
489
  "document-remove": "standard",
483
490
  "document-stacked": "standard",
484
- download: Q,
491
+ download: T,
485
492
  "drag-handle": "standard",
486
- edit: T,
487
- ellipsis: U,
488
- error: X,
493
+ edit: U,
494
+ ellipsis: X,
495
+ error: Z,
489
496
  "error-filled": "status",
490
497
  "external-link": "standard",
491
498
  "eye-hide": "standard",
492
499
  "eye-show": "standard",
493
500
  "face-id": "standard",
494
- factory: Z,
495
- failed: rr,
496
- filebox: tr,
501
+ factory: rr,
502
+ failed: tr,
503
+ filebox: ar,
497
504
  "filetype-csv": "filetypes",
498
505
  "filetype-doc": "filetypes",
499
506
  "filetype-docx": "filetypes",
@@ -510,10 +517,10 @@ var Jt = {
510
517
  "filetype-xls": "filetypes",
511
518
  "filetype-xlsx": "filetypes",
512
519
  "filetype-xml": "filetypes",
513
- filter: ar,
514
- fingerprint: sr,
515
- flag: nr,
516
- gear: dr,
520
+ filter: sr,
521
+ fingerprint: nr,
522
+ flag: dr,
523
+ gear: or,
517
524
  "gesture-hand": "gestures",
518
525
  "gesture-scroll-horizontal": "gestures",
519
526
  "gesture-scroll-vertical": "gestures",
@@ -523,56 +530,57 @@ var Jt = {
523
530
  "gesture-swipe-right": "gestures",
524
531
  "gesture-swipe-up": "gestures",
525
532
  "gesture-tap": "gestures",
526
- gift: or,
533
+ gift: er,
527
534
  "gold-bars": "standard",
528
- government: er,
529
- gps: cr,
535
+ government: cr,
536
+ gps: ir,
530
537
  "graduation-cap": "standard",
531
538
  "grid-x2": "standard",
532
539
  "grid-x3": "standard",
533
540
  "hamburger-menu": "standard",
534
- hand: ir,
541
+ hand: lr,
535
542
  "hand-with-coins": "standard",
536
543
  "hand-with-key": "standard",
537
- handshake: lr,
538
- headset: pr,
539
- health: br,
540
- heart: hr,
544
+ handshake: pr,
545
+ headset: br,
546
+ health: hr,
547
+ heart: ur,
541
548
  "heart-add": "standard",
542
549
  "heart-remove": "standard",
543
- home: ur,
550
+ home: fr,
544
551
  "home-chimney": "standard",
545
552
  "home-gear": "standard",
546
553
  "id-badge": "standard",
547
- inbox: fr,
554
+ inbox: mr,
548
555
  "inbox-checked": "standard",
549
556
  "inbox-full": "standard",
550
- info: mr,
557
+ info: gr,
551
558
  "info-filled": "status",
552
- ios: gr,
553
- key: vr,
554
- laptop: wr,
555
- law: yr,
556
- leaf: kr,
557
- lightbulb: xr,
558
- linechart: zr,
559
+ ios: vr,
560
+ key: wr,
561
+ laptop: yr,
562
+ law: kr,
563
+ leaf: xr,
564
+ lightbulb: zr,
565
+ linechart: jr,
559
566
  "linechart-trend": "standard",
560
- link: jr,
561
- list: Nr,
562
- location: $r,
567
+ link: Nr,
568
+ list: $r,
569
+ location: Cr,
563
570
  "location-base": "standard",
564
571
  "location-prohibited": "standard",
565
- lock: Cr,
566
- logout: Er,
567
- loop: Fr,
568
- mail: Ir,
569
- math: Sr,
570
- medal: Br,
571
- megaphone: Gr,
572
+ lock: Er,
573
+ logout: Fr,
574
+ loop: Ir,
575
+ mail: Sr,
576
+ math: Br,
577
+ medal: Gr,
578
+ megaphone: qr,
572
579
  "message-forward": "standard",
573
580
  "message-reply": "standard",
574
581
  "message-response": "standard",
575
- microscope: qr,
582
+ microdeposit: Dr,
583
+ microscope: Vr,
576
584
  "mobile-button": "mobile",
577
585
  "mobile-edit": "mobile",
578
586
  "mobile-fast-dollar": "standard",
@@ -585,16 +593,16 @@ var Jt = {
585
593
  "mobile-settings": "mobile",
586
594
  "mobile-time": "mobile",
587
595
  "money-time": "standard",
588
- mortgage: Dr,
589
- motorcycle: Vr,
590
- motorhome: Rr,
591
- mountains: Wr,
592
- movie: Ar,
593
- music: Hr,
596
+ mortgage: Rr,
597
+ motorcycle: Wr,
598
+ motorhome: Ar,
599
+ mountains: Hr,
600
+ movie: Lr,
601
+ music: Or,
594
602
  "nest-egg": "standard",
595
- newspaper: Lr,
603
+ newspaper: Yr,
596
604
  "open-in-dialog": "standard",
597
- options: Or,
605
+ options: _r,
598
606
  "os-android": "browsersos",
599
607
  "os-android-color": "browsersos",
600
608
  "os-android-filled": "browsersos",
@@ -604,108 +612,108 @@ var Jt = {
604
612
  "os-windows": "browsersos",
605
613
  "os-windows-color": "browsersos",
606
614
  "os-windows-filled": "browsersos",
607
- palette: Yr,
615
+ palette: Jr,
608
616
  "paper-plane": "standard",
609
- paperclip: _r,
610
- pause: Jr,
611
- paw: Kr,
612
- people: Mr,
617
+ paperclip: Kr,
618
+ pause: Mr,
619
+ paw: Pr,
620
+ people: Qr,
613
621
  "people-group": "standard",
614
- percent: Pr,
615
- person: Qr,
622
+ percent: Tr,
623
+ person: Ur,
616
624
  "person-add": "standard",
617
625
  "person-lock": "standard",
618
626
  "person-remove": "standard",
619
627
  "person-settings": "standard",
620
628
  "person-to-person": "standard",
621
629
  "personal-care": "standard",
622
- phone: Tr,
623
- piechart: Ur,
630
+ phone: Xr,
631
+ piechart: Zr,
624
632
  "piechart-expanded": "standard",
625
633
  "piggy-bank": "standard",
626
- play: Xr,
627
- pricetag: Zr,
634
+ play: rt,
635
+ pricetag: tt,
628
636
  "pricetag-blank": "standard",
629
637
  "pricetag-time": "standard",
630
- print: rt,
631
- prohibited: tt,
632
- question: at,
633
- receipt: st,
638
+ print: at,
639
+ prohibited: st,
640
+ question: nt,
641
+ receipt: dt,
634
642
  "receipt-list": "standard",
635
643
  "receipt-list-top": "standard",
636
644
  "receipt-top": "standard",
637
- refresh: nt,
638
- remove: dt,
639
- repeat: ot,
645
+ refresh: ot,
646
+ remove: et,
647
+ repeat: ct,
640
648
  "repeat-time": "standard",
641
- revert: et,
642
- ribbon: ct,
643
- ring: it,
644
- roadblock: lt,
649
+ revert: it,
650
+ ribbon: lt,
651
+ ring: pt,
652
+ roadblock: bt,
645
653
  "rss-color": "legacy",
646
654
  "rss-filled": "legacy",
647
- save: pt,
648
- school: bt,
649
- search: ht,
650
- section: ut,
651
- service: ft,
652
- shield: mt,
653
- sign: gt,
655
+ save: ht,
656
+ school: ut,
657
+ search: ft,
658
+ section: mt,
659
+ service: gt,
660
+ shield: vt,
661
+ sign: wt,
654
662
  "sign-closed": "standard",
655
663
  "sign-open": "standard",
656
664
  "sign-sale": "standard",
657
665
  "sign-sold": "standard",
658
- silverware: vt,
659
- skip: wt,
666
+ silverware: yt,
667
+ skip: kt,
660
668
  "sms-color": "legacy",
661
669
  "sms-filled": "legacy",
662
- sort: yt,
663
- speedometer: kt,
664
- split: xt,
665
- star: zt,
670
+ sort: xt,
671
+ speedometer: zt,
672
+ split: jt,
673
+ star: Nt,
666
674
  "star-add": "standard",
667
675
  "star-remove": "standard",
668
- statements: jt,
676
+ statements: $t,
669
677
  "steering-wheel": "standard",
670
678
  "stop-payment": "standard",
671
- storefront: Nt,
679
+ storefront: Ct,
672
680
  "storefront-add": "standard",
673
681
  "storefront-prohibited": "standard",
674
682
  "storefront-remove": "standard",
675
683
  "storefront-settings": "standard",
676
- success: $t,
684
+ success: Et,
677
685
  "success-filled": "status",
678
- tablet: Ct,
679
- target: Et,
680
- taxi: Ft,
681
- time: It,
682
- todo: St,
683
- tools: Bt,
684
- tractor: Gt,
685
- transfer: qt,
686
+ tablet: Ft,
687
+ target: It,
688
+ taxi: St,
689
+ time: Bt,
690
+ todo: Gt,
691
+ tools: qt,
692
+ tractor: Dt,
693
+ transfer: Vt,
686
694
  "transfer-receive": "standard",
687
695
  "transfer-send": "standard",
688
- trash: Dt,
689
- tree: Vt,
696
+ trash: Rt,
697
+ tree: Wt,
690
698
  "truck-with-lock": "standard",
691
- umbrella: Rt,
692
- unlink: Wt,
693
- upload: At,
699
+ umbrella: At,
700
+ unlink: Ht,
701
+ upload: Lt,
694
702
  "venmo-colored": "brand",
695
703
  "venmo-filled": "brand",
696
- virus: Ht,
697
- wallet: Lt,
698
- warning: Ot,
704
+ virus: Ot,
705
+ wallet: Yt,
706
+ warning: _t,
699
707
  "warning-filled": "status",
700
- watch: Yt,
701
- world: _t,
708
+ watch: Jt,
709
+ world: Kt,
702
710
  "zoom-in": "standard",
703
711
  "zoom-out": "standard"
704
712
  };
705
713
 
706
- const Kt = "*{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}:host{display:inline-block;height:var(--tct-icon-size, 24px);width:var(--tct-icon-size, 24px);position:relative;fill:none}:host([inline]){height:1em;width:1em}svg{display:block;position:absolute;top:0;left:0;stroke-width:var(--tct-icon-stroke-width, var(--t-icon-stroke-width, var(--tct-icon-group-stroke-width, 2)));stroke-linecap:var(--tct-icon-cap, var(--t-icon-cap, round));stroke-linejoin:var(--tct-icon-cap, var(--t-icon-cap, round));transition:var(--tct-icon-transition, none)}svg.brand{stroke-width:var(--tct-icon-group-brand-stroke-width, 1)}svg.browsersos{stroke-width:var(--tct-icon-group-browsersos-stroke-width, 1)}.stroke-primary{stroke:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-primary-transition, none)}.stroke-secondary{stroke:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-secondary-transition, none)}.fill-primary{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-primary-transition, none)}.fill-secondary{fill:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-secondary-transition, none)}.filled{fill:var(--tct-icon-fill, var(--comp-icon-fill, var(--t-icon-fill, none)));transition:var(--tct-icon-fill-transition, none)}.brand-filled{fill:var(--tct-brand-icon-fill, var(--tct-icon-fill, currentColor));transition:var(--tct-icon-fill-transition, none)}.uniform{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, currentcolor));transition:var(--tct-icon-stroke-primary-transition, none)}:host([type=info]),:host([type=info-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]),:host([type=success-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]),:host([type=warning-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500))}:host([type=error]),:host([type=error-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-alert, var(--const-stoplight-alert, #d20a0a))}";
714
+ const Pt = "*{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}:host{display:inline-block;height:var(--tct-icon-size, 24px);width:var(--tct-icon-size, 24px);position:relative;fill:none}:host([inline]){height:1em;width:1em}svg{display:block;position:absolute;top:0;left:0;stroke-width:var(--tct-icon-stroke-width, var(--t-icon-stroke-width, var(--tct-icon-group-stroke-width, 2)));stroke-linecap:var(--tct-icon-cap, var(--t-icon-cap, round));stroke-linejoin:var(--tct-icon-cap, var(--t-icon-cap, round));transition:var(--tct-icon-transition, none)}svg.brand{stroke-width:var(--tct-icon-group-brand-stroke-width, 1)}svg.browsersos{stroke-width:var(--tct-icon-group-browsersos-stroke-width, 1)}.stroke-primary{stroke:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-primary-transition, none)}.stroke-secondary{stroke:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-secondary-transition, none)}.fill-primary{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-primary-transition, none)}.fill-secondary{fill:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentcolor)));transition:var(--tct-icon-stroke-secondary-transition, none)}.filled{fill:var(--tct-icon-fill, var(--comp-icon-fill, var(--t-icon-fill, none)));transition:var(--tct-icon-fill-transition, none)}.brand-filled{fill:var(--tct-brand-icon-fill, var(--tct-icon-fill, currentColor));transition:var(--tct-icon-fill-transition, none)}.uniform{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, currentcolor));transition:var(--tct-icon-stroke-primary-transition, none)}:host([type=info]),:host([type=info-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]),:host([type=success-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]),:host([type=warning-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500))}:host([type=error]),:host([type=error-filled]){--tct-icon-stroke-primary:transparent;--comp-status-color:var(--tct-stoplight-alert, var(--const-stoplight-alert, #d20a0a))}";
707
715
 
708
- const Mt = class {
716
+ const Qt = class {
709
717
  constructor(t) {
710
718
  r(this, t);
711
719
  this.spritePrefix = "tecton-sprite-";
@@ -761,7 +769,7 @@ const Mt = class {
761
769
  }
762
770
  get spriteFileName() {
763
771
  if (this.isCustom) return;
764
- return Jt[this.type];
772
+ return Mt[this.type];
765
773
  }
766
774
  get spriteId() {
767
775
  const {spriteFileName: r} = this;
@@ -872,8 +880,8 @@ const Mt = class {
872
880
  }
873
881
  };
874
882
 
875
- Mt.style = Kt;
883
+ Qt.style = Pt;
876
884
 
877
- export { Mt as q2_icon };
885
+ export { Qt as q2_icon };
878
886
  //# sourceMappingURL=q2-icon.entry.esm.js.map
879
887
  //# sourceMappingURL=q2-icon.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["q2IconCss","Q2Icon","constructor","hostRef","this","spritePrefix","disconnectedCallback","spriteGroup","spriteUse","componentWillLoad","handleIcon","componentDidRender","iconClone","_b","_a","firstElementChild","remove","appendedClone","_c","appendChild","_d","setAttribute","id","isCustom","setCustomSVGAttrs","type","fetchSprite","iconCloneViewBox","getAttribute","spriteElement","spriteId","document","querySelector","spriteEventName","spriteFileName","iconMap","checkForSprite","spriteContainer","getOrCreateSpriteContainer","getElementById","hasAttribute","cloneSpriteNode","addEventListener","once","createElement","spriteNode","cloneNode","undefined","spriteExists","spritePath","getAssetPath","response","fetch","data","text","wrappingDiv","innerHTML","svg","tagName","replaceWith","parentNode","replaceChild","dispatchEvent","CustomEvent","bubbles","innerSVG","hostElement","label","title","labelId","createGuid","textContent","render","h","role","viewBox","xmlns","class","ref","el"],"sources":["src/components/q2-icon/q2-icon.scss?tag=q2-icon&encapsulation=shadow","src/components/q2-icon/q2-icon.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n height: var(--tct-icon-size, 24px);\n width: var(--tct-icon-size, 24px);\n position: relative;\n fill: none;\n}\n\n:host([inline]) {\n height: 1em;\n width: 1em;\n}\n\nsvg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n stroke-width: var-list(--tct-icon-stroke-width, --t-icon-stroke-width, --tct-icon-group-stroke-width, 2);\n stroke-linecap: var-list(--tct-icon-cap, --t-icon-cap, round);\n stroke-linejoin: var-list(--tct-icon-cap, --t-icon-cap, round);\n transition: var(--tct-icon-transition, none);\n\n &.brand {\n stroke-width: var-list(--tct-icon-group-brand-stroke-width, 1);\n }\n\n &.browsersos {\n stroke-width: var-list(--tct-icon-group-browsersos-stroke-width, 1);\n }\n}\n\n.stroke-primary {\n stroke: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.stroke-secondary {\n stroke: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.fill-primary {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.fill-secondary {\n fill: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.filled {\n fill: var-list(--tct-icon-fill, --comp-icon-fill, --t-icon-fill, none);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.brand-filled {\n fill: var-list(--tct-brand-icon-fill, --tct-icon-fill, currentColor);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.uniform {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n:host([type='info']),\n:host([type='info-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n}\n\n:host([type='success']),\n:host([type='success-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n}\n\n:host([type='warning']),\n:host([type='warning-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n}\n\n:host([type='error']),\n:host([type='error-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n}\n","import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\nimport iconMap from './assets/icon-map.json';\n\n/**\n * @name Icon\n * @category Display\n * @summary Use for displaying icons that represent actions, states, or concepts.\n */\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(spriteId);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["q2IconCss","Q2Icon","constructor","hostRef","this","spritePrefix","disconnectedCallback","spriteGroup","spriteUse","componentWillLoad","handleIcon","componentDidRender","iconClone","_b","_a","firstElementChild","remove","appendedClone","_c","appendChild","_d","setAttribute","id","isCustom","setCustomSVGAttrs","type","fetchSprite","iconCloneViewBox","getAttribute","spriteElement","spriteId","document","querySelector","spriteEventName","spriteFileName","iconMap","checkForSprite","spriteContainer","getOrCreateSpriteContainer","getElementById","hasAttribute","cloneSpriteNode","addEventListener","once","createElement","spriteNode","cloneNode","undefined","spriteExists","spritePath","getAssetPath","response","fetch","data","text","wrappingDiv","innerHTML","svg","tagName","replaceWith","parentNode","replaceChild","dispatchEvent","CustomEvent","bubbles","innerSVG","hostElement","label","title","labelId","createGuid","textContent","render","h","role","viewBox","xmlns","class","ref","el"],"sources":["src/components/q2-icon/q2-icon.scss?tag=q2-icon&encapsulation=shadow","src/components/q2-icon/q2-icon.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n height: var(--tct-icon-size, 24px);\n width: var(--tct-icon-size, 24px);\n position: relative;\n fill: none;\n}\n\n:host([inline]) {\n height: 1em;\n width: 1em;\n}\n\nsvg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n stroke-width: var-list(--tct-icon-stroke-width, --t-icon-stroke-width, --tct-icon-group-stroke-width, 2);\n stroke-linecap: var-list(--tct-icon-cap, --t-icon-cap, round);\n stroke-linejoin: var-list(--tct-icon-cap, --t-icon-cap, round);\n transition: var(--tct-icon-transition, none);\n\n &.brand {\n stroke-width: var-list(--tct-icon-group-brand-stroke-width, 1);\n }\n\n &.browsersos {\n stroke-width: var-list(--tct-icon-group-browsersos-stroke-width, 1);\n }\n}\n\n.stroke-primary {\n stroke: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.stroke-secondary {\n stroke: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.fill-primary {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.fill-secondary {\n fill: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.filled {\n fill: var-list(--tct-icon-fill, --comp-icon-fill, --t-icon-fill, none);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.brand-filled {\n fill: var-list(--tct-brand-icon-fill, --tct-icon-fill, currentColor);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.uniform {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n:host([type='info']),\n:host([type='info-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n}\n\n:host([type='success']),\n:host([type='success-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n}\n\n:host([type='warning']),\n:host([type='warning-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n}\n\n:host([type='error']),\n:host([type='error-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n}\n","import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\nimport iconMap from './assets/icon-map.json';\n\n/**\n * @name Icon\n * @category Display\n * @summary Use for displaying icons that represent actions, states, or concepts.\n */\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(spriteId);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}