q2-tecton-elements 1.46.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +8 -16
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0e15dc8d.js → index-a93362ed.js} +3 -3
  4. package/dist/cjs/index-a93362ed.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +17 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +37 -7
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-carousel.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +71 -6
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-checkbox-group.cjs.entry.js +4 -3
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-checkbox.cjs.entry.js +4 -3
  22. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  25. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-icon.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-input.cjs.entry.js +24 -5
  34. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  35. package/dist/cjs/q2-item.cjs.entry.js +13 -15
  36. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-legend.cjs.entry.js +118 -0
  38. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -0
  39. package/dist/cjs/q2-list.cjs.entry.js +8 -8
  40. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  48. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  53. package/dist/cjs/q2-select.cjs.entry.js +6 -4
  54. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  58. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  62. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  64. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  65. package/dist/collection/collection-manifest.json +1 -0
  66. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -8
  67. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  68. package/dist/collection/components/q2-calendar/q2-calendar.js +16 -2
  69. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  70. package/dist/collection/components/q2-carousel/q2-carousel.js +2 -2
  71. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  72. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +36 -6
  73. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  74. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +9 -0
  75. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +92 -5
  76. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  77. package/dist/collection/components/q2-checkbox/q2-checkbox.js +20 -2
  78. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  79. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +3 -2
  80. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  81. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  82. package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
  83. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  84. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  85. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  86. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
  87. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  88. package/dist/collection/components/q2-icon/assets/icon-file-list.json +1 -0
  89. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  90. package/dist/collection/components/q2-icon/q2-icon.js +1 -1
  91. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  92. package/dist/collection/components/q2-input/q2-input.js +121 -6
  93. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  94. package/dist/collection/components/q2-item/q2-item.js +23 -16
  95. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  96. package/dist/collection/components/q2-legend/q2-legend.css +126 -0
  97. package/dist/collection/components/q2-legend/q2-legend.js +271 -0
  98. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -0
  99. package/dist/collection/components/q2-list/q2-list.js +7 -7
  100. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  101. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  102. package/dist/collection/components/q2-message/q2-message.js +1 -1
  103. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  104. package/dist/collection/components/q2-option/q2-option.js +1 -1
  105. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  106. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  107. package/dist/collection/components/q2-popover/q2-popover.js +5 -7
  108. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  109. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  110. package/dist/collection/components/q2-section/q2-section.js +2 -2
  111. package/dist/collection/components/q2-select/q2-select.js +11 -3
  112. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  113. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  114. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  115. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  116. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  117. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  118. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  119. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  120. package/dist/collection/utils/index.js +2 -2
  121. package/dist/collection/utils/index.js.map +1 -1
  122. package/dist/components/click-elsewhere2.js +2 -8
  123. package/dist/components/click-elsewhere2.js.map +1 -1
  124. package/dist/components/index.js +2 -0
  125. package/dist/components/index.js.map +1 -1
  126. package/dist/components/index2.js +2 -2
  127. package/dist/components/index2.js.map +1 -1
  128. package/dist/components/q2-calendar.js +16 -2
  129. package/dist/components/q2-calendar.js.map +1 -1
  130. package/dist/components/q2-carousel-pane.js +36 -6
  131. package/dist/components/q2-carousel-pane.js.map +1 -1
  132. package/dist/components/q2-carousel.js +2 -2
  133. package/dist/components/q2-carousel.js.map +1 -1
  134. package/dist/components/q2-chart-donut.js +82 -9
  135. package/dist/components/q2-chart-donut.js.map +1 -1
  136. package/dist/components/q2-checkbox-group.js +3 -2
  137. package/dist/components/q2-checkbox-group.js.map +1 -1
  138. package/dist/components/q2-checkbox2.js +4 -2
  139. package/dist/components/q2-checkbox2.js.map +1 -1
  140. package/dist/components/q2-currency.js +1 -1
  141. package/dist/components/q2-data-table.js +1 -1
  142. package/dist/components/q2-detail.js +1 -1
  143. package/dist/components/q2-dropdown-item2.js +1 -1
  144. package/dist/components/q2-dropdown-item2.js.map +1 -1
  145. package/dist/components/q2-dropdown.js +1 -1
  146. package/dist/components/q2-dropdown.js.map +1 -1
  147. package/dist/components/q2-icon2.js +1 -1
  148. package/dist/components/q2-icon2.js.map +1 -1
  149. package/dist/components/q2-input2.js +28 -5
  150. package/dist/components/q2-input2.js.map +1 -1
  151. package/dist/components/q2-item.js +15 -17
  152. package/dist/components/q2-item.js.map +1 -1
  153. package/dist/components/q2-legend.d.ts +11 -0
  154. package/dist/components/q2-legend.js +8 -0
  155. package/dist/components/q2-legend.js.map +1 -0
  156. package/dist/components/q2-legend2.js +145 -0
  157. package/dist/components/q2-legend2.js.map +1 -0
  158. package/dist/components/q2-list.js +7 -7
  159. package/dist/components/q2-list.js.map +1 -1
  160. package/dist/components/q2-loc.js +1 -1
  161. package/dist/components/q2-message2.js +1 -1
  162. package/dist/components/q2-optgroup2.js +1 -1
  163. package/dist/components/q2-option2.js +1 -1
  164. package/dist/components/q2-pagination.js +2 -2
  165. package/dist/components/q2-pill.js +1 -1
  166. package/dist/components/q2-popover2.js +5 -7
  167. package/dist/components/q2-popover2.js.map +1 -1
  168. package/dist/components/q2-relative-time.js +1 -1
  169. package/dist/components/q2-section.js +2 -2
  170. package/dist/components/q2-select2.js +6 -4
  171. package/dist/components/q2-select2.js.map +1 -1
  172. package/dist/components/q2-stepper-pane.js +1 -1
  173. package/dist/components/q2-stepper-vertical.js +1 -1
  174. package/dist/components/q2-stepper.js +1 -1
  175. package/dist/components/q2-tab-container.js +1 -1
  176. package/dist/components/q2-tab-pane.js +1 -1
  177. package/dist/components/q2-tag.js +1 -1
  178. package/dist/components/tecton-tab-pane.js +2 -2
  179. package/dist/esm/click-elsewhere_2.entry.js +8 -16
  180. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  181. package/dist/esm/{index-0a702dd6.js → index-3c5cd75e.js} +3 -3
  182. package/dist/esm/index-3c5cd75e.js.map +1 -0
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/q2-action-sheet.entry.js +1 -1
  185. package/dist/esm/q2-btn_2.entry.js +1 -1
  186. package/dist/esm/q2-calendar.entry.js +17 -3
  187. package/dist/esm/q2-calendar.entry.js.map +1 -1
  188. package/dist/esm/q2-card.entry.js +1 -1
  189. package/dist/esm/q2-carousel-pane.entry.js +37 -7
  190. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  191. package/dist/esm/q2-carousel.entry.js +3 -3
  192. package/dist/esm/q2-carousel.entry.js.map +1 -1
  193. package/dist/esm/q2-chart-area.entry.js +1 -1
  194. package/dist/esm/q2-chart-bar.entry.js +1 -1
  195. package/dist/esm/q2-chart-donut.entry.js +71 -6
  196. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  197. package/dist/esm/q2-checkbox-group.entry.js +4 -3
  198. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  199. package/dist/esm/q2-checkbox.entry.js +4 -3
  200. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  201. package/dist/esm/q2-currency.entry.js +1 -1
  202. package/dist/esm/q2-data-table.entry.js +2 -2
  203. package/dist/esm/q2-detail.entry.js +2 -2
  204. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  205. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  206. package/dist/esm/q2-dropdown.entry.js +2 -2
  207. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  208. package/dist/esm/q2-editable-field.entry.js +1 -1
  209. package/dist/esm/q2-icon.entry.js +2 -2
  210. package/dist/esm/q2-icon.entry.js.map +1 -1
  211. package/dist/esm/q2-input.entry.js +24 -5
  212. package/dist/esm/q2-input.entry.js.map +1 -1
  213. package/dist/esm/q2-item.entry.js +14 -16
  214. package/dist/esm/q2-item.entry.js.map +1 -1
  215. package/dist/esm/q2-legend.entry.js +114 -0
  216. package/dist/esm/q2-legend.entry.js.map +1 -0
  217. package/dist/esm/q2-list.entry.js +8 -8
  218. package/dist/esm/q2-list.entry.js.map +1 -1
  219. package/dist/esm/q2-loc.entry.js +2 -2
  220. package/dist/esm/q2-message.entry.js +2 -2
  221. package/dist/esm/q2-month-picker.entry.js +1 -1
  222. package/dist/esm/q2-optgroup.entry.js +2 -2
  223. package/dist/esm/q2-option-list.entry.js +1 -1
  224. package/dist/esm/q2-option.entry.js +1 -1
  225. package/dist/esm/q2-pagination.entry.js +3 -3
  226. package/dist/esm/q2-pill.entry.js +2 -2
  227. package/dist/esm/q2-radio-group.entry.js +1 -1
  228. package/dist/esm/q2-radio.entry.js +1 -1
  229. package/dist/esm/q2-relative-time.entry.js +1 -1
  230. package/dist/esm/q2-section.entry.js +3 -3
  231. package/dist/esm/q2-select.entry.js +6 -4
  232. package/dist/esm/q2-select.entry.js.map +1 -1
  233. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  234. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  235. package/dist/esm/q2-stepper.entry.js +2 -2
  236. package/dist/esm/q2-tab-container.entry.js +2 -2
  237. package/dist/esm/q2-tab-pane.entry.js +1 -1
  238. package/dist/esm/q2-tag.entry.js +2 -2
  239. package/dist/esm/q2-tecton-elements.js +1 -1
  240. package/dist/esm/q2-textarea.entry.js +1 -1
  241. package/dist/esm/q2-tooltip.entry.js +1 -1
  242. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  243. package/dist/q2-tecton-elements/assets/icon-file-list.json +1 -0
  244. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  245. package/dist/q2-tecton-elements/{p-aec64fcb.entry.js → p-0e27ea75.entry.js} +2 -2
  246. package/dist/q2-tecton-elements/{p-7e1dc7e8.entry.js → p-0e482a7c.entry.js} +2 -2
  247. package/dist/q2-tecton-elements/{p-57bf9342.entry.js → p-1b89b9c3.entry.js} +2 -2
  248. package/dist/q2-tecton-elements/{p-d1522382.entry.js → p-1d824cdf.entry.js} +2 -2
  249. package/dist/q2-tecton-elements/{p-176ad382.entry.js → p-23183c61.entry.js} +2 -2
  250. package/dist/q2-tecton-elements/p-24d96969.entry.js +2 -0
  251. package/dist/q2-tecton-elements/p-24d96969.entry.js.map +1 -0
  252. package/dist/q2-tecton-elements/{p-f1265647.entry.js → p-2d6a9a94.entry.js} +2 -2
  253. package/dist/q2-tecton-elements/{p-4570ff06.entry.js → p-30d70f4a.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/{p-79df783e.entry.js → p-33af97b0.entry.js} +2 -2
  255. package/dist/q2-tecton-elements/{p-47868d6d.entry.js → p-35cc1039.entry.js} +2 -2
  256. package/dist/q2-tecton-elements/{p-dc057a9c.entry.js → p-3f665c56.entry.js} +2 -2
  257. package/dist/q2-tecton-elements/{p-12326313.entry.js → p-3fe532bc.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/{p-e47dbfbe.entry.js → p-45d70da2.entry.js} +2 -2
  259. package/dist/q2-tecton-elements/{p-1c4aa7e3.entry.js → p-4b47816d.entry.js} +2 -2
  260. package/dist/q2-tecton-elements/p-4b47816d.entry.js.map +1 -0
  261. package/dist/q2-tecton-elements/{p-d9e19f70.entry.js → p-52e277b8.entry.js} +2 -2
  262. package/dist/q2-tecton-elements/{p-d635e39f.entry.js → p-63038a54.entry.js} +2 -2
  263. package/dist/q2-tecton-elements/{p-87bbeb9c.entry.js → p-66ae329f.entry.js} +2 -2
  264. package/dist/q2-tecton-elements/{p-36398b59.entry.js → p-6eac40be.entry.js} +2 -2
  265. package/dist/q2-tecton-elements/p-6eac40be.entry.js.map +1 -0
  266. package/dist/q2-tecton-elements/{p-4bbe563f.entry.js → p-6f2de185.entry.js} +2 -2
  267. package/dist/q2-tecton-elements/p-6f2de185.entry.js.map +1 -0
  268. package/dist/q2-tecton-elements/{p-f0813fb4.entry.js → p-76be9cad.entry.js} +2 -2
  269. package/dist/q2-tecton-elements/p-76be9cad.entry.js.map +1 -0
  270. package/dist/q2-tecton-elements/{p-da7fc914.entry.js → p-774975fa.entry.js} +2 -2
  271. package/dist/q2-tecton-elements/{p-d013e05d.entry.js → p-7cbb989e.entry.js} +2 -2
  272. package/dist/q2-tecton-elements/{p-d013e05d.entry.js.map → p-7cbb989e.entry.js.map} +1 -1
  273. package/dist/q2-tecton-elements/p-7dafc5da.entry.js +2 -0
  274. package/dist/q2-tecton-elements/p-7dafc5da.entry.js.map +1 -0
  275. package/dist/q2-tecton-elements/{p-2132da06.entry.js → p-81bb9436.entry.js} +2 -2
  276. package/dist/q2-tecton-elements/p-84190698.js +2 -0
  277. package/dist/q2-tecton-elements/p-84190698.js.map +1 -0
  278. package/dist/q2-tecton-elements/{p-515d424b.entry.js → p-8a00552f.entry.js} +2 -2
  279. package/dist/q2-tecton-elements/{p-1b37b8c6.entry.js → p-8fc099f5.entry.js} +2 -2
  280. package/dist/q2-tecton-elements/p-8fc099f5.entry.js.map +1 -0
  281. package/dist/q2-tecton-elements/{p-22661533.entry.js → p-9eafabd5.entry.js} +2 -2
  282. package/dist/q2-tecton-elements/p-9eafabd5.entry.js.map +1 -0
  283. package/dist/q2-tecton-elements/{p-71180fcd.entry.js → p-a03c29f3.entry.js} +2 -2
  284. package/dist/q2-tecton-elements/p-a03c29f3.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/{p-e762526f.entry.js → p-a3d58a50.entry.js} +2 -2
  286. package/dist/q2-tecton-elements/{p-e3230823.entry.js → p-a891571c.entry.js} +2 -2
  287. package/dist/q2-tecton-elements/{p-6ebe37ea.entry.js → p-abe30d0c.entry.js} +2 -2
  288. package/dist/q2-tecton-elements/{p-1e927478.entry.js → p-b849365e.entry.js} +2 -2
  289. package/dist/q2-tecton-elements/{p-cb4f9b33.entry.js → p-c9ee763d.entry.js} +2 -2
  290. package/dist/q2-tecton-elements/p-c9ee763d.entry.js.map +1 -0
  291. package/dist/q2-tecton-elements/{p-e4a2469f.entry.js → p-ca17f7ca.entry.js} +2 -2
  292. package/dist/q2-tecton-elements/{p-7523305d.entry.js → p-ca43e917.entry.js} +2 -2
  293. package/dist/q2-tecton-elements/{p-fc9f43f8.entry.js → p-ced89010.entry.js} +2 -2
  294. package/dist/q2-tecton-elements/{p-195a133c.entry.js → p-d5776227.entry.js} +2 -2
  295. package/dist/q2-tecton-elements/{p-df297a77.entry.js → p-d75e4752.entry.js} +2 -2
  296. package/dist/q2-tecton-elements/p-dd18416f.entry.js +2 -0
  297. package/dist/q2-tecton-elements/p-dd18416f.entry.js.map +1 -0
  298. package/dist/q2-tecton-elements/p-e25194ce.entry.js +2 -0
  299. package/dist/q2-tecton-elements/p-e25194ce.entry.js.map +1 -0
  300. package/dist/q2-tecton-elements/{p-c016bd18.entry.js → p-f18caa3f.entry.js} +2 -2
  301. package/dist/q2-tecton-elements/{p-391acc00.entry.js → p-f450db0b.entry.js} +2 -2
  302. package/dist/q2-tecton-elements/p-f450db0b.entry.js.map +1 -0
  303. package/dist/q2-tecton-elements/{p-66af375f.entry.js → p-fb7dd7ab.entry.js} +2 -2
  304. package/dist/q2-tecton-elements/p-fb7dd7ab.entry.js.map +1 -0
  305. package/dist/q2-tecton-elements/{p-ad274c67.entry.js → p-fce6bc58.entry.js} +2 -2
  306. package/dist/q2-tecton-elements/{p-0eff37c6.entry.js → p-ff39ba49.entry.js} +2 -2
  307. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  308. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  309. package/dist/test/elements/click-elsewhere-test.e2e.js +0 -18
  310. package/dist/test/elements/click-elsewhere-test.e2e.js.map +1 -1
  311. package/dist/test/elements/q2-btn-test.e2e.js +16 -0
  312. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  313. package/dist/test/elements/q2-calendar-test.e2e.js +33 -35
  314. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  315. package/dist/test/elements/q2-carousel-pane-test.e2e.js +49 -1
  316. package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
  317. package/dist/test/elements/q2-carousel-pane-test.spec.js +4 -1
  318. package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -1
  319. package/dist/test/elements/q2-chart-donut-test.e2e.js +56 -0
  320. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  321. package/dist/test/elements/q2-checkbox-group-test.e2e.js +13 -10
  322. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  323. package/dist/test/elements/q2-dropdown-item-test.e2e.js +16 -3
  324. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  325. package/dist/test/elements/q2-icon-test.e2e.js +3 -3
  326. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  327. package/dist/test/elements/q2-input-test.e2e.js +121 -54
  328. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  329. package/dist/test/elements/{q2-detail/q2-item-test.e2e.js → q2-item-test.e2e.js} +29 -1
  330. package/dist/test/elements/q2-item-test.e2e.js.map +1 -0
  331. package/dist/test/elements/q2-item-test.spec.js +32 -0
  332. package/dist/test/elements/q2-item-test.spec.js.map +1 -0
  333. package/dist/test/elements/q2-legend-test.e2e.js +19 -0
  334. package/dist/test/elements/q2-legend-test.e2e.js.map +1 -0
  335. package/dist/test/elements/q2-legend-test.spec.js +271 -0
  336. package/dist/test/elements/q2-legend-test.spec.js.map +1 -0
  337. package/dist/test/elements/q2-select-test.e2e.js +41 -7
  338. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  339. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +7 -0
  340. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +14 -0
  341. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +2 -0
  342. package/dist/types/components/q2-input/q2-input.d.ts +24 -1
  343. package/dist/types/components/q2-item/q2-item.d.ts +1 -1
  344. package/dist/types/components/q2-legend/q2-legend.d.ts +41 -0
  345. package/dist/types/components.d.ts +111 -2
  346. package/package.json +3 -3
  347. package/dist/cjs/index-0e15dc8d.js.map +0 -1
  348. package/dist/esm/index-0a702dd6.js.map +0 -1
  349. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js.map +0 -1
  350. package/dist/q2-tecton-elements/p-1c4aa7e3.entry.js.map +0 -1
  351. package/dist/q2-tecton-elements/p-22661533.entry.js.map +0 -1
  352. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +0 -1
  353. package/dist/q2-tecton-elements/p-391acc00.entry.js.map +0 -1
  354. package/dist/q2-tecton-elements/p-42302f6f.js +0 -2
  355. package/dist/q2-tecton-elements/p-42302f6f.js.map +0 -1
  356. package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +0 -1
  357. package/dist/q2-tecton-elements/p-66af375f.entry.js.map +0 -1
  358. package/dist/q2-tecton-elements/p-71180fcd.entry.js.map +0 -1
  359. package/dist/q2-tecton-elements/p-89305707.entry.js +0 -2
  360. package/dist/q2-tecton-elements/p-89305707.entry.js.map +0 -1
  361. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js +0 -2
  362. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +0 -1
  363. package/dist/q2-tecton-elements/p-c56b58e9.entry.js +0 -2
  364. package/dist/q2-tecton-elements/p-c56b58e9.entry.js.map +0 -1
  365. package/dist/q2-tecton-elements/p-cb4f9b33.entry.js.map +0 -1
  366. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +0 -1
  367. package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +0 -1
  368. /package/dist/q2-tecton-elements/{p-aec64fcb.entry.js.map → p-0e27ea75.entry.js.map} +0 -0
  369. /package/dist/q2-tecton-elements/{p-7e1dc7e8.entry.js.map → p-0e482a7c.entry.js.map} +0 -0
  370. /package/dist/q2-tecton-elements/{p-57bf9342.entry.js.map → p-1b89b9c3.entry.js.map} +0 -0
  371. /package/dist/q2-tecton-elements/{p-d1522382.entry.js.map → p-1d824cdf.entry.js.map} +0 -0
  372. /package/dist/q2-tecton-elements/{p-176ad382.entry.js.map → p-23183c61.entry.js.map} +0 -0
  373. /package/dist/q2-tecton-elements/{p-f1265647.entry.js.map → p-2d6a9a94.entry.js.map} +0 -0
  374. /package/dist/q2-tecton-elements/{p-4570ff06.entry.js.map → p-30d70f4a.entry.js.map} +0 -0
  375. /package/dist/q2-tecton-elements/{p-79df783e.entry.js.map → p-33af97b0.entry.js.map} +0 -0
  376. /package/dist/q2-tecton-elements/{p-47868d6d.entry.js.map → p-35cc1039.entry.js.map} +0 -0
  377. /package/dist/q2-tecton-elements/{p-dc057a9c.entry.js.map → p-3f665c56.entry.js.map} +0 -0
  378. /package/dist/q2-tecton-elements/{p-12326313.entry.js.map → p-3fe532bc.entry.js.map} +0 -0
  379. /package/dist/q2-tecton-elements/{p-e47dbfbe.entry.js.map → p-45d70da2.entry.js.map} +0 -0
  380. /package/dist/q2-tecton-elements/{p-d9e19f70.entry.js.map → p-52e277b8.entry.js.map} +0 -0
  381. /package/dist/q2-tecton-elements/{p-d635e39f.entry.js.map → p-63038a54.entry.js.map} +0 -0
  382. /package/dist/q2-tecton-elements/{p-87bbeb9c.entry.js.map → p-66ae329f.entry.js.map} +0 -0
  383. /package/dist/q2-tecton-elements/{p-da7fc914.entry.js.map → p-774975fa.entry.js.map} +0 -0
  384. /package/dist/q2-tecton-elements/{p-2132da06.entry.js.map → p-81bb9436.entry.js.map} +0 -0
  385. /package/dist/q2-tecton-elements/{p-515d424b.entry.js.map → p-8a00552f.entry.js.map} +0 -0
  386. /package/dist/q2-tecton-elements/{p-e762526f.entry.js.map → p-a3d58a50.entry.js.map} +0 -0
  387. /package/dist/q2-tecton-elements/{p-e3230823.entry.js.map → p-a891571c.entry.js.map} +0 -0
  388. /package/dist/q2-tecton-elements/{p-6ebe37ea.entry.js.map → p-abe30d0c.entry.js.map} +0 -0
  389. /package/dist/q2-tecton-elements/{p-1e927478.entry.js.map → p-b849365e.entry.js.map} +0 -0
  390. /package/dist/q2-tecton-elements/{p-e4a2469f.entry.js.map → p-ca17f7ca.entry.js.map} +0 -0
  391. /package/dist/q2-tecton-elements/{p-7523305d.entry.js.map → p-ca43e917.entry.js.map} +0 -0
  392. /package/dist/q2-tecton-elements/{p-fc9f43f8.entry.js.map → p-ced89010.entry.js.map} +0 -0
  393. /package/dist/q2-tecton-elements/{p-195a133c.entry.js.map → p-d5776227.entry.js.map} +0 -0
  394. /package/dist/q2-tecton-elements/{p-df297a77.entry.js.map → p-d75e4752.entry.js.map} +0 -0
  395. /package/dist/q2-tecton-elements/{p-c016bd18.entry.js.map → p-f18caa3f.entry.js.map} +0 -0
  396. /package/dist/q2-tecton-elements/{p-ad274c67.entry.js.map → p-fce6bc58.entry.js.map} +0 -0
  397. /package/dist/q2-tecton-elements/{p-0eff37c6.entry.js.map → p-ff39ba49.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"q2-icon2.js","mappings":"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","names":[],"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, 1.5);\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\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.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, Fragment } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n spriteUse: SVGElement;\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 @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 get isCustom() {\n return this.type === 'custom';\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 `tecton-sprite-${spriteFileName}`;\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 iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${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 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.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\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 render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={label ? undefined : 'true'}\n role=\"img\"\n aria-labelledby={label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\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"],"version":3}
1
+ {"file":"q2-icon2.js","mappings":"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","names":[],"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, 1.5);\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\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.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 iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n spriteUse: SVGElement;\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 @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 get isCustom() {\n return this.type === 'custom';\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 `tecton-sprite-${spriteFileName}`;\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 iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${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 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.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\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 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 >\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"],"version":3}
@@ -2904,6 +2904,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
2904
2904
  this.change = createEvent(this, "change", 7);
