q2-tecton-elements 1.65.0 → 1.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. package/dist/bundle-report.json +1904 -742
  2. package/dist/cjs/{action-sheet-CiK2Bap_.js → action-sheet-D71RSc-w.js} +5 -2
  3. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -0
  4. package/dist/cjs/component-DRAntnCA.js +47 -0
  5. package/dist/cjs/component-DRAntnCA.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/q2-action-group.q2-resize-observer.entry.cjs.js.map +1 -1
  8. package/dist/cjs/q2-action-group_2.cjs.entry.js +121 -45
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +9 -5
  11. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-action-sheet.entry.cjs.js.map +1 -1
  13. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  17. package/dist/cjs/q2-btn_2.cjs.entry.js +13 -4
  18. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  20. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  22. package/dist/cjs/q2-card-image.cjs.entry.js +5 -5
  23. package/dist/cjs/q2-card-image.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-card-image.entry.cjs.js.map +1 -1
  25. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  27. package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
  28. package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -3
  29. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  31. package/dist/cjs/q2-carousel.cjs.entry.js +12 -2
  32. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  34. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-checkbox-group.cjs.entry.js +5 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  40. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -4
  41. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-checkbox.entry.cjs.js.map +1 -1
  43. package/dist/cjs/q2-context.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
  45. package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
  46. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-data-table.cjs.entry.js +19 -9
  48. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  49. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  50. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-detail.entry.cjs.js.map +1 -1
  53. package/dist/cjs/q2-dropdown-item.cjs.entry.js +3 -1
  54. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-dropdown-item.entry.cjs.js.map +1 -1
  56. package/dist/cjs/q2-dropdown.cjs.entry.js +33 -8
  57. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  64. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  65. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  66. package/dist/cjs/q2-grid-area.cjs.entry.js +9 -1
  67. package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-grid-area.entry.cjs.js.map +1 -1
  69. package/dist/cjs/q2-icon.cjs.entry.js +6 -0
  70. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  71. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  72. package/dist/cjs/q2-input.cjs.entry.js +8 -6
  73. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-item.cjs.entry.js +17 -17
  76. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  77. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  78. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  80. package/dist/cjs/q2-link_2.cjs.entry.js +11 -7
  81. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  82. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  83. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  84. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  85. package/dist/cjs/q2-meter.cjs.entry.js +1 -1
  86. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  87. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  88. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  89. package/dist/cjs/q2-optgroup.cjs.entry.js +4 -2
  90. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
  91. package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
  92. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +1 -1
  93. package/dist/cjs/q2-option-list_2.cjs.entry.js +5 -3
  94. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  95. package/dist/cjs/q2-option.cjs.entry.js +3 -1
  96. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  97. package/dist/cjs/q2-option.entry.cjs.js.map +1 -1
  98. package/dist/cjs/q2-pagination.cjs.entry.js +10 -12
  99. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  100. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  101. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  102. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  103. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  104. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  105. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  106. package/dist/cjs/q2-section-container.cjs.entry.js +2 -0
  107. package/dist/cjs/q2-section-container.cjs.entry.js.map +1 -1
  108. package/dist/cjs/q2-section-container.entry.cjs.js.map +1 -1
  109. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  110. package/dist/cjs/q2-select.cjs.entry.js +7 -3
  111. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  112. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  113. package/dist/cjs/q2-stepper-pane.cjs.entry.js +3 -1
  114. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  115. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  116. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  117. package/dist/cjs/q2-stepper.cjs.entry.js +6 -2
  118. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  119. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  120. package/dist/cjs/q2-tab-container.cjs.entry.js +5 -1
  121. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  122. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  123. package/dist/cjs/q2-tab-pane.cjs.entry.js +8 -1
  124. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
  125. package/dist/cjs/q2-tab-pane.entry.cjs.js.map +1 -1
  126. package/dist/cjs/q2-tag.cjs.entry.js +3 -3
  127. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  128. package/dist/cjs/q2-tag.entry.cjs.js.map +1 -1
  129. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  130. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  131. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  132. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  133. package/dist/cjs/q2-toast.cjs.entry.js +192 -0
  134. package/dist/cjs/q2-toast.cjs.entry.js.map +1 -0
  135. package/dist/cjs/q2-toast.entry.cjs.js.map +1 -0
  136. package/dist/cjs/{sanitize-html-string-DPqrzfM9.js → sanitize-html-string-C2iwHNz5.js} +30 -6
  137. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +1 -0
  138. package/dist/cjs/tecton-tab-pane.cjs.entry.js +4 -2
  139. package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
  140. package/dist/cjs/tecton-tab-pane.entry.cjs.js.map +1 -1
  141. package/dist/collection/collection-manifest.json +1 -0
  142. package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
  143. package/dist/collection/components/q2-action-group/q2-action-group.js +121 -45
  144. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  145. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +8 -0
  146. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +9 -5
  147. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  148. package/dist/collection/components/q2-avatar/q2-avatar.css +3 -0
  149. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  150. package/dist/collection/components/q2-btn/q2-btn.css +9 -1
  151. package/dist/collection/components/q2-btn/q2-btn.js +1 -1
  152. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  153. package/dist/collection/components/q2-calendar/q2-calendar.css +5 -1
  154. package/dist/collection/components/q2-calendar/q2-calendar.js +2 -2
  155. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  156. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  157. package/dist/collection/components/q2-card/q2-card.css +1 -0
  158. package/dist/collection/components/q2-card-image/q2-card-image.js +6 -6
  159. package/dist/collection/components/q2-card-image/q2-card-image.js.map +1 -1
  160. package/dist/collection/components/q2-carousel/q2-carousel.css +1 -1
  161. package/dist/collection/components/q2-carousel/q2-carousel.js +11 -1
  162. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  163. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +11 -1
  164. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +6 -2
  165. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  166. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  167. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  168. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  169. package/dist/collection/components/q2-checkbox/q2-checkbox.css +135 -14
  170. package/dist/collection/components/q2-checkbox/q2-checkbox.js +2 -8
  171. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  172. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +5 -1
  173. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  174. package/dist/collection/components/q2-context/q2-context.js +1 -1
  175. package/dist/collection/components/q2-context/q2-context.js.map +1 -1
  176. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  177. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  178. package/dist/collection/components/q2-data-table/q2-data-table.js +53 -20
  179. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  180. package/dist/collection/components/q2-detail/q2-detail.css +6 -0
  181. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  182. package/dist/collection/components/q2-dropdown/q2-dropdown.css +17 -0
  183. package/dist/collection/components/q2-dropdown/q2-dropdown.js +75 -8
  184. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  185. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +1 -0
  186. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +2 -0
  187. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  188. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  189. package/dist/collection/components/q2-example/q2-example.js +1 -1
  190. package/dist/collection/components/q2-file-picker/q2-file-picker.css +4 -1
  191. package/dist/collection/components/q2-file-picker/q2-file-picker.js +4 -4
  192. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  193. package/dist/collection/components/q2-form/q2-form.js +1 -1
  194. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  195. package/dist/collection/components/q2-grid/q2-grid.js +30 -30
  196. package/dist/collection/components/q2-grid-area/q2-grid-area.js +51 -43
  197. package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +1 -1
  198. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  199. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  200. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  201. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  202. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  203. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  204. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  205. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  206. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  207. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  208. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  209. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  210. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  211. package/dist/collection/components/q2-input/formatting/phone.js +4 -2
  212. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  213. package/dist/collection/components/q2-input/q2-input.css +3 -0
  214. package/dist/collection/components/q2-input/q2-input.js +6 -6
  215. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  216. package/dist/collection/components/q2-item/q2-item.css +3 -0
  217. package/dist/collection/components/q2-item/q2-item.js +19 -18
  218. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  219. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  220. package/dist/collection/components/q2-link/q2-link.css +53 -1
  221. package/dist/collection/components/q2-link/q2-link.js +50 -8
  222. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  223. package/dist/collection/components/q2-list/q2-list.js +1 -1
  224. package/dist/collection/components/q2-loading/q2-loading.css +1 -1
  225. package/dist/collection/components/q2-loading/q2-loading.js +10 -1
  226. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  227. package/dist/collection/components/q2-message/q2-message.css +1 -0
  228. package/dist/collection/components/q2-message/q2-message.js +1 -1
  229. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  230. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  231. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  232. package/dist/collection/components/q2-optgroup/q2-optgroup.css +6 -4
  233. package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -1
  234. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  235. package/dist/collection/components/q2-option/q2-option.css +5 -0
  236. package/dist/collection/components/q2-option/q2-option.js +2 -0
  237. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  238. package/dist/collection/components/q2-option-list/q2-option-list.js +8 -6
  239. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  240. package/dist/collection/components/q2-pagination/q2-pagination.css +3 -0
  241. package/dist/collection/components/q2-pagination/q2-pagination.js +20 -17
  242. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  243. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  244. package/dist/collection/components/q2-popover/q2-popover.css +1 -1
  245. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  246. package/dist/collection/components/q2-radio/q2-radio.css +85 -35
  247. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  248. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  249. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  250. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  251. package/dist/collection/components/q2-section/q2-section.js +2 -2
  252. package/dist/collection/components/q2-section-container/q2-section-container.js +2 -0
  253. package/dist/collection/components/q2-section-container/q2-section-container.js.map +1 -1
  254. package/dist/collection/components/q2-select/q2-select.js +6 -5
  255. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  256. package/dist/collection/components/q2-stepper/q2-stepper.css +1 -3
  257. package/dist/collection/components/q2-stepper/q2-stepper.js +6 -2
  258. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  259. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +7 -5
  260. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  261. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  262. package/dist/collection/components/q2-tab-container/q2-tab-container.js +5 -1
  263. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  264. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +8 -1
  265. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  266. package/dist/collection/components/q2-tag/q2-tag.css +8 -0
  267. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  268. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -1
  269. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  270. package/dist/collection/components/q2-toast/q2-toast.css +230 -0
  271. package/dist/collection/components/q2-toast/q2-toast.js +452 -0
  272. package/dist/collection/components/q2-toast/q2-toast.js.map +1 -0
  273. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +4 -2
  274. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  275. package/dist/collection/utils/action-sheet.js +3 -0
  276. package/dist/collection/utils/action-sheet.js.map +1 -1
  277. package/dist/collection/utils/component.js +38 -0
  278. package/dist/collection/utils/component.js.map +1 -0
  279. package/dist/collection/utils/helpers.js +6 -1
  280. package/dist/collection/utils/helpers.js.map +1 -1
  281. package/dist/collection/utils/sanitize-html-string.js +6 -0
  282. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  283. package/dist/components/action-sheet.js +3 -0
  284. package/dist/components/action-sheet.js.map +1 -1
  285. package/dist/components/component.js +42 -0
  286. package/dist/components/component.js.map +1 -0
  287. package/dist/components/index.js +2 -0
  288. package/dist/components/index.js.map +1 -1
  289. package/dist/components/q2-action-group2.js +121 -45
  290. package/dist/components/q2-action-group2.js.map +1 -1
  291. package/dist/components/q2-action-sheet.js +9 -5
  292. package/dist/components/q2-action-sheet.js.map +1 -1
  293. package/dist/components/q2-avatar2.js +2 -2
  294. package/dist/components/q2-avatar2.js.map +1 -1
  295. package/dist/components/q2-btn2.js +2 -2
  296. package/dist/components/q2-btn2.js.map +1 -1
  297. package/dist/components/q2-calendar.js +3 -3
  298. package/dist/components/q2-calendar.js.map +1 -1
  299. package/dist/components/q2-card-image.js +6 -6
  300. package/dist/components/q2-card-image.js.map +1 -1
  301. package/dist/components/q2-card.js +1 -1
  302. package/dist/components/q2-card.js.map +1 -1
  303. package/dist/components/q2-carousel-pane.js +7 -3
  304. package/dist/components/q2-carousel-pane.js.map +1 -1
  305. package/dist/components/q2-carousel.js +12 -2
  306. package/dist/components/q2-carousel.js.map +1 -1
  307. package/dist/components/q2-chart-area.js +1 -1
  308. package/dist/components/q2-chart-bar.js +1 -1
  309. package/dist/components/q2-chart-donut.js +1 -1
  310. package/dist/components/q2-checkbox-group.js +5 -1
  311. package/dist/components/q2-checkbox-group.js.map +1 -1
  312. package/dist/components/q2-checkbox2.js +3 -4
  313. package/dist/components/q2-checkbox2.js.map +1 -1
  314. package/dist/components/q2-context.js +1 -1
  315. package/dist/components/q2-context.js.map +1 -1
  316. package/dist/components/q2-currency.js +1 -1
  317. package/dist/components/q2-data-table.js +20 -9
  318. package/dist/components/q2-data-table.js.map +1 -1
  319. package/dist/components/q2-detail.js +2 -2
  320. package/dist/components/q2-detail.js.map +1 -1
  321. package/dist/components/q2-dropdown-item2.js +3 -1
  322. package/dist/components/q2-dropdown-item2.js.map +1 -1
  323. package/dist/components/q2-dropdown.js +34 -7
  324. package/dist/components/q2-dropdown.js.map +1 -1
  325. package/dist/components/q2-editable-field.js +1 -1
  326. package/dist/components/q2-example.js +1 -1
  327. package/dist/components/q2-file-picker.js +2 -2
  328. package/dist/components/q2-file-picker.js.map +1 -1
  329. package/dist/components/q2-form.js +1 -1
  330. package/dist/components/q2-formatted-text.js +1 -1
  331. package/dist/components/q2-grid-area.js +9 -1
  332. package/dist/components/q2-grid-area.js.map +1 -1
  333. package/dist/components/q2-icon2.js +6 -0
  334. package/dist/components/q2-icon2.js.map +1 -1
  335. package/dist/components/q2-input2.js +8 -6
  336. package/dist/components/q2-input2.js.map +1 -1
  337. package/dist/components/q2-item2.js +17 -17
  338. package/dist/components/q2-item2.js.map +1 -1
  339. package/dist/components/q2-legend2.js +1 -1
  340. package/dist/components/q2-link2.js +12 -6
  341. package/dist/components/q2-link2.js.map +1 -1
  342. package/dist/components/q2-list2.js +1 -1
  343. package/dist/components/q2-loading2.js +11 -2
  344. package/dist/components/q2-loading2.js.map +1 -1
  345. package/dist/components/q2-message2.js +2 -2
  346. package/dist/components/q2-message2.js.map +1 -1
  347. package/dist/components/q2-meter.js +1 -1
  348. package/dist/components/q2-modal.js +1 -1
  349. package/dist/components/q2-month-picker.js +2 -2
  350. package/dist/components/q2-mutation-observer.js +1 -1
  351. package/dist/components/q2-optgroup2.js +4 -2
  352. package/dist/components/q2-optgroup2.js.map +1 -1
  353. package/dist/components/q2-option-list2.js +3 -1
  354. package/dist/components/q2-option-list2.js.map +1 -1
  355. package/dist/components/q2-option2.js +3 -1
  356. package/dist/components/q2-option2.js.map +1 -1
  357. package/dist/components/q2-pagination.js +11 -13
  358. package/dist/components/q2-pagination.js.map +1 -1
  359. package/dist/components/q2-pill.js +1 -1
  360. package/dist/components/q2-popover2.js +2 -2
  361. package/dist/components/q2-popover2.js.map +1 -1
  362. package/dist/components/q2-radio.js +2 -2
  363. package/dist/components/q2-radio.js.map +1 -1
  364. package/dist/components/q2-relative-time.js +1 -1
  365. package/dist/components/q2-resize-observer2.js +1 -1
  366. package/dist/components/q2-section-container.js +2 -0
  367. package/dist/components/q2-section-container.js.map +1 -1
  368. package/dist/components/q2-section.js +2 -2
  369. package/dist/components/q2-select2.js +6 -2
  370. package/dist/components/q2-select2.js.map +1 -1
  371. package/dist/components/q2-stepper-pane.js +3 -1
  372. package/dist/components/q2-stepper-pane.js.map +1 -1
  373. package/dist/components/q2-stepper-vertical.js +1 -1
  374. package/dist/components/q2-stepper.js +7 -3
  375. package/dist/components/q2-stepper.js.map +1 -1
  376. package/dist/components/q2-tab-container.js +5 -1
  377. package/dist/components/q2-tab-container.js.map +1 -1
  378. package/dist/components/q2-tab-pane.js +8 -1
  379. package/dist/components/q2-tab-pane.js.map +1 -1
  380. package/dist/components/q2-tag.js +2 -2
  381. package/dist/components/q2-tag.js.map +1 -1
  382. package/dist/components/q2-textarea.js +2 -2
  383. package/dist/components/q2-textarea.js.map +1 -1
  384. package/dist/components/q2-toast.d.ts +11 -0
  385. package/dist/components/q2-toast.js +233 -0
  386. package/dist/components/q2-toast.js.map +1 -0
  387. package/dist/components/sanitize-html-string.js +28 -5
  388. package/dist/components/sanitize-html-string.js.map +1 -1
  389. package/dist/components/tecton-tab-pane.js +4 -2
  390. package/dist/components/tecton-tab-pane.js.map +1 -1
  391. package/dist/esm/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +5 -2
  392. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -0
  393. package/dist/esm/component-DVxzK3WH.js +42 -0
  394. package/dist/esm/component-DVxzK3WH.js.map +1 -0
  395. package/dist/esm/loader.js +1 -1
  396. package/dist/esm/q2-action-group.q2-resize-observer.entry.js.map +1 -1
  397. package/dist/esm/q2-action-group_2.entry.js +121 -45
  398. package/dist/esm/q2-action-group_2.entry.js.map +1 -1
  399. package/dist/esm/q2-action-sheet.entry.js +9 -5
  400. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  401. package/dist/esm/q2-avatar.entry.js +2 -2
  402. package/dist/esm/q2-avatar.entry.js.map +1 -1
  403. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  404. package/dist/esm/q2-btn_2.entry.js +13 -4
  405. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  406. package/dist/esm/q2-calendar.entry.js +3 -3
  407. package/dist/esm/q2-calendar.entry.js.map +1 -1
  408. package/dist/esm/q2-card-image.entry.js +6 -6
  409. package/dist/esm/q2-card-image.entry.js.map +1 -1
  410. package/dist/esm/q2-card.entry.js +1 -1
  411. package/dist/esm/q2-card.entry.js.map +1 -1
  412. package/dist/esm/q2-carousel-pane.entry.js +7 -3
  413. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  414. package/dist/esm/q2-carousel.entry.js +12 -2
  415. package/dist/esm/q2-carousel.entry.js.map +1 -1
  416. package/dist/esm/q2-chart-area.entry.js +1 -1
  417. package/dist/esm/q2-chart-bar.entry.js +1 -1
  418. package/dist/esm/q2-chart-donut.entry.js +1 -1
  419. package/dist/esm/q2-checkbox-group.entry.js +5 -1
  420. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  421. package/dist/esm/q2-checkbox.entry.js +3 -4
  422. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  423. package/dist/esm/q2-context.entry.js +1 -1
  424. package/dist/esm/q2-context.entry.js.map +1 -1
  425. package/dist/esm/q2-currency.entry.js +1 -1
  426. package/dist/esm/q2-data-table.entry.js +19 -9
  427. package/dist/esm/q2-data-table.entry.js.map +1 -1
  428. package/dist/esm/q2-detail.entry.js +2 -2
  429. package/dist/esm/q2-detail.entry.js.map +1 -1
  430. package/dist/esm/q2-dropdown-item.entry.js +3 -1
  431. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  432. package/dist/esm/q2-dropdown.entry.js +33 -8
  433. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  434. package/dist/esm/q2-editable-field.entry.js +1 -1
  435. package/dist/esm/q2-example.entry.js +1 -1
  436. package/dist/esm/q2-file-picker.entry.js +2 -2
  437. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  438. package/dist/esm/q2-form.entry.js +1 -1
  439. package/dist/esm/q2-formatted-text.entry.js +1 -1
  440. package/dist/esm/q2-grid-area.entry.js +10 -2
  441. package/dist/esm/q2-grid-area.entry.js.map +1 -1
  442. package/dist/esm/q2-icon.entry.js +6 -0
  443. package/dist/esm/q2-icon.entry.js.map +1 -1
  444. package/dist/esm/q2-input.entry.js +8 -6
  445. package/dist/esm/q2-input.entry.js.map +1 -1
  446. package/dist/esm/q2-item.entry.js +17 -17
  447. package/dist/esm/q2-item.entry.js.map +1 -1
  448. package/dist/esm/q2-legend.entry.js +1 -1
  449. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  450. package/dist/esm/q2-link_2.entry.js +11 -7
  451. package/dist/esm/q2-link_2.entry.js.map +1 -1
  452. package/dist/esm/q2-message.entry.js +2 -2
  453. package/dist/esm/q2-message.entry.js.map +1 -1
  454. package/dist/esm/q2-meter.entry.js +1 -1
  455. package/dist/esm/q2-modal.entry.js +2 -2
  456. package/dist/esm/q2-month-picker.entry.js +2 -2
  457. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  458. package/dist/esm/q2-optgroup.entry.js +4 -2
  459. package/dist/esm/q2-optgroup.entry.js.map +1 -1
  460. package/dist/esm/q2-option-list.q2-popover.entry.js.map +1 -1
  461. package/dist/esm/q2-option-list_2.entry.js +5 -3
  462. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  463. package/dist/esm/q2-option.entry.js +3 -1
  464. package/dist/esm/q2-option.entry.js.map +1 -1
  465. package/dist/esm/q2-pagination.entry.js +10 -12
  466. package/dist/esm/q2-pagination.entry.js.map +1 -1
  467. package/dist/esm/q2-pill.entry.js +2 -2
  468. package/dist/esm/q2-radio.entry.js +2 -2
  469. package/dist/esm/q2-radio.entry.js.map +1 -1
  470. package/dist/esm/q2-relative-time.entry.js +1 -1
  471. package/dist/esm/q2-section-container.entry.js +2 -0
  472. package/dist/esm/q2-section-container.entry.js.map +1 -1
  473. package/dist/esm/q2-section.entry.js +2 -2
  474. package/dist/esm/q2-select.entry.js +7 -3
  475. package/dist/esm/q2-select.entry.js.map +1 -1
  476. package/dist/esm/q2-stepper-pane.entry.js +3 -1
  477. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  478. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  479. package/dist/esm/q2-stepper.entry.js +7 -3
  480. package/dist/esm/q2-stepper.entry.js.map +1 -1
  481. package/dist/esm/q2-tab-container.entry.js +5 -1
  482. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  483. package/dist/esm/q2-tab-pane.entry.js +9 -2
  484. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  485. package/dist/esm/q2-tag.entry.js +3 -3
  486. package/dist/esm/q2-tag.entry.js.map +1 -1
  487. package/dist/esm/q2-tecton-elements.js +1 -1
  488. package/dist/esm/q2-textarea.entry.js +2 -2
  489. package/dist/esm/q2-textarea.entry.js.map +1 -1
  490. package/dist/esm/q2-toast.entry.js +190 -0
  491. package/dist/esm/q2-toast.entry.js.map +1 -0
  492. package/dist/esm/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +30 -7
  493. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +1 -0
  494. package/dist/esm/tecton-tab-pane.entry.js +4 -2
  495. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  496. package/dist/jest.e2e-coverage.js +25 -0
  497. package/dist/jest.e2e-coverage.js.map +1 -0
  498. package/dist/q2-tecton-elements/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +19 -14
  499. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -0
  500. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  501. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  502. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  503. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  504. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  505. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  506. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  507. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  508. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  509. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  510. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  511. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  512. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  513. package/dist/q2-tecton-elements/component-DVxzK3WH.js +40 -0
  514. package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +1 -0
  515. package/dist/q2-tecton-elements/q2-action-group.q2-resize-observer.entry.esm.js.map +1 -1
  516. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +131 -63
  517. package/dist/q2-tecton-elements/q2-action-group_2.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-action-sheet.entry.esm.js.map +1 -1
  519. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +79 -75
  520. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  521. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  522. package/dist/q2-tecton-elements/q2-avatar.entry.js +7 -7
  523. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  525. package/dist/q2-tecton-elements/q2-btn_2.entry.js +11 -4
  526. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  527. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  528. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -3
  529. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-card-image.entry.esm.js.map +1 -1
  531. package/dist/q2-tecton-elements/q2-card-image.entry.js +11 -11
  532. package/dist/q2-tecton-elements/q2-card-image.entry.js.map +1 -1
  533. package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  535. package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  537. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +25 -20
  538. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  539. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  540. package/dist/q2-tecton-elements/q2-carousel.entry.js +79 -67
  541. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  542. package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
  543. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
  544. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +9 -9
  545. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  546. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +20 -15
  547. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  548. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-checkbox.entry.js +70 -71
  550. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  551. package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
  552. package/dist/q2-tecton-elements/q2-context.entry.js +12 -12
  553. package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
  554. package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
  555. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  556. package/dist/q2-tecton-elements/q2-data-table.entry.js +40 -27
  557. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  558. package/dist/q2-tecton-elements/q2-detail.entry.esm.js.map +1 -1
  559. package/dist/q2-tecton-elements/q2-detail.entry.js +10 -10
  560. package/dist/q2-tecton-elements/q2-detail.entry.js.map +1 -1
  561. package/dist/q2-tecton-elements/q2-dropdown-item.entry.esm.js.map +1 -1
  562. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +11 -8
  563. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  564. package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
  565. package/dist/q2-tecton-elements/q2-dropdown.entry.js +113 -85
  566. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  567. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  568. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  569. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  570. package/dist/q2-tecton-elements/q2-file-picker.entry.js +3 -2
  571. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  572. package/dist/q2-tecton-elements/q2-form.entry.js +7 -7
  573. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  574. package/dist/q2-tecton-elements/q2-grid-area.entry.esm.js.map +1 -1
  575. package/dist/q2-tecton-elements/q2-grid-area.entry.js +18 -7
  576. package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  578. package/dist/q2-tecton-elements/q2-icon.entry.js +145 -137
  579. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  580. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  581. package/dist/q2-tecton-elements/q2-input.entry.js +14 -8
  582. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  583. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-item.entry.js +56 -53
  585. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  586. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  587. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  588. package/dist/q2-tecton-elements/q2-link_2.entry.js +22 -18
  589. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  590. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  591. package/dist/q2-tecton-elements/q2-message.entry.js +9 -9
  592. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  593. package/dist/q2-tecton-elements/q2-meter.entry.js +7 -7
  594. package/dist/q2-tecton-elements/q2-modal.entry.js +21 -21
  595. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  596. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  597. package/dist/q2-tecton-elements/q2-optgroup.entry.esm.js.map +1 -1
  598. package/dist/q2-tecton-elements/q2-optgroup.entry.js +15 -12
  599. package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
  600. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +52 -49
  602. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-option.entry.esm.js.map +1 -1
  604. package/dist/q2-tecton-elements/q2-option.entry.js +15 -12
  605. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  606. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  607. package/dist/q2-tecton-elements/q2-pagination.entry.js +66 -66
  608. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  609. package/dist/q2-tecton-elements/q2-pill.entry.js +37 -37
  610. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  611. package/dist/q2-tecton-elements/q2-radio.entry.js +47 -45
  612. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  613. package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
  614. package/dist/q2-tecton-elements/q2-section-container.entry.esm.js.map +1 -1
  615. package/dist/q2-tecton-elements/q2-section-container.entry.js +5 -2
  616. package/dist/q2-tecton-elements/q2-section-container.entry.js.map +1 -1
  617. package/dist/q2-tecton-elements/q2-section.entry.js +11 -11
  618. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  619. package/dist/q2-tecton-elements/q2-select.entry.js +6 -3
  620. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  621. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  622. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +22 -19
  623. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  624. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +69 -69
  625. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  626. package/dist/q2-tecton-elements/q2-stepper.entry.js +42 -39
  627. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  628. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  629. package/dist/q2-tecton-elements/q2-tab-container.entry.js +21 -16
  630. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  631. package/dist/q2-tecton-elements/q2-tab-pane.entry.esm.js.map +1 -1
  632. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +17 -7
  633. package/dist/q2-tecton-elements/q2-tab-pane.entry.js.map +1 -1
  634. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +1 -1
  635. package/dist/q2-tecton-elements/q2-tag.entry.js +65 -65
  636. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  637. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  638. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  639. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  640. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  641. package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -0
  642. package/dist/q2-tecton-elements/q2-toast.entry.js +222 -0
  643. package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -0
  644. package/dist/q2-tecton-elements/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +167 -145
  645. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +1 -0
  646. package/dist/q2-tecton-elements/tecton-tab-pane.entry.esm.js.map +1 -1
  647. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -8
  648. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js.map +1 -1
  649. package/dist/scripts/docs-generator/index.js +1 -1
  650. package/dist/scripts/docs-generator/index.js.map +1 -1
  651. package/dist/types/Users/kvanhouten/Documents/Work/tecton/packages/q2-tecton-elements/.stencil/jest.e2e-coverage.d.ts +1 -0
  652. package/dist/types/components/q2-action-group/q2-action-group.d.ts +7 -4
  653. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +1 -0
  654. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +0 -5
  655. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -0
  656. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +22 -3
  657. package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +2 -0
  658. package/dist/types/components/q2-input/q2-input.d.ts +4 -5
  659. package/dist/types/components/q2-item/q2-item.d.ts +5 -4
  660. package/dist/types/components/q2-link/q2-link.d.ts +4 -0
  661. package/dist/types/components/q2-pagination/q2-pagination.d.ts +11 -3
  662. package/dist/types/components/q2-select/q2-select.d.ts +1 -2
  663. package/dist/types/components/q2-tab-pane/q2-tab-pane.d.ts +2 -0
  664. package/dist/types/components/q2-toast/q2-toast.d.ts +67 -0
  665. package/dist/types/components.d.ts +189 -34
  666. package/dist/types/utils/action-sheet.d.ts +2 -1
  667. package/dist/types/utils/component.d.ts +4 -0
  668. package/dist/types/utils/sanitize-html-string.d.ts +1 -0
  669. package/package.json +11 -7
  670. package/dist/cjs/action-sheet-CiK2Bap_.js.map +0 -1
  671. package/dist/cjs/sanitize-html-string-DPqrzfM9.js.map +0 -1
  672. package/dist/esm/action-sheet-WwoBwnIp.js.map +0 -1
  673. package/dist/esm/sanitize-html-string-DOVERJq5.js.map +0 -1
  674. package/dist/q2-tecton-elements/action-sheet-WwoBwnIp.js.map +0 -1
  675. package/dist/q2-tecton-elements/sanitize-html-string-DOVERJq5.js.map +0 -1
  676. /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
  677. /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/index.d.ts +0 -0
  678. /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/markdown-generator.d.ts +0 -0
  679. /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/tag-handlers.d.ts +0 -0
  680. /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/types.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"q2-carousel-pane.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/q2-carousel-pane.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Event, Element, Host, Watch, Prop, h, EventEmitter } from '@stencil/core';\nimport { loc } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Carousel Pane\n * @category Display\n * @summary Use as a single slide within a Carousel.\n */\n@Component({ tag: 'q2-carousel-pane', shadow: false, styleUrl: 'q2-carousel-pane.scss' })\nexport class Q2CarouselPane implements ComponentInterface {\n // #region Own Properties\n\n disabledElements?: HTMLElement[] = [];\n mutationObserver?: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Used by `q2-carousel` to determine the pane's index.\n * @private\n */\n @Prop({ reflect: false })\n index: number;\n\n /**\n * Used by `q2-carousel` to indicate which pane is currently active.\n * @private\n */\n @Prop({ reflect: true })\n isActivePane: boolean;\n\n /**\n * Text used only as an `aria-label` for accessibility purposes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Used by `q2-carousel` to indicate how many panes are in the carousel.\n * @private\n */\n @Prop({ reflect: false })\n siblingCount: number;\n\n /**\n * Used by `q2-carousel` to indicate the pane should be frameless.\n * @private\n */\n @Prop({ reflect: true })\n slotFrameless: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the pane is clicked.\n * @deprecated Use 'tctClickCarouselPane' instead\n */\n @Event()\n clickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n /**\n * Emitted when the pane is clicked.\n */\n @Event()\n tctClickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n this.removePointerMoveListeners();\n }\n\n componentDidLoad(): void {\n this.determineDisabledContent();\n this.addPointerMoveListeners();\n\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('isActivePane')\n determineDisabledContent() {\n const { isActivePane } = this;\n const focusableElements = this.hostElement.querySelectorAll<HTMLElement>(\n 'q2-btn, q2-dropdown, q2-item, q2-chart-donut, a[href], button, [tabindex]:not([tabindex=\"-1\"])'\n );\n\n focusableElements.forEach(element => {\n const hasValidTabIndex =\n element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;\n\n if (hasValidTabIndex) {\n element.setAttribute('data-q2-tabindex', `${element.tabIndex}`);\n }\n\n if (isActivePane) {\n if (element.hasAttribute('data-q2-tabindex')) {\n element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));\n element.removeAttribute('data-q2-tabindex');\n } else {\n element.removeAttribute('tabindex');\n }\n } else {\n element.tabIndex = -1;\n }\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get currentPaneIndex() {\n return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);\n }\n\n addPointerMoveListeners() {\n const elementsToDisable = ['q2-dropdown', 'q2-dropdown-item'];\n this.disabledElements = Array.from(this.hostElement.querySelectorAll<HTMLElement>(elementsToDisable.join(',')));\n this.disabledElements.forEach(element => {\n element.addEventListener('pointermove', this.pointerMoveHandler);\n });\n }\n\n generatePaneClass = (currentIndex: number) => {\n return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;\n };\n\n onMutationObserved = () => {\n this.removePointerMoveListeners();\n this.addPointerMoveListeners();\n };\n\n paneClicked = event => {\n if (this.isActivePane) return;\n event.preventDefault();\n mirrorEmit(this, ['clickCarouselPane', 'tctClickCarouselPane'], {\n paneIndex: this.index,\n pane: this.hostElement,\n });\n };\n\n pointerMoveHandler = (event: PointerEvent) => {\n event.stopPropagation();\n };\n\n removePointerMoveListeners() {\n this.disabledElements.forEach(element => {\n element.removeEventListener('pointermove', this.pointerMoveHandler);\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label } = this;\n\n return (\n <Host\n class={this.generatePaneClass(this.currentPaneIndex)}\n tabIndex={this.isActivePane ? 0 : -1}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-hidden={this.isActivePane ? undefined : 'true'}\n aria-label={\n label\n ? loc(label)\n : loc('tecton.element.carousel.itemDescription', [\n (this.currentPaneIndex + 1).toString(),\n (this.siblingCount || 0).toString(),\n ])\n }\n onClick={this.paneClicked}\n >\n <article class=\"q2-carousel-pane-main-content\">\n <slot></slot>\n </article>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-carousel-pane.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/q2-carousel-pane.tsx"],"names":[],"mappings":"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","sourcesContent":["import { hasValidParent } from '@/utils/component';\nimport { Component, ComponentInterface, Event, Element, Host, Watch, Prop, h, EventEmitter } from '@stencil/core';\nimport { loc } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Carousel Pane\n * @category Display\n * @summary Use as a single slide within a Carousel.\n */\n@Component({ tag: 'q2-carousel-pane', shadow: false, styleUrl: 'q2-carousel-pane.scss' })\nexport class Q2CarouselPane implements ComponentInterface {\n // #region Own Properties\n\n disabledElements?: HTMLElement[] = [];\n mutationObserver?: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Used by `q2-carousel` to determine the pane's index.\n * @private\n */\n @Prop({ reflect: false })\n index: number;\n\n /**\n * Used by `q2-carousel` to indicate which pane is currently active.\n * @private\n */\n @Prop({ reflect: true })\n isActivePane: boolean;\n\n /**\n * Text used only as an `aria-label` for accessibility purposes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Used by `q2-carousel` to indicate how many panes are in the carousel.\n * @private\n */\n @Prop({ reflect: false })\n siblingCount: number;\n\n /**\n * Used by `q2-carousel` to indicate the pane should be frameless.\n * @private\n */\n @Prop({ reflect: true })\n slotFrameless: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the pane is clicked.\n * @deprecated Use 'tctClickCarouselPane' instead\n */\n @Event()\n clickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n /**\n * Emitted when the pane is clicked.\n */\n @Event()\n tctClickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n this.removePointerMoveListeners();\n }\n\n componentWillLoad() {\n hasValidParent(this.hostElement, 'div.q2-carousel-swiper-wrapper');\n }\n\n componentDidLoad(): void {\n this.determineDisabledContent();\n this.addPointerMoveListeners();\n\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('isActivePane')\n determineDisabledContent() {\n const { isActivePane } = this;\n const focusableElements = this.hostElement.querySelectorAll<HTMLElement>(\n 'q2-btn, q2-dropdown, q2-item, q2-chart-donut, a[href], button, [tabindex]:not([tabindex=\"-1\"])'\n );\n\n focusableElements.forEach(element => {\n const hasValidTabIndex =\n element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;\n\n if (hasValidTabIndex) {\n element.setAttribute('data-q2-tabindex', `${element.tabIndex}`);\n }\n\n if (isActivePane) {\n if (element.hasAttribute('data-q2-tabindex')) {\n element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));\n element.removeAttribute('data-q2-tabindex');\n } else {\n element.removeAttribute('tabindex');\n }\n } else {\n element.tabIndex = -1;\n }\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get currentPaneIndex() {\n return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);\n }\n\n addPointerMoveListeners() {\n const elementsToDisable = ['q2-dropdown', 'q2-dropdown-item'];\n this.disabledElements = Array.from(this.hostElement.querySelectorAll<HTMLElement>(elementsToDisable.join(',')));\n this.disabledElements.forEach(element => {\n element.addEventListener('pointermove', this.pointerMoveHandler);\n });\n }\n\n generatePaneClass = (currentIndex: number) => {\n return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;\n };\n\n onMutationObserved = () => {\n this.removePointerMoveListeners();\n this.addPointerMoveListeners();\n };\n\n paneClicked = event => {\n if (this.isActivePane) return;\n event.preventDefault();\n mirrorEmit(this, ['clickCarouselPane', 'tctClickCarouselPane'], {\n paneIndex: this.index,\n pane: this.hostElement,\n });\n };\n\n pointerMoveHandler = (event: PointerEvent) => {\n event.stopPropagation();\n };\n\n removePointerMoveListeners() {\n this.disabledElements.forEach(element => {\n element.removeEventListener('pointermove', this.pointerMoveHandler);\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label } = this;\n\n return (\n <Host\n class={this.generatePaneClass(this.currentPaneIndex)}\n tabIndex={this.isActivePane ? 0 : -1}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-hidden={this.isActivePane ? undefined : 'true'}\n aria-label={\n label\n ? loc(label)\n : loc('tecton.element.carousel.itemDescription', [\n (this.currentPaneIndex + 1).toString(),\n (this.siblingCount || 0).toString(),\n ])\n }\n onClick={this.paneClicked}\n >\n <article class=\"q2-carousel-pane-main-content\">\n <slot></slot>\n </article>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}
@@ -250,7 +250,7 @@ export class Q2ChartArea {
250
250
  // #endregion
251
251
  // #region Render Methods
252
252
  render() {
253
- return (h("div", { key: '5691d1f1c6c90bdfa10162a9f62101902bc2e65e', class: "container" }, h("div", { key: '7d71781c2009afda3b98f9a3cef2ac514c6256bd', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "areaChartContainer" })));
253
+ return (h("div", { key: 'cd60bed2147fd67a0781b37271205c3dec484328', class: "container" }, h("div", { key: 'd0832b1fccf4e94e395d456ff6f314ebb5560cd1', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "areaChartContainer" })));
254
254
  }
255
255
  static get is() { return "q2-chart-area"; }
256
256
  static get encapsulation() { return "shadow"; }
@@ -187,7 +187,7 @@ export class Q2ChartBar {
187
187
  // #endregion
188
188
  // #region Render Methods
189
189
  render() {
190
- return (h("div", { key: 'e92407663de1220e1975abfbac4a75846bf269b0', class: "container" }, h("div", { key: '95aad0ffac110f310b25f2b2f2699b3d6c636cf0', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "barChartContainer" })));
190
+ return (h("div", { key: '5e51e9cda9a970424f0d21219784b85194b8e844', class: "container" }, h("div", { key: '65340b646221f4d5408387799aab8af54a992a1e', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "barChartContainer" })));
191
191
  }
192
192
  static get is() { return "q2-chart-bar"; }
193
193
  static get encapsulation() { return "shadow"; }
@@ -516,7 +516,7 @@ export class Q2ChartDonut {
516
516
  } })), !!name && h("div", { class: "name" }, name), !isNaN(value) && h("div", { class: "value" }, displayValue))));
