q2-tecton-elements 1.45.3 → 1.46.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 (434) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +3 -9
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0430339e.js → index-59fb7c74.js} +1 -1
  4. package/dist/cjs/{index-0430339e.js.map → index-59fb7c74.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-carousel-pane.cjs.entry.js +36 -6
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-carousel.cjs.entry.js +34 -3
  13. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-chart-donut.cjs.entry.js +69 -3
  15. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -2
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -2
  19. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-currency.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  31. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-item.cjs.entry.js +13 -15
  33. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-legend.cjs.entry.js +118 -0
  35. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -0
  36. package/dist/cjs/q2-list.cjs.entry.js +8 -8
  37. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-optgroup.cjs.entry.js +59 -0
  41. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -0
  42. package/dist/cjs/{q2-optgroup_2.cjs.entry.js → q2-option.cjs.entry.js} +2 -53
  43. package/dist/cjs/q2-option.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-pagination.cjs.entry.js +22 -3
  45. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-select.cjs.entry.js +4 -5
  51. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  53. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +6 -6
  55. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  60. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  63. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  65. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  66. package/dist/collection/collection-manifest.json +1 -0
  67. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -8
  68. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  69. package/dist/collection/components/q2-btn/q2-btn.js +29 -5
  70. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  71. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  72. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  73. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  74. package/dist/collection/components/q2-carousel/q2-carousel.js +34 -3
  75. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  76. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +36 -6
  77. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  78. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +9 -0
  79. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +91 -3
  80. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  81. package/dist/collection/components/q2-checkbox/q2-checkbox.js +20 -2
  82. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  83. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +3 -2
  84. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  85. package/dist/collection/components/q2-currency/q2-currency.css +4 -0
  86. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  87. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  88. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  89. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  90. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  91. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
  92. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  93. package/dist/collection/components/q2-icon/q2-icon.js +1 -1
  94. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  95. package/dist/collection/components/q2-input/q2-input.js +43 -15
  96. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  97. package/dist/collection/components/q2-item/q2-item.css +11 -11
  98. package/dist/collection/components/q2-item/q2-item.js +23 -16
  99. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  100. package/dist/collection/components/q2-legend/q2-legend.css +126 -0
  101. package/dist/collection/components/q2-legend/q2-legend.js +271 -0
  102. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -0
  103. package/dist/collection/components/q2-list/q2-list.css +8 -5
  104. package/dist/collection/components/q2-list/q2-list.js +7 -7
  105. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  106. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  107. package/dist/collection/components/q2-message/q2-message.js +1 -1
  108. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  109. package/dist/collection/components/q2-option/q2-option.js +1 -1
  110. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
  111. package/dist/collection/components/q2-pagination/q2-pagination.css +17 -2
  112. package/dist/collection/components/q2-pagination/q2-pagination.js +53 -2
  113. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  114. package/dist/collection/components/q2-pill/q2-pill.js +2 -2
  115. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  116. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  117. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  118. package/dist/collection/components/q2-section/q2-section.js +2 -2
  119. package/dist/collection/components/q2-select/q2-select.js +21 -5
  120. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  121. package/dist/collection/components/q2-stepper/q2-stepper.js +2 -2
  122. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  123. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +4 -4
  124. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  125. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +6 -6
  126. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  127. package/dist/collection/components/q2-tab-container/q2-tab-container.js +2 -2
  128. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  129. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  130. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  131. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  132. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  133. package/dist/components/click-elsewhere2.js +2 -8
  134. package/dist/components/click-elsewhere2.js.map +1 -1
  135. package/dist/components/index.js +2 -0
  136. package/dist/components/index.js.map +1 -1
  137. package/dist/components/index2.js +1 -1
  138. package/dist/components/q2-btn2.js +4 -2
  139. package/dist/components/q2-btn2.js.map +1 -1
  140. package/dist/components/q2-calendar.js +2 -2
  141. package/dist/components/q2-calendar.js.map +1 -1
  142. package/dist/components/q2-carousel-pane.js +36 -6
  143. package/dist/components/q2-carousel-pane.js.map +1 -1
  144. package/dist/components/q2-carousel.js +34 -3
  145. package/dist/components/q2-carousel.js.map +1 -1
  146. package/dist/components/q2-chart-donut.js +81 -7
  147. package/dist/components/q2-chart-donut.js.map +1 -1
  148. package/dist/components/q2-checkbox-group.js +3 -2
  149. package/dist/components/q2-checkbox-group.js.map +1 -1
  150. package/dist/components/q2-checkbox2.js +4 -2
  151. package/dist/components/q2-checkbox2.js.map +1 -1
  152. package/dist/components/q2-currency.js +2 -2
  153. package/dist/components/q2-currency.js.map +1 -1
  154. package/dist/components/q2-data-table.js +1 -1
  155. package/dist/components/q2-detail.js +1 -1
  156. package/dist/components/q2-dropdown-item2.js +1 -1
  157. package/dist/components/q2-dropdown-item2.js.map +1 -1
  158. package/dist/components/q2-dropdown.js +1 -1
  159. package/dist/components/q2-dropdown.js.map +1 -1
  160. package/dist/components/q2-icon2.js +1 -1
  161. package/dist/components/q2-icon2.js.map +1 -1
  162. package/dist/components/q2-input2.js +20 -12
  163. package/dist/components/q2-input2.js.map +1 -1
  164. package/dist/components/q2-item.js +16 -18
  165. package/dist/components/q2-item.js.map +1 -1
  166. package/dist/components/q2-legend.d.ts +11 -0
  167. package/dist/components/q2-legend.js +8 -0
  168. package/dist/components/q2-legend.js.map +1 -0
  169. package/dist/components/q2-legend2.js +145 -0
  170. package/dist/components/q2-legend2.js.map +1 -0
  171. package/dist/components/q2-list.js +8 -8
  172. package/dist/components/q2-list.js.map +1 -1
  173. package/dist/components/q2-loc.js +1 -1
  174. package/dist/components/q2-message2.js +2 -2
  175. package/dist/components/q2-optgroup2.js +1 -1
  176. package/dist/components/q2-option-list2.js +1 -1
  177. package/dist/components/q2-option2.js +1 -1
  178. package/dist/components/q2-pagination.js +64 -13
  179. package/dist/components/q2-pagination.js.map +1 -1
  180. package/dist/components/q2-pill.js +2 -2
  181. package/dist/components/q2-pill.js.map +1 -1
  182. package/dist/components/q2-popover2.js +2 -2
  183. package/dist/components/q2-relative-time.js +1 -1
  184. package/dist/components/q2-section.js +2 -2
  185. package/dist/components/q2-select.js +1 -711
  186. package/dist/components/q2-select.js.map +1 -1
  187. package/dist/components/q2-select2.js +715 -0
  188. package/dist/components/q2-select2.js.map +1 -0
  189. package/dist/components/q2-stepper-pane.js +2 -2
  190. package/dist/components/q2-stepper-pane.js.map +1 -1
  191. package/dist/components/q2-stepper-vertical.js +6 -6
  192. package/dist/components/q2-stepper-vertical.js.map +1 -1
  193. package/dist/components/q2-stepper.js +2 -2
  194. package/dist/components/q2-stepper.js.map +1 -1
  195. package/dist/components/q2-tab-container.js +2 -2
  196. package/dist/components/q2-tab-container.js.map +1 -1
  197. package/dist/components/q2-tab-pane.js +1 -1
  198. package/dist/components/q2-tag.js +1 -1
  199. package/dist/components/q2-textarea.js +1 -1
  200. package/dist/components/q2-textarea.js.map +1 -1
  201. package/dist/components/tecton-tab-pane.js +2 -2
  202. package/dist/esm/click-elsewhere_2.entry.js +3 -9
  203. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  204. package/dist/esm/{index-e940b40e.js → index-c99c4cc6.js} +1 -1
  205. package/dist/esm/{index-e940b40e.js.map → index-c99c4cc6.js.map} +1 -1
  206. package/dist/esm/loader.js +1 -1
  207. package/dist/esm/q2-btn_2.entry.js +2 -1
  208. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  209. package/dist/esm/q2-calendar.entry.js +3 -3
  210. package/dist/esm/q2-calendar.entry.js.map +1 -1
  211. package/dist/esm/q2-carousel-pane.entry.js +36 -6
  212. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  213. package/dist/esm/q2-carousel.entry.js +34 -3
  214. package/dist/esm/q2-carousel.entry.js.map +1 -1
  215. package/dist/esm/q2-chart-donut.entry.js +69 -3
  216. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  217. package/dist/esm/q2-checkbox-group.entry.js +3 -2
  218. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  219. package/dist/esm/q2-checkbox.entry.js +3 -2
  220. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  221. package/dist/esm/q2-currency.entry.js +2 -2
  222. package/dist/esm/q2-currency.entry.js.map +1 -1
  223. package/dist/esm/q2-data-table.entry.js +1 -1
  224. package/dist/esm/q2-detail.entry.js +1 -1
  225. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  226. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  227. package/dist/esm/q2-dropdown.entry.js +1 -1
  228. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  229. package/dist/esm/q2-icon.entry.js +1 -1
  230. package/dist/esm/q2-icon.entry.js.map +1 -1
  231. package/dist/esm/q2-input.entry.js +17 -10
  232. package/dist/esm/q2-input.entry.js.map +1 -1
  233. package/dist/esm/q2-item.entry.js +15 -17
  234. package/dist/esm/q2-item.entry.js.map +1 -1
  235. package/dist/esm/q2-legend.entry.js +114 -0
  236. package/dist/esm/q2-legend.entry.js.map +1 -0
  237. package/dist/esm/q2-list.entry.js +8 -8
  238. package/dist/esm/q2-list.entry.js.map +1 -1
  239. package/dist/esm/q2-loc.entry.js +1 -1
  240. package/dist/esm/q2-message.entry.js +1 -1
  241. package/dist/esm/q2-optgroup.entry.js +55 -0
  242. package/dist/esm/q2-optgroup.entry.js.map +1 -0
  243. package/dist/esm/{q2-optgroup_2.entry.js → q2-option.entry.js} +4 -54
  244. package/dist/esm/q2-option.entry.js.map +1 -0
  245. package/dist/esm/q2-pagination.entry.js +22 -3
  246. package/dist/esm/q2-pagination.entry.js.map +1 -1
  247. package/dist/esm/q2-pill.entry.js +2 -2
  248. package/dist/esm/q2-pill.entry.js.map +1 -1
  249. package/dist/esm/q2-relative-time.entry.js +2 -2
  250. package/dist/esm/q2-section.entry.js +2 -2
  251. package/dist/esm/q2-select.entry.js +4 -5
  252. package/dist/esm/q2-select.entry.js.map +1 -1
  253. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  254. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  255. package/dist/esm/q2-stepper-vertical.entry.js +6 -6
  256. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  257. package/dist/esm/q2-stepper.entry.js +2 -2
  258. package/dist/esm/q2-stepper.entry.js.map +1 -1
  259. package/dist/esm/q2-tab-container.entry.js +2 -2
  260. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  261. package/dist/esm/q2-tab-pane.entry.js +1 -1
  262. package/dist/esm/q2-tag.entry.js +1 -1
  263. package/dist/esm/q2-tecton-elements.js +1 -1
  264. package/dist/esm/q2-textarea.entry.js +1 -1
  265. package/dist/esm/q2-textarea.entry.js.map +1 -1
  266. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  267. package/dist/q2-tecton-elements/p-0bc47914.entry.js +2 -0
  268. package/dist/q2-tecton-elements/p-0bc47914.entry.js.map +1 -0
  269. package/dist/q2-tecton-elements/p-0e482a7c.entry.js +2 -0
  270. package/dist/q2-tecton-elements/p-0e482a7c.entry.js.map +1 -0
  271. package/dist/q2-tecton-elements/{p-fcc84527.entry.js → p-12326313.entry.js} +2 -2
  272. package/dist/q2-tecton-elements/p-12326313.entry.js.map +1 -0
  273. package/dist/q2-tecton-elements/{p-df297a77.entry.js → p-16891e51.entry.js} +2 -2
  274. package/dist/q2-tecton-elements/{p-a214077c.entry.js → p-18ec54c0.entry.js} +2 -2
  275. package/dist/q2-tecton-elements/p-245ad08f.entry.js +2 -0
  276. package/dist/q2-tecton-elements/p-245ad08f.entry.js.map +1 -0
  277. package/dist/q2-tecton-elements/p-2a248a3f.entry.js +2 -0
  278. package/dist/q2-tecton-elements/p-2a248a3f.entry.js.map +1 -0
  279. package/dist/q2-tecton-elements/p-2c57a367.entry.js +2 -0
  280. package/dist/q2-tecton-elements/p-2c57a367.entry.js.map +1 -0
  281. package/dist/q2-tecton-elements/p-32e57e9f.entry.js +2 -0
  282. package/dist/q2-tecton-elements/p-32e57e9f.entry.js.map +1 -0
  283. package/dist/q2-tecton-elements/p-36398b59.entry.js +2 -0
  284. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js → p-4194d6ed.entry.js} +2 -2
  286. package/dist/q2-tecton-elements/p-4194d6ed.entry.js.map +1 -0
  287. package/dist/q2-tecton-elements/{p-f0813fb4.entry.js → p-4f2dfb4d.entry.js} +2 -2
  288. package/dist/q2-tecton-elements/p-4f2dfb4d.entry.js.map +1 -0
  289. package/dist/q2-tecton-elements/{p-7ce6e587.js → p-6559c942.js} +1 -1
  290. package/dist/q2-tecton-elements/{p-391acc00.entry.js → p-65ed80a5.entry.js} +2 -2
  291. package/dist/q2-tecton-elements/p-65ed80a5.entry.js.map +1 -0
  292. package/dist/q2-tecton-elements/p-79df783e.entry.js +2 -0
  293. package/dist/q2-tecton-elements/p-79df783e.entry.js.map +1 -0
  294. package/dist/q2-tecton-elements/p-81b76d40.entry.js +2 -0
  295. package/dist/q2-tecton-elements/p-81b76d40.entry.js.map +1 -0
  296. package/dist/q2-tecton-elements/{p-2436c843.entry.js → p-85003c5b.entry.js} +2 -2
  297. package/dist/q2-tecton-elements/p-85003c5b.entry.js.map +1 -0
  298. package/dist/q2-tecton-elements/{p-d9e19f70.entry.js → p-97a98211.entry.js} +2 -2
  299. package/dist/q2-tecton-elements/{p-71180fcd.entry.js → p-ac9414a6.entry.js} +2 -2
  300. package/dist/q2-tecton-elements/p-ac9414a6.entry.js.map +1 -0
  301. package/dist/q2-tecton-elements/{p-7523305d.entry.js → p-bc141c5b.entry.js} +2 -2
  302. package/dist/q2-tecton-elements/p-be101dcf.entry.js +2 -0
  303. package/dist/q2-tecton-elements/p-be101dcf.entry.js.map +1 -0
  304. package/dist/q2-tecton-elements/{p-4bbe563f.entry.js → p-bf32fd9c.entry.js} +2 -2
  305. package/dist/q2-tecton-elements/p-bf32fd9c.entry.js.map +1 -0
  306. package/dist/q2-tecton-elements/{p-b376c111.entry.js → p-ca0d7eb3.entry.js} +2 -2
  307. package/dist/q2-tecton-elements/{p-c016bd18.entry.js → p-ca7ad3c3.entry.js} +2 -2
  308. package/dist/q2-tecton-elements/p-ca7dad64.entry.js +2 -0
  309. package/dist/q2-tecton-elements/p-ca7dad64.entry.js.map +1 -0
  310. package/dist/q2-tecton-elements/p-ced89010.entry.js +2 -0
  311. package/dist/q2-tecton-elements/p-ced89010.entry.js.map +1 -0
  312. package/dist/q2-tecton-elements/{p-f4d77672.entry.js → p-d5776227.entry.js} +2 -2
  313. package/dist/q2-tecton-elements/p-d60ccf2f.entry.js +2 -0
  314. package/dist/q2-tecton-elements/p-d60ccf2f.entry.js.map +1 -0
  315. package/dist/q2-tecton-elements/p-d8fba914.entry.js +2 -0
  316. package/dist/q2-tecton-elements/p-d8fba914.entry.js.map +1 -0
  317. package/dist/q2-tecton-elements/{p-63192fac.entry.js → p-dd670d63.entry.js} +2 -2
  318. package/dist/q2-tecton-elements/{p-05b015a8.entry.js → p-e27a23fc.entry.js} +2 -2
  319. package/dist/q2-tecton-elements/{p-05b015a8.entry.js.map → p-e27a23fc.entry.js.map} +1 -1
  320. package/dist/q2-tecton-elements/{p-bfe9d688.entry.js → p-ef441885.entry.js} +2 -2
  321. package/dist/q2-tecton-elements/p-ef441885.entry.js.map +1 -0
  322. package/dist/q2-tecton-elements/p-f2251261.entry.js +2 -0
  323. package/dist/q2-tecton-elements/p-f2251261.entry.js.map +1 -0
  324. package/dist/q2-tecton-elements/{p-debd5249.entry.js → p-f45b3488.entry.js} +2 -2
  325. package/dist/q2-tecton-elements/{p-debd5249.entry.js.map → p-f45b3488.entry.js.map} +1 -1
  326. package/dist/q2-tecton-elements/{p-22661533.entry.js → p-fe3c62e0.entry.js} +2 -2
  327. package/dist/q2-tecton-elements/p-fe3c62e0.entry.js.map +1 -0
  328. package/dist/q2-tecton-elements/{p-685b821c.entry.js → p-ff39ba49.entry.js} +2 -2
  329. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  330. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  331. package/dist/test/elements/click-elsewhere-test.e2e.js +0 -18
  332. package/dist/test/elements/click-elsewhere-test.e2e.js.map +1 -1
  333. package/dist/test/elements/q2-btn-test.e2e.js +16 -0
  334. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  335. package/dist/test/elements/q2-calendar-test.e2e.js +1 -1
  336. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  337. package/dist/test/elements/q2-carousel-pane-test.e2e.js +49 -1
  338. package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
  339. package/dist/test/elements/q2-carousel-pane-test.spec.js +4 -1
  340. package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -1
  341. package/dist/test/elements/q2-carousel-test.e2e.js +67 -1
  342. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  343. package/dist/test/elements/q2-chart-donut-test.e2e.js +56 -0
  344. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  345. package/dist/test/elements/q2-checkbox-group-test.e2e.js +13 -10
  346. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  347. package/dist/test/elements/q2-detail/q2-list-test.e2e.js +1 -1
  348. package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -1
  349. package/dist/test/elements/q2-dropdown-item-test.e2e.js +16 -3
  350. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  351. package/dist/test/elements/q2-icon-test.e2e.js +3 -3
  352. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  353. package/dist/test/elements/q2-input-test.e2e.js +93 -56
  354. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  355. package/dist/test/elements/{q2-detail/q2-item-test.e2e.js → q2-item-test.e2e.js} +29 -1
  356. package/dist/test/elements/q2-item-test.e2e.js.map +1 -0
  357. package/dist/test/elements/q2-item-test.spec.js +32 -0
  358. package/dist/test/elements/q2-item-test.spec.js.map +1 -0
  359. package/dist/test/elements/q2-legend-test.e2e.js +19 -0
  360. package/dist/test/elements/q2-legend-test.e2e.js.map +1 -0
  361. package/dist/test/elements/q2-legend-test.spec.js +271 -0
  362. package/dist/test/elements/q2-legend-test.spec.js.map +1 -0
  363. package/dist/test/elements/q2-pagination-test.e2e.js +22 -0
  364. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  365. package/dist/test/elements/q2-pill-test.e2e.js +21 -2
  366. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  367. package/dist/test/elements/q2-select-test.e2e.js +26 -8
  368. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  369. package/dist/test/elements/q2-stepper-test.e2e.js +10 -17
  370. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  371. package/dist/test/elements/q2-stepper-vertical-test.e2e.js +20 -4
  372. package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
  373. package/dist/test/elements/q2-tab-container-test.e2e.js +10 -4
  374. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  375. package/dist/types/components/q2-btn/q2-btn.d.ts +14 -3
  376. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -0
  377. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +7 -0
  378. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +14 -0
  379. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +2 -0
  380. package/dist/types/components/q2-input/q2-input.d.ts +10 -3
  381. package/dist/types/components/q2-item/q2-item.d.ts +1 -1
  382. package/dist/types/components/q2-legend/q2-legend.d.ts +41 -0
  383. package/dist/types/components.d.ts +133 -4
  384. package/package.json +3 -3
  385. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +0 -1
  386. package/dist/esm/q2-optgroup_2.entry.js.map +0 -1
  387. package/dist/q2-tecton-elements/p-1c17d118.entry.js +0 -2
  388. package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +0 -1
  389. package/dist/q2-tecton-elements/p-22661533.entry.js.map +0 -1
  390. package/dist/q2-tecton-elements/p-2436c843.entry.js.map +0 -1
  391. package/dist/q2-tecton-elements/p-391acc00.entry.js.map +0 -1
  392. package/dist/q2-tecton-elements/p-3b1ea100.entry.js +0 -2
  393. package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +0 -1
  394. package/dist/q2-tecton-elements/p-445990a8.entry.js +0 -2
  395. package/dist/q2-tecton-elements/p-445990a8.entry.js.map +0 -1
  396. package/dist/q2-tecton-elements/p-4b81a121.entry.js +0 -2
  397. package/dist/q2-tecton-elements/p-4b81a121.entry.js.map +0 -1
  398. package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +0 -1
  399. package/dist/q2-tecton-elements/p-50bd4437.entry.js +0 -2
  400. package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +0 -1
  401. package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +0 -1
  402. package/dist/q2-tecton-elements/p-68556733.entry.js +0 -2
  403. package/dist/q2-tecton-elements/p-68556733.entry.js.map +0 -1
  404. package/dist/q2-tecton-elements/p-71180fcd.entry.js.map +0 -1
  405. package/dist/q2-tecton-elements/p-7c12ba02.entry.js +0 -2
  406. package/dist/q2-tecton-elements/p-7c12ba02.entry.js.map +0 -1
  407. package/dist/q2-tecton-elements/p-a977e723.entry.js +0 -2
  408. package/dist/q2-tecton-elements/p-a977e723.entry.js.map +0 -1
  409. package/dist/q2-tecton-elements/p-b3d10d52.entry.js +0 -2
  410. package/dist/q2-tecton-elements/p-b3d10d52.entry.js.map +0 -1
  411. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js +0 -2
  412. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +0 -1
  413. package/dist/q2-tecton-elements/p-bfe9d688.entry.js.map +0 -1
  414. package/dist/q2-tecton-elements/p-bffda54d.entry.js +0 -2
  415. package/dist/q2-tecton-elements/p-bffda54d.entry.js.map +0 -1
  416. package/dist/q2-tecton-elements/p-cadceb00.entry.js +0 -2
  417. package/dist/q2-tecton-elements/p-cadceb00.entry.js.map +0 -1
  418. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +0 -2
  419. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +0 -1
  420. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +0 -1
  421. package/dist/q2-tecton-elements/p-fcc84527.entry.js.map +0 -1
  422. package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +0 -1
  423. /package/dist/q2-tecton-elements/{p-df297a77.entry.js.map → p-16891e51.entry.js.map} +0 -0
  424. /package/dist/q2-tecton-elements/{p-a214077c.entry.js.map → p-18ec54c0.entry.js.map} +0 -0
  425. /package/dist/q2-tecton-elements/{p-7ce6e587.js.map → p-6559c942.js.map} +0 -0
  426. /package/dist/q2-tecton-elements/{p-d9e19f70.entry.js.map → p-97a98211.entry.js.map} +0 -0
  427. /package/dist/q2-tecton-elements/{p-7523305d.entry.js.map → p-bc141c5b.entry.js.map} +0 -0
  428. /package/dist/q2-tecton-elements/{p-b376c111.entry.js.map → p-ca0d7eb3.entry.js.map} +0 -0
  429. /package/dist/q2-tecton-elements/{p-c016bd18.entry.js.map → p-ca7ad3c3.entry.js.map} +0 -0
  430. /package/dist/q2-tecton-elements/{p-f4d77672.entry.js.map → p-d5776227.entry.js.map} +0 -0
  431. /package/dist/q2-tecton-elements/{p-63192fac.entry.js.map → p-dd670d63.entry.js.map} +0 -0
  432. /package/dist/q2-tecton-elements/{p-685b821c.entry.js.map → p-ff39ba49.entry.js.map} +0 -0
  433. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → tecton-production_release_1.46.x}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  434. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → tecton-production_release_1.46.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -46,6 +46,7 @@ export declare class Q2Carousel implements ComponentInterface {
46
46
  get realIndex(): number;
47
47
  get paginationBtns(): NodeListOf<HTMLButtonElement>;
48
48
  get activeCarouselOptions(): SwiperOptions;
49
+ get activePane(): HTMLElement;
49
50
  get dynamicPaginationDots(): boolean;
50
51
  get paneCollection(): NodeListOf<Element>;
51
52
  get paneArray(): Element[];
@@ -60,6 +61,7 @@ export declare class Q2Carousel implements ComponentInterface {
60
61
  change: EventEmitter<{
61
62
  index: number;
62
63
  }>;
64
+ handlePopovers: (event: CustomEvent) => void;
63
65
  onMutationObserved: () => void;
64
66
  setCarouselWrapperWidth: () => void;
65
67
  handleSlideChange: (newIndex: number) => void;
@@ -26,9 +26,16 @@ export declare class Q2CarouselPane implements ComponentInterface {
26
26
  */
27
27
  slotFrameless: boolean;
28
28
  hostElement: HTMLElement;
29
+ disabledElements?: HTMLElement[];
30
+ mutationObserver?: MutationObserver;
29
31
  get currentPaneIndex(): any;
30
32
  componentDidLoad(): void;
33
+ disconnectedCallback(): void;
31
34
  generatePaneClass: (currentIndex: number) => string;
35
+ onMutationObserved: () => void;
36
+ addPointerMoveListeners(): void;
37
+ removePointerMoveListeners(): void;
38
+ pointerMoveHandler: (event: PointerEvent) => void;
32
39
  /**
33
40
  * Emitted when the pane is clicked.
34
41
  */
@@ -45,6 +45,13 @@ export declare class Q2ChartDonut implements ComponentInterface {
45
45
  selectedId: string;
46
46
  /** The amount which the slice will separate from the chart when selected. */
47
47
  selectedOffset: number;
48
+ /**
49
+ * Determines whether the legend is displayed.
50
+ *
51
+ * @info
52
+ * The legend is a list of the data points in the chart and their colors.
53
+ */
54
+ showLegend: boolean;
48
55
  /** The icon that displays by default when no slices are selected. */
49
56
  summaryIcon: string;
50
57
  /**
@@ -67,6 +74,7 @@ export declare class Q2ChartDonut implements ComponentInterface {
67
74
  name: any;
68
75
  };
69
76
  hoveredId: string;
77
+ legendData: IDonutChartData[];
70
78
  hostElement: HTMLElement;
71
79
  /**
72
80
  * Emitted when a slice is selected.
@@ -93,6 +101,7 @@ export declare class Q2ChartDonut implements ComponentInterface {
93
101
  color: any;
94
102
  };
95
103
  get isMobile(): boolean;
104
+ get legendHoveredId(): string;
96
105
  cacheComputedStyles(): void;
97
106
  displayValue(value: string | number): string;
98
107
  getCSSProperty(name: string): any;
@@ -101,6 +110,8 @@ export declare class Q2ChartDonut implements ComponentInterface {
101
110
  getDataById(id: string): IDonutChartData;
102
111
  getColors(): any[];
103
112
  getMinSliceSizeAsAngle(): number;
113
+ getDataIndexForId(id: string): number;
114
+ setLegendData(): void;
104
115
  setupChartEvents(chart: echarts.ECharts): void;
105
116
  updateChart(chart: echarts.ECharts): void;
106
117
  resizeChart(): void;
@@ -132,6 +143,9 @@ export declare class Q2ChartDonut implements ComponentInterface {
132
143
  onButtonKeyDown: (event: KeyboardEvent) => void;
133
144
  onButtonClick: (event: MouseEvent) => void;
134
145
  onContainerClick: (event: Event) => void;
146
+ onLegendClick: (event: any) => void;
147
+ onLegendMouseleave: (event: any) => void;
148
+ onLegendMouseenter: (event: any) => void;
135
149
  renderCenterBlock(): any;
136
150
  render(): any;
137
151
  }
@@ -37,6 +37,8 @@ export declare class Q2Checkbox implements ComponentInterface {
37
37
  name: string;
38
38
  /** The field is not interactive, but remains focusable. */
39
39
  readonly: boolean;
40
+ /** The field is not interactive, but remains focusable. */
41
+ slotReadonly: boolean;
40
42
  /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */
41
43
  type: 'favorite' | 'toggle';
42
44
  /** A static reference value for the checkbox. */
@@ -158,6 +158,13 @@ export declare class Q2Input {
158
158
  textHidden: boolean;
159
159
  /** Specifies the field's expeted [input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types), and provides the optimal keyboard on mobile devices. */
160
160
  type: InputType;
161
+ /**
162
+ * Allows for correct semantics of q2-input element when aria-expanded.
163
+ * @private
164
+ * Defaults to undefined
165
+ * Will assign role to combobox when used inside q2-select and q2-calendar.
166
+ */
167
+ _role: 'combobox' | undefined;
161
168
  /**
162
169
  * The value of the input field.
163
170
  * @info
@@ -171,8 +178,8 @@ export declare class Q2Input {
171
178
  *
172
179
  */
173
180
  value: string;
174
- ariaControls: string;
175
181
  ariaOwns: string;
182
+ ariaControls: string;
176
183
  ariaHaspopup: string;
177
184
  ariaExpanded: string;
178
185
  ariaActivedescendant: string;
@@ -196,14 +203,13 @@ export declare class Q2Input {
196
203
  onMutationObserved: () => void;
197
204
  getFormattedValue(value: string, valueChangedFromProperty: boolean): IFormatterValueObject;
198
205
  get ariaAttributes(): {
199
- ariaControls: string;
200
206
  ariaOwns: string;
201
207
  ariaHaspopup: string;
202
208
  ariaExpanded: string;
203
209
  ariaActivedescendant: string;
204
210
  };
205
211
  get hasCustomDisplaySlot(): boolean;
206
- get canClear(): boolean;
212
+ get clearClasses(): string[];
207
213
  get shouldCursorStartAtEnd(): boolean;
208
214
  get shouldCursorStayAtEnd(): boolean;
209
215
  get hasError(): boolean;
@@ -225,6 +231,7 @@ export declare class Q2Input {
225
231
  get stringValue(): string;
226
232
  get canSetSelection(): boolean;
227
233
  get visibilityToggleText(): string;
234
+ get visibilityToggleAriaLabel(): string;
228
235
  formatAndUpdateValueFromProp(): void;
229
236
  get inputMode(): any;
230
237
  manageClearableResizeObserver(clearable?: boolean): void;
@@ -6,6 +6,7 @@ export declare class Q2Item {
6
6
  /** Makes the item clickable. */
7
7
  clickable: boolean;
8
8
  componentDidLoad(): void;
9
+ delegateFocus(event: FocusEvent): void;
9
10
  get actionClasses(): string;
10
11
  get bulletClasses(): string;
11
12
  get footerClasses(): string;
@@ -16,6 +17,5 @@ export declare class Q2Item {
16
17
  get hasFooterSlotContent(): boolean;
17
18
  get itemClasses(): string;
18
19
  get mainClasses(): string;
19
- setClickable(): void;
20
20
  render(): any;
21
21
  }
@@ -0,0 +1,41 @@
1
+ import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ import { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';
3
+ export declare class Q2Legend implements ComponentInterface {
4
+ selectedItemIndex: number;
5
+ hoveredItemIndex: number;
6
+ /** An array of objects that contain the data to be displayed. */
7
+ data: IDonutChartData[];
8
+ /** The id of the item to set as hovered. */
9
+ hoveredItemId: string;
10
+ watchHoveredItemId(newItemId: string): void;
11
+ /** The format of the value displayed in the legend. */
12
+ format: 'default' | 'currency';
13
+ /** The id of the item to set as selected. */
14
+ selectedItemId: string;
15
+ watchSelectedItemId(newItemId: string): void;
16
+ click: EventEmitter<IDonutChartData>;
17
+ mouseleave: EventEmitter<IDonutChartData>;
18
+ mouseenter: EventEmitter<IDonutChartData>;
19
+ componentWillLoad(): void;
20
+ get dataWithClasses(): {
21
+ classes: {
22
+ 'item-button': boolean;
23
+ 'item-button-faded': boolean;
24
+ 'item-button-selected': boolean;
25
+ };
26
+ icon?: string;
27
+ id: string;
28
+ value: number;
29
+ name: string;
30
+ color?: string;
31
+ }[];
32
+ formatValue(value: string | number): string;
33
+ getDataIndexForId(id: string): number;
34
+ isItemButtonFaded(index: number): boolean;
35
+ isItemButtonSelected(index: number): boolean;
36
+ onClick(event: MouseEvent, itemData: IDonutChartData): void;
37
+ onClickElsewhere(obj: any): void;
38
+ onMouseLeave(event: Event, itemData: IDonutChartData): void;
39
+ onMouseEnter(event: Event, itemData: IDonutChartData): void;
40
+ render(): any;
41
+ }
@@ -81,9 +81,14 @@ export namespace Components {
81
81
  "value": number;
82
82
  }
83
83
  interface Q2Btn {
84
+ /**
85
+ * @private Role attribute for better semantic accessibility support
86
+ */
87
+ "_role": string;
84
88
  /**
85
89
  * Displays the component in an active state.
86
90
  * @info Only intended for use with the `badge` property.
91
+ * @deprecated
87
92
  */
88
93
  "active": boolean;
89
94
  "ariaControls": string;
@@ -97,6 +102,7 @@ export namespace Components {
97
102
  "ariaSelected": string;
98
103
  /**
99
104
  * Displays the component in a smaller, badge style.
105
+ * @deprecated
100
106
  */
101
107
  "badge": boolean;
102
108
  /**
@@ -139,9 +145,9 @@ export namespace Components {
139
145
  */
140
146
  "loading": boolean;
141
147
  /**
142
- * @deprecated
148
+ * Defines the size of q2-btn, it renders as default size if not provided.
143
149
  */
144
- "size": string;
150
+ "size": 'small' | 'medium' | 'large';
145
151
  "tabIndex": number;
146
152
  /**
147
153
  * The default behavior of the button.
@@ -646,6 +652,11 @@ export namespace Components {
646
652
  * The amount which the slice will separate from the chart when selected.
647
653
  */
648
654
  "selectedOffset": number;
655
+ /**
656
+ * Determines whether the legend is displayed.
657
+ * @info The legend is a list of the data points in the chart and their colors.
658
+ */
659
+ "showLegend": boolean;
649
660
  /**
650
661
  * The icon that displays by default when no slices are selected.
651
662
  */
@@ -709,6 +720,10 @@ export namespace Components {
709
720
  * The field is not interactive, but remains focusable.
710
721
  */
711
722
  "readonly": boolean;
723
+ /**
724
+ * The field is not interactive, but remains focusable.
725
+ */
726
+ "slotReadonly": boolean;
712
727
  /**
713
728
  * The visual style of the checkbox. This does not need to be defined for a standard checkbox.
714
729
  */
@@ -1074,6 +1089,11 @@ export namespace Components {
1074
1089
  "type": string;
1075
1090
  }
1076
1091
  interface Q2Input {
1092
+ /**
1093
+ * Allows for correct semantics of q2-input element when aria-expanded.
1094
+ * @private Defaults to undefined Will assign role to combobox when used inside q2-select and q2-calendar.
1095
+ */
1096
+ "_role": 'combobox' | undefined;
1077
1097
  "ariaActivedescendant": string;
1078
1098
  "ariaControls": string;
1079
1099
  "ariaExpanded": string;
@@ -1239,6 +1259,24 @@ export namespace Components {
1239
1259
  */
1240
1260
  "clickable": boolean;
1241
1261
  }
1262
+ interface Q2Legend {
1263
+ /**
1264
+ * An array of objects that contain the data to be displayed.
1265
+ */
1266
+ "data": IDonutChartData[];
1267
+ /**
1268
+ * The format of the value displayed in the legend.
1269
+ */
1270
+ "format": 'default' | 'currency';
1271
+ /**
1272
+ * The id of the item to set as hovered.
1273
+ */
1274
+ "hoveredItemId": string;
1275
+ /**
1276
+ * The id of the item to set as selected.
1277
+ */
1278
+ "selectedItemId": string;
1279
+ }
1242
1280
  interface Q2List {
1243
1281
  /**
1244
1282
  * Adds a border between each items
@@ -1413,6 +1451,10 @@ export namespace Components {
1413
1451
  "type": 'menu' | 'listbox';
1414
1452
  }
1415
1453
  interface Q2Pagination {
1454
+ /**
1455
+ * Indicates the horizontal alignment of children elements
1456
+ */
1457
+ "alignment": string;
1416
1458
  /**
1417
1459
  * Determines whether the component uses the dynamic resizing behavior.
1418
1460
  */
@@ -1434,6 +1476,10 @@ export namespace Components {
1434
1476
  * The total number of records displayed on each page.
1435
1477
  */
1436
1478
  "perPage": number;
1479
+ /**
1480
+ * The list of perPage to operate pagination. e.g.) [10, 25, 50]
1481
+ */
1482
+ "perPageIncrements": number[];
1437
1483
  /**
1438
1484
  * Description of the record type to be displayed alongside the record count.
1439
1485
  */
@@ -1711,6 +1757,10 @@ export namespace Components {
1711
1757
  * @deprecated
1712
1758
  */
1713
1759
  "ariaLabel": string;
1760
+ /**
1761
+ * Renders an icon button when the field is non-empty. Pressing the button clears all input from the field.
1762
+ */
1763
+ "clearable": boolean;
1714
1764
  /**
1715
1765
  * Emulates clicking the `<input>` to hide the popover if it is visible.
1716
1766
  * @testOnly
@@ -2146,6 +2196,10 @@ export interface Q2InputCustomEvent<T> extends CustomEvent<T> {
2146
2196
  detail: T;
2147
2197
  target: HTMLQ2InputElement;
2148
2198
  }
2199
+ export interface Q2LegendCustomEvent<T> extends CustomEvent<T> {
2200
+ detail: T;
2201
+ target: HTMLQ2LegendElement;
2202
+ }
2149
2203
  export interface Q2MonthPickerCustomEvent<T> extends CustomEvent<T> {
2150
2204
  detail: T;
2151
2205
  target: HTMLQ2MonthPickerElement;
@@ -2530,6 +2584,25 @@ declare global {
2530
2584
  prototype: HTMLQ2ItemElement;
2531
2585
  new (): HTMLQ2ItemElement;
2532
2586
  };
2587
+ interface HTMLQ2LegendElementEventMap {
2588
+ "click": IDonutChartData;
2589
+ "mouseleave": IDonutChartData;
2590
+ "mouseenter": IDonutChartData;
2591
+ }
2592
+ interface HTMLQ2LegendElement extends Components.Q2Legend, HTMLStencilElement {
2593
+ addEventListener<K extends keyof HTMLQ2LegendElementEventMap>(type: K, listener: (this: HTMLQ2LegendElement, ev: Q2LegendCustomEvent<HTMLQ2LegendElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2594
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2595
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2596
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2597
+ removeEventListener<K extends keyof HTMLQ2LegendElementEventMap>(type: K, listener: (this: HTMLQ2LegendElement, ev: Q2LegendCustomEvent<HTMLQ2LegendElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2598
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2599
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2600
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2601
+ }
2602
+ var HTMLQ2LegendElement: {
2603
+ prototype: HTMLQ2LegendElement;
2604
+ new (): HTMLQ2LegendElement;
2605
+ };
2533
2606
  interface HTMLQ2ListElement extends Components.Q2List, HTMLStencilElement {
2534
2607
  }
2535
2608
  var HTMLQ2ListElement: {
@@ -2926,6 +2999,7 @@ declare global {
2926
2999
  "q2-icon": HTMLQ2IconElement;
2927
3000
  "q2-input": HTMLQ2InputElement;
2928
3001
  "q2-item": HTMLQ2ItemElement;
3002
+ "q2-legend": HTMLQ2LegendElement;
2929
3003
  "q2-list": HTMLQ2ListElement;
2930
3004
  "q2-loading": HTMLQ2LoadingElement;
2931
3005
  "q2-loading-element": HTMLQ2LoadingElementElement;
@@ -3018,9 +3092,14 @@ declare namespace LocalJSX {
3018
3092
  "value"?: number;
3019
3093
  }
3020
3094
  interface Q2Btn {
3095
+ /**
3096
+ * @private Role attribute for better semantic accessibility support
3097
+ */
3098
+ "_role"?: string;
3021
3099
  /**
3022
3100
  * Displays the component in an active state.
3023
3101
  * @info Only intended for use with the `badge` property.
3102
+ * @deprecated
3024
3103
  */
3025
3104
  "active"?: boolean;
3026
3105
  "ariaControls"?: string;
@@ -3034,6 +3113,7 @@ declare namespace LocalJSX {
3034
3113
  "ariaSelected"?: string;
3035
3114
  /**
3036
3115
  * Displays the component in a smaller, badge style.
3116
+ * @deprecated
3037
3117
  */
3038
3118
  "badge"?: boolean;
3039
3119
  /**
@@ -3076,9 +3156,9 @@ declare namespace LocalJSX {
3076
3156
  */
3077
3157
  "loading"?: boolean;
3078
3158
  /**
3079
- * @deprecated
3159
+ * Defines the size of q2-btn, it renders as default size if not provided.
3080
3160
  */
3081
- "size"?: string;
3161
+ "size"?: 'small' | 'medium' | 'large';
3082
3162
  "tabIndex"?: number;
3083
3163
  /**
3084
3164
  * The default behavior of the button.
@@ -3591,6 +3671,11 @@ declare namespace LocalJSX {
3591
3671
  * The amount which the slice will separate from the chart when selected.
3592
3672
  */
3593
3673
  "selectedOffset"?: number;
3674
+ /**
3675
+ * Determines whether the legend is displayed.
3676
+ * @info The legend is a list of the data points in the chart and their colors.
3677
+ */
3678
+ "showLegend"?: boolean;
3594
3679
  /**
3595
3680
  * The icon that displays by default when no slices are selected.
3596
3681
  */
@@ -3659,6 +3744,10 @@ declare namespace LocalJSX {
3659
3744
  * The field is not interactive, but remains focusable.
3660
3745
  */
3661
3746
  "readonly"?: boolean;
3747
+ /**
3748
+ * The field is not interactive, but remains focusable.
3749
+ */
3750
+ "slotReadonly"?: boolean;
3662
3751
  /**
3663
3752
  * The visual style of the checkbox. This does not need to be defined for a standard checkbox.
3664
3753
  */
@@ -4037,6 +4126,11 @@ declare namespace LocalJSX {
4037
4126
  "type"?: string;
4038
4127
  }
4039
4128
  interface Q2Input {
4129
+ /**
4130
+ * Allows for correct semantics of q2-input element when aria-expanded.
4131
+ * @private Defaults to undefined Will assign role to combobox when used inside q2-select and q2-calendar.
4132
+ */
4133
+ "_role"?: 'combobox' | undefined;
4040
4134
  "ariaActivedescendant"?: string;
4041
4135
  "ariaControls"?: string;
4042
4136
  "ariaExpanded"?: string;
@@ -4209,6 +4303,27 @@ declare namespace LocalJSX {
4209
4303
  */
4210
4304
  "clickable"?: boolean;
4211
4305
  }
4306
+ interface Q2Legend {
4307
+ /**
4308
+ * An array of objects that contain the data to be displayed.
4309
+ */
4310
+ "data"?: IDonutChartData[];
4311
+ /**
4312
+ * The format of the value displayed in the legend.
4313
+ */
4314
+ "format"?: 'default' | 'currency';
4315
+ /**
4316
+ * The id of the item to set as hovered.
4317
+ */
4318
+ "hoveredItemId"?: string;
4319
+ "onClick"?: (event: Q2LegendCustomEvent<IDonutChartData>) => void;
4320
+ "onMouseenter"?: (event: Q2LegendCustomEvent<IDonutChartData>) => void;
4321
+ "onMouseleave"?: (event: Q2LegendCustomEvent<IDonutChartData>) => void;
4322
+ /**
4323
+ * The id of the item to set as selected.
4324
+ */
4325
+ "selectedItemId"?: string;
4326
+ }
4212
4327
  interface Q2List {
4213
4328
  /**
4214
4329
  * Adds a border between each items
@@ -4395,6 +4510,10 @@ declare namespace LocalJSX {
4395
4510
  "type"?: 'menu' | 'listbox';
4396
4511
  }
4397
4512
  interface Q2Pagination {
4513
+ /**
4514
+ * Indicates the horizontal alignment of children elements
4515
+ */
4516
+ "alignment"?: string;
4398
4517
  /**
4399
4518
  * Determines whether the component uses the dynamic resizing behavior.
4400
4519
  */
@@ -4421,6 +4540,10 @@ declare namespace LocalJSX {
4421
4540
  * The total number of records displayed on each page.
4422
4541
  */
4423
4542
  "perPage"?: number;
4543
+ /**
4544
+ * The list of perPage to operate pagination. e.g.) [10, 25, 50]
4545
+ */
4546
+ "perPageIncrements"?: number[];
4424
4547
  /**
4425
4548
  * Description of the record type to be displayed alongside the record count.
4426
4549
  */
@@ -4710,6 +4833,10 @@ declare namespace LocalJSX {
4710
4833
  * @deprecated
4711
4834
  */
4712
4835
  "ariaLabel"?: string;
4836
+ /**
4837
+ * Renders an icon button when the field is non-empty. Pressing the button clears all input from the field.
4838
+ */
4839
+ "clearable"?: boolean;
4713
4840
  /**
4714
4841
  * Disables all interaction with the field and leverages the disabled visual style of `q2-input`.
4715
4842
  */
@@ -5160,6 +5287,7 @@ declare namespace LocalJSX {
5160
5287
  "q2-icon": Q2Icon;
5161
5288
  "q2-input": Q2Input;
5162
5289
  "q2-item": Q2Item;
5290
+ "q2-legend": Q2Legend;
5163
5291
  "q2-list": Q2List;
5164
5292
  "q2-loading": Q2Loading;
5165
5293
  "q2-loading-element": Q2LoadingElement;
@@ -5216,6 +5344,7 @@ declare module "@stencil/core" {
5216
5344
  "q2-icon": LocalJSX.Q2Icon & JSXBase.HTMLAttributes<HTMLQ2IconElement>;
5217
5345
  "q2-input": LocalJSX.Q2Input & JSXBase.HTMLAttributes<HTMLQ2InputElement>;
5218
5346
  "q2-item": LocalJSX.Q2Item & JSXBase.HTMLAttributes<HTMLQ2ItemElement>;
5347
+ "q2-legend": LocalJSX.Q2Legend & JSXBase.HTMLAttributes<HTMLQ2LegendElement>;
5219
5348
  "q2-list": LocalJSX.Q2List & JSXBase.HTMLAttributes<HTMLQ2ListElement>;
5220
5349
  "q2-loading": LocalJSX.Q2Loading & JSXBase.HTMLAttributes<HTMLQ2LoadingElement>;
5221
5350
  "q2-loading-element": LocalJSX.Q2LoadingElement & JSXBase.HTMLAttributes<HTMLQ2LoadingElementElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q2-tecton-elements",
3
- "version": "1.45.3",
3
+ "version": "1.46.1",
4
4
  "description": "Q2 Tecton Custom Elements",
5
5
  "license": "MIT",
6
6
  "author": "Q2 Tecton Team",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@stencil/core": "4.18.0",
36
- "q2-tecton-common": "1.45.3",
36
+ "q2-tecton-common": "1.46.1",
37
37
  "swiper": "8.4.4"
38
38
  },
39
39
  "devDependencies": {
@@ -54,5 +54,5 @@
54
54
  "typescript": "5.4.5",
55
55
  "typescript-eslint": "^7.11.0"
56
56
  },
57
- "gitHead": "321dc27427d9dd6fe9a699591671c729027c2bd1"
57
+ "gitHead": "fae4646a29eeae535d7d5c0e9cd050872dab0101"
58
58
  }
@@ -1 +0,0 @@
1
- {"file":"q2-optgroup.q2-option.entry.cjs.js","mappings":"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","names":["createGuid","h","loc","Host"],"sources":["src/components/q2-optgroup/q2-optgroup.scss?tag=q2-optgroup&encapsulation=shadow","src/components/q2-optgroup/q2-optgroup.tsx","src/components/q2-option/q2-option.scss?tag=q2-option&encapsulation=shadow","src/components/q2-option/q2-option.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.q2-optgroup-header {\n --comp-header-padding: #{var-list(--tct-scale-1, --app-scale-1x, 5px) var-list(--tct-scale-2, --app-scale-2x, 10px)};\n background: var-list(\n --tct-optgroup-header-background,\n var-prefixer(optgroup-header-bg),\n --tct-gray-13,\n --t-gray-13,\n --tct-gray-l2,\n --app-gray-l2,\n #e6e6e6\n );\n color: var-list(--tct-optgroup-header-color, inherit);\n padding: var-list(var-prefixer(optgroup-header-padding), --comp-header-padding);\n font-weight: var-list(var-prefixer(optgroup-header-font-weight), 600);\n text-transform: var-list(var-prefixer(optgroup-header-text-transform), uppercase);\n position: sticky;\n top: calc(var(--comp-popover-top-container-height, 0px) + var-list(var-prefixer(optgroup-top), 0px));\n z-index: 5; // Keeps the optgroup over any hover or focus states\n}\n","import { Component, h, ComponentInterface, Prop, Element, Watch, State } from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({ tag: 'q2-optgroup', shadow: true, styleUrl: 'q2-optgroup.scss' })\nexport class Q2Optgroup implements ComponentInterface {\n /** Serves as the group header text. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Determines whether all nested options are disabled. */\n @Prop({ reflect: true }) label: string;\n\n @Element() hostElement: HTMLElement;\n @State() hidden: boolean = false;\n guid: number = createGuid();\n mutationObserver: MutationObserver;\n\n /// LIFECYCLE HOOKS ///\n\n componentWillLoad() {\n const observer = new MutationObserver(this.setHidden);\n observer.observe(this.hostElement, { childList: true, attributes: true, subtree: true });\n this.mutationObserver = observer;\n\n // set initially\n this.setHidden();\n this.disabledWatcher(this.disabled);\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n setHidden = () => {\n this.hidden = this.options.every(opt => opt.hidden || opt._multiSelectHidden);\n };\n\n get headerId() {\n return `q2-optgroup-header-${this.guid}`;\n }\n\n get options() {\n return Array.from(this.hostElement.querySelectorAll('q2-option'));\n }\n\n ///// OBSERVERS ///////\n\n @Watch('disabled')\n disabledWatcher(disabled: boolean) {\n this.options.forEach(opt => {\n opt.disabledGroup = !!disabled;\n });\n }\n\n render() {\n return (\n <div\n class=\"q2-optgroup-container\"\n hidden={this.hidden}\n aria-labelledby={this.headerId}\n role=\"group\"\n >\n <div\n class=\"q2-optgroup-header\"\n id={this.headerId}\n >\n {(this.label && loc(this.label)) || ''}\n </div>\n <div class=\"q2-optgroup-options\">\n <slot />\n </div>\n </div>\n );\n }\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n --comp-padding: #{0 var-list(--app-scale-2x, 10px)};\n --comp-selected-icon-size: #{var-list(var-prefixer(option-selected-icon-size), --tct-scale-3, --app-scale-3x, 15px)};\n padding: var-list(var-prefixer(option-padding), --comp-padding);\n min-height: 44px;\n align-items: center;\n cursor: pointer;\n grid-template-columns:\n var(--comp-selected-icon-size)\n 1fr;\n align-items: center;\n grid-template-areas: 'icon content';\n gap: var-list(--tct-scale-1, --app-scale-1x, 5px);\n}\n\n:host(:focus),\n:host(:hover),\n:host([active]) {\n position: relative;\n z-index: 1; // Puts the option above any scroll shadows on the `q2-action-sheet`\n}\n\n:host([multiline]) {\n --comp-padding: #{var-list(--app-scale-2, 10px) var-list(--app-scale-2, 10px)};\n --comp-selected-icon-size: #{var-list(\n var-prefixer(option-selected-multiline-icon-size),\n var-prefixer(option-selected-icon-size),\n 26px\n )};\n}\n\n:host([_no-select]) {\n grid-template-columns: 1fr;\n grid-template-areas: 'content';\n}\n\n:host([aria-disabled]) {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n pointer-events: none;\n}\n\n:host([aria-hidden]) {\n display: none;\n}\n\n:host(:not([hidden]):not([aria-hidden])) {\n display: grid;\n}\n\n:host(:not([aria-disabled]):hover),\n:host([active]),\n:host(:focus) {\n background: var-list(\n --tct-option-active-background,\n --tct-option-active-bg,\n --tct-gray-14,\n --t-gray-14,\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n color: var(--tct-option-active-color, inherit);\n}\n\n:host(:focus) {\n box-shadow: var-list(\n --tct-option-focus-box-shadow,\n unquote('inset var(--const-global-focus, 0 0 0 2px var(--const-focus-color, #0066CC))')\n ) !important;\n}\n\nq2-icon {\n grid-area: icon;\n --tct-icon-size: var(--comp-selected-icon-size);\n}\n\n.content {\n display: block;\n grid-area: content;\n\n :host(:not([multiline])) & {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n","import { Component, Prop, h, Element, ComponentInterface, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({ tag: 'q2-option', shadow: true, styleUrl: 'q2-option.scss' })\nexport class Q2Option implements ComponentInterface {\n /**\n * Used by q2-option-list to set a role on the option\n * @type {('option' | 'menuitem')}\n * @private\n */\n @Prop({ reflect: true }) role: string = 'option';\n\n /** Disables the option. */\n @Prop({ reflect: true }) disabled: boolean;\n\n /** The text that is presented in the field when selected. If not set, the text inside the element will be used. */\n @Prop({ mutable: true }) display: string;\n\n /** Serves as the option's value. */\n @Prop({ reflect: true }) value: string;\n\n /**\n * Used by consuming elements to disable all options in the group\n * @private\n */\n @Prop({ reflect: true }) disabledGroup: boolean;\n /**\n * Used by q2-option-list to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true }) selected: boolean;\n /**\n * Used by consuming elements to enable multiline content support\n * @private\n */\n @Prop({ reflect: true }) multiline: boolean;\n /**\n * Used by q2-option-list to indicate the option is active\n * @private\n */\n @Prop({ reflect: true }) active: boolean;\n @Prop({ reflect: true, attribute: '_multiSelectHidden' }) _multiSelectHidden: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Used by consuming elements to indicate the display value of the option has changed.\n * @private\n */\n @Event() displayChanged: EventEmitter<{ value: string; display: string }>;\n\n mutationObserver: MutationObserver;\n\n componentWillLoad() {\n this.initDisplay();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.mutationHandler);\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n initDisplay() {\n if (this.multiline) return;\n if (this.display && !this.hostElement?.textContent?.trim()) {\n this.hostElement.textContent = this.display;\n } else if (!this.display && this.hostElement.textContent.trim()) {\n this.display = this.hostElement.textContent.trim();\n }\n }\n\n mutationHandler = (mutations: MutationRecord[]) => {\n const display = (this.display || '').trim();\n const textContent = (this.hostElement?.textContent || '').trim();\n if (display === textContent || this.multiline) return;\n for (const mut of mutations) {\n if (mut.type === 'childList' || mut.type === 'characterData') {\n this.display = textContent;\n } else if (mut.type === 'attributes' && mut.attributeName === 'display') {\n this.hostElement.textContent = display;\n }\n }\n if (this.hostElement.ariaSelected) this.displayChanged.emit({ display: this.display, value: this.value });\n };\n\n render() {\n const { disabled, disabledGroup, selected, _multiSelectHidden } = this;\n const isDisabled = disabled || disabledGroup;\n\n return (\n <Host\n tabindex=\"-1\"\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-selected={`${!!selected}`}\n aria-hidden={_multiSelectHidden ? 'true' : undefined}\n display={this.display}\n >\n {this.selected && <q2-icon type=\"checkmark\" />}\n <div class=\"content\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"q2-optgroup.q2-option.entry.js","mappings":"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","names":[],"sources":["src/components/q2-optgroup/q2-optgroup.scss?tag=q2-optgroup&encapsulation=shadow","src/components/q2-optgroup/q2-optgroup.tsx","src/components/q2-option/q2-option.scss?tag=q2-option&encapsulation=shadow","src/components/q2-option/q2-option.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.q2-optgroup-header {\n --comp-header-padding: #{var-list(--tct-scale-1, --app-scale-1x, 5px) var-list(--tct-scale-2, --app-scale-2x, 10px)};\n background: var-list(\n --tct-optgroup-header-background,\n var-prefixer(optgroup-header-bg),\n --tct-gray-13,\n --t-gray-13,\n --tct-gray-l2,\n --app-gray-l2,\n #e6e6e6\n );\n color: var-list(--tct-optgroup-header-color, inherit);\n padding: var-list(var-prefixer(optgroup-header-padding), --comp-header-padding);\n font-weight: var-list(var-prefixer(optgroup-header-font-weight), 600);\n text-transform: var-list(var-prefixer(optgroup-header-text-transform), uppercase);\n position: sticky;\n top: calc(var(--comp-popover-top-container-height, 0px) + var-list(var-prefixer(optgroup-top), 0px));\n z-index: 5; // Keeps the optgroup over any hover or focus states\n}\n","import { Component, h, ComponentInterface, Prop, Element, Watch, State } from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({ tag: 'q2-optgroup', shadow: true, styleUrl: 'q2-optgroup.scss' })\nexport class Q2Optgroup implements ComponentInterface {\n /** Serves as the group header text. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Determines whether all nested options are disabled. */\n @Prop({ reflect: true }) label: string;\n\n @Element() hostElement: HTMLElement;\n @State() hidden: boolean = false;\n guid: number = createGuid();\n mutationObserver: MutationObserver;\n\n /// LIFECYCLE HOOKS ///\n\n componentWillLoad() {\n const observer = new MutationObserver(this.setHidden);\n observer.observe(this.hostElement, { childList: true, attributes: true, subtree: true });\n this.mutationObserver = observer;\n\n // set initially\n this.setHidden();\n this.disabledWatcher(this.disabled);\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n setHidden = () => {\n this.hidden = this.options.every(opt => opt.hidden || opt._multiSelectHidden);\n };\n\n get headerId() {\n return `q2-optgroup-header-${this.guid}`;\n }\n\n get options() {\n return Array.from(this.hostElement.querySelectorAll('q2-option'));\n }\n\n ///// OBSERVERS ///////\n\n @Watch('disabled')\n disabledWatcher(disabled: boolean) {\n this.options.forEach(opt => {\n opt.disabledGroup = !!disabled;\n });\n }\n\n render() {\n return (\n <div\n class=\"q2-optgroup-container\"\n hidden={this.hidden}\n aria-labelledby={this.headerId}\n role=\"group\"\n >\n <div\n class=\"q2-optgroup-header\"\n id={this.headerId}\n >\n {(this.label && loc(this.label)) || ''}\n </div>\n <div class=\"q2-optgroup-options\">\n <slot />\n </div>\n </div>\n );\n }\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n --comp-padding: #{0 var-list(--app-scale-2x, 10px)};\n --comp-selected-icon-size: #{var-list(var-prefixer(option-selected-icon-size), --tct-scale-3, --app-scale-3x, 15px)};\n padding: var-list(var-prefixer(option-padding), --comp-padding);\n min-height: 44px;\n align-items: center;\n cursor: pointer;\n grid-template-columns:\n var(--comp-selected-icon-size)\n 1fr;\n align-items: center;\n grid-template-areas: 'icon content';\n gap: var-list(--tct-scale-1, --app-scale-1x, 5px);\n}\n\n:host(:focus),\n:host(:hover),\n:host([active]) {\n position: relative;\n z-index: 1; // Puts the option above any scroll shadows on the `q2-action-sheet`\n}\n\n:host([multiline]) {\n --comp-padding: #{var-list(--app-scale-2, 10px) var-list(--app-scale-2, 10px)};\n --comp-selected-icon-size: #{var-list(\n var-prefixer(option-selected-multiline-icon-size),\n var-prefixer(option-selected-icon-size),\n 26px\n )};\n}\n\n:host([_no-select]) {\n grid-template-columns: 1fr;\n grid-template-areas: 'content';\n}\n\n:host([aria-disabled]) {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n pointer-events: none;\n}\n\n:host([aria-hidden]) {\n display: none;\n}\n\n:host(:not([hidden]):not([aria-hidden])) {\n display: grid;\n}\n\n:host(:not([aria-disabled]):hover),\n:host([active]),\n:host(:focus) {\n background: var-list(\n --tct-option-active-background,\n --tct-option-active-bg,\n --tct-gray-14,\n --t-gray-14,\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n color: var(--tct-option-active-color, inherit);\n}\n\n:host(:focus) {\n box-shadow: var-list(\n --tct-option-focus-box-shadow,\n unquote('inset var(--const-global-focus, 0 0 0 2px var(--const-focus-color, #0066CC))')\n ) !important;\n}\n\nq2-icon {\n grid-area: icon;\n --tct-icon-size: var(--comp-selected-icon-size);\n}\n\n.content {\n display: block;\n grid-area: content;\n\n :host(:not([multiline])) & {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n","import { Component, Prop, h, Element, ComponentInterface, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({ tag: 'q2-option', shadow: true, styleUrl: 'q2-option.scss' })\nexport class Q2Option implements ComponentInterface {\n /**\n * Used by q2-option-list to set a role on the option\n * @type {('option' | 'menuitem')}\n * @private\n */\n @Prop({ reflect: true }) role: string = 'option';\n\n /** Disables the option. */\n @Prop({ reflect: true }) disabled: boolean;\n\n /** The text that is presented in the field when selected. If not set, the text inside the element will be used. */\n @Prop({ mutable: true }) display: string;\n\n /** Serves as the option's value. */\n @Prop({ reflect: true }) value: string;\n\n /**\n * Used by consuming elements to disable all options in the group\n * @private\n */\n @Prop({ reflect: true }) disabledGroup: boolean;\n /**\n * Used by q2-option-list to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true }) selected: boolean;\n /**\n * Used by consuming elements to enable multiline content support\n * @private\n */\n @Prop({ reflect: true }) multiline: boolean;\n /**\n * Used by q2-option-list to indicate the option is active\n * @private\n */\n @Prop({ reflect: true }) active: boolean;\n @Prop({ reflect: true, attribute: '_multiSelectHidden' }) _multiSelectHidden: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Used by consuming elements to indicate the display value of the option has changed.\n * @private\n */\n @Event() displayChanged: EventEmitter<{ value: string; display: string }>;\n\n mutationObserver: MutationObserver;\n\n componentWillLoad() {\n this.initDisplay();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.mutationHandler);\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n initDisplay() {\n if (this.multiline) return;\n if (this.display && !this.hostElement?.textContent?.trim()) {\n this.hostElement.textContent = this.display;\n } else if (!this.display && this.hostElement.textContent.trim()) {\n this.display = this.hostElement.textContent.trim();\n }\n }\n\n mutationHandler = (mutations: MutationRecord[]) => {\n const display = (this.display || '').trim();\n const textContent = (this.hostElement?.textContent || '').trim();\n if (display === textContent || this.multiline) return;\n for (const mut of mutations) {\n if (mut.type === 'childList' || mut.type === 'characterData') {\n this.display = textContent;\n } else if (mut.type === 'attributes' && mut.attributeName === 'display') {\n this.hostElement.textContent = display;\n }\n }\n if (this.hostElement.ariaSelected) this.displayChanged.emit({ display: this.display, value: this.value });\n };\n\n render() {\n const { disabled, disabledGroup, selected, _multiSelectHidden } = this;\n const isDisabled = disabled || disabledGroup;\n\n return (\n <Host\n tabindex=\"-1\"\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-selected={`${!!selected}`}\n aria-hidden={_multiSelectHidden ? 'true' : undefined}\n display={this.display}\n >\n {this.selected && <q2-icon type=\"checkmark\" />}\n <div class=\"content\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,g as i,c as o,H as a}from"./p-a5f18e27.js";import{c as s,l as r}from"./p-42302f6f.js";const n="*{box-sizing:border-box}*:active{outline:none}*:focus{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:block}.q2-optgroup-header{--comp-header-padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--tct-optgroup-header-background, var(--tct-optgroup-header-bg, var(--t-optgroup-header-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6)))))));color:var(--tct-optgroup-header-color, inherit);padding:var(--tct-optgroup-header-padding, var(--t-optgroup-header-padding, var(--comp-header-padding)));font-weight:var(--tct-optgroup-header-font-weight, var(--t-optgroup-header-font-weight, 600));text-transform:var(--tct-optgroup-header-text-transform, var(--t-optgroup-header-text-transform, uppercase));position:sticky;top:calc(var(--comp-popover-top-container-height, 0px) + var(--tct-optgroup-top, var(--t-optgroup-top, 0px)));z-index:5}";const d=n;const c=class{constructor(e){t(this,e);this.guid=s();this.setHidden=()=>{this.hidden=this.options.every((t=>t.hidden||t._multiSelectHidden))};this.disabled=false;this.label=undefined;this.hidden=false}componentWillLoad(){const t=new MutationObserver(this.setHidden);t.observe(this.hostElement,{childList:true,attributes:true,subtree:true});this.mutationObserver=t;this.setHidden();this.disabledWatcher(this.disabled)}disconnectedCallback(){this.mutationObserver.disconnect();this.mutationObserver=null}get headerId(){return`q2-optgroup-header-${this.guid}`}get options(){return Array.from(this.hostElement.querySelectorAll("q2-option"))}disabledWatcher(t){this.options.forEach((e=>{e.disabledGroup=!!t}))}render(){return e("div",{key:"f90275607d9a96d441d38a0580ce1b93e662634e",class:"q2-optgroup-container",hidden:this.hidden,"aria-labelledby":this.headerId,role:"group"},e("div",{key:"d7ebce6b9dca35f1a41c500942f6b21b6277d7b8",class:"q2-optgroup-header",id:this.headerId},this.label&&r(this.label)||""),e("div",{key:"1f617b24906eb0ebe0e14520a45ae5de2e6757b5",class:"q2-optgroup-options"},e("slot",{key:"b90f24f7d8c10e3289041cb948587436c75a19f2"})))}get hostElement(){return i(this)}static get watchers(){return{disabled:["disabledWatcher"]}}};c.style=d;const p='*{box-sizing:border-box}*:active{outline:none}*:focus{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{--comp-padding:0 var(--app-scale-2x, 10px);--comp-selected-icon-size:var(--tct-option-selected-icon-size, var(--t-option-selected-icon-size, var(--tct-scale-3, var(--app-scale-3x, 15px))));padding:var(--tct-option-padding, var(--t-option-padding, var(--comp-padding)));min-height:44px;align-items:center;cursor:pointer;grid-template-columns:var(--comp-selected-icon-size) 1fr;align-items:center;grid-template-areas:"icon content";gap:var(--tct-scale-1, var(--app-scale-1x, 5px))}:host(:focus),:host(:hover),:host([active]){position:relative;z-index:1}:host([multiline]){--comp-padding:var(--app-scale-2, 10px) var(--app-scale-2, 10px);--comp-selected-icon-size:var(--tct-option-selected-multiline-icon-size, var(--t-option-selected-multiline-icon-size, var(--tct-option-selected-icon-size, var(--t-option-selected-icon-size, 26px))))}:host([_no-select]){grid-template-columns:1fr;grid-template-areas:"content"}:host([aria-disabled]){cursor:not-allowed;opacity:var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4));pointer-events:none}:host([aria-hidden]){display:none}:host(:not([hidden]):not([aria-hidden])){display:grid}:host(:not([aria-disabled]):hover),:host([active]),:host(:focus){background:var(--tct-option-active-background, var(--tct-option-active-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-option-active-color, inherit)}:host(:focus){box-shadow:var(--tct-option-focus-box-shadow, inset var(--const-global-focus, 0 0 0 2px var(--const-focus-color, #0066CC))) !important}q2-icon{grid-area:icon;--tct-icon-size:var(--comp-selected-icon-size)}.content{display:block;grid-area:content}:host(:not([multiline])) .content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}';const h=p;const l=class{constructor(e){t(this,e);this.displayChanged=o(this,"displayChanged",7);this.mutationHandler=t=>{var e;const i=(this.display||"").trim();const o=(((e=this.hostElement)===null||e===void 0?void 0:e.textContent)||"").trim();if(i===o||this.multiline)return;for(const e of t){if(e.type==="childList"||e.type==="characterData"){this.display=o}else if(e.type==="attributes"&&e.attributeName==="display"){this.hostElement.textContent=i}}if(this.hostElement.ariaSelected)this.displayChanged.emit({display:this.display,value:this.value})};this.role="option";this.disabled=undefined;this.display=undefined;this.value=undefined;this.disabledGroup=undefined;this.selected=undefined;this.multiline=undefined;this.active=undefined;this._multiSelectHidden=false}componentWillLoad(){this.initDisplay()}componentDidLoad(){const t=new MutationObserver(this.mutationHandler);t.observe(this.hostElement,{childList:true,subtree:true,attributes:true,characterData:true});this.mutationObserver=t}initDisplay(){var t,e;if(this.multiline)return;if(this.display&&!((e=(t=this.hostElement)===null||t===void 0?void 0:t.textContent)===null||e===void 0?void 0:e.trim())){this.hostElement.textContent=this.display}else if(!this.display&&this.hostElement.textContent.trim()){this.display=this.hostElement.textContent.trim()}}render(){const{disabled:t,disabledGroup:i,selected:o,_multiSelectHidden:s}=this;const r=t||i;return e(a,{key:"b6ca0e5f1a15c594a6577769c7549369573541bd",tabindex:"-1","aria-disabled":r?"true":undefined,"aria-selected":`${!!o}`,"aria-hidden":s?"true":undefined,display:this.display},this.selected&&e("q2-icon",{key:"d4ddab403a45207e8f7e1c2b3611fd9ad5eafa52",type:"checkmark"}),e("div",{key:"4d10f04c3cc686a21f7e6e5d19106b61af89f6f2",class:"content"},e("slot",{key:"2290b5fe8bbce6a3cb64c70d31df2376d51dd129"})))}get hostElement(){return i(this)}};l.style=h;export{c as q2_optgroup,l as q2_option};
2
- //# sourceMappingURL=p-1c17d118.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2OptgroupCss","Q2OptgroupStyle0","Q2Optgroup","this","guid","createGuid","setHidden","hidden","options","every","opt","_multiSelectHidden","componentWillLoad","observer","MutationObserver","observe","hostElement","childList","attributes","subtree","mutationObserver","disabledWatcher","disabled","disconnectedCallback","disconnect","headerId","Array","from","querySelectorAll","forEach","disabledGroup","render","h","key","class","role","id","label","loc","q2OptionCss","Q2OptionStyle0","Q2Option","mutationHandler","mutations","display","trim","textContent","_a","multiline","mut","type","attributeName","ariaSelected","displayChanged","emit","value","initDisplay","componentDidLoad","characterData","_b","selected","isDisabled","Host","tabindex","undefined"],"sources":["src/components/q2-optgroup/q2-optgroup.scss?tag=q2-optgroup&encapsulation=shadow","src/components/q2-optgroup/q2-optgroup.tsx","src/components/q2-option/q2-option.scss?tag=q2-option&encapsulation=shadow","src/components/q2-option/q2-option.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.q2-optgroup-header {\n --comp-header-padding: #{var-list(--tct-scale-1, --app-scale-1x, 5px) var-list(--tct-scale-2, --app-scale-2x, 10px)};\n background: var-list(\n --tct-optgroup-header-background,\n var-prefixer(optgroup-header-bg),\n --tct-gray-13,\n --t-gray-13,\n --tct-gray-l2,\n --app-gray-l2,\n #e6e6e6\n );\n color: var-list(--tct-optgroup-header-color, inherit);\n padding: var-list(var-prefixer(optgroup-header-padding), --comp-header-padding);\n font-weight: var-list(var-prefixer(optgroup-header-font-weight), 600);\n text-transform: var-list(var-prefixer(optgroup-header-text-transform), uppercase);\n position: sticky;\n top: calc(var(--comp-popover-top-container-height, 0px) + var-list(var-prefixer(optgroup-top), 0px));\n z-index: 5; // Keeps the optgroup over any hover or focus states\n}\n","import { Component, h, ComponentInterface, Prop, Element, Watch, State } from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({ tag: 'q2-optgroup', shadow: true, styleUrl: 'q2-optgroup.scss' })\nexport class Q2Optgroup implements ComponentInterface {\n /** Serves as the group header text. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Determines whether all nested options are disabled. */\n @Prop({ reflect: true }) label: string;\n\n @Element() hostElement: HTMLElement;\n @State() hidden: boolean = false;\n guid: number = createGuid();\n mutationObserver: MutationObserver;\n\n /// LIFECYCLE HOOKS ///\n\n componentWillLoad() {\n const observer = new MutationObserver(this.setHidden);\n observer.observe(this.hostElement, { childList: true, attributes: true, subtree: true });\n this.mutationObserver = observer;\n\n // set initially\n this.setHidden();\n this.disabledWatcher(this.disabled);\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n setHidden = () => {\n this.hidden = this.options.every(opt => opt.hidden || opt._multiSelectHidden);\n };\n\n get headerId() {\n return `q2-optgroup-header-${this.guid}`;\n }\n\n get options() {\n return Array.from(this.hostElement.querySelectorAll('q2-option'));\n }\n\n ///// OBSERVERS ///////\n\n @Watch('disabled')\n disabledWatcher(disabled: boolean) {\n this.options.forEach(opt => {\n opt.disabledGroup = !!disabled;\n });\n }\n\n render() {\n return (\n <div\n class=\"q2-optgroup-container\"\n hidden={this.hidden}\n aria-labelledby={this.headerId}\n role=\"group\"\n >\n <div\n class=\"q2-optgroup-header\"\n id={this.headerId}\n >\n {(this.label && loc(this.label)) || ''}\n </div>\n <div class=\"q2-optgroup-options\">\n <slot />\n </div>\n </div>\n );\n }\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n --comp-padding: #{0 var-list(--app-scale-2x, 10px)};\n --comp-selected-icon-size: #{var-list(var-prefixer(option-selected-icon-size), --tct-scale-3, --app-scale-3x, 15px)};\n padding: var-list(var-prefixer(option-padding), --comp-padding);\n min-height: 44px;\n align-items: center;\n cursor: pointer;\n grid-template-columns:\n var(--comp-selected-icon-size)\n 1fr;\n align-items: center;\n grid-template-areas: 'icon content';\n gap: var-list(--tct-scale-1, --app-scale-1x, 5px);\n}\n\n:host(:focus),\n:host(:hover),\n:host([active]) {\n position: relative;\n z-index: 1; // Puts the option above any scroll shadows on the `q2-action-sheet`\n}\n\n:host([multiline]) {\n --comp-padding: #{var-list(--app-scale-2, 10px) var-list(--app-scale-2, 10px)};\n --comp-selected-icon-size: #{var-list(\n var-prefixer(option-selected-multiline-icon-size),\n var-prefixer(option-selected-icon-size),\n 26px\n )};\n}\n\n:host([_no-select]) {\n grid-template-columns: 1fr;\n grid-template-areas: 'content';\n}\n\n:host([aria-disabled]) {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n pointer-events: none;\n}\n\n:host([aria-hidden]) {\n display: none;\n}\n\n:host(:not([hidden]):not([aria-hidden])) {\n display: grid;\n}\n\n:host(:not([aria-disabled]):hover),\n:host([active]),\n:host(:focus) {\n background: var-list(\n --tct-option-active-background,\n --tct-option-active-bg,\n --tct-gray-14,\n --t-gray-14,\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n color: var(--tct-option-active-color, inherit);\n}\n\n:host(:focus) {\n box-shadow: var-list(\n --tct-option-focus-box-shadow,\n unquote('inset var(--const-global-focus, 0 0 0 2px var(--const-focus-color, #0066CC))')\n ) !important;\n}\n\nq2-icon {\n grid-area: icon;\n --tct-icon-size: var(--comp-selected-icon-size);\n}\n\n.content {\n display: block;\n grid-area: content;\n\n :host(:not([multiline])) & {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n","import { Component, Prop, h, Element, ComponentInterface, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({ tag: 'q2-option', shadow: true, styleUrl: 'q2-option.scss' })\nexport class Q2Option implements ComponentInterface {\n /**\n * Used by q2-option-list to set a role on the option\n * @type {('option' | 'menuitem')}\n * @private\n */\n @Prop({ reflect: true }) role: string = 'option';\n\n /** Disables the option. */\n @Prop({ reflect: true }) disabled: boolean;\n\n /** The text that is presented in the field when selected. If not set, the text inside the element will be used. */\n @Prop({ mutable: true }) display: string;\n\n /** Serves as the option's value. */\n @Prop({ reflect: true }) value: string;\n\n /**\n * Used by consuming elements to disable all options in the group\n * @private\n */\n @Prop({ reflect: true }) disabledGroup: boolean;\n /**\n * Used by q2-option-list to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true }) selected: boolean;\n /**\n * Used by consuming elements to enable multiline content support\n * @private\n */\n @Prop({ reflect: true }) multiline: boolean;\n /**\n * Used by q2-option-list to indicate the option is active\n * @private\n */\n @Prop({ reflect: true }) active: boolean;\n @Prop({ reflect: true, attribute: '_multiSelectHidden' }) _multiSelectHidden: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Used by consuming elements to indicate the display value of the option has changed.\n * @private\n */\n @Event() displayChanged: EventEmitter<{ value: string; display: string }>;\n\n mutationObserver: MutationObserver;\n\n componentWillLoad() {\n this.initDisplay();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.mutationHandler);\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n initDisplay() {\n if (this.multiline) return;\n if (this.display && !this.hostElement?.textContent?.trim()) {\n this.hostElement.textContent = this.display;\n } else if (!this.display && this.hostElement.textContent.trim()) {\n this.display = this.hostElement.textContent.trim();\n }\n }\n\n mutationHandler = (mutations: MutationRecord[]) => {\n const display = (this.display || '').trim();\n const textContent = (this.hostElement?.textContent || '').trim();\n if (display === textContent || this.multiline) return;\n for (const mut of mutations) {\n if (mut.type === 'childList' || mut.type === 'characterData') {\n this.display = textContent;\n } else if (mut.type === 'attributes' && mut.attributeName === 'display') {\n this.hostElement.textContent = display;\n }\n }\n if (this.hostElement.ariaSelected) this.displayChanged.emit({ display: this.display, value: this.value });\n };\n\n render() {\n const { disabled, disabledGroup, selected, _multiSelectHidden } = this;\n const isDisabled = disabled || disabledGroup;\n\n return (\n <Host\n tabindex=\"-1\"\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-selected={`${!!selected}`}\n aria-hidden={_multiSelectHidden ? 'true' : undefined}\n display={this.display}\n >\n {this.selected && <q2-icon type=\"checkmark\" />}\n <div class=\"content\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}