2905
2905
  this.clear = createEvent(this, "clear", 7);
2906
2906
  this.formatted = createEvent(this, "formatted", 7);
2907
+ this.invalid = createEvent(this, "invalid", 7);
2907
2908
  this.scheduledAfterRender = [];
2908
2909
  this.isMobile = isMobile();
2909
2910
  this.onMutationObserved = () => {
@@ -2944,6 +2945,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
2944
2945
  this.handleCurrencyDeletion(event);
2945
2946
  const newFormattedValue = this.getFormattedValue(event.target.value, false);
2946
2947
  this.handleDataInput(newFormattedValue);
2948
+ this.validateInput();
2947
2949
  };
2948
2950
  this.onInputPaste = (event) => {
2949
2951
  if (this.type === 'currency') {
@@ -3002,6 +3004,13 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3002
3004
  setMessageHeight(this);
3003
3005
  }
3004
3006
  };
3007
+ this.validateInput = () => {
3008
+ var _a, _b;
3009
+ this.validity = (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.validity;
3010
+ if (((_b = this.validity) === null || _b === void 0 ? void 0 : _b.valid) === false) {
3011
+ this.invalid.emit();
3012
+ }
3013
+ };
3005
3014
  this.autocapitalize = undefined;
3006
3015
  this.autocomplete = undefined;
3007
3016
  this.autocorrect = undefined;
@@ -3033,6 +3042,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3033
3042
  this.textHidden = undefined;
3034
3043
  this.type = 'text';
3035
3044
  this._role = undefined;
3045
+ this._preventEntry = undefined;
3036
3046
  this.value = undefined;
3037
3047
  this.ariaOwns = undefined;
3038
3048
  this.ariaControls = undefined;
@@ -3040,6 +3050,8 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3040
3050
  this.ariaExpanded = undefined;
3041
3051
  this.ariaActivedescendant = undefined;
3042
3052
  this.ariaLabel = undefined;
3053
+ this.pattern = undefined;
3054
+ this.validity = undefined;
3043
3055
  this.formattedValueObject = undefined;
3044
3056
  this.hasFocus = undefined;
3045
3057
  this.isSmall = false;
@@ -3259,7 +3271,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3259
3271
  return loc(`tecton.element.input.toggle.${this.textHidden ? 'show' : 'hide'}`);
3260
3272
  }
