q2-tecton-elements 1.66.2 → 1.67.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 (694) hide show
  1. package/dist/bundle-report.json +3106 -2970
  2. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -1
  3. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{q2-option-list_2.cjs.entry.js → click-elsewhere_3.cjs.entry.js} +168 -20
  5. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/{index-DyAq0y0v.js → index-YvKoRT-t.js} +61 -21
  7. package/dist/cjs/index-YvKoRT-t.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
  11. package/dist/cjs/q2-avatar.cjs.entry.js +33 -2
  12. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  14. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn_2.cjs.entry.js +22 -8
  17. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  24. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  26. package/dist/cjs/q2-carousel.cjs.entry.js +67 -42
  27. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-chart-area.cjs.entry.js +4 -2
  30. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-chart-area.entry.cjs.js.map +1 -1
  32. package/dist/cjs/q2-chart-bar.cjs.entry.js +4 -2
  33. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-chart-bar.entry.cjs.js.map +1 -1
  35. package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -3
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
  39. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  41. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -0
  42. package/dist/cjs/q2-checkbox_2.cjs.entry.js +322 -0
  43. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-data-table.cjs.entry.js +13 -16
  47. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  49. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  55. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-icon.cjs.entry.js +11 -1
  64. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  65. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  66. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  67. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  69. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  70. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  71. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  72. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  73. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  76. package/dist/cjs/q2-link_2.cjs.entry.js +14 -6
  77. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  78. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  80. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  81. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  82. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  83. package/dist/cjs/q2-modal.cjs.entry.js +4 -21
  84. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  85. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  86. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  87. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  88. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  89. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  90. package/dist/cjs/q2-pagination.cjs.entry.js +12 -7
  91. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  92. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  93. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  94. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  95. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  96. package/dist/cjs/q2-radio-group.cjs.entry.js +3 -3
  97. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  99. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  100. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  101. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  102. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  103. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  104. package/dist/cjs/q2-select.cjs.entry.js +22 -8
  105. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-stepper-pane.cjs.entry.js +7 -6
  108. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  109. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  110. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -8
  111. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  112. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  113. package/dist/cjs/q2-stepper.cjs.entry.js +7 -4
  114. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  115. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  116. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  117. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  118. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  119. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  120. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  121. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  122. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  123. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  124. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  125. package/dist/cjs/q2-tooltip.cjs.entry.js +33 -3
  126. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  127. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  128. package/dist/cjs/{sanitize-html-string-C2iwHNz5.js → sanitize-html-string-CW6y5624.js} +27 -17
  129. package/dist/cjs/sanitize-html-string-CW6y5624.js.map +1 -0
  130. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  131. package/dist/collection/__mocks__/echarts.js +12 -0
  132. package/dist/collection/__mocks__/echarts.js.map +1 -0
  133. package/dist/collection/collection-manifest.json +3 -3
  134. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  135. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  136. package/dist/collection/components/q2-avatar/q2-avatar.css +84 -89
  137. package/dist/collection/components/q2-avatar/q2-avatar.js +35 -1
  138. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  139. package/dist/collection/components/q2-btn/q2-btn.css +10 -3
  140. package/dist/collection/components/q2-btn/q2-btn.js +42 -6
  141. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  142. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  143. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  144. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  145. package/dist/collection/components/q2-calendar/q2-calendar.css +4 -1
  146. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  147. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  148. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  149. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  150. package/dist/collection/components/q2-carousel/q2-carousel.css +143 -13
  151. package/dist/collection/components/q2-carousel/q2-carousel.js +90 -42
  152. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  153. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +2 -11
  154. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  155. package/dist/collection/components/q2-chart-area/q2-chart-area.js +18 -16
  156. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  157. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +8 -6
  158. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  159. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +4 -1
  160. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -26
  161. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  162. package/dist/collection/components/q2-checkbox/q2-checkbox.css +4 -1
  163. package/dist/collection/components/q2-checkbox/q2-checkbox.js +38 -1
  164. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  165. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +1 -1
  166. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  167. package/dist/collection/components/q2-context/q2-context.js +1 -1
  168. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  169. package/dist/collection/components/q2-data-table/q2-data-table.css +14 -0
  170. package/dist/collection/components/q2-data-table/q2-data-table.js +47 -50
  171. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  172. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  173. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  174. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  175. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  176. package/dist/collection/components/q2-example/q2-example.js +1 -1
  177. package/dist/collection/components/q2-file-picker/q2-file-picker.js +9 -9
  178. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  179. package/dist/collection/components/q2-form/q2-form.js +1 -1
  180. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  181. package/dist/collection/components/q2-grid/q2-grid.js +1 -1
  182. package/dist/collection/components/q2-grid-area/q2-grid-area.js +1 -1
  183. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  184. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  185. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  186. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  187. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  188. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  189. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  190. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  191. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  192. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  193. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  194. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  195. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  196. package/dist/collection/components/q2-icon/assets/status.symbol.svg +1 -1
  197. package/dist/collection/components/q2-icon/q2-icon.js +8 -0
  198. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  199. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  200. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  201. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  202. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  203. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  204. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  205. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  206. package/dist/collection/components/q2-input/q2-input.js +42 -42
  207. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  208. package/dist/collection/components/q2-item/q2-item.css +4 -0
  209. package/dist/collection/components/q2-item/q2-item.js +1 -1
  210. package/dist/collection/components/q2-legend/q2-legend.css +3 -0
  211. package/dist/collection/components/q2-legend/q2-legend.js +36 -36
  212. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  213. package/dist/collection/components/q2-link/q2-link.css +5 -2
  214. package/dist/collection/components/q2-link/q2-link.js +33 -3
  215. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  216. package/dist/collection/components/q2-list/q2-list.js +1 -1
  217. package/dist/collection/components/q2-message/q2-message.css +19 -16
  218. package/dist/collection/components/q2-message/q2-message.js +1 -1
  219. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  220. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  221. package/dist/collection/components/q2-modal/q2-modal.css +3 -3
  222. package/dist/collection/components/q2-modal/q2-modal.js +1 -94
  223. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -1
  224. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  225. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  226. package/dist/collection/components/q2-option-list/q2-option-list.js +13 -13
  227. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  228. package/dist/collection/components/q2-pagination/q2-pagination.js +15 -10
  229. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  230. package/dist/collection/components/q2-pill/q2-pill.css +9 -0
  231. package/dist/collection/components/q2-pill/q2-pill.js +13 -13
  232. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  233. package/dist/collection/components/q2-popover/q2-popover.css +66 -1
  234. package/dist/collection/components/q2-popover/q2-popover.js +94 -14
  235. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  236. package/dist/collection/components/q2-radio/q2-radio.css +4 -3
  237. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  238. package/dist/collection/components/q2-radio-group/q2-radio-group.css +1 -1
  239. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  240. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  241. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  242. package/dist/collection/components/q2-section/q2-section.js +2 -2
  243. package/dist/collection/components/q2-select/q2-select.js +23 -7
  244. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  245. package/dist/collection/components/q2-stepper/q2-stepper.css +9 -2
  246. package/dist/collection/components/q2-stepper/q2-stepper.js +5 -2
  247. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  248. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +52 -30
  249. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  250. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +11 -2
  251. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +20 -6
  252. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  253. package/dist/collection/components/q2-tab-container/q2-tab-container.css +7 -1
  254. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  255. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  256. package/dist/collection/components/q2-tag/q2-tag.css +3 -0
  257. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  258. package/dist/collection/components/q2-textarea/q2-textarea.css +1 -0
  259. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  260. package/dist/collection/components/q2-tooltip/q2-tooltip.css +1 -1
  261. package/dist/collection/components/q2-tooltip/q2-tooltip.js +34 -1
  262. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  263. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  264. package/dist/collection/index.js +1 -0
  265. package/dist/collection/index.js.map +1 -1
  266. package/dist/collection/utils/action-sheet.js.map +1 -1
  267. package/dist/collection/utils/index.js +59 -19
  268. package/dist/collection/utils/index.js.map +1 -1
  269. package/dist/components/action-sheet.js.map +1 -1
  270. package/dist/components/index2.js +59 -19
  271. package/dist/components/index2.js.map +1 -1
  272. package/dist/components/q2-action-group2.js +1 -1
  273. package/dist/components/q2-action-sheet.js +1 -1
  274. package/dist/components/q2-avatar2.js +34 -2
  275. package/dist/components/q2-avatar2.js.map +1 -1
  276. package/dist/components/q2-btn2.js +22 -7
  277. package/dist/components/q2-btn2.js.map +1 -1
  278. package/dist/components/q2-calendar.js +2 -2
  279. package/dist/components/q2-calendar.js.map +1 -1
  280. package/dist/components/q2-card-image.js +2 -2
  281. package/dist/components/q2-carousel-pane.js +3 -3
  282. package/dist/components/q2-carousel-pane.js.map +1 -1
  283. package/dist/components/q2-carousel.js +69 -55
  284. package/dist/components/q2-carousel.js.map +1 -1
  285. package/dist/components/q2-chart-area.js +3 -1
  286. package/dist/components/q2-chart-area.js.map +1 -1
  287. package/dist/components/q2-chart-bar.js +3 -1
  288. package/dist/components/q2-chart-bar.js.map +1 -1
  289. package/dist/components/q2-chart-donut.js +6 -2
  290. package/dist/components/q2-chart-donut.js.map +1 -1
  291. package/dist/components/q2-checkbox-group.js +2 -2
  292. package/dist/components/q2-checkbox-group.js.map +1 -1
  293. package/dist/components/q2-checkbox2.js +13 -2
  294. package/dist/components/q2-checkbox2.js.map +1 -1
  295. package/dist/components/q2-context.js +1 -1
  296. package/dist/components/q2-currency.js +1 -1
  297. package/dist/components/q2-data-table.js +46 -25
  298. package/dist/components/q2-data-table.js.map +1 -1
  299. package/dist/components/q2-detail.js +1 -1
  300. package/dist/components/q2-dropdown.js +1 -1
  301. package/dist/components/q2-editable-field.js +1 -1
  302. package/dist/components/q2-editable-field.js.map +1 -1
  303. package/dist/components/q2-example.js +1 -1
  304. package/dist/components/q2-file-picker.js.map +1 -1
  305. package/dist/components/q2-form.js +1 -1
  306. package/dist/components/q2-formatted-text.js +1 -1
  307. package/dist/components/q2-grid-area.js +1 -1
  308. package/dist/components/q2-grid.js +1 -1
  309. package/dist/components/q2-icon2.js +10 -0
  310. package/dist/components/q2-icon2.js.map +1 -1
  311. package/dist/components/q2-input2.js +1 -1
  312. package/dist/components/q2-input2.js.map +1 -1
  313. package/dist/components/q2-item2.js +2 -2
  314. package/dist/components/q2-item2.js.map +1 -1
  315. package/dist/components/q2-legend2.js +2 -2
  316. package/dist/components/q2-legend2.js.map +1 -1
  317. package/dist/components/q2-link2.js +13 -4
  318. package/dist/components/q2-link2.js.map +1 -1
  319. package/dist/components/q2-list2.js +1 -1
  320. package/dist/components/q2-message2.js +2 -2
  321. package/dist/components/q2-message2.js.map +1 -1
  322. package/dist/components/q2-meter.js +1 -1
  323. package/dist/components/q2-modal.js +2 -23
  324. package/dist/components/q2-modal.js.map +1 -1
  325. package/dist/components/q2-month-picker.js +2 -2
  326. package/dist/components/q2-mutation-observer.js +1 -1
  327. package/dist/components/q2-optgroup2.js +1 -1
  328. package/dist/components/q2-option-list2.js +1 -1
  329. package/dist/components/q2-option-list2.js.map +1 -1
  330. package/dist/components/q2-pagination.js +11 -6
  331. package/dist/components/q2-pagination.js.map +1 -1
  332. package/dist/components/q2-pill.js +2 -2
  333. package/dist/components/q2-pill.js.map +1 -1
  334. package/dist/components/q2-popover2.js +76 -15
  335. package/dist/components/q2-popover2.js.map +1 -1
  336. package/dist/components/q2-radio-group.js +2 -2
  337. package/dist/components/q2-radio-group.js.map +1 -1
  338. package/dist/components/q2-radio.js +2 -2
  339. package/dist/components/q2-radio.js.map +1 -1
  340. package/dist/components/q2-relative-time.js +1 -1
  341. package/dist/components/q2-resize-observer2.js +1 -1
  342. package/dist/components/q2-section.js +2 -2
  343. package/dist/components/q2-select2.js +23 -8
  344. package/dist/components/q2-select2.js.map +1 -1
  345. package/dist/components/q2-stepper-pane.js +9 -6
  346. package/dist/components/q2-stepper-pane.js.map +1 -1
  347. package/dist/components/q2-stepper-vertical.js +16 -8
  348. package/dist/components/q2-stepper-vertical.js.map +1 -1
  349. package/dist/components/q2-stepper.js +6 -3
  350. package/dist/components/q2-stepper.js.map +1 -1
  351. package/dist/components/q2-tab-container.js +2 -2
  352. package/dist/components/q2-tab-container.js.map +1 -1
  353. package/dist/components/q2-tab-pane.js +1 -1
  354. package/dist/components/q2-tag.js +1 -257
  355. package/dist/components/q2-tag.js.map +1 -1
  356. package/dist/{esm/q2-tag.entry.js → components/q2-tag2.js} +68 -15
  357. package/dist/components/q2-tag2.js.map +1 -0
  358. package/dist/components/q2-textarea.js +2 -2
  359. package/dist/components/q2-textarea.js.map +1 -1
  360. package/dist/components/q2-tooltip2.js +35 -3
  361. package/dist/components/q2-tooltip2.js.map +1 -1
  362. package/dist/components/sanitize-html-string.js +25 -15
  363. package/dist/components/sanitize-html-string.js.map +1 -1
  364. package/dist/components/tecton-tab-pane.js +2 -2
  365. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -1
  366. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -0
  367. package/dist/esm/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +169 -22
  368. package/dist/esm/click-elsewhere_3.entry.js.map +1 -0
  369. package/dist/esm/{index-B4WYBDS9.js → index-C4PILj1_.js} +61 -21
  370. package/dist/esm/index-C4PILj1_.js.map +1 -0
  371. package/dist/esm/loader.js +1 -1
  372. package/dist/esm/q2-action-group_2.entry.js +3 -3
  373. package/dist/esm/q2-action-sheet.entry.js +3 -3
  374. package/dist/esm/q2-avatar.entry.js +33 -2
  375. package/dist/esm/q2-avatar.entry.js.map +1 -1
  376. package/dist/esm/q2-badge.entry.js +1 -1
  377. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  378. package/dist/esm/q2-btn_2.entry.js +22 -8
  379. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  380. package/dist/esm/q2-calendar.entry.js +3 -3
  381. package/dist/esm/q2-calendar.entry.js.map +1 -1
  382. package/dist/esm/q2-card-image.entry.js +3 -3
  383. package/dist/esm/q2-card.entry.js +1 -1
  384. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  385. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  386. package/dist/esm/q2-carousel.entry.js +67 -42
  387. package/dist/esm/q2-carousel.entry.js.map +1 -1
  388. package/dist/esm/q2-chart-area.entry.js +4 -2
  389. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  390. package/dist/esm/q2-chart-bar.entry.js +4 -2
  391. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  392. package/dist/esm/q2-chart-donut.entry.js +7 -3
  393. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  394. package/dist/esm/q2-checkbox-group.entry.js +3 -3
  395. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  396. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -0
  397. package/dist/esm/q2-checkbox_2.entry.js +319 -0
  398. package/dist/esm/q2-checkbox_2.entry.js.map +1 -0
  399. package/dist/esm/q2-context.entry.js +2 -2
  400. package/dist/esm/q2-currency.entry.js +1 -1
  401. package/dist/esm/q2-data-table.entry.js +13 -16
  402. package/dist/esm/q2-data-table.entry.js.map +1 -1
  403. package/dist/esm/q2-detail.entry.js +2 -2
  404. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  405. package/dist/esm/q2-dropdown.entry.js +2 -2
  406. package/dist/esm/q2-editable-field.entry.js +2 -2
  407. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  408. package/dist/esm/q2-example.entry.js +1 -1
  409. package/dist/esm/q2-file-picker.entry.js +1 -1
  410. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  411. package/dist/esm/q2-form.entry.js +1 -1
  412. package/dist/esm/q2-formatted-text.entry.js +1 -1
  413. package/dist/esm/q2-grid-area.entry.js +1 -1
  414. package/dist/esm/q2-grid.entry.js +1 -1
  415. package/dist/esm/q2-icon.entry.js +11 -1
  416. package/dist/esm/q2-icon.entry.js.map +1 -1
  417. package/dist/esm/q2-input.entry.js +2 -2
  418. package/dist/esm/q2-input.entry.js.map +1 -1
  419. package/dist/esm/q2-item.entry.js +3 -3
  420. package/dist/esm/q2-item.entry.js.map +1 -1
  421. package/dist/esm/q2-legend.entry.js +2 -2
  422. package/dist/esm/q2-legend.entry.js.map +1 -1
  423. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  424. package/dist/esm/q2-link_2.entry.js +14 -6
  425. package/dist/esm/q2-link_2.entry.js.map +1 -1
  426. package/dist/esm/q2-loc.entry.js +1 -1
  427. package/dist/esm/q2-message.entry.js +3 -3
  428. package/dist/esm/q2-message.entry.js.map +1 -1
  429. package/dist/esm/q2-meter.entry.js +2 -2
  430. package/dist/esm/q2-modal.entry.js +4 -21
  431. package/dist/esm/q2-modal.entry.js.map +1 -1
  432. package/dist/esm/q2-month-picker.entry.js +3 -3
  433. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  434. package/dist/esm/q2-optgroup.entry.js +2 -2
  435. package/dist/esm/q2-option.entry.js +1 -1
  436. package/dist/esm/q2-pagination.entry.js +12 -7
  437. package/dist/esm/q2-pagination.entry.js.map +1 -1
  438. package/dist/esm/q2-pill.entry.js +3 -3
  439. package/dist/esm/q2-pill.entry.js.map +1 -1
  440. package/dist/esm/q2-radio-group.entry.js +3 -3
  441. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  442. package/dist/esm/q2-radio.entry.js +3 -3
  443. package/dist/esm/q2-radio.entry.js.map +1 -1
  444. package/dist/esm/q2-relative-time.entry.js +2 -2
  445. package/dist/esm/q2-section.entry.js +3 -3
  446. package/dist/esm/q2-select.entry.js +22 -8
  447. package/dist/esm/q2-select.entry.js.map +1 -1
  448. package/dist/esm/q2-stepper-pane.entry.js +7 -6
  449. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  450. package/dist/esm/q2-stepper-vertical.entry.js +16 -8
  451. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  452. package/dist/esm/q2-stepper.entry.js +7 -4
  453. package/dist/esm/q2-stepper.entry.js.map +1 -1
  454. package/dist/esm/q2-tab-container.entry.js +3 -3
  455. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  456. package/dist/esm/q2-tab-pane.entry.js +1 -1
  457. package/dist/esm/q2-tecton-elements.js +1 -1
  458. package/dist/esm/q2-textarea.entry.js +3 -3
  459. package/dist/esm/q2-textarea.entry.js.map +1 -1
  460. package/dist/esm/q2-toast.entry.js +1 -1
  461. package/dist/esm/q2-tooltip.entry.js +33 -3
  462. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  463. package/dist/esm/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +27 -17
  464. package/dist/esm/sanitize-html-string-B35VmRc9.js.map +1 -0
  465. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  466. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -1
  467. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  468. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  469. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  470. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  471. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  472. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  473. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  474. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  475. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  476. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  477. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  478. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  479. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  480. package/dist/q2-tecton-elements/assets/status.symbol.svg +1 -1
  481. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -0
  482. package/dist/q2-tecton-elements/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +357 -224
  483. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -0
  484. package/dist/q2-tecton-elements/{index-B4WYBDS9.js → index-C4PILj1_.js} +53 -14
  485. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +1 -0
  486. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +5 -5
  487. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +10 -10
  488. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  489. package/dist/q2-tecton-elements/q2-avatar.entry.js +68 -30
  490. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  491. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  492. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-btn_2.entry.js +30 -21
  494. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  495. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  496. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  497. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  498. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  499. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  500. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +17 -17
  502. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  503. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  504. package/dist/q2-tecton-elements/q2-carousel.entry.js +269 -242
  505. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  506. package/dist/q2-tecton-elements/q2-chart-area.entry.esm.js.map +1 -1
  507. package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -5
  508. package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -1
  509. package/dist/q2-tecton-elements/q2-chart-bar.entry.esm.js.map +1 -1
  510. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -3
  511. package/dist/q2-tecton-elements/q2-chart-bar.entry.js.map +1 -1
  512. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  513. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +13 -11
  514. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  515. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  516. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
  517. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -0
  519. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +482 -0
  520. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -0
  521. package/dist/q2-tecton-elements/q2-context.entry.js +16 -16
  522. package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
  523. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-data-table.entry.js +26 -28
  525. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  526. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  527. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  528. package/dist/q2-tecton-elements/q2-dropdown.entry.js +79 -79
  529. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  531. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  532. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  533. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  535. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  537. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  538. package/dist/q2-tecton-elements/q2-grid-area.entry.js +2 -2
  539. package/dist/q2-tecton-elements/q2-grid.entry.js +3 -3
  540. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  541. package/dist/q2-tecton-elements/q2-icon.entry.js +122 -111
  542. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  543. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  544. package/dist/q2-tecton-elements/q2-input.entry.js +7 -7
  545. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  546. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-item.entry.js +40 -40
  548. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  550. package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
  551. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  552. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  553. package/dist/q2-tecton-elements/q2-link_2.entry.js +24 -18
  554. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  555. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  556. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  557. package/dist/q2-tecton-elements/q2-message.entry.js +29 -25
  558. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  559. package/dist/q2-tecton-elements/q2-meter.entry.js +14 -14
  560. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  561. package/dist/q2-tecton-elements/q2-modal.entry.js +65 -79
  562. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  563. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  564. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  565. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  566. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  567. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  568. package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -32
  569. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  570. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  571. package/dist/q2-tecton-elements/q2-pill.entry.js +40 -40
  572. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  573. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  574. package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
  575. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  576. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-radio.entry.js +23 -23
  578. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  579. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  580. package/dist/q2-tecton-elements/q2-section.entry.js +12 -12
  581. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  582. package/dist/q2-tecton-elements/q2-select.entry.js +21 -8
  583. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  585. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -15
  586. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  587. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  588. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +73 -67
  589. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  590. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  591. package/dist/q2-tecton-elements/q2-stepper.entry.js +38 -36
  592. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  593. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  594. package/dist/q2-tecton-elements/q2-tab-container.entry.js +19 -19
  595. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  596. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  597. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  598. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  599. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  600. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  602. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-tooltip.entry.js +41 -5
  604. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  605. package/dist/q2-tecton-elements/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +118 -109
  606. package/dist/q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map +1 -0
  607. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  608. package/dist/scripts/docs-generator/index.js +1 -1
  609. package/dist/scripts/docs-generator/index.js.map +1 -1
  610. package/dist/types/__mocks__/echarts.d.ts +16 -0
  611. package/dist/types/components/q2-avatar/q2-avatar.d.ts +9 -0
  612. package/dist/types/components/q2-btn/q2-btn.d.ts +6 -0
  613. package/dist/types/components/q2-calendar/q2-calendar-helpers.d.ts +3 -3
  614. package/dist/types/components/q2-calendar/q2-calendar-types.d.ts +2 -2
  615. package/dist/types/components/q2-calendar/q2-calendar-validation.d.ts +5 -5
  616. package/dist/types/components/q2-calendar/q2-calendar.d.ts +8 -8
  617. package/dist/types/components/q2-carousel/q2-carousel.d.ts +6 -0
  618. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +4 -4
  619. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +3 -3
  620. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +9 -9
  621. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +11 -0
  622. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -41
  623. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +4 -4
  624. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +1 -13
  625. package/dist/types/components/q2-input/formatting/alpha.d.ts +1 -1
  626. package/dist/types/components/q2-input/formatting/alphanumeric.d.ts +1 -1
  627. package/dist/types/components/q2-input/formatting/cif.d.ts +1 -1
  628. package/dist/types/components/q2-input/formatting/clabe.d.ts +1 -1
  629. package/dist/types/components/q2-input/formatting/credit-card.d.ts +2 -2
  630. package/dist/types/components/q2-input/formatting/currency.d.ts +2 -2
  631. package/dist/types/components/q2-input/formatting/generic.d.ts +2 -2
  632. package/dist/types/components/q2-input/formatting/iban.d.ts +1 -1
  633. package/dist/types/components/q2-input/formatting/number.d.ts +3 -2
  634. package/dist/types/components/q2-input/formatting/numeric.d.ts +2 -2
  635. package/dist/types/components/q2-input/formatting/phone.d.ts +2 -2
  636. package/dist/types/components/q2-input/formatting/postal.d.ts +1 -1
  637. package/dist/types/components/q2-input/formatting/routingnumber.d.ts +1 -1
  638. package/dist/types/components/q2-input/formatting/ssn.d.ts +1 -1
  639. package/dist/types/components/q2-input/formatting/swift.d.ts +1 -1
  640. package/dist/types/components/q2-input/formatting/tin.d.ts +1 -1
  641. package/dist/types/components/q2-input/q2-input-types.d.ts +2 -22
  642. package/dist/types/components/q2-input/q2-input.d.ts +16 -15
  643. package/dist/types/components/q2-legend/q2-legend.d.ts +11 -11
  644. package/dist/types/components/q2-link/q2-link.d.ts +6 -0
  645. package/dist/types/components/q2-modal/q2-modal.d.ts +0 -17
  646. package/dist/types/components/q2-option-list/q2-option-list.d.ts +4 -4
  647. package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -0
  648. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -5
  649. package/dist/types/components/q2-popover/q2-popover.d.ts +8 -0
  650. package/dist/types/components/q2-select/q2-select.d.ts +9 -6
  651. package/dist/types/components/q2-stepper-pane/q2-stepper-pane.d.ts +8 -11
  652. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +10 -7
  653. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  654. package/dist/types/components.d.ts +148 -118
  655. package/dist/types/global.d.ts +2 -2
  656. package/dist/types/index.d.ts +1 -0
  657. package/dist/types/utils/action-sheet.d.ts +5 -5
  658. package/dist/types/utils/index.d.ts +13 -0
  659. package/package.json +8 -9
  660. package/dist/cjs/click-elsewhere.cjs.entry.js +0 -97
  661. package/dist/cjs/click-elsewhere.cjs.entry.js.map +0 -1
  662. package/dist/cjs/click-elsewhere.entry.cjs.js.map +0 -1
  663. package/dist/cjs/index-DyAq0y0v.js.map +0 -1
  664. package/dist/cjs/q2-checkbox.cjs.entry.js +0 -110
  665. package/dist/cjs/q2-checkbox.cjs.entry.js.map +0 -1
  666. package/dist/cjs/q2-checkbox.entry.cjs.js.map +0 -1
  667. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +0 -1
  668. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +0 -1
  669. package/dist/cjs/q2-tag.cjs.entry.js +0 -211
  670. package/dist/cjs/q2-tag.cjs.entry.js.map +0 -1
  671. package/dist/cjs/q2-tag.entry.cjs.js.map +0 -1
  672. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +0 -1
  673. package/dist/esm/click-elsewhere.entry.js +0 -95
  674. package/dist/esm/click-elsewhere.entry.js.map +0 -1
  675. package/dist/esm/index-B4WYBDS9.js.map +0 -1
  676. package/dist/esm/q2-checkbox.entry.js +0 -108
  677. package/dist/esm/q2-checkbox.entry.js.map +0 -1
  678. package/dist/esm/q2-option-list.q2-popover.entry.js.map +0 -1
  679. package/dist/esm/q2-option-list_2.entry.js.map +0 -1
  680. package/dist/esm/q2-tag.entry.js.map +0 -1
  681. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +0 -1
  682. package/dist/q2-tecton-elements/click-elsewhere.entry.esm.js.map +0 -1
  683. package/dist/q2-tecton-elements/click-elsewhere.entry.js +0 -94
  684. package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +0 -1
  685. package/dist/q2-tecton-elements/index-B4WYBDS9.js.map +0 -1
  686. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +0 -1
  687. package/dist/q2-tecton-elements/q2-checkbox.entry.js +0 -228
  688. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +0 -1
  689. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +0 -1
  690. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +0 -1
  691. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +0 -1
  692. package/dist/q2-tecton-elements/q2-tag.entry.js +0 -256
  693. package/dist/q2-tecton-elements/q2-tag.entry.js.map +0 -1
  694. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"q2-radio.entry.cjs.js","mappings":"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","names":["createGuid","handleAriaLabel","overrideFocus","mirrorEmit","h","loc"],"sources":["src/components/q2-radio/q2-radio.scss?tag=q2-radio&encapsulation=shadow","src/components/q2-radio/q2-radio.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.radio-container {\n --comp-radio-margin: #{var-list(\n --tct-radio-margin,\n unquote(\n '#{var-list(--tct-radio-margin-vertical, --tct-scale-2, 10px)} #{var-list(--tct-radio-margin-horizontal, --tct-scale-3, 15px)}'\n )\n )};\n\n //Default State\n --comp-big-circle-fill: #{var-list(--tct-radio-background-fill, transparent)};\n --comp-big-circle-stroke: #{var-list(\n --tct-radio-background-stroke,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-big-circle-stroke-width: #{var-list(--tct-radio-background-stroke-width, --tct-radio-stroke-width, 2)};\n --comp-big-circle-transition: #{fill\n var-list(--tct-radio-background-transition, --tct-checkbox-tween, --app-tween-2, unquote('0.4s ease'))};\n --comp-small-circle-fill: #{var-list(--tct-radio-select-fill-default, transparent)};\n --comp-label-content-color: #{var-list(\n --tct-radio-label-color,\n --tct-radio-label-font-color,\n --tct-radio-label-color,\n inherit\n )};\n --comp-label-content-font-weight: #{var-list(\n --tct-radio-label-font-weight,\n --tct-radio-font-weight,\n --tct-checkbox-font-weight,\n 400\n )};\n --comp-label-content-letter-spacing: #{var-list(--tct-radio-label-letter-spacing, 0.25)};\n --comp-label-content-margin-right: #{var-list(--tct-radio-label-margin-right, 1rem)};\n --comp-label-content-gap: #{var-list(--tct-radio-label-gap, --tct-scale-1, --app-scale-1x, 5px)};\n --comp-label-hidden-columns: #{var(--tct-radio-hidden-columns, --tct-radio-label-hidden-columns, 18px 1fr)};\n --comp-svg-transition: #{box-shadow\n var-list(--tct-radio-transition, --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-svg-box-shadow: #{var-list(--tct-radio-box-shadow, none)};\n\n //Checked State\n --comp-big-circle-fill-checked: #{var-list(--tct-radio-checked-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-checked: #{var-list(--tct-radio-checked-stroke-color, --comp-big-circle-stroke)};\n --comp-small-circle-fill-checked: #{var-list(\n --tct-radio-select-fill-checked,\n --tct-radio-checked-fill,\n --tct-checkbox-check-stroke-color,\n --t-checkbox-fill,\n #2e2e2e\n )};\n --comp-label-content-font-weight-checked: #{var-list(\n --tct-radio-label-font-weight-checked,\n --tct-radio-checked-label-font-weight,\n --tct-checkbox-selected-font-weight,\n 600\n )};\n --comp-label-content-letter-spacing-checked: #{var-list(\n --tct-radio-label-letter-spacing-checked,\n --tct-radio-checked-label-letter-spacing,\n --tct-checkbox-selected-letter-spacing,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-checked: #{var-list(\n --tct-radio-label-font-color-checked,\n --tct-radio-checked-label-font-color,\n --tct-radio-checked-label-color,\n inherit\n )};\n\n // Active State\n --comp-big-circle-fill-active: #{var-list(--tct-radio-background-fill-active, --comp-big-circle-fill)};\n --comp-big-circle-stroke-active: #{var-list(--tct-radio-background-stroke-active, --comp-big-circle-stroke)};\n --comp-small-circle-fill-active: #{var-list(--tct-radio-selected-fill-active, --comp-small-circle-fill-checked)};\n --comp-label-content-font-weight-active: #{var-list(\n --tct-radio-label-font-weight-active,\n --comp-label-content-font-weight\n )};\n --comp-label-content-letter-spacing-active: #{var-list(\n --tct-radio-label-letter-spacing-active,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-active: #{var-list(--tct-radio-label-color-active, --comp-label-content-color)};\n\n // Hover State\n --comp-big-circle-fill-hover: #{var-list(--tct-radio-hover-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-hover: #{var-list(--tct-radio-hover-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-hover: #{var-list(--tct-radio-hover-label-color, --comp-label-content-color)};\n\n // Focus State\n --comp-big-circle-fill-focus: #{var-list(--tct-radio-focus-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-focus: #{var-list(--tct-radio-focus-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-focus: #{var-list(--tct-radio-focus-label-color, --comp-label-content-color)};\n\n // Focus Visible\n --comp-svg-box-shadow-focus-visible: #{var(\n --tct-radio-box-shadow-focus-visible,\n --tct-radio-focus-box-shadow,\n --const-double-focus-ring\n )};\n\n margin: var(--comp-radio-margin);\n\n label[for] {\n color: var(---comp-label-content-color);\n font-weight: var(---comp-label-content-font-weight);\n font-size: var(--tct-radio-label-font-size, 14px);\n align-items: center;\n cursor: pointer;\n margin-right: var(---comp-label-content-margin-right);\n display: grid;\n grid-template-columns: 18px 1fr;\n gap: var(--comp-label-content-gap);\n letter-spacing: var(--comp-label-content-letter-spacing);\n\n &.label-hidden {\n grid-template-columns: var(--comp-label-hidden-columns);\n }\n }\n\n svg {\n border-radius: 50%;\n transition: var(--comp-svg-transition);\n outline: 0;\n width: 100%;\n box-shadow: var(--comp-svg-box-shadow);\n }\n\n .big-circle {\n fill: var(--comp-big-circle-fill);\n stroke: var(--comp-big-circle-stroke);\n stroke-width: var(--comp-big-circle-stroke-width);\n transition: var(--comp-big-circle-transition);\n }\n .small-circle {\n fill: var(--comp-small-circle-fill);\n }\n\n input {\n &:checked {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-checked);\n stroke: var(--comp-big-circle-stroke-checked);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-checked);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-checked);\n letter-spacing: var(--comp-label-content-letter-spacing-checked);\n color: var(--comp-label-content-color-checked);\n }\n }\n }\n\n &:hover {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-hover);\n stroke: var(--comp-big-circle-stroke-hover);\n }\n .label-content {\n color: var(--comp-label-content-color-hover);\n }\n }\n }\n\n &:active {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-active);\n stroke: var(--comp-big-circle-stroke-active);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-active);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-active);\n letter-spacing: var(--comp-label-content-letter-spacing-active);\n color: var(--comp-label-content-color-active);\n }\n }\n }\n\n &:focus {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-focus);\n stroke: var(--comp-big-circle-stroke-focus);\n }\n .label-content {\n color: var(--comp-label-content-color-focus);\n }\n }\n }\n }\n}\n\n.radio-tile {\n flex-basis: 100px;\n flex-grow: 0;\n flex-wrap: wrap;\n\n label[for] {\n color: var-list(--tct-radio-label-font-color, --tct-radio-label-color, inherit);\n align-items: center;\n border-radius: var-list(--tct-radio-tile-border-radius, --app-border-radius-1, 3px);\n border: 2px solid var-list(--tct-radio-stroke-color, --t-a11y-gray-color-AA, #949494);\n background: var-list(--tct-radio-background-fill, transparent);\n cursor: pointer;\n display: block;\n font-size: var-list(--tct-radio-tile-label-font-size, --tct-radio-label-font-size, 14px); \n padding: 10px;\n position: relative;\n text-align: center;\n transition: border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n white-space: nowrap;\n }\n\n input {\n &:checked + label {\n border-color: var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n box-shadow: inset 0 0 0 2px #ffffff;\n background: var-list(--tct-radio-checked-background-fill, transparent);\n color: var-list(--tct-radio-checked-label-color, inherit);\n\n &:after {\n border-bottom-width: 3px;\n border-bottom: 5px solid\n var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n border-left-width: 5px;\n border-left: 8px solid transparent;\n border-right-width: 5px;\n border-right: 8px solid transparent;\n bottom: 0;\n content: '';\n height: 0;\n left: 50%;\n margin-left: -5px;\n position: absolute;\n width: 0;\n }\n }\n\n &:hover + label {\n border-color: var-list(\n --tct-radio-hover-stroke-color,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n );\n background: var-list(--tct-radio-hover-background-fill, transparent);\n color: var-list(--tct-radio-hover-label-color, --tct-radio-label-color, inherit);\n }\n\n &:focus + label,\n &:focus:checked + label {\n border-color: var-list(\n --tct-radio-focus-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n background: var-list(--tct-radio-focus-background-fill, transparent);\n box-shadow: var(--const-double-focus-ring), var-list(--tct-global-focus, unquote('0 0 0 2px #33b4ff'));\n color: var-list(--tct-radio-focus-label-color, --tct-radio-checked-label-color, inherit);\n }\n\n &:focus:checked + label:after {\n border-bottom: 5px solid var(--tct-radio-focus-stroke-color, #2e2e2e);\n }\n }\n}\n\ninput:disabled + label[for] {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n}\n","import { Component, Prop, h, Element, ComponentInterface, Listen, Watch, Event, EventEmitter } from '@stencil/core';\nimport { createGuid, handleAriaLabel, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Radio\n * @category Forms\n * @summary Use as a single option within a Radio Group.\n */\n@Component({ tag: 'q2-radio', shadow: true, styleUrl: 'q2-radio.scss' })\nexport class Q2Radio implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `radio-${createGuid()}`;\n inputField: HTMLInputElement;\n isLoaded: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the radio. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the radio and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Used by q2-radio-group to disable all options in the group\n * @private\n */\n @Prop({ reflect: false })\n groupDisabled: boolean = false;\n\n /**\n * Used by q2-radio-group to make all options in the group readonly\n * @private\n */\n @Prop({ reflect: false })\n groupReadonly: boolean = false;\n\n /**\n * Used by q2-radio-group to make the options display as tiles\n * @private\n */\n @Prop({ reflect: false })\n groupTileLayout: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The text that describes the individual radio option.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Used by q2-radio-group to apply a name to all options in the group\n * @private\n */\n @Prop({ reflect: true })\n name: string;\n\n /** The radio is non-interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** @private */\n @Prop()\n tabIndex: number = 0;\n\n /** The value that is returned in the `change` event that is emitted from the `q2-radio-group`. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the radio is checked.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the radio is checked.\n */\n @Event()\n tctChange: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n this.isLoaded = true;\n overrideFocus(this.hostElement);\n this.hostElement.click = () => {\n this.inputField.focus();\n this.inputField.click();\n };\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click')\n onHostClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n } else if (this.groupReadonly) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.inputField.focus();\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (event.target === this.hostElement) {\n this.inputField.focus();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('checked')\n checkedObserver() {\n if (!this.isLoaded) return;\n if (!this.checked) return;\n mirrorEmit(this, ['change', 'tctChange'], { value: this.value });\n }\n\n // #endregion\n // #region Local Methods\n\n inputChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled || this.readonly || this.groupReadonly || this.groupDisabled) {\n event.preventDefault();\n return false;\n }\n\n if (event.target instanceof HTMLInputElement) {\n this.checked = event.target.checked;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div class={this.groupTileLayout ? 'radio-tile' : 'radio-container'}>\n <input\n ref={el => (this.inputField = el)}\n class=\"sr\"\n id={this._id}\n type=\"radio\"\n name={this.name}\n value={this.value}\n disabled={this.disabled || this.groupDisabled}\n checked={this.checked}\n aria-label={this.label && this.hideLabel ? loc(this.label) : undefined}\n onChange={this.inputChange}\n test-id=\"q2RadioInnerRadioBox\"\n ></input>\n\n <label\n htmlFor={this._id}\n class={this.hideLabel ? 'label-hidden' : undefined}\n test-id=\"radioButton\"\n >\n {!this.groupTileLayout && (\n <svg viewBox=\"0 0 18 18\">\n <circle\n class=\"big-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"8\"\n />\n <circle\n class=\"small-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"4\"\n />\n </svg>\n )}\n {!this.hideLabel && (\n <div class=\"label-content\">\n {(this.label && loc(this.label)) || ''}\n <slot></slot>\n </div>\n )}\n </label>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-radio.entry.cjs.js","mappings":"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","names":["createGuid","handleAriaLabel","overrideFocus","mirrorEmit","h","loc"],"sources":["src/components/q2-radio/q2-radio.scss?tag=q2-radio&encapsulation=shadow","src/components/q2-radio/q2-radio.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.radio-container {\n --comp-radio-margin: #{var-list(\n --tct-radio-margin,\n unquote(\n '#{var-list(--tct-radio-margin-vertical, --tct-scale-2, 10px)} #{var-list(--tct-radio-margin-horizontal, --tct-scale-3, 15px)}'\n )\n )};\n\n //Default State\n --comp-big-circle-fill: #{var-list(--tct-radio-background-fill, transparent)};\n --comp-big-circle-stroke: #{var-list(\n --tct-radio-background-stroke,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-big-circle-stroke-width: #{var-list(--tct-radio-background-stroke-width, --tct-radio-stroke-width, 2)};\n --comp-big-circle-transition: #{fill\n var-list(--tct-radio-background-transition, --tct-checkbox-tween, --app-tween-2, unquote('0.4s ease'))};\n --comp-small-circle-fill: #{var-list(--tct-radio-select-fill-default, transparent)};\n --comp-label-content-color: #{var-list(\n --tct-radio-label-color,\n --tct-radio-label-font-color,\n --tct-radio-label-color,\n inherit\n )};\n --comp-label-content-font-weight: #{var-list(\n --tct-radio-label-font-weight,\n --tct-radio-font-weight,\n --tct-checkbox-font-weight,\n 400\n )};\n --comp-label-content-letter-spacing: #{var-list(--tct-radio-label-letter-spacing, 0.25)};\n --comp-label-content-margin-right: #{var-list(--tct-radio-label-margin-right, 1rem)};\n --comp-label-content-gap: #{var-list(--tct-radio-label-gap, --tct-scale-1, --app-scale-1x, 5px)};\n --comp-label-hidden-columns: #{var(--tct-radio-hidden-columns, --tct-radio-label-hidden-columns, 18px 1fr)};\n --comp-svg-transition: #{box-shadow\n var-list(--tct-radio-transition, --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-svg-box-shadow: #{var-list(--tct-radio-box-shadow, none)};\n\n //Checked State\n --comp-big-circle-fill-checked: #{var-list(--tct-radio-checked-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-checked: #{var-list(--tct-radio-checked-stroke-color, --comp-big-circle-stroke)};\n --comp-small-circle-fill-checked: #{var-list(\n --tct-radio-select-fill-checked,\n --tct-radio-checked-fill,\n --tct-checkbox-check-stroke-color,\n --t-checkbox-fill,\n #2e2e2e\n )};\n --comp-label-content-font-weight-checked: #{var-list(\n --tct-radio-label-font-weight-checked,\n --tct-radio-checked-label-font-weight,\n --tct-checkbox-selected-font-weight,\n 600\n )};\n --comp-label-content-letter-spacing-checked: #{var-list(\n --tct-radio-label-letter-spacing-checked,\n --tct-radio-checked-label-letter-spacing,\n --tct-checkbox-selected-letter-spacing,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-checked: #{var-list(\n --tct-radio-label-font-color-checked,\n --tct-radio-checked-label-font-color,\n --tct-radio-checked-label-color,\n inherit\n )};\n\n // Active State\n --comp-big-circle-fill-active: #{var-list(--tct-radio-background-fill-active, --comp-big-circle-fill)};\n --comp-big-circle-stroke-active: #{var-list(--tct-radio-background-stroke-active, --comp-big-circle-stroke)};\n --comp-small-circle-fill-active: #{var-list(--tct-radio-selected-fill-active, --comp-small-circle-fill-checked)};\n --comp-label-content-font-weight-active: #{var-list(\n --tct-radio-label-font-weight-active,\n --comp-label-content-font-weight\n )};\n --comp-label-content-letter-spacing-active: #{var-list(\n --tct-radio-label-letter-spacing-active,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-active: #{var-list(--tct-radio-label-color-active, --comp-label-content-color)};\n\n // Hover State\n --comp-big-circle-fill-hover: #{var-list(--tct-radio-hover-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-hover: #{var-list(--tct-radio-hover-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-hover: #{var-list(--tct-radio-hover-label-color, --comp-label-content-color)};\n\n // Focus State\n --comp-big-circle-fill-focus: #{var-list(--tct-radio-focus-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-focus: #{var-list(--tct-radio-focus-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-focus: #{var-list(--tct-radio-focus-label-color, --comp-label-content-color)};\n\n // Focus Visible\n --comp-svg-box-shadow-focus-visible: #{var(\n --tct-radio-box-shadow-focus-visible,\n --tct-radio-focus-box-shadow,\n --const-double-focus-ring\n )};\n\n margin: var(--comp-radio-margin);\n\n label[for] {\n color: var(---comp-label-content-color);\n font-weight: var(---comp-label-content-font-weight);\n font-size: var(--tct-radio-label-font-size, 14px);\n align-items: center;\n cursor: pointer;\n margin-right: var(---comp-label-content-margin-right);\n display: grid;\n grid-template-columns: 18px 1fr;\n gap: var(--comp-label-content-gap);\n letter-spacing: var(--comp-label-content-letter-spacing);\n\n &.label-hidden {\n grid-template-columns: var(--comp-label-hidden-columns);\n }\n }\n\n svg {\n border-radius: 50%;\n transition: var(--comp-svg-transition);\n outline: 0;\n width: 100%;\n box-shadow: var(--comp-svg-box-shadow);\n }\n\n .big-circle {\n fill: var(--comp-big-circle-fill);\n stroke: var(--comp-big-circle-stroke);\n stroke-width: var(--comp-big-circle-stroke-width);\n transition: var(--comp-big-circle-transition);\n }\n .small-circle {\n fill: var(--comp-small-circle-fill);\n }\n\n input {\n &:checked {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-checked);\n stroke: var(--comp-big-circle-stroke-checked);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-checked);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-checked);\n letter-spacing: var(--comp-label-content-letter-spacing-checked);\n color: var(--comp-label-content-color-checked);\n }\n }\n }\n\n &:hover {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-hover);\n stroke: var(--comp-big-circle-stroke-hover);\n }\n .label-content {\n color: var(--comp-label-content-color-hover);\n }\n }\n }\n\n &:active {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-active);\n stroke: var(--comp-big-circle-stroke-active);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-active);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-active);\n letter-spacing: var(--comp-label-content-letter-spacing-active);\n color: var(--comp-label-content-color-active);\n }\n }\n }\n\n &:focus {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-focus);\n stroke: var(--comp-big-circle-stroke-focus);\n }\n .label-content {\n color: var(--comp-label-content-color-focus);\n }\n }\n }\n }\n}\n\n.radio-tile {\n flex-basis: 100px;\n flex-grow: 0;\n flex-wrap: wrap;\n\n label[for] {\n color: var-list(--tct-radio-label-font-color, --tct-radio-label-color, inherit);\n align-items: center;\n border-radius: var-list(--tct-radio-tile-border-radius, --app-border-radius-1, 3px);\n border: 2px solid var-list(--tct-radio-stroke-color, --t-a11y-gray-color-AA, #949494);\n background: var-list(--tct-radio-background-fill, transparent);\n cursor: pointer;\n display: block;\n font-size: var-list(--tct-radio-tile-label-font-size, --tct-radio-label-font-size, 14px);\n padding: 10px;\n position: relative;\n text-align: center;\n transition: border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n white-space: nowrap;\n }\n\n input {\n &:checked + label {\n border-color: var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n box-shadow: inset 0 0 0 2px #ffffff;\n background: var-list(--tct-radio-checked-background-fill, transparent);\n color: var-list(--tct-radio-checked-label-color, inherit);\n\n &:after {\n border-bottom-width: 3px;\n border-bottom: 5px solid\n var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n border-left-width: 5px;\n border-left: 8px solid transparent;\n border-right-width: 5px;\n border-right: 8px solid transparent;\n bottom: 0;\n content: '';\n height: 0;\n left: 50%;\n margin-left: -5px;\n position: absolute;\n width: 0;\n }\n }\n\n &:hover + label {\n border-color: var-list(\n --tct-radio-hover-stroke-color,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n );\n background: var-list(--tct-radio-hover-background-fill, transparent);\n color: var-list(--tct-radio-hover-label-color, --tct-radio-label-color, inherit);\n }\n\n &:focus + label,\n &:focus:checked + label {\n --comp-radio-tile-focus-box-shadow-fallback: #{var(--const-double-focus-ring), var-list(--tct-global-focus, unquote('0 0 0 2px #33b4ff'))};\n border-color: var-list(\n --tct-radio-tile-focus-stroke-color,\n --tct-radio-focus-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n background: var-list(--tct-radio-focus-background-fill, transparent);\n box-shadow: var-list(--tct-radio-tile-focus-box-shadow, --comp-radio-tile-focus-box-shadow-fallback);\n color: var-list(--tct-radio-focus-label-color, --tct-radio-checked-label-color, inherit);\n }\n\n &:focus:checked + label:after {\n border-bottom: 5px solid var-list(\n --tct-radio-tile-focus-stroke-color,\n --tct-radio-focus-stroke-color,\n #2e2e2e\n );\n }\n }\n}\n\ninput:disabled + label[for] {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n}\n","import { Component, Prop, h, Element, ComponentInterface, Listen, Watch, Event, EventEmitter } from '@stencil/core';\nimport { createGuid, handleAriaLabel, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Radio\n * @category Forms\n * @summary Use as a single option within a Radio Group.\n */\n@Component({ tag: 'q2-radio', shadow: true, styleUrl: 'q2-radio.scss' })\nexport class Q2Radio implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `radio-${createGuid()}`;\n inputField: HTMLInputElement;\n isLoaded: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the radio. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the radio and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Used by q2-radio-group to disable all options in the group\n * @private\n */\n @Prop({ reflect: false })\n groupDisabled: boolean = false;\n\n /**\n * Used by q2-radio-group to make all options in the group readonly\n * @private\n */\n @Prop({ reflect: false })\n groupReadonly: boolean = false;\n\n /**\n * Used by q2-radio-group to make the options display as tiles\n * @private\n */\n @Prop({ reflect: false })\n groupTileLayout: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The text that describes the individual radio option.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Used by q2-radio-group to apply a name to all options in the group\n * @private\n */\n @Prop({ reflect: true })\n name: string;\n\n /** The radio is non-interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** @private */\n @Prop()\n tabIndex: number = 0;\n\n /** The value that is returned in the `change` event that is emitted from the `q2-radio-group`. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the radio is checked.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the radio is checked.\n */\n @Event()\n tctChange: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n this.isLoaded = true;\n overrideFocus(this.hostElement);\n this.hostElement.click = () => {\n this.inputField.focus();\n this.inputField.click();\n };\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click')\n onHostClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n } else if (this.groupReadonly) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.inputField.focus();\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (event.target === this.hostElement) {\n this.inputField.focus();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('checked')\n checkedObserver() {\n if (!this.isLoaded) return;\n if (!this.checked) return;\n mirrorEmit(this, ['change', 'tctChange'], { value: this.value });\n }\n\n // #endregion\n // #region Local Methods\n\n inputChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled || this.readonly || this.groupReadonly || this.groupDisabled) {\n event.preventDefault();\n return false;\n }\n\n if (event.target instanceof HTMLInputElement) {\n this.checked = event.target.checked;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div class={this.groupTileLayout ? 'radio-tile' : 'radio-container'}>\n <input\n ref={el => (this.inputField = el)}\n class=\"sr\"\n id={this._id}\n type=\"radio\"\n name={this.name}\n value={this.value}\n disabled={this.disabled || this.groupDisabled}\n checked={this.checked}\n aria-label={this.label && this.hideLabel ? loc(this.label) : undefined}\n onChange={this.inputChange}\n test-id=\"q2RadioInnerRadioBox\"\n ></input>\n\n <label\n htmlFor={this._id}\n class={this.hideLabel ? 'label-hidden' : undefined}\n test-id=\"radioButton\"\n >\n {!this.groupTileLayout && (\n <svg viewBox=\"0 0 18 18\">\n <circle\n class=\"big-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"8\"\n />\n <circle\n class=\"small-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"4\"\n />\n </svg>\n )}\n {!this.hideLabel && (\n <div class=\"label-content\">\n {(this.label && loc(this.label)) || ''}\n <slot></slot>\n </div>\n )}\n </label>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-radio.entry.cjs.js","sources":["src/components/q2-radio/q2-radio.scss?tag=q2-radio&encapsulation=shadow","src/components/q2-radio/q2-radio.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.radio-container {\n --comp-radio-margin: #{var-list(\n --tct-radio-margin,\n unquote(\n '#{var-list(--tct-radio-margin-vertical, --tct-scale-2, 10px)} #{var-list(--tct-radio-margin-horizontal, --tct-scale-3, 15px)}'\n )\n )};\n\n //Default State\n --comp-big-circle-fill: #{var-list(--tct-radio-background-fill, transparent)};\n --comp-big-circle-stroke: #{var-list(\n --tct-radio-background-stroke,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-big-circle-stroke-width: #{var-list(--tct-radio-background-stroke-width, --tct-radio-stroke-width, 2)};\n --comp-big-circle-transition: #{fill\n var-list(--tct-radio-background-transition, --tct-checkbox-tween, --app-tween-2, unquote('0.4s ease'))};\n --comp-small-circle-fill: #{var-list(--tct-radio-select-fill-default, transparent)};\n --comp-label-content-color: #{var-list(\n --tct-radio-label-color,\n --tct-radio-label-font-color,\n --tct-radio-label-color,\n inherit\n )};\n --comp-label-content-font-weight: #{var-list(\n --tct-radio-label-font-weight,\n --tct-radio-font-weight,\n --tct-checkbox-font-weight,\n 400\n )};\n --comp-label-content-letter-spacing: #{var-list(--tct-radio-label-letter-spacing, 0.25)};\n --comp-label-content-margin-right: #{var-list(--tct-radio-label-margin-right, 1rem)};\n --comp-label-content-gap: #{var-list(--tct-radio-label-gap, --tct-scale-1, --app-scale-1x, 5px)};\n --comp-label-hidden-columns: #{var(--tct-radio-hidden-columns, --tct-radio-label-hidden-columns, 18px 1fr)};\n --comp-svg-transition: #{box-shadow\n var-list(--tct-radio-transition, --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-svg-box-shadow: #{var-list(--tct-radio-box-shadow, none)};\n\n //Checked State\n --comp-big-circle-fill-checked: #{var-list(--tct-radio-checked-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-checked: #{var-list(--tct-radio-checked-stroke-color, --comp-big-circle-stroke)};\n --comp-small-circle-fill-checked: #{var-list(\n --tct-radio-select-fill-checked,\n --tct-radio-checked-fill,\n --tct-checkbox-check-stroke-color,\n --t-checkbox-fill,\n #2e2e2e\n )};\n --comp-label-content-font-weight-checked: #{var-list(\n --tct-radio-label-font-weight-checked,\n --tct-radio-checked-label-font-weight,\n --tct-checkbox-selected-font-weight,\n 600\n )};\n --comp-label-content-letter-spacing-checked: #{var-list(\n --tct-radio-label-letter-spacing-checked,\n --tct-radio-checked-label-letter-spacing,\n --tct-checkbox-selected-letter-spacing,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-checked: #{var-list(\n --tct-radio-label-font-color-checked,\n --tct-radio-checked-label-font-color,\n --tct-radio-checked-label-color,\n inherit\n )};\n\n // Active State\n --comp-big-circle-fill-active: #{var-list(--tct-radio-background-fill-active, --comp-big-circle-fill)};\n --comp-big-circle-stroke-active: #{var-list(--tct-radio-background-stroke-active, --comp-big-circle-stroke)};\n --comp-small-circle-fill-active: #{var-list(--tct-radio-selected-fill-active, --comp-small-circle-fill-checked)};\n --comp-label-content-font-weight-active: #{var-list(\n --tct-radio-label-font-weight-active,\n --comp-label-content-font-weight\n )};\n --comp-label-content-letter-spacing-active: #{var-list(\n --tct-radio-label-letter-spacing-active,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-active: #{var-list(--tct-radio-label-color-active, --comp-label-content-color)};\n\n // Hover State\n --comp-big-circle-fill-hover: #{var-list(--tct-radio-hover-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-hover: #{var-list(--tct-radio-hover-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-hover: #{var-list(--tct-radio-hover-label-color, --comp-label-content-color)};\n\n // Focus State\n --comp-big-circle-fill-focus: #{var-list(--tct-radio-focus-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-focus: #{var-list(--tct-radio-focus-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-focus: #{var-list(--tct-radio-focus-label-color, --comp-label-content-color)};\n\n // Focus Visible\n --comp-svg-box-shadow-focus-visible: #{var(\n --tct-radio-box-shadow-focus-visible,\n --tct-radio-focus-box-shadow,\n --const-double-focus-ring\n )};\n\n margin: var(--comp-radio-margin);\n\n label[for] {\n color: var(---comp-label-content-color);\n font-weight: var(---comp-label-content-font-weight);\n font-size: var(--tct-radio-label-font-size, 14px);\n align-items: center;\n cursor: pointer;\n margin-right: var(---comp-label-content-margin-right);\n display: grid;\n grid-template-columns: 18px 1fr;\n gap: var(--comp-label-content-gap);\n letter-spacing: var(--comp-label-content-letter-spacing);\n\n &.label-hidden {\n grid-template-columns: var(--comp-label-hidden-columns);\n }\n }\n\n svg {\n border-radius: 50%;\n transition: var(--comp-svg-transition);\n outline: 0;\n width: 100%;\n box-shadow: var(--comp-svg-box-shadow);\n }\n\n .big-circle {\n fill: var(--comp-big-circle-fill);\n stroke: var(--comp-big-circle-stroke);\n stroke-width: var(--comp-big-circle-stroke-width);\n transition: var(--comp-big-circle-transition);\n }\n .small-circle {\n fill: var(--comp-small-circle-fill);\n }\n\n input {\n &:checked {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-checked);\n stroke: var(--comp-big-circle-stroke-checked);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-checked);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-checked);\n letter-spacing: var(--comp-label-content-letter-spacing-checked);\n color: var(--comp-label-content-color-checked);\n }\n }\n }\n\n &:hover {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-hover);\n stroke: var(--comp-big-circle-stroke-hover);\n }\n .label-content {\n color: var(--comp-label-content-color-hover);\n }\n }\n }\n\n &:active {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-active);\n stroke: var(--comp-big-circle-stroke-active);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-active);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-active);\n letter-spacing: var(--comp-label-content-letter-spacing-active);\n color: var(--comp-label-content-color-active);\n }\n }\n }\n\n &:focus {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-focus);\n stroke: var(--comp-big-circle-stroke-focus);\n }\n .label-content {\n color: var(--comp-label-content-color-focus);\n }\n }\n }\n }\n}\n\n.radio-tile {\n flex-basis: 100px;\n flex-grow: 0;\n flex-wrap: wrap;\n\n label[for] {\n color: var-list(--tct-radio-label-font-color, --tct-radio-label-color, inherit);\n align-items: center;\n border-radius: var-list(--tct-radio-tile-border-radius, --app-border-radius-1, 3px);\n border: 2px solid var-list(--tct-radio-stroke-color, --t-a11y-gray-color-AA, #949494);\n background: var-list(--tct-radio-background-fill, transparent);\n cursor: pointer;\n display: block;\n font-size: var-list(--tct-radio-tile-label-font-size, --tct-radio-label-font-size, 14px); \n padding: 10px;\n position: relative;\n text-align: center;\n transition: border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n white-space: nowrap;\n }\n\n input {\n &:checked + label {\n border-color: var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n box-shadow: inset 0 0 0 2px #ffffff;\n background: var-list(--tct-radio-checked-background-fill, transparent);\n color: var-list(--tct-radio-checked-label-color, inherit);\n\n &:after {\n border-bottom-width: 3px;\n border-bottom: 5px solid\n var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n border-left-width: 5px;\n border-left: 8px solid transparent;\n border-right-width: 5px;\n border-right: 8px solid transparent;\n bottom: 0;\n content: '';\n height: 0;\n left: 50%;\n margin-left: -5px;\n position: absolute;\n width: 0;\n }\n }\n\n &:hover + label {\n border-color: var-list(\n --tct-radio-hover-stroke-color,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n );\n background: var-list(--tct-radio-hover-background-fill, transparent);\n color: var-list(--tct-radio-hover-label-color, --tct-radio-label-color, inherit);\n }\n\n &:focus + label,\n &:focus:checked + label {\n border-color: var-list(\n --tct-radio-focus-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n background: var-list(--tct-radio-focus-background-fill, transparent);\n box-shadow: var(--const-double-focus-ring), var-list(--tct-global-focus, unquote('0 0 0 2px #33b4ff'));\n color: var-list(--tct-radio-focus-label-color, --tct-radio-checked-label-color, inherit);\n }\n\n &:focus:checked + label:after {\n border-bottom: 5px solid var(--tct-radio-focus-stroke-color, #2e2e2e);\n }\n }\n}\n\ninput:disabled + label[for] {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n}\n","import { Component, Prop, h, Element, ComponentInterface, Listen, Watch, Event, EventEmitter } from '@stencil/core';\nimport { createGuid, handleAriaLabel, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Radio\n * @category Forms\n * @summary Use as a single option within a Radio Group.\n */\n@Component({ tag: 'q2-radio', shadow: true, styleUrl: 'q2-radio.scss' })\nexport class Q2Radio implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `radio-${createGuid()}`;\n inputField: HTMLInputElement;\n isLoaded: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the radio. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the radio and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Used by q2-radio-group to disable all options in the group\n * @private\n */\n @Prop({ reflect: false })\n groupDisabled: boolean = false;\n\n /**\n * Used by q2-radio-group to make all options in the group readonly\n * @private\n */\n @Prop({ reflect: false })\n groupReadonly: boolean = false;\n\n /**\n * Used by q2-radio-group to make the options display as tiles\n * @private\n */\n @Prop({ reflect: false })\n groupTileLayout: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The text that describes the individual radio option.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Used by q2-radio-group to apply a name to all options in the group\n * @private\n */\n @Prop({ reflect: true })\n name: string;\n\n /** The radio is non-interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** @private */\n @Prop()\n tabIndex: number = 0;\n\n /** The value that is returned in the `change` event that is emitted from the `q2-radio-group`. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the radio is checked.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the radio is checked.\n */\n @Event()\n tctChange: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n this.isLoaded = true;\n overrideFocus(this.hostElement);\n this.hostElement.click = () => {\n this.inputField.focus();\n this.inputField.click();\n };\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click')\n onHostClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n } else if (this.groupReadonly) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.inputField.focus();\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (event.target === this.hostElement) {\n this.inputField.focus();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('checked')\n checkedObserver() {\n if (!this.isLoaded) return;\n if (!this.checked) return;\n mirrorEmit(this, ['change', 'tctChange'], { value: this.value });\n }\n\n // #endregion\n // #region Local Methods\n\n inputChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled || this.readonly || this.groupReadonly || this.groupDisabled) {\n event.preventDefault();\n return false;\n }\n\n if (event.target instanceof HTMLInputElement) {\n this.checked = event.target.checked;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div class={this.groupTileLayout ? 'radio-tile' : 'radio-container'}>\n <input\n ref={el => (this.inputField = el)}\n class=\"sr\"\n id={this._id}\n type=\"radio\"\n name={this.name}\n value={this.value}\n disabled={this.disabled || this.groupDisabled}\n checked={this.checked}\n aria-label={this.label && this.hideLabel ? loc(this.label) : undefined}\n onChange={this.inputChange}\n test-id=\"q2RadioInnerRadioBox\"\n ></input>\n\n <label\n htmlFor={this._id}\n class={this.hideLabel ? 'label-hidden' : undefined}\n test-id=\"radioButton\"\n >\n {!this.groupTileLayout && (\n <svg viewBox=\"0 0 18 18\">\n <circle\n class=\"big-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"8\"\n />\n <circle\n class=\"small-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"4\"\n />\n </svg>\n )}\n {!this.hideLabel && (\n <div class=\"label-content\">\n {(this.label && loc(this.label)) || ''}\n <slot></slot>\n </div>\n )}\n </label>\n </div>\n );\n }\n\n // #endregion\n}\n"],"names":["createGuid","handleAriaLabel","overrideFocus","mirrorEmit","h","loc"],"mappings":"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"}
1
+ {"version":3,"file":"q2-radio.entry.cjs.js","sources":["src/components/q2-radio/q2-radio.scss?tag=q2-radio&encapsulation=shadow","src/components/q2-radio/q2-radio.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.radio-container {\n --comp-radio-margin: #{var-list(\n --tct-radio-margin,\n unquote(\n '#{var-list(--tct-radio-margin-vertical, --tct-scale-2, 10px)} #{var-list(--tct-radio-margin-horizontal, --tct-scale-3, 15px)}'\n )\n )};\n\n //Default State\n --comp-big-circle-fill: #{var-list(--tct-radio-background-fill, transparent)};\n --comp-big-circle-stroke: #{var-list(\n --tct-radio-background-stroke,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-big-circle-stroke-width: #{var-list(--tct-radio-background-stroke-width, --tct-radio-stroke-width, 2)};\n --comp-big-circle-transition: #{fill\n var-list(--tct-radio-background-transition, --tct-checkbox-tween, --app-tween-2, unquote('0.4s ease'))};\n --comp-small-circle-fill: #{var-list(--tct-radio-select-fill-default, transparent)};\n --comp-label-content-color: #{var-list(\n --tct-radio-label-color,\n --tct-radio-label-font-color,\n --tct-radio-label-color,\n inherit\n )};\n --comp-label-content-font-weight: #{var-list(\n --tct-radio-label-font-weight,\n --tct-radio-font-weight,\n --tct-checkbox-font-weight,\n 400\n )};\n --comp-label-content-letter-spacing: #{var-list(--tct-radio-label-letter-spacing, 0.25)};\n --comp-label-content-margin-right: #{var-list(--tct-radio-label-margin-right, 1rem)};\n --comp-label-content-gap: #{var-list(--tct-radio-label-gap, --tct-scale-1, --app-scale-1x, 5px)};\n --comp-label-hidden-columns: #{var(--tct-radio-hidden-columns, --tct-radio-label-hidden-columns, 18px 1fr)};\n --comp-svg-transition: #{box-shadow\n var-list(--tct-radio-transition, --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-svg-box-shadow: #{var-list(--tct-radio-box-shadow, none)};\n\n //Checked State\n --comp-big-circle-fill-checked: #{var-list(--tct-radio-checked-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-checked: #{var-list(--tct-radio-checked-stroke-color, --comp-big-circle-stroke)};\n --comp-small-circle-fill-checked: #{var-list(\n --tct-radio-select-fill-checked,\n --tct-radio-checked-fill,\n --tct-checkbox-check-stroke-color,\n --t-checkbox-fill,\n #2e2e2e\n )};\n --comp-label-content-font-weight-checked: #{var-list(\n --tct-radio-label-font-weight-checked,\n --tct-radio-checked-label-font-weight,\n --tct-checkbox-selected-font-weight,\n 600\n )};\n --comp-label-content-letter-spacing-checked: #{var-list(\n --tct-radio-label-letter-spacing-checked,\n --tct-radio-checked-label-letter-spacing,\n --tct-checkbox-selected-letter-spacing,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-checked: #{var-list(\n --tct-radio-label-font-color-checked,\n --tct-radio-checked-label-font-color,\n --tct-radio-checked-label-color,\n inherit\n )};\n\n // Active State\n --comp-big-circle-fill-active: #{var-list(--tct-radio-background-fill-active, --comp-big-circle-fill)};\n --comp-big-circle-stroke-active: #{var-list(--tct-radio-background-stroke-active, --comp-big-circle-stroke)};\n --comp-small-circle-fill-active: #{var-list(--tct-radio-selected-fill-active, --comp-small-circle-fill-checked)};\n --comp-label-content-font-weight-active: #{var-list(\n --tct-radio-label-font-weight-active,\n --comp-label-content-font-weight\n )};\n --comp-label-content-letter-spacing-active: #{var-list(\n --tct-radio-label-letter-spacing-active,\n --comp-label-content-letter-spacing\n )};\n --comp-label-content-color-active: #{var-list(--tct-radio-label-color-active, --comp-label-content-color)};\n\n // Hover State\n --comp-big-circle-fill-hover: #{var-list(--tct-radio-hover-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-hover: #{var-list(--tct-radio-hover-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-hover: #{var-list(--tct-radio-hover-label-color, --comp-label-content-color)};\n\n // Focus State\n --comp-big-circle-fill-focus: #{var-list(--tct-radio-focus-background-fill, --comp-big-circle-fill)};\n --comp-big-circle-stroke-focus: #{var-list(--tct-radio-focus-stroke-color, --comp-big-circle-stroke)};\n --comp-label-content-color-focus: #{var-list(--tct-radio-focus-label-color, --comp-label-content-color)};\n\n // Focus Visible\n --comp-svg-box-shadow-focus-visible: #{var(\n --tct-radio-box-shadow-focus-visible,\n --tct-radio-focus-box-shadow,\n --const-double-focus-ring\n )};\n\n margin: var(--comp-radio-margin);\n\n label[for] {\n color: var(---comp-label-content-color);\n font-weight: var(---comp-label-content-font-weight);\n font-size: var(--tct-radio-label-font-size, 14px);\n align-items: center;\n cursor: pointer;\n margin-right: var(---comp-label-content-margin-right);\n display: grid;\n grid-template-columns: 18px 1fr;\n gap: var(--comp-label-content-gap);\n letter-spacing: var(--comp-label-content-letter-spacing);\n\n &.label-hidden {\n grid-template-columns: var(--comp-label-hidden-columns);\n }\n }\n\n svg {\n border-radius: 50%;\n transition: var(--comp-svg-transition);\n outline: 0;\n width: 100%;\n box-shadow: var(--comp-svg-box-shadow);\n }\n\n .big-circle {\n fill: var(--comp-big-circle-fill);\n stroke: var(--comp-big-circle-stroke);\n stroke-width: var(--comp-big-circle-stroke-width);\n transition: var(--comp-big-circle-transition);\n }\n .small-circle {\n fill: var(--comp-small-circle-fill);\n }\n\n input {\n &:checked {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-checked);\n stroke: var(--comp-big-circle-stroke-checked);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-checked);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-checked);\n letter-spacing: var(--comp-label-content-letter-spacing-checked);\n color: var(--comp-label-content-color-checked);\n }\n }\n }\n\n &:hover {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-hover);\n stroke: var(--comp-big-circle-stroke-hover);\n }\n .label-content {\n color: var(--comp-label-content-color-hover);\n }\n }\n }\n\n &:active {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-active);\n stroke: var(--comp-big-circle-stroke-active);\n }\n\n .small-circle {\n fill: var(--comp-small-circle-fill-active);\n }\n\n .label-content {\n font-weight: var(--comp-label-content-font-weight-active);\n letter-spacing: var(--comp-label-content-letter-spacing-active);\n color: var(--comp-label-content-color-active);\n }\n }\n }\n\n &:focus {\n & + label {\n .big-circle {\n fill: var(--comp-big-circle-fill-focus);\n stroke: var(--comp-big-circle-stroke-focus);\n }\n .label-content {\n color: var(--comp-label-content-color-focus);\n }\n }\n }\n }\n}\n\n.radio-tile {\n flex-basis: 100px;\n flex-grow: 0;\n flex-wrap: wrap;\n\n label[for] {\n color: var-list(--tct-radio-label-font-color, --tct-radio-label-color, inherit);\n align-items: center;\n border-radius: var-list(--tct-radio-tile-border-radius, --app-border-radius-1, 3px);\n border: 2px solid var-list(--tct-radio-stroke-color, --t-a11y-gray-color-AA, #949494);\n background: var-list(--tct-radio-background-fill, transparent);\n cursor: pointer;\n display: block;\n font-size: var-list(--tct-radio-tile-label-font-size, --tct-radio-label-font-size, 14px);\n padding: 10px;\n position: relative;\n text-align: center;\n transition: border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n white-space: nowrap;\n }\n\n input {\n &:checked + label {\n border-color: var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n box-shadow: inset 0 0 0 2px #ffffff;\n background: var-list(--tct-radio-checked-background-fill, transparent);\n color: var-list(--tct-radio-checked-label-color, inherit);\n\n &:after {\n border-bottom-width: 3px;\n border-bottom: 5px solid\n var-list(\n --tct-radio-tile-checked-stroke-color,\n --tct-radio-checked-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n border-left-width: 5px;\n border-left: 8px solid transparent;\n border-right-width: 5px;\n border-right: 8px solid transparent;\n bottom: 0;\n content: '';\n height: 0;\n left: 50%;\n margin-left: -5px;\n position: absolute;\n width: 0;\n }\n }\n\n &:hover + label {\n border-color: var-list(\n --tct-radio-hover-stroke-color,\n --tct-radio-stroke-color,\n --t-a11y-gray-color-AA,\n #949494\n );\n background: var-list(--tct-radio-hover-background-fill, transparent);\n color: var-list(--tct-radio-hover-label-color, --tct-radio-label-color, inherit);\n }\n\n &:focus + label,\n &:focus:checked + label {\n --comp-radio-tile-focus-box-shadow-fallback: #{var(--const-double-focus-ring), var-list(--tct-global-focus, unquote('0 0 0 2px #33b4ff'))};\n border-color: var-list(\n --tct-radio-tile-focus-stroke-color,\n --tct-radio-focus-stroke-color,\n var-prefixer(checkbox-check-stroke-color),\n --t-checkbox-fill,\n #2e2e2e\n );\n background: var-list(--tct-radio-focus-background-fill, transparent);\n box-shadow: var-list(--tct-radio-tile-focus-box-shadow, --comp-radio-tile-focus-box-shadow-fallback);\n color: var-list(--tct-radio-focus-label-color, --tct-radio-checked-label-color, inherit);\n }\n\n &:focus:checked + label:after {\n border-bottom: 5px solid var-list(\n --tct-radio-tile-focus-stroke-color,\n --tct-radio-focus-stroke-color,\n #2e2e2e\n );\n }\n }\n}\n\ninput:disabled + label[for] {\n cursor: not-allowed;\n opacity: var-list(--tct-disabled-opacity, --app-disabled-opacity, 0.4);\n}\n","import { Component, Prop, h, Element, ComponentInterface, Listen, Watch, Event, EventEmitter } from '@stencil/core';\nimport { createGuid, handleAriaLabel, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Radio\n * @category Forms\n * @summary Use as a single option within a Radio Group.\n */\n@Component({ tag: 'q2-radio', shadow: true, styleUrl: 'q2-radio.scss' })\nexport class Q2Radio implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `radio-${createGuid()}`;\n inputField: HTMLInputElement;\n isLoaded: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the radio. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the radio and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Used by q2-radio-group to disable all options in the group\n * @private\n */\n @Prop({ reflect: false })\n groupDisabled: boolean = false;\n\n /**\n * Used by q2-radio-group to make all options in the group readonly\n * @private\n */\n @Prop({ reflect: false })\n groupReadonly: boolean = false;\n\n /**\n * Used by q2-radio-group to make the options display as tiles\n * @private\n */\n @Prop({ reflect: false })\n groupTileLayout: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The text that describes the individual radio option.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Used by q2-radio-group to apply a name to all options in the group\n * @private\n */\n @Prop({ reflect: true })\n name: string;\n\n /** The radio is non-interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** @private */\n @Prop()\n tabIndex: number = 0;\n\n /** The value that is returned in the `change` event that is emitted from the `q2-radio-group`. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the radio is checked.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the radio is checked.\n */\n @Event()\n tctChange: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n this.isLoaded = true;\n overrideFocus(this.hostElement);\n this.hostElement.click = () => {\n this.inputField.focus();\n this.inputField.click();\n };\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click')\n onHostClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n } else if (this.groupReadonly) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.inputField.focus();\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (event.target === this.hostElement) {\n this.inputField.focus();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('checked')\n checkedObserver() {\n if (!this.isLoaded) return;\n if (!this.checked) return;\n mirrorEmit(this, ['change', 'tctChange'], { value: this.value });\n }\n\n // #endregion\n // #region Local Methods\n\n inputChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled || this.readonly || this.groupReadonly || this.groupDisabled) {\n event.preventDefault();\n return false;\n }\n\n if (event.target instanceof HTMLInputElement) {\n this.checked = event.target.checked;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div class={this.groupTileLayout ? 'radio-tile' : 'radio-container'}>\n <input\n ref={el => (this.inputField = el)}\n class=\"sr\"\n id={this._id}\n type=\"radio\"\n name={this.name}\n value={this.value}\n disabled={this.disabled || this.groupDisabled}\n checked={this.checked}\n aria-label={this.label && this.hideLabel ? loc(this.label) : undefined}\n onChange={this.inputChange}\n test-id=\"q2RadioInnerRadioBox\"\n ></input>\n\n <label\n htmlFor={this._id}\n class={this.hideLabel ? 'label-hidden' : undefined}\n test-id=\"radioButton\"\n >\n {!this.groupTileLayout && (\n <svg viewBox=\"0 0 18 18\">\n <circle\n class=\"big-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"8\"\n />\n <circle\n class=\"small-circle\"\n stroke=\"none\"\n fill=\"none\"\n cx=\"9\"\n cy=\"9\"\n r=\"4\"\n />\n </svg>\n )}\n {!this.hideLabel && (\n <div class=\"label-content\">\n {(this.label && loc(this.label)) || ''}\n <slot></slot>\n </div>\n )}\n </label>\n </div>\n );\n }\n\n // #endregion\n}\n"],"names":["createGuid","handleAriaLabel","overrideFocus","mirrorEmit","h","loc"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-BYXz4owL.js');
4
4
  var index$2 = require('./index-CgG3VNXc.js');
5
- var index$1 = require('./index-DyAq0y0v.js');
5
+ var index$1 = require('./index-YvKoRT-t.js');
6
6
 
7
7
  const q2RelativeTimeCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline}";
8
8
 
@@ -154,7 +154,7 @@ const Q2RelativeTime = class {
154
154
  // #region Render Methods
155
155
  render() {
156
156
  const { shouldShow, displayedMessage } = this;
157
- return index.h(index.Fragment, { key: 'cb780607f4db81492c93d54366e0e177a4aee498' }, shouldShow ? index.h("time", { dateTime: displayedMessage }, displayedMessage) : null);
157
+ return index.h(index.Fragment, { key: '3a518920ff969cb0b60ca20ac780e11022803bef' }, shouldShow ? index.h("time", { dateTime: displayedMessage }, displayedMessage) : null);
158
158
  }
159
159
  get hostElement() { return index.getElement(this); }
160
160
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BYXz4owL.js');
4
- var index$1 = require('./index-DyAq0y0v.js');
4
+ var index$1 = require('./index-YvKoRT-t.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
 
7
7
  const q2SectionCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, var(--t-text, #4d4d4d)));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, none);letter-spacing:var(--tct-section-title-letter-spacing, inherit)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}q2-btn{--tct-btn-icon-hover-background:var(--tct-section-btn-hover-background, var(--app-gray-l3, #f2f2f2));--tct-icon-stroke-primary:var(--tct-section-btn-icon-stroke-primary, var(--app-gray, #747474));--tct-icon-stroke-secondary:var(--tct-section-btn-icon-stroke-secondary, var(--app-gray, #747474))}";
@@ -188,9 +188,9 @@ const Q2Section = class {
188
188
  wrapperClasses.push('is-transitioning');
189
189
  }
190
190
  const showDefaultHeader = !this.hasYieldedHeader && !!this.label;
191
- return (index.h("section", { key: 'd75ff1baca078adfbe4a8160b7cc93aedbd2b633', class: "wrapper" }, index.h("header", { key: '8d7b0501fa215c7a03b4c7731a80d1e72b101436', class: hasHeader ? 'has-header' : '' }, index.h("div", { key: '9daa8ed7468f00dd996a7bc41ca7307be573376c', class: "header-content", id: this.titleId, onClick: this.collapsible && this.onHeaderClick }, showDefaultHeader && index.h("h2", { key: '2bdd67ba18ba96ba58348b69e6d31a3b57afd46f', class: "title" }, index$1.loc(this.label)), index.h("div", { key: '7ee904d99bf8f36565b7b6221f328e3caf176179', ref: el => (this.headerSlotWrapper = el), class: "header-slot-wrapper" }, index.h("slot", { key: 'a4235e3a0835992b13dec77be7fe7b649dd06ac3', ref: (el) => (this.headerSlot = el), name: "q2-section-header" }))), this.collapsible && !this.noCollapseIcon && (index.h("q2-btn", { key: '3a79fd3ec731c7705f648bd312eae8e4bc27cccd', label: index$1.loc(this.label || 'tecton.element.section.defaultToggleLabel'), ariaExpanded: `${!!this.expanded}`, ariaControls: this.contentId, "test-id": "toggleButton", "hide-label": true, onClick: this.onHeaderClick }, index.h("q2-icon", { key: 'a0015837062a6089cb40db4eb7a83641920acb5a', type: "chevron-up" })))), index.h("div", { key: '401b248658a0033ef6d45a12b57d8aefc3b00799', class: wrapperClasses.join(' '), id: this.contentId, "aria-labelledby": this.titleId, role: "region", onTransitionEnd: this.onTransitionEnd, style: this.collapsible && {
191
+ return (index.h("section", { key: '3128e3974825bcd873c7713c20e1b4f004d02a30', class: "wrapper" }, index.h("header", { key: '1eb1fb74a992c76989a2a8baaa3bee68afa57138', class: hasHeader ? 'has-header' : '' }, index.h("div", { key: '9621ce7f0ccbfb97f522b5640d986371e0ed2d08', class: "header-content", id: this.titleId, onClick: this.collapsible && this.onHeaderClick }, showDefaultHeader && index.h("h2", { key: '9b4819672218286c3b0d11417933b6661a97c2af', class: "title" }, index$1.loc(this.label)), index.h("div", { key: '3ad3f55b3a554575b5b361ea565883860ce843b3', ref: el => (this.headerSlotWrapper = el), class: "header-slot-wrapper" }, index.h("slot", { key: 'ada9ab542b0f37d627fd1086c92289ebb6ec9049', ref: (el) => (this.headerSlot = el), name: "q2-section-header" }))), this.collapsible && !this.noCollapseIcon && (index.h("q2-btn", { key: 'dfd4ba0293689a3d603a1c1168e2f140c5307d60', label: index$1.loc(this.label || 'tecton.element.section.defaultToggleLabel'), ariaExpanded: `${!!this.expanded}`, ariaControls: this.contentId, "test-id": "toggleButton", "hide-label": true, onClick: this.onHeaderClick }, index.h("q2-icon", { key: '6c72dd59ead1dad5a54def864afa4d5d6ff7ce14', type: "chevron-up" })))), index.h("div", { key: '96434da7e59bf12b908a95aa4aa46fe59655da32', class: wrapperClasses.join(' '), id: this.contentId, "aria-labelledby": this.titleId, role: "region", onTransitionEnd: this.onTransitionEnd, style: this.collapsible && {
192
192
  height: this.contentHeight,
193
- } }, index.h("div", { key: '816137034e779961bc9469697403be6f59bade26', ref: el => (this.contentContainer = el), class: "content", tabindex: "-1" }, index.h("slot", { key: 'a7824eeccf0662bee8766071bcd9017d5a7d2226', ref: (el) => (this.contentSlot = el) })))));
193
+ } }, index.h("div", { key: 'b6ef59a27be6c6b3c0cdc8b23eef7d7a80a0937e', ref: el => (this.contentContainer = el), class: "content", tabindex: "-1" }, index.h("slot", { key: 'bca7946799bfd50e1be14b24e4106df2a583b43b', ref: (el) => (this.contentSlot = el) })))));
194
194
  }
195
195
  get hostElement() { return index.getElement(this); }
196
196
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BYXz4owL.js');
4
- var index$1 = require('./index-DyAq0y0v.js');
4
+ var index$1 = require('./index-YvKoRT-t.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
  var actionSheet = require('./action-sheet-D71RSc-w.js');
7
7
 
@@ -17,6 +17,7 @@ const Q2Select = class {
17
17
  var _a;
18
18
  // #region Own Properties
19
19
  this.guid = index$1.createGuid();
20
+ this.isOrientationUpdate = false;
20
21
  this.lastTouchWasInPopover = false;
21
22
  this.scheduledAfterRender = [];
22
23
  // #endregion
@@ -121,10 +122,12 @@ const Q2Select = class {
121
122
  else {
122
123
  isLandscape = (_d = (_c = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _c === void 0 ? void 0 : _c.type) === null || _d === void 0 ? void 0 : _d.includes('landscape');
123
124
  }
125
+ this.isOrientationUpdate = true;
124
126
  if (isLandscape && this.searchable)
125
127
  this.searchable = false;
126
128
  if (!isLandscape)
127
129
  this.searchable = this.originalSearchable;
130
+ this.isOrientationUpdate = false;
128
131
  };
129
132
  this.handleTouchMove = (event) => {
130
133
  if (document.activeElement === this.hostElement) {
@@ -353,14 +356,17 @@ const Q2Select = class {
353
356
  }
354
357
  }
355
358
  delegateFocus(event) {
359
+ var _a;
360
+ // Always delegate focus from host to inner input (fixes programmatic focus)
361
+ if (index$1.isEventFromElement(event, this.hostElement)) {
362
+ (_a = this.innerInputField) === null || _a === void 0 ? void 0 : _a.focus();
363
+ }
364
+ // Manage display state for searchable selects (preserves existing behavior)
356
365
  const fromHost = index$1.isRelatedTargetWithinHost(event, this.hostElement);
357
- const prioritizeSearch = (this.prioritizeSearch = fromHost && this.searchable);
358
- if (prioritizeSearch) {
366
+ this.prioritizeSearch = fromHost && this.searchable;
367
+ if (this.prioritizeSearch) {
359
368
  this.clearSelectedDisplay();
360
369
  }
361
- else if (index$1.isEventFromElement(event, this.hostElement)) {
362
- this.innerInputField.focus();
363
- }
364
370
  }
365
371
  handleFocusout(event) {
366
372
  var _a;
@@ -504,6 +510,11 @@ const Q2Select = class {
504
510
  }
505
511
  });
506
512
  }
513
+ searchableChanged(newVal) {
514
+ if (!this.isOrientationUpdate) {
515
+ this.originalSearchable = newVal;
516
+ }
517
+ }
507
518
  buildStructuredSelectedOptions() {
508
519
  const { multiple, selectedOptions, value } = this;
509
520
  if (multiple) {
@@ -574,7 +585,9 @@ const Q2Select = class {
574
585
  return this.searchText;
575
586
  if (this.hasCustomDisplay)
576
587
  return '';
577
- return this.multiple ? this.calculateMultiSelectSelectedDisplay() : this.calculateSingleSelectSelectedDisplay();
588
+ return (this.multiple ? this.calculateMultiSelectSelectedDisplay() : this.calculateSingleSelectSelectedDisplay())
589
+ .trim()
590
+ .replace(/\t/g, ' ');
578
591
  }
579
592
  get selectedDisplaySlot() {
580
593
  return this.hostElement.querySelector('[slot="_selected-display"]');
@@ -779,13 +792,14 @@ const Q2Select = class {
779
792
  ]), checked: showSelected, "test-id": "selectedOptionsButton", onClick: this.showSelectedOptions, onKeyDown: this.visibilityToggleKeyDown }), index.h("label", { htmlFor: "selected" }, index$1.loc('tecton.element.select.multiHeader.selected', [selectedOptionsCount]))))));
780
793
  }
781
794
  render() {
782
- return (index.h("click-elsewhere", { key: '6b949fa9d117300197a927538e36554ac73458c9', class: this.wrapperClasses, role: "presentation", onChange: this.clickedElsewhere }, this.renderSelectField()));
795
+ return (index.h("click-elsewhere", { key: 'c0da37dd6495f81c0e9fa7303ed3059f60521d96', class: this.wrapperClasses, role: "presentation", onChange: this.clickedElsewhere }, this.renderSelectField()));
783
796
  }
784
797
  get hostElement() { return index.getElement(this); }
785
798
  static get watchers() { return {
786
799
  "ariaLabel": ["ariaLabelObserver"],
787
800
  "multilineOptions": ["handleMultilineOptionsUpdate"],
788
801
  "open": ["openChanged"],
802
+ "searchable": ["searchableChanged"],
789
803
  "value": ["buildStructuredSelectedOptions", "valueUpdated"],
790
804
  "selectedOptions": ["buildStructuredSelectedOptions"]
791
805
  }; }