517
517
  }
518
518
  render() {
519
- return (h("click-elsewhere", { key: '23ced82c24f33187009d1e2c8cf72676c98d79d7', onChange: this.onClickElsewhere }, h("figure", { key: '270cb33e34d1f3da9c3b14b52ad54f67ba4a8879' }, h("div", { key: 'e6191127f00b7de3b25caf39e4a2459640a578e2', class: "container" }, h("div", { key: '8e7c8f9ebbfde47298ae9b9abc3e3f79581cdba9', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description' : undefined, class: "chart-container", role: "img", "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined }), this.renderCenterBlock()), this.showLegend && (h("figcaption", { key: '281bee3c990c8ce6dcb84761b24dbf89b5ec6b77' }, h("q2-legend", { key: 'b408731413791360047dbbee9533fb5a0c9db326', class: "legend", data: this.legendData, format: this.format, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
519
+ return (h("click-elsewhere", { key: '3b86b1e2448ab6bf6659f80e0ee13d599ec6d9fd', onChange: this.onClickElsewhere }, h("figure", { key: '60b2a3aaf3b7330f9df2d3203f00c5c5a8e5a72b' }, h("div", { key: '480f4dcc8334e0d2be1a87eef0116c5e1c0a6e8e', class: "container" }, h("div", { key: '03d5e3362a964c848da2a8559f4a5ecb4849cc98', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description' : undefined, class: "chart-container", role: "img", "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined }), this.renderCenterBlock()), this.showLegend && (h("figcaption", { key: 'd6c1827fdae89c0f89446072704f02c0e9b7ac0d' }, h("q2-legend", { key: 'aa35957a67548b7d16b36f424c7cbd6228d12daa', class: "legend", data: this.legendData, format: this.format, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
520
520
  }
521
521
  static get is() { return "q2-chart-donut"; }
522
522
  static get encapsulation() { return "shadow"; }
@@ -92,7 +92,8 @@ button {
92
92
  --comp-checkbox-gap: var(--tct-checkbox-gap, var(--t-checkbox-gap, var(--comp-checkbox-default-gap)));
93
93
  --comp-checkbox-outer-stroke-color: var(--tct-checkbox-outer-stroke-color, var(--t-checkbox-outer-stroke-color, var(--t-a11y-gray-color-AA, #949494)));
94
94
  --comp-checkbox-outer-fill-color: var(--tct-checkbox-outer-fill-color, var(--t-checkbox-outer-fill-color, var(--tct-white, var(--app-white, #ffffff))));
95
- --comp-checkbox-checked-color: var(--tct-checkbox-check-stroke-color, var(--t-checkbox-check-stroke-color, var(--t-checkbox-fill, var(--t-a11y-active-gray-color-AA, #404040))));
95
+ --comp-checkbox-checked-fill-color: var(--tct-checkbox-checked-outer-fill-color, var(--t-primary, #040404));
96
+ --comp-checkbox-checked-color: var(--tct-checkbox-checkmark-stroke-color, var(--tct-white, var(--app-white, #FFFFFF)));
96
97
  --comp-control-width: var(--comp-checkbox-size);
97
98
  --comp-checkbox-error-color: var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));
98
99
  --comp-checkbox-bold-fallback-stroke-width: var(--tct-checkbox-bold-fallback-stroke-width, 0.7px);
@@ -105,8 +106,6 @@ button {
105
106
  --comp-checkbox-description-stroke-width: var(--tct-checkbox-description-stroke-width, var(--comp-checkbox-bold-fallback-stroke-width));
106
107
  --comp-checkbox-description-focused-stroke-width: var(--tct-checkbox-description-focused-stroke-width, var(--comp-checkbox-bold-fallback-stroke-width));
107
108
  --comp-checkbox-description-hover-stroke-width: var(--tct-checkbox-description-hover-stroke-width, var(--comp-checkbox-bold-fallback-stroke-width));
108
- --comp-checkbox-toggle-circle-fill: var(--comp-checkbox-toggle-color);
109
- --comp-checkbox-toggle-circle-fill-active: var(--tct-checkbox-toggle-active-fill, var(--tct-checkbox-toggle-active-color, var(--comp-checkbox-toggle-circle-fill)));
110
109
  display: grid;
111
110
  grid-template-areas: "svg label" "svg description";
112
111
  align-items: center;
@@ -132,7 +131,6 @@ button {
132
131
  .label-control {
133
132
  align-items: center;
134
133
  display: flex;
135
- cursor: pointer;
136
134
  }
137
135
 
138
136
  .label-text {
@@ -170,11 +168,44 @@ button {
170
168
  -webkit-text-stroke-width: var(--comp-checkbox-checked-focused-stroke-width);
171
169
  text-stroke-width: var(--comp-checkbox-checked-focused-stroke-width);
172
170
  }
171
+ :host(:active) .label-text {
172
+ -webkit-text-stroke-width: var(--tct-checkbox-active-stroke-width, unset);
173
+ text-stroke-width: var(--tct-checkbox-active-stroke-width, unset);
174
+ }
175
+ :host([checked]:not([checked=false]):active) .label-text {
176
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-active-stroke-width, unset);
177
+ text-stroke-width: var(--tct-checkbox-checked-active-stroke-width, unset);
178
+ }
179
+ :host([has-error]:not([has-error=false]):hover) .label-text {
180
+ -webkit-text-stroke-width: var(--tct-checkbox-error-hover-stroke-width, unset);
181
+ text-stroke-width: var(--tct-checkbox-error-hover-stroke-width, unset);
182
+ }
183
+ :host([has-error]:not([has-error=false]):focus-within) .label-text {
184
+ -webkit-text-stroke-width: var(--tct-checkbox-error-focused-stroke-width, unset);
185
+ text-stroke-width: var(--tct-checkbox-error-focused-stroke-width, unset);
186
+ }
187
+ :host([has-error]:not([has-error=false]):active) .label-text {
188
+ -webkit-text-stroke-width: var(--tct-checkbox-error-active-stroke-width, unset);
189
+ text-stroke-width: var(--tct-checkbox-error-active-stroke-width, unset);
190
+ }
191
+ :host([checked]:not([checked=false])[has-error]:not([has-error=false]):hover) .label-text {
192
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-error-hover-stroke-width, unset);
193
+ text-stroke-width: var(--tct-checkbox-checked-error-hover-stroke-width, unset);
194
+ }
195
+ :host([checked]:not([checked=false])[has-error]:not([has-error=false]):focus-within) .label-text {
196
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-error-focused-stroke-width, unset);
197
+ text-stroke-width: var(--tct-checkbox-checked-error-focused-stroke-width, unset);
198
+ }
199
+ :host([checked]:not([checked=false])[has-error]:not([has-error=false]):active) .label-text {
200
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-error-active-stroke-width, unset);
201
+ text-stroke-width: var(--tct-checkbox-checked-error-active-stroke-width, unset);
202
+ }
173
203
  .label-text label {
174
204
  line-height: var(--tct-checkbox-label-line-height, 24px);
175
205
  }
176
206
  .label-text label .label-content {
177
207
  display: inline;
208
+ font-size: var(--tct-checkbox-label-font-size, inherit);
178
209
  }
179
210
 
180
211
  .description-text {
@@ -187,13 +218,11 @@ button {
187
218
 
188
219
  label {
189
220
  color: var(--tct-checkbox-label-color);
221
+ cursor: pointer;
190
222
  hyphens: var(--tct-checkbox-label-hyphens, auto);
191
223
  word-break: var(--tct-checkbox-label-word-break, break-word);
192
224
  word-wrap: var(--tct-checkbox-label-word-wrap, break-word);
193
225
  }
194
- :host(:not([type=toggle])) label {
195
- cursor: pointer;
196
- }
197
226
 
198
227
  .checkbox-icon {
199
228
  width: var(--comp-checkbox-size);
@@ -209,10 +238,10 @@ label {
209
238
  transition: fill var(--tct-checkbox-tween, var(--app-tween-2, 0.4s ease));
210
239
  }
211
240
  :host([checked]:not([checked=false]):not([type=favorite])) .checkbox-icon {
212
- stroke: var(--tct-checkbox-checked-outer-stroke-color, var(--t-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color)));
241
+ stroke: var(--comp-checkbox-checked-fill-color, var(--tct-checkbox-checked-outer-stroke-color, var(--t-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color))));
213
242
  }
214
243
  :host([checked]:not([checked=false]):not([type=favorite])) .checkbox-icon rect {
215
- fill: var(--tct-checkbox-checked-outer-fill-color, var(--t-checkbox-checked-outer-fill-color, var(--comp-checkbox-outer-fill-color)));
244
+ fill: var(--comp-checkbox-checked-fill-color);
216
245
  }
217
246
  :host([has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon {
218
247
  stroke: var(--tct-checkbox-error-outer-stroke-color, var(--comp-checkbox-error-color));
@@ -221,6 +250,15 @@ label {
221
250
  :host([has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon rect {
222
251
  fill: var(--tct-checkbox-error-outer-fill-color, var(--comp-checkbox-outer-fill-color));
223
252
  }
253
+ :host([has-error]:not([has-error=false]):not([type=favorite])[checked]:not([checked=false])) .checkbox-icon rect {
254
+ fill: var(--tct-checkbox-error-checked-outer-fill-color);
255
+ }
256
+ :host([indeterminate]:not([indeterminate=false]):not([type=favorite])) .checkbox-icon {
257
+ stroke: var(--comp-checkbox-checked-fill-color, var(--tct-checkbox-checked-outer-stroke-color, var(--t-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color))));
258
+ }
259
+ :host([indeterminate]:not([indeterminate=false]):not([type=favorite])) .checkbox-icon rect {
260
+ fill: var(--comp-checkbox-checked-fill-color);
261
+ }
224
262
  :host(:hover:not([type=favorite])) .checkbox-icon {
225
263
  stroke: var(--tct-checkbox-hover-outer-stroke-color, var(--comp-checkbox-outer-stroke-color));
226
264
  box-shadow: var(--tct-checkbox-hover-box-shadow, var(--tct-checkbox-box-shadow));
@@ -237,7 +275,7 @@ label {
237
275
  }
238
276
  :host(:focus-within:not([type=favorite])) .checkbox-icon {
239
277
  --comp-checkbox-focused-box-shadow: var(--const-double-focus-ring), var(--tct-global-focus, 0 0 0 2px #33b4ff);
240
- stroke: var(--tct-checkbox-focused-outer-stroke-color, var(--t-checkbox-focused-outer-stroke-color, var(--comp-checkbox-checked-color)));
278
+ stroke: var(--tct-checkbox-focused-outer-stroke-color, var(--t-checkbox-focused-outer-stroke-color, var(--comp-checkbox-outer-stroke-color)));
241
279
  fill: var(--tct-checkbox-focused-outer-fill-color, var(--comp-checkbox-outer-fill-color));
242
280
  box-shadow: var(--tct-checkbox-focused-box-shadow, var(--tct-checkbox-box-shadow, var(--comp-checkbox-focused-box-shadow)));
243
281
  }
@@ -287,7 +325,22 @@ label {
287
325
  stroke-linecap: round;
288
326
  stroke-linejoin: round;
289
327
  }
328
+ :host([has-error]:not([has-error=false]):not([type=favorite])) .checkbox-fill {
329
+ stroke: var(--tct-checkbox-error-checkmark-stroke-color, #d20a0a);
330
+ stroke-width: var(--tct-checkbox-error-checkmark-stroke-width, 2.5);
331
+ }
332
+
333
+ .checked-fill {
334
+ stroke-dasharray: 16;
335
+ stroke-dashoffset: 16;
336
+ animation: draw-checkmark 350ms ease-out forwards;
337
+ }
290
338
 
339
+ @keyframes draw-checkmark {
340
+ to {
341
+ stroke-dashoffset: 0;
342
+ }
343
+ }
291
344
  .indeterminate-fill {
292
345
  stroke-width: var(--tct-checkbox-indeterminate-stroke-width, var(--t-checkbox-indeterminate-stroke-width, 3.5));
293
346
  }
@@ -307,7 +360,6 @@ label {
307
360
  }
308
361
 
309
362
  .toggle-indicator {
310
- fill: var(--comp-checkbox-toggle-circle-fill);
311
363
  transition: left var(--comp-checkbox-tween), height var(--comp-checkbox-tween), width var(--comp-checkbox-tween);
312
364
  height: 16px;
313
365
  width: 16px;
@@ -353,11 +405,26 @@ label {
353
405
  :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .toggle-circle {
354
406
  fill: var(--tct-checkbox-toggle-hover-circle-color, var(--t-primary-d1, var(--t-gray-6, #4d4d4d)));
355
407
  }
356
- :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-track {
357
- fill: var(--comp-checkbox-toggle-track-fill-active);
408
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .label-text,
409
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .label-text {
410
+ color: var(--tct-checkbox-label-hover-color, inherit);
411
+ }
412
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .description-text,
413
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .description-text {
414
+ color: var(--tct-checkbox-description-hover-color, inherit);
415
+ -webkit-text-stroke-width: var(--tct-checkbox-description-hover-stroke-width, unset);
416
+ text-stroke-width: var(--tct-checkbox-description-hover-stroke-width, unset);
358
417
  }
359
418
  :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-circle {
360
- fill: var(--comp-checkbox-toggle-circle-fill-active);
419
+ fill: var(--comp-checkbox-toggle-track-fill-active);
420
+ }
421
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .label-text {
422
+ color: var(--tct-checkbox-label-active-color, inherit);
423
+ }
424
+ :host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .description-text {
425
+ color: var(--tct-checkbox-description-active-color, inherit);
426
+ -webkit-text-stroke-width: var(--tct-checkbox-description-active-stroke-width, unset);
427
+ text-stroke-width: var(--tct-checkbox-description-active-stroke-width, unset);
361
428
  }
362
429
  :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])) .toggle-track {
363
430
  box-shadow: inset 0 0 0 1px var(--comp-checkbox-toggle-error-color);
@@ -375,12 +442,30 @@ label {
375
442
  :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .toggle-circle {
376
443
  fill: var(--tct-checkbox-toggle-error-hover-color, var(--comp-checkbox-toggle-error-color));
377
444
  }
445
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .label-text,
446
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .label-text {
447
+ color: var(--tct-checkbox-label-hover-color, inherit);
448
+ }
449
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .description-text,
450
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .description-text {
451
+ color: var(--tct-checkbox-description-hover-color, inherit);
452
+ -webkit-text-stroke-width: var(--tct-checkbox-description-hover-stroke-width, unset);
453
+ text-stroke-width: var(--tct-checkbox-description-hover-stroke-width, unset);
454
+ }
378
455
  :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-track {
379
456
  fill: var(--comp-checkbox-toggle-track-fill-error-active);
380
457
  }
381
458
  :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-circle {
382
459
  fill: var(--tct-checkbox-toggle-error-active-color, var(--comp-checkbox-toggle-error-color));
383
460
  }
461
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .label-text {
462
+ color: var(--tct-checkbox-error-label-active-color, inherit);
463
+ }
464
+ :host(:is(:not([checked]), [checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .description-text {
465
+ color: var(--tct-checkbox-error-description-active-color, inherit);
466
+ -webkit-text-stroke-width: var(--tct-checkbox-error-description-active-stroke-width, unset);
467
+ text-stroke-width: var(--tct-checkbox-error-description-active-stroke-width, unset);
468
+ }
384
469
 
385
470
  :host([checked]:not([checked=false])) .toggle-indicator {
386
471
  left: 18px;
@@ -402,6 +487,16 @@ label {
402
487
  height: 18px;
403
488
  width: 18px;
404
489
  }
490
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .label-text,
491
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .label-text {
492
+ color: var(--tct-checkbox-checked-label-hover-color, inherit);
493
+ }
494
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .description-text,
495
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .description-text {
496
+ color: var(--tct-checkbox-checked-description-hover-color, inherit);
497
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-description-hover-stroke-width, unset);
498
+ text-stroke-width: var(--tct-checkbox-checked-description-hover-stroke-width, unset);
499
+ }
405
500
  :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-track {
406
501
  fill: var(--tct-checkbox-toggle-checked-active-track-color, var(--t-primary-l1, #7755af));
407
502
  }
@@ -409,6 +504,14 @@ label {
409
504
  height: 18px;
410
505
  width: 18px;
411
506
  }
507
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .label-text {
508
+ color: var(--tct-checkbox-checked-label-active-color, inherit);
509
+ }
510
+ :host([checked]:not([checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .description-text {
511
+ color: var(--tct-checkbox-checked-description-active-color, inherit);
512
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-description-active-stroke-width, unset);
513
+ text-stroke-width: var(--tct-checkbox-checked-description-active-stroke-width, unset);
514
+ }
412
515
  :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])) .toggle-track {
413
516
  fill: var(--tct-checkbox-toggle-checked-error-track-color, var(--comp-checkbox-toggle-error-color));
414
517
  }
@@ -416,9 +519,27 @@ label {
416
519
  :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .toggle-track {
417
520
  fill: var(--tct-checkbox-toggle-checked-error-hover-track-color, var(--comp-checkbox-toggle-error-color));
418
521
  }
522
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .label-text,
523
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .label-text {
524
+ color: var(--tct-checkbox-checked-error-label-hover-color, inherit);
525
+ }
526
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .description-text,
527
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .description-text {
528
+ color: var(--tct-checkbox-checked-error-description-hover-color, inherit);
529
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-error-description-hover-stroke-width, unset);
530
+ text-stroke-width: var(--tct-checkbox-checked-error-description-hover-stroke-width, unset);
531
+ }
419
532
  :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .toggle-track {
420
533
  fill: var(--tct-checkbox-toggle-checked-error-active-track-color, var(--comp-checkbox-toggle-error-color));
421
534
  }
535
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .label-text {
536
+ color: var(--tct-checkbox-checked-error-label-active-color, inherit);
537
+ }
538
+ :host([checked]:not([checked=false])):host([has-error]:not([has-error=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :active .description-text {
539
+ color: var(--tct-checkbox-checked-error-description-active-color, inherit);
540
+ -webkit-text-stroke-width: var(--tct-checkbox-checked-error-description-active-stroke-width, unset);
541
+ text-stroke-width: var(--tct-checkbox-checked-error-description-active-stroke-width, unset);
542
+ }
422
543
 
423
544
  :host(:is([disabled]:not([disabled=false]), [group-disabled]:not([group-disabled=false]))) {
424
545
  cursor: not-allowed;
@@ -1,11 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from "../../utils/index";
3
3
  import mirrorEmit from "../../utils/mirror-emit";
4
- /**
5
- * @name Checkbox
6
- * @category Forms
7
- * @summary Use for binary yes/no choices or toggling settings on/off.
8
- */
9
4
  export class Q2Checkbox {
10
5
  constructor() {
11
6
  // #region Own Properties
@@ -83,7 +78,7 @@ export class Q2Checkbox {
83
78
  if (this.indeterminate) {
84
79
  return (h("line", { class: "checkbox-fill indeterminate-fill", x1: "4", y1: "10", x2: "16", y2: "10" }));
85
80
  }
86
- return (h("polyline", { class: "checkbox-fill checked-fill", points: "5 11 8.5 14.5 15 6" }));
81
+ return (h("polyline", { class: "checkbox-fill checked-fill", points: "5 11 8.5 14.5 15 6", key: `checkmark-${this.checked}` }));
87
82
  }
88
83
  renderToggleSVG() {
89
84
  return (h("div", { class: "toggle-svg-container" }, h("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 38 24", class: "toggle-track", "test-id": "toggleTrack" }, h("rect", { width: "38", height: "24", rx: "12" })), h("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 18 18", class: "toggle-indicator", "test-id": "toggleIndicator" }, h("defs", null, h("mask", { id: "xMask", maskUnits: "userSpaceOnUse" }, h("rect", { width: "18", height: "18", fill: "white" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "6.5", x2: "11.5", y2: "11.5", stroke: "black", "stroke-width": "2" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "11.5", x2: "11.5", y2: "6.5", stroke: "black", "stroke-width": "2" })), h("mask", { id: "checkMask" }, h("rect", { width: "18", height: "18", fill: "white" }), h("polyline", { class: "toggle-icon", points: "6,8.5 8.5,11 12.5,6.5", fill: "none" }))), h("circle", { class: "toggle-circle", cx: "9", cy: "9", r: "9", mask: "url(#xMask)" }))));
@@ -92,8 +87,7 @@ export class Q2Checkbox {
92
87
  const textLabelClasses = ['label-text'];
93
88
  if (this.hideLabel)
94
89
  textLabelClasses.push('sr');
95
- const labelId = this.type === 'toggle' ? this._id + '-content' : this._id;
96
- return (h("div", { key: 'fb358c5f7bdac1ad677152ea8360b5db21f6cbf2', class: "container" }, h("input", { key: '4c46b9b869271614065d710cfa26e0be98346c57', ref: el => (this.inputElement = el), "aria-describedby": this.description ? 'description' : undefined, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}`, checked: this.indeterminate || this.checked || false, class: "sr", disabled: !!this.disabled || !!this.groupDisabled, id: this._id, name: this.name || this._id, onClick: this.onInputClick, "test-id": "q2CheckboxInnerCheckBox", type: "checkbox", value: this.value }), h("label", { key: '499549f30bd0be2ba32e77e25fe8fef892806098', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-label": loc(this.label) }, this.renderCheckboxSVG()), h("div", { key: 'f81a8a7cdd78f6c6446c3416eaa921934ce58400', class: textLabelClasses.join(' ') }, h("label", { key: '538c30d0515f41e6b30f9fbd3d908130138b53b4', "test-id": "checkboxLabel", htmlFor: labelId, "aria-hidden": "true" }, h("div", { key: 'afc455d37e1aad644091461f89098c4bb3c82c9f', class: "label-content", id: labelId }, loc(this.label), h("slot", { key: 'b9c2a49b0111a4a7d235ea27fed4962a4bffac7f' })))), this.description && (h("div", { key: '65f3cddc6a3a03b56de355056a802069fc79f561', class: "description-text", "test-id": "checkboxDescription", id: "description" }, loc(this.description)))));
90
+ return (h("div", { key: '04ba9035e03440f96bb35a8eda9bb57d46c07c62', class: "container" }, h("input", { key: 'a5c5db3372642e840e43f6b267cea089125773ae', ref: el => (this.inputElement = el), "aria-describedby": this.description ? 'description' : undefined, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}`, checked: this.indeterminate || this.checked || false, class: "sr", disabled: !!this.disabled || !!this.groupDisabled, id: this._id, name: this.name || this._id, onClick: this.onInputClick, "test-id": "q2CheckboxInnerCheckBox", type: "checkbox", value: this.value }), h("label", { key: '4f6495d8d611d18b532b823b720b710a5982759e', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-label": loc(this.label) }, this.renderCheckboxSVG()), h("div", { key: '32b56050a1996f056e46f43af0b2cbfb4a0f4cde', class: textLabelClasses.join(' ') }, h("label", { key: 'c0cebbc6401cb0d1dd0942ce4be82e5123c0cb67', "test-id": "checkboxLabel", htmlFor: this._id, "aria-hidden": "true" }, h("div", { key: '9eee221501a92d08d25d32fa17ecc42271600eba', class: "label-content" }, loc(this.label), h("slot", { key: '52702ce552aaf01f117014288935f9d4e07a627b' })))), this.description && (h("div", { key: 'fdd50b72e7e48566ef034f288773fe7bc5cc0790', class: "description-text", "test-id": "checkboxDescription", id: "description" }, loc(this.description)))));
97
91
  }
98
92
  static get is() { return "q2-checkbox"; }
99
93
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Checkbox\n * @category Forms\n * @summary Use for binary yes/no choices or toggling settings on/off.\n */\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: 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 * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @deprecated Use 'tctChange' instead\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n mirrorEmit(this, ['change', 'tctChange'], {\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n renderCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.renderToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.renderCheckBoxSVGFill()}\n </svg>\n );\n }\n\n renderCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n />\n );\n }\n\n renderToggleSVG() {\n return (\n <div class=\"toggle-svg-container\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 38 24\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <rect\n width=\"38\"\n height=\"24\"\n rx=\"12\"\n ></rect>\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 18 18\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <defs>\n {/* Mask for the X icon */}\n <mask\n id=\"xMask\"\n maskUnits=\"userSpaceOnUse\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n ></rect>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"6.5\"\n x2=\"11.5\"\n y2=\"11.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"11.5\"\n x2=\"11.5\"\n y2=\"6.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n </mask>\n {/* Mask for the checkmark icon */}\n <mask id=\"checkMask\">\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n />\n <polyline\n class=\"toggle-icon\"\n points=\"6,8.5 8.5,11 12.5,6.5\"\n fill=\"none\"\n />\n </mask>\n </defs>\n <circle\n class=\"toggle-circle\"\n cx=\"9\"\n cy=\"9\"\n r=\"9\"\n mask=\"url(#xMask)\"\n ></circle>\n </svg>\n </div>\n );\n }\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n const labelId = this.type === 'toggle' ? this._id + '-content' : this._id;\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n aria-label={loc(this.label)}\n >\n {this.renderCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={labelId}\n aria-hidden=\"true\"\n >\n <div\n class=\"label-content\"\n id={labelId}\n >\n {loc(this.label)}\n <slot />\n </div>\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: 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 * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @deprecated Use 'tctChange' instead\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n mirrorEmit(this, ['change', 'tctChange'], {\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n renderCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.renderToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.renderCheckBoxSVGFill()}\n </svg>\n );\n }\n\n renderCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n key={`checkmark-${this.checked}`}\n />\n );\n }\n\n renderToggleSVG() {\n return (\n <div class=\"toggle-svg-container\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 38 24\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <rect\n width=\"38\"\n height=\"24\"\n rx=\"12\"\n ></rect>\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 18 18\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <defs>\n {/* Mask for the X icon */}\n <mask\n id=\"xMask\"\n maskUnits=\"userSpaceOnUse\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n ></rect>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"6.5\"\n x2=\"11.5\"\n y2=\"11.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"11.5\"\n x2=\"11.5\"\n y2=\"6.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n </mask>\n {/* Mask for the checkmark icon */}\n <mask id=\"checkMask\">\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n />\n <polyline\n class=\"toggle-icon\"\n points=\"6,8.5 8.5,11 12.5,6.5\"\n fill=\"none\"\n />\n </mask>\n </defs>\n <circle\n class=\"toggle-circle\"\n cx=\"9\"\n cy=\"9\"\n r=\"9\"\n mask=\"url(#xMask)\"\n ></circle>\n </svg>\n </div>\n );\n }\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n aria-label={loc(this.label)}\n >\n {this.renderCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={this._id}\n aria-hidden=\"true\"\n >\n <div class=\"label-content\">\n {loc(this.label)}\n <slot />\n </div>\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { h, Fragment, } from "@stencil/core";
2
2
  import { createGuid, renderLabel } from "../../utils/index";
3
3
  import mirrorEmit from "../../utils/mirror-emit";
4
+ import { hasValidChildren } from "../../utils/component";
4
5
  /**
5
6
  * @name Checkbox Group
6
7
  * @category Forms
@@ -37,6 +38,9 @@ export class Q2CheckboxGroup {
37
38
  }
38
39
  componentWillLoad() {
39
40
  this.updateReadonly();
41
+ if (!hasValidChildren(this.hostElement, 'q2-checkbox')) {
42
+ console.warn('q2-checkbox-group allows other elements as children but only expects and interacts with q2-checkbox', this);
43
+ }
40
44
  }
41
45
  componentDidLoad() {
42
46
  const observer = new MutationObserver(this.onMutationObserved);
@@ -116,7 +120,7 @@ export class Q2CheckboxGroup {
116
120
  render() {
117
121
  const showLabel = this.label || this.optional || this.readonly;
118
122
  const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;
119
- return (h(Fragment, { key: '44505fe44e36b7d67ba883df746642af301e93c9' }, showLabelRow && (h("div", { key: '80e0ee705676e8eb8d3822c84541ab68c99c9d46', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: '3d06022f8d8a19f521ec319596ee7d91549e5f1b', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: '77aaad93ca90f7daa3c52696e044ff2ce68710ab', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '92c24dd81211a1f6934410c255420c137389d010', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: 'ade4a48455c9529b445c10123b9367bdda7487bf', class: "sr-only" }, renderLabel(this)), this.inputDom())));
123
+ return (h(Fragment, { key: 'eaff44b5a38dc022c372e375ec153d42b4a52c7f' }, showLabelRow && (h("div", { key: '8252c6b3958656e3891709de3c54eb6a74247bf0', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: '7a9e381063cfc689f0828dfb926434a9c042121a', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: 'c6e3ffeab88703d7a39216400e9c56021e918dc6', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '671bef4db48e6181a3d1ac542b3c50495b6d1d70', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: '043796604c9300ba8c04d6d53c7a554ba87dc159', class: "sr-only" }, renderLabel(this)), this.inputDom())));
120
124
  }
121
125
  static get is() { return "q2-checkbox-group"; }
122
126
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Checkbox Group\n * @category Forms\n * @summary Use for selecting multiple options from a set of checkboxes.\n * @slot label - An optional slot to display a custom label.\n */\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\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 label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox selection changes.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter;\n\n /**\n * Emitted when the checkbox selection changes.\n */\n @Event()\n tctChange: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return (\n <div class=\"slot-container\">\n <slot />\n </div>\n );\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n mirrorEmit(this, ['change', 'tctChange'], groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n {this.hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError ? `${this.hasError}` : undefined}\n >\n {showLabel && <legend class=\"sr-only\">{renderLabel(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\nimport { hasValidChildren } from '@/utils/component';\n\n/**\n * @name Checkbox Group\n * @category Forms\n * @summary Use for selecting multiple options from a set of checkboxes.\n * @slot label - An optional slot to display a custom label.\n */\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\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 label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox selection changes.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter;\n\n /**\n * Emitted when the checkbox selection changes.\n */\n @Event()\n tctChange: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n if (!hasValidChildren(this.hostElement, 'q2-checkbox')) {\n console.warn(\n 'q2-checkbox-group allows other elements as children but only expects and interacts with q2-checkbox',\n this\n );\n }\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return (\n <div class=\"slot-container\">\n <slot />\n </div>\n );\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n mirrorEmit(this, ['change', 'tctChange'], groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n {this.hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError ? `${this.hasError}` : undefined}\n >\n {showLabel && <legend class=\"sr-only\">{renderLabel(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"]}
@@ -129,7 +129,7 @@ export class Q2Context {
129
129
  // #endregion
130
130
  // #region Render Methods
131
131
  render() {
132
- return (h("div", { key: '13e1e5090a84f557773864c65ae8a7deecde8d75', class: "context-wrapper" }, h("q2-item", { key: 'f2af132511fd69fa3c27fb1566eacae96714e800', class: "context-item" }, this.hasDecoratorSlotContent && (h("slot", { key: '6222b51dd13349e49f277eb28e84916bae682a6c', name: "decorator", slot: "bullet" })), h("div", { key: '10fb8c98c0f2923b0632ae93decbc7b80048013d', class: "context-body", slot: "body" }, h("slot", { key: '50cd5269e8324e09d0e6dffdec0614491e56cfbd', name: "header" }), h("slot", { key: '376ccc9160a12595c7410f1a89281d546bf8e74a', name: "description" })), this.hasAffordanceSlotContent && (h("slot", { key: 'c41bcf91d897cc276669e9a6493ee2ebed269fb0', name: "affordance", slot: "action" }))), this.separator && (h("div", { key: '1219ad5f04c69bbd1224f158c2288774c2beffa8', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (h("q2-action-group", { key: '02de55a2372257c97de651d749a269c3d1df1bca', class: "action-group", orientation: "horizontal" }, h("slot", { key: 'c4032a1f744d4de6f444bfb9aee39ec460771214', name: "action-group" }))), this.hasFooterSlotContent && h("slot", { key: '6c027eee2e199b548aa5776a0d619fbae76e3718', name: "footer" })));
132
+ return (h("div", { key: 'dcb214bdc4218eec7b88966744a27db99ce12ed4', class: "context-wrapper" }, h("q2-item", { key: 'e946e126d9d0e6680d8ace8d708738cbd6f96514', class: "context-item" }, this.hasDecoratorSlotContent && (h("slot", { key: '0b6b468dc64c7652800245881cfab110a126777f', name: "decorator", slot: "decorator" })), h("div", { key: '1ba33f0bca6ce07a6beb0eaaa2133b7dd37b89d4', class: "context-body", slot: "body" }, h("slot", { key: '611090b36432885c918f3a267a85e54e60526aea', name: "header" }), h("slot", { key: 'a98908f8ebce24c9faff28c5ac4bb8f2e00efb94', name: "description" })), this.hasAffordanceSlotContent && (h("slot", { key: '0fca02b51d6ccdd3129bd6800a77af4f137929be', name: "affordance", slot: "action" }))), this.separator && (h("div", { key: 'b794e4969420268c9017775b608a3471c777bd02', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (h("q2-action-group", { key: '3bc5c17a1abfa854bb8320f36106ae13fcf5af52', class: "action-group", orientation: "horizontal" }, h("slot", { key: 'f81004eb46ffec16a24fb35880c53e0c88354c0a', name: "action-group" }))), this.hasFooterSlotContent && h("slot", { key: '0f3440ef96c901203845b07e9774842c1341795e', name: "footer" })));
133
133
  }
134
134
  static get is() { return "q2-context"; }
135
135
  static get encapsulation() { return "shadow"; }