3261
3273
  get visibilityToggleAriaLabel() {
3262
- return `tecton.element.input.toggleAriaLabel.${this.textHidden ? `show ${this.label}` : `hide ${this.label}`}`;
3274
+ return `tecton.element.input.toggleAriaLabel.${this.textHidden ? 'show' : 'hide'}`;
3263
3275
  }
3264
3276
  formatAndUpdateValueFromProp() {
3265
3277
  this.formattedValueObject = this.getFormattedValue(this.stringValue, true);
@@ -3351,6 +3363,13 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3351
3363
  return;
3352
3364
  this.onClearInput();
3353
3365
  }
3366
+ /**
3367
+ * Emulates firing checkValidity on `<input>`, emits `invalid` event if validation failed.
3368
+ */
3369
+ checkValidity() {
3370
+ this.inputRef.checkValidity();
3371
+ this.validateInput();
3372
+ }
3354
3373
  ///////// HOST ELEMENT EVENTS //////
3355
3374
  onHostElementFocus(event) {
3356
3375
  if (!isEventFromElement(event, this.hostElement))
@@ -3431,7 +3450,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3431
3450
  }
3432
3451
  /////// VIEW METHODS ///////
3433
3452
  render() {
3434
- return (h("div", { key: '99673dcff3480239090a523f3bd11fe50dc3bb7c', class: this.wrapperClasses }, h("div", { key: '81b949df05caf96b67fdee796cabe21c202b5e46', class: "label-wrapper" }, labelDOM(this), this.countDOM()), this.inputContainerDOM(), messagesDOM(this)));
3453
+ return (h("div", { key: '5fd68b623a5ed490072bba8fe2873b2add47d3ee', class: this.wrapperClasses }, h("div", { key: '626973073f632ef43c2f8b6b1a6c5a1689234bd0', class: "label-wrapper" }, labelDOM(this), this.countDOM()), this.inputContainerDOM(), messagesDOM(this)));
3435
3454
  }
3436
3455
  countDOM() {
3437
3456
  if (!this.showCount)
@@ -3442,7 +3461,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3442
3461
  /* tslint:disable:cyclomatic-complexity */
3443
3462
  inputContainerDOM() {
3444
3463
  const { hasInputLeftSlot, hasInputRightSlot } = this;
3445
- return (h("div", { class: "input-container", tabindex: -1, "test-id": "inputContainer" }, h("div", { class: "input-icons-container-left" }, this.formattedValueObject.prefix && (h("div", { class: "input-prefix" }, this.formattedValueObject.prefix)), this.computedIconLeft && (h("div", null, h("q2-icon", { type: this.computedIconLeft, class: this.computedClassForIconLeft }))), hasInputLeftSlot && h("slot", { name: "input-left" }), this.showIconSeparator && h("div", { class: "vertical-separator" }), this.hasError && this.type === 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" })))), this.pseudo ? this.pseudoInputDOM() : this.standardInputDOM(), h("div", { class: "input-icons-container-right" }, h("q2-btn", { class: this.clearClasses.join(' '), ariaLabel: loc('tecton.element.input.clear', [this.label]), "test-id": "clearButton", onClick: this.onClearInput }, h("q2-icon", { type: "close", class: "icon-clear" })), ['password', 'text', 'ssn', 'tin'].includes(this.type) && this.showVisibilityToggle && (h("q2-btn", { class: "btn-visibility-toggle", "test-id": "toggleVisibilityButton", onClick: this.onToggleVisibility, label: this.visibilityToggleAriaLabel, "hide-label": true }, this.visibilityToggleText)), this.formattedValueObject.suffix && (h("span", { class: "input-suffix" }, this.formattedValueObject.suffix)), this.badgeValue && (h("q2-badge", { size: "large", theme: this.badgeTheme }, this.badgeValue)), this.hasError && this.type !== 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" }))), this.iconRight && !this.formattedValueObject.suffix && (h("div", null, h("q2-icon", { type: this.iconRight, class: "icon-right" }))), hasInputRightSlot && h("slot", { name: "input-right" }))));
3464
+ return (h("div", { class: "input-container", tabindex: -1, "test-id": "inputContainer" }, h("div", { class: "input-icons-container-left" }, this.formattedValueObject.prefix && (h("div", { class: "input-prefix" }, this.formattedValueObject.prefix)), this.computedIconLeft && (h("div", null, h("q2-icon", { type: this.computedIconLeft, class: this.computedClassForIconLeft }))), hasInputLeftSlot && h("slot", { name: "input-left" }), this.showIconSeparator && h("div", { class: "vertical-separator" }), this.hasError && this.type === 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" })))), this.pseudo ? this.pseudoInputDOM() : this.standardInputDOM(), h("div", { class: "input-icons-container-right" }, h("q2-btn", { class: this.clearClasses.join(' '), ariaLabel: loc('tecton.element.input.clear', [this.label]), "test-id": "clearButton", onClick: this.onClearInput }, h("q2-icon", { type: "close", class: "icon-clear" })), ['password', 'text', 'ssn', 'tin'].includes(this.type) && this.showVisibilityToggle && (h("q2-btn", { class: "btn-visibility-toggle", "test-id": "toggleVisibilityButton", onClick: this.onToggleVisibility, label: loc(this.visibilityToggleAriaLabel, { label: this.label }), "hide-label": true }, this.visibilityToggleText)), this.formattedValueObject.suffix && (h("span", { class: "input-suffix" }, this.formattedValueObject.suffix)), this.badgeValue && (h("q2-badge", { size: "large", theme: this.badgeTheme }, this.badgeValue)), this.hasError && this.type !== 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" }))), this.iconRight && !this.formattedValueObject.suffix && (h("div", null, h("q2-icon", { type: this.iconRight, class: "icon-right" }))), hasInputRightSlot && h("slot", { name: "input-right" }))));
3446
3465
  }
3447
3466
  /* tslint:enable:cyclomatic-complexity */
3448
3467
  /* tslint:disable:cyclomatic-complexity */
@@ -3452,7 +3471,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3452
3471
  const { ariaOwns, ariaHaspopup, ariaExpanded, ariaActivedescendant } = this.ariaAttributes;
3453
3472
  if (hasCustomDisplaySlot)
3454
3473
  inputClasses.push('sr');
3455
- return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-activedescendant": ariaActivedescendant, autocomplete: this.computedAutocomplete, autocapitalize: this.autocapitalize, autocorrect: this.autocorrect === 'on' ? 'on' : 'off', autofocus: this.autofocus, placeholder: (this.placeholder && loc(this.placeholder)) || undefined, role: this._role, "test-id": "inputField", readonly: !!this.readonly, disabled: !!this.disabled, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onInputClick, onKeyDown: this.onInputKeydown, onInput: this.onInputInput, onPaste: this.onInputPaste, inputmode: this.inputMode })));
3474
+ return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { ref: el => (this.inputRef = el), class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-activedescendant": ariaActivedescendant, autocomplete: this.computedAutocomplete, autocapitalize: this.autocapitalize, autocorrect: this.autocorrect === 'on' ? 'on' : 'off', autofocus: this.autofocus, placeholder: (this.placeholder && loc(this.placeholder)) || undefined, role: this._role, "test-id": "inputField", readonly: this.readonly || this._preventEntry, disabled: !!this.disabled, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onInputClick, onKeyDown: this.onInputKeydown, onInput: this.onInputInput, onPaste: this.onInputPaste, inputmode: this.inputMode, pattern: this.pattern || undefined })));
3456
3475
  }
3457
3476
  /* tslint:enable:cyclomatic-complexity */
3458
3477
  pseudoInputDOM() {
@@ -3553,6 +3572,7 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3553
3572
  "textHidden": [1540, "text-hidden"],
3554
3573
  "type": [513],
3555
3574
  "_role": [1025],
3575
+ "_preventEntry": [1028, "_prevent-entry"],
3556
3576
  "value": [1025],
3557
3577
  "ariaOwns": [1, "aria-owns"],
3558
3578
  "ariaControls": [1, "aria-controls"],
@@ -3560,12 +3580,15 @@ const Q2Input = /*@__PURE__*/ proxyCustomElement(class Q2Input extends HTMLEleme
3560
3580
  "ariaExpanded": [1, "aria-expanded"],
3561
3581
  "ariaActivedescendant": [1, "aria-activedescendant"],
3562
3582
  "ariaLabel": [1537, "aria-label"],
3583
+ "pattern": [1537],
3584
+ "validity": [1040],
3563
3585
  "formattedValueObject": [32],
3564
3586
  "hasFocus": [32],
3565
3587
  "isSmall": [32],
3566
3588
  "checkSlotCount": [32],
3567
3589
  "setValue": [64],
3568
- "clearValue": [64]
3590
+ "clearValue": [64],
3591
+ "checkValidity": [64]
3569
3592
  }, [[0, "focus", "onHostElementFocus"], [0, "change", "onHostElementChange"]], {
3570
3593
  "clearable": ["manageClearableResizeObserver"],
3571
3594
  "ariaLabel": ["ariaLabelObserver"],