q2-tecton-elements 1.54.4 → 1.55.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 (559) hide show
  1. package/dist/bundle-report.json +2047 -769
  2. package/dist/cjs/{index-76f63767.js → index-905f4c87.js} +3 -2
  3. package/dist/cjs/index-905f4c87.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-group.cjs.entry.js +45 -14
  6. package/dist/cjs/q2-action-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js +4 -1364
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  9. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-badge_7.cjs.entry.js +59 -22
  11. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  16. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-checkbox.cjs.entry.js +21 -21
  23. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-form.cjs.entry.js +23 -0
  33. package/dist/cjs/q2-form.cjs.entry.js.map +1 -0
  34. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  36. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  37. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-loc.cjs.entry.js +20 -26
  39. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-modal.cjs.entry.js +172 -0
  42. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -0
  43. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  44. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-option-list_2.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-option.cjs.entry.js +22 -24
  47. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  49. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  53. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-resize-observer.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  57. package/dist/cjs/q2-select.cjs.entry.js +10 -6
  58. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  59. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-tag.cjs.entry.js +51 -9
  63. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  65. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  66. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  67. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  68. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  69. package/dist/cjs/sanitize-html-string-b8e3b24b.js +1366 -0
  70. package/dist/cjs/sanitize-html-string-b8e3b24b.js.map +1 -0
  71. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  72. package/dist/collection/collection-manifest.json +3 -1
  73. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  74. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  75. package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
  76. package/dist/collection/components/q2-action-group/q2-action-group.js +47 -13
  77. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  78. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js +365 -0
  79. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js.map +1 -0
  80. package/dist/collection/components/q2-action-group/test/{q2-action-group.spec.js → q2-action-group-test.spec.js} +67 -26
  81. package/dist/collection/components/q2-action-group/test/q2-action-group-test.spec.js.map +1 -0
  82. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  83. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  84. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  85. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  86. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  87. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  88. package/dist/collection/components/q2-badge/q2-badge.css +52 -41
  89. package/dist/collection/components/q2-badge/q2-badge.js +88 -22
  90. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  91. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js +35 -126
  92. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  93. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js +415 -0
  94. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js.map +1 -0
  95. package/dist/collection/components/q2-btn/q2-btn.css +12 -10
  96. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  97. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  98. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  99. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  100. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  101. package/dist/collection/components/q2-calendar/q2-calendar.css +2 -0
  102. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  103. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  104. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  105. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  106. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  107. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  108. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  109. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  110. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  112. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  113. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  114. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  115. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  116. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  117. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  118. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  119. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  120. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  121. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  122. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  123. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  124. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  125. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  126. package/dist/collection/components/q2-checkbox/q2-checkbox.css +99 -62
  127. package/dist/collection/components/q2-checkbox/q2-checkbox.js +19 -19
  128. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  129. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js +227 -208
  130. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  131. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +8 -1
  132. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  133. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  134. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  135. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  136. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  137. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  138. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  139. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  140. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  141. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  142. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  143. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  144. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  145. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  146. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  147. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  148. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  149. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  150. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  151. package/dist/collection/components/q2-file-picker/q2-file-picker.css +2 -0
  152. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  153. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  154. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  155. package/dist/collection/components/q2-form/q2-form.css +93 -0
  156. package/dist/collection/components/q2-form/q2-form.js +44 -0
  157. package/dist/collection/components/q2-form/q2-form.js.map +1 -0
  158. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js +93 -0
  159. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js.map +1 -0
  160. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  161. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  162. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  163. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  164. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  165. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js +1 -352
  166. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  167. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js +464 -0
  168. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js.map +1 -0
  169. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  170. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  171. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  172. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  173. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  174. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  175. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  176. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  177. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  178. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  179. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  180. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  181. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  182. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  183. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  184. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  185. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  186. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  187. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  188. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  189. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  190. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  191. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  192. package/dist/collection/components/q2-input/q2-input.css +3 -2
  193. package/dist/collection/components/q2-input/q2-input.js +4 -3
  194. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  195. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  196. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  197. package/dist/collection/components/q2-input/test/q2-input-test.spec.js +10 -0
  198. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  199. package/dist/collection/components/q2-item/q2-item.js +1 -1
  200. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  201. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  202. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  203. package/dist/collection/components/q2-legend/q2-legend.css +1 -1
  204. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  205. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  206. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  207. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  208. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  209. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  210. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
  211. package/dist/collection/components/q2-list/q2-list.js +1 -1
  212. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  213. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  214. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  215. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  216. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  217. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  218. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  219. package/dist/collection/components/q2-loc/q2-loc.js +19 -37
  220. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  221. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +1 -7
  222. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  223. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +140 -82
  224. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  225. package/dist/collection/components/q2-message/q2-message.js +1 -1
  226. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  227. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  228. package/dist/collection/components/q2-modal/q2-modal.css +223 -0
  229. package/dist/collection/components/q2-modal/q2-modal.js +470 -0
  230. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -0
  231. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js +102 -0
  232. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js.map +1 -0
  233. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js +127 -0
  234. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js.map +1 -0
  235. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  236. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  237. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  238. package/dist/collection/components/q2-option/q2-option.js +22 -24
  239. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  240. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +32 -5
  241. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  242. package/dist/collection/components/q2-option/test/q2-option-test.spec.js +137 -19
  243. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  244. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  245. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  246. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
  247. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  248. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  249. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  250. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  251. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  252. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  253. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  254. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  255. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  256. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  257. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  258. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  259. package/dist/collection/components/q2-radio-group/q2-radio-group.css +4 -2
  260. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  261. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  262. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  263. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  264. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  265. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +2 -2
  266. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  267. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  268. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  269. package/dist/collection/components/q2-section/q2-section.js +2 -2
  270. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  271. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  272. package/dist/collection/components/q2-select/q2-select.css +2 -2
  273. package/dist/collection/components/q2-select/q2-select.js +15 -4
  274. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  275. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +5 -1
  276. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  277. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +85 -0
  278. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  279. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  280. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  281. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  282. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  283. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  284. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  285. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  286. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  287. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  288. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  289. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  290. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  291. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  292. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  293. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  294. package/dist/collection/components/q2-tag/q2-tag.css +9 -0
  295. package/dist/collection/components/q2-tag/q2-tag.js +65 -15
  296. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  297. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +131 -341
  298. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  299. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js +719 -0
  300. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js.map +1 -0
  301. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  302. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  303. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  304. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  305. package/dist/collection/components/q2-tooltip/q2-tooltip.css +0 -1
  306. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  307. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  308. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  309. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  310. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  311. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  312. package/dist/collection/index.js.map +1 -1
  313. package/dist/collection/utils/action-sheet.js.map +1 -1
  314. package/dist/collection/utils/charting.js.map +1 -1
  315. package/dist/collection/utils/helpers.js +1 -25
  316. package/dist/collection/utils/helpers.js.map +1 -1
  317. package/dist/collection/utils/index.js +2 -1
  318. package/dist/collection/utils/index.js.map +1 -1
  319. package/dist/collection/utils/mirror-emit.js.map +1 -1
  320. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  321. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  322. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  323. package/dist/collection/utils/test/index.spec.js.map +1 -1
  324. package/dist/components/index.js +4 -0
  325. package/dist/components/index.js.map +1 -1
  326. package/dist/components/index2.js +2 -1
  327. package/dist/components/index2.js.map +1 -1
  328. package/dist/components/q2-action-group.js +1 -116
  329. package/dist/components/q2-action-group.js.map +1 -1
  330. package/dist/components/q2-action-group2.js +151 -0
  331. package/dist/components/q2-action-group2.js.map +1 -0
  332. package/dist/components/q2-action-sheet.js +2 -1362
  333. package/dist/components/q2-action-sheet.js.map +1 -1
  334. package/dist/components/q2-avatar2.js +1 -1
  335. package/dist/components/q2-badge2.js +54 -16
  336. package/dist/components/q2-badge2.js.map +1 -1
  337. package/dist/components/q2-btn2.js +1 -1
  338. package/dist/components/q2-btn2.js.map +1 -1
  339. package/dist/components/q2-calendar.js +1 -1
  340. package/dist/components/q2-calendar.js.map +1 -1
  341. package/dist/components/q2-carousel-pane.js +2 -2
  342. package/dist/components/q2-chart-area.js +1 -1
  343. package/dist/components/q2-chart-bar.js +1 -1
  344. package/dist/components/q2-chart-donut.js +1 -1
  345. package/dist/components/q2-checkbox-group.js +1 -1
  346. package/dist/components/q2-checkbox-group.js.map +1 -1
  347. package/dist/components/q2-checkbox2.js +20 -20
  348. package/dist/components/q2-checkbox2.js.map +1 -1
  349. package/dist/components/q2-currency.js +1 -1
  350. package/dist/components/q2-detail.js +1 -1
  351. package/dist/components/q2-file-picker.js +1 -1
  352. package/dist/components/q2-file-picker.js.map +1 -1
  353. package/dist/components/q2-form.d.ts +11 -0
  354. package/dist/components/q2-form.js +39 -0
  355. package/dist/components/q2-form.js.map +1 -0
  356. package/dist/components/q2-formatted-text.js +1 -1
  357. package/dist/components/q2-input2.js +5 -4
  358. package/dist/components/q2-input2.js.map +1 -1
  359. package/dist/components/q2-item2.js +1 -1
  360. package/dist/components/q2-legend2.js +2 -2
  361. package/dist/components/q2-legend2.js.map +1 -1
  362. package/dist/components/q2-list2.js +1 -1
  363. package/dist/components/q2-loc.js +22 -33
  364. package/dist/components/q2-loc.js.map +1 -1
  365. package/dist/components/q2-message2.js +1 -1
  366. package/dist/components/q2-modal.d.ts +11 -0
  367. package/dist/components/q2-modal.js +231 -0
  368. package/dist/components/q2-modal.js.map +1 -0
  369. package/dist/components/q2-month-picker.js +2 -2
  370. package/dist/components/q2-optgroup2.js +1 -1
  371. package/dist/components/q2-option2.js +23 -25
  372. package/dist/components/q2-option2.js.map +1 -1
  373. package/dist/components/q2-pagination.js +3 -3
  374. package/dist/components/q2-pill.js +1 -1
  375. package/dist/components/q2-popover2.js +1 -1
  376. package/dist/components/q2-radio-group.js +1 -1
  377. package/dist/components/q2-radio-group.js.map +1 -1
  378. package/dist/components/q2-relative-time.js +1 -1
  379. package/dist/components/q2-resize-observer2.js +2 -2
  380. package/dist/components/q2-resize-observer2.js.map +1 -1
  381. package/dist/components/q2-section.js +2 -2
  382. package/dist/components/q2-select2.js +9 -5
  383. package/dist/components/q2-select2.js.map +1 -1
  384. package/dist/components/q2-stepper-vertical.js +1 -1
  385. package/dist/components/q2-stepper.js +1 -1
  386. package/dist/components/q2-tab-container.js +1 -1
  387. package/dist/components/q2-tab-pane.js +1 -1
  388. package/dist/components/q2-tag.js +50 -8
  389. package/dist/components/q2-tag.js.map +1 -1
  390. package/dist/components/q2-textarea.js +2 -2
  391. package/dist/components/q2-textarea.js.map +1 -1
  392. package/dist/components/q2-tooltip.js +1 -1
  393. package/dist/components/q2-tooltip.js.map +1 -1
  394. package/dist/components/sanitize-html-string.js +1364 -0
  395. package/dist/components/sanitize-html-string.js.map +1 -0
  396. package/dist/components/tecton-tab-pane.js +2 -2
  397. package/dist/esm/{index-504f1a9e.js → index-f2a66217.js} +3 -2
  398. package/dist/esm/index-f2a66217.js.map +1 -0
  399. package/dist/esm/loader.js +1 -1
  400. package/dist/esm/q2-action-group.entry.js +45 -14
  401. package/dist/esm/q2-action-group.entry.js.map +1 -1
  402. package/dist/esm/q2-action-sheet.entry.js +3 -1363
  403. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  404. package/dist/esm/q2-avatar.entry.js +1 -1
  405. package/dist/esm/q2-badge_7.entry.js +59 -22
  406. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  407. package/dist/esm/q2-calendar.entry.js +2 -2
  408. package/dist/esm/q2-calendar.entry.js.map +1 -1
  409. package/dist/esm/q2-card.entry.js +1 -1
  410. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  411. package/dist/esm/q2-carousel.entry.js +1 -1
  412. package/dist/esm/q2-chart-area.entry.js +2 -2
  413. package/dist/esm/q2-chart-bar.entry.js +2 -2
  414. package/dist/esm/q2-chart-donut.entry.js +2 -2
  415. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  416. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  417. package/dist/esm/q2-checkbox.entry.js +21 -21
  418. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  419. package/dist/esm/q2-currency.entry.js +1 -1
  420. package/dist/esm/q2-data-table.entry.js +1 -1
  421. package/dist/esm/q2-detail.entry.js +2 -2
  422. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  423. package/dist/esm/q2-dropdown.entry.js +1 -1
  424. package/dist/esm/q2-editable-field.entry.js +1 -1
  425. package/dist/esm/q2-file-picker.entry.js +2 -2
  426. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  427. package/dist/esm/q2-form.entry.js +19 -0
  428. package/dist/esm/q2-form.entry.js.map +1 -0
  429. package/dist/esm/q2-formatted-text.entry.js +1 -1
  430. package/dist/esm/q2-item_3.entry.js +3 -3
  431. package/dist/esm/q2-legend.entry.js +2 -2
  432. package/dist/esm/q2-legend.entry.js.map +1 -1
  433. package/dist/esm/q2-loc.entry.js +21 -27
  434. package/dist/esm/q2-loc.entry.js.map +1 -1
  435. package/dist/esm/q2-message.entry.js +2 -2
  436. package/dist/esm/q2-modal.entry.js +168 -0
  437. package/dist/esm/q2-modal.entry.js.map +1 -0
  438. package/dist/esm/q2-month-picker.entry.js +3 -3
  439. package/dist/esm/q2-optgroup.entry.js +2 -2
  440. package/dist/esm/q2-option-list_2.entry.js +2 -2
  441. package/dist/esm/q2-option.entry.js +22 -24
  442. package/dist/esm/q2-option.entry.js.map +1 -1
  443. package/dist/esm/q2-pagination.entry.js +4 -4
  444. package/dist/esm/q2-pill.entry.js +2 -2
  445. package/dist/esm/q2-radio-group.entry.js +2 -2
  446. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  447. package/dist/esm/q2-radio.entry.js +1 -1
  448. package/dist/esm/q2-relative-time.entry.js +2 -2
  449. package/dist/esm/q2-resize-observer.entry.js +2 -2
  450. package/dist/esm/q2-resize-observer.entry.js.map +1 -1
  451. package/dist/esm/q2-section.entry.js +3 -3
  452. package/dist/esm/q2-select.entry.js +10 -6
  453. package/dist/esm/q2-select.entry.js.map +1 -1
  454. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  455. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  456. package/dist/esm/q2-stepper.entry.js +2 -2
  457. package/dist/esm/q2-tag.entry.js +51 -9
  458. package/dist/esm/q2-tag.entry.js.map +1 -1
  459. package/dist/esm/q2-tecton-elements.js +1 -1
  460. package/dist/esm/q2-textarea.entry.js +3 -3
  461. package/dist/esm/q2-textarea.entry.js.map +1 -1
  462. package/dist/esm/q2-tooltip.entry.js +2 -2
  463. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  464. package/dist/esm/sanitize-html-string-735c19f5.js +1364 -0
  465. package/dist/esm/sanitize-html-string-735c19f5.js.map +1 -0
  466. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  467. package/dist/jest.setup.js +22 -0
  468. package/dist/jest.setup.js.map +1 -0
  469. package/dist/q2-tecton-elements/{index-504f1a9e.js → index-f2a66217.js} +9 -8
  470. package/dist/q2-tecton-elements/index-f2a66217.js.map +1 -0
  471. package/dist/q2-tecton-elements/q2-action-group.entry.js +49 -17
  472. package/dist/q2-tecton-elements/q2-action-group.entry.js.map +1 -1
  473. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +121 -1331
  474. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  475. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  476. package/dist/q2-tecton-elements/q2-badge_7.entry.js +199 -164
  477. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  478. package/dist/q2-tecton-elements/q2-calendar.entry.js +180 -180
  479. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  480. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  481. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
  482. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  483. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  484. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  485. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  486. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +5 -5
  487. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  488. package/dist/q2-tecton-elements/q2-checkbox.entry.js +92 -88
  489. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  490. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  491. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  492. package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
  493. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  494. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  495. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  496. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  497. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  498. package/dist/q2-tecton-elements/q2-form.entry.js +25 -0
  499. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -0
  500. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  501. package/dist/q2-tecton-elements/q2-item_3.entry.js +22 -22
  502. package/dist/q2-tecton-elements/q2-legend.entry.js +6 -6
  503. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  504. package/dist/q2-tecton-elements/q2-loc.entry.js +23 -32
  505. package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -1
  506. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  507. package/dist/q2-tecton-elements/q2-modal.entry.js +226 -0
  508. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -0
  509. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  510. package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
  511. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +4 -4
  512. package/dist/q2-tecton-elements/q2-option.entry.js +38 -38
  513. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  514. package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
  515. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  516. package/dist/q2-tecton-elements/q2-radio-group.entry.js +28 -28
  517. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  519. package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
  520. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +5 -2
  521. package/dist/q2-tecton-elements/q2-resize-observer.entry.js.map +1 -1
  522. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  523. package/dist/q2-tecton-elements/q2-select.entry.js +13 -9
  524. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  525. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  526. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  527. package/dist/q2-tecton-elements/q2-stepper.entry.js +22 -22
  528. package/dist/q2-tecton-elements/q2-tag.entry.js +84 -45
  529. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  531. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  532. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  533. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  535. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js +1214 -0
  537. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js.map +1 -0
  538. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  539. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  540. package/dist/types/components/q2-action-group/q2-action-group.d.ts +5 -2
  541. package/dist/types/components/q2-badge/q2-badge.d.ts +17 -3
  542. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +3 -3
  543. package/dist/types/components/q2-form/q2-form.d.ts +6 -0
  544. package/dist/types/components/q2-loc/q2-loc.d.ts +5 -5
  545. package/dist/types/components/q2-modal/q2-modal.d.ts +80 -0
  546. package/dist/types/components/q2-option/q2-option.d.ts +4 -4
  547. package/dist/types/components/q2-select/q2-select.d.ts +1 -0
  548. package/dist/types/components/q2-tag/q2-tag.d.ts +19 -0
  549. package/dist/types/components.d.ts +182 -6
  550. package/dist/types/util.d.ts +1 -8
  551. package/dist/types/utils/helpers.d.ts +1 -13
  552. package/dist/types/utils/index.d.ts +3 -2
  553. package/package.json +3 -3
  554. package/dist/cjs/index-76f63767.js.map +0 -1
  555. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +0 -166
  556. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +0 -1
  557. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +0 -1
  558. package/dist/esm/index-504f1a9e.js.map +0 -1
  559. package/dist/q2-tecton-elements/index-504f1a9e.js.map +0 -1
@@ -67,76 +67,87 @@ button {
67
67
 
68
68
  :host {
69
69
  display: inline-block;
70
- }
71
-
72
- .badge-wrapper {
73
- --comp-badge-background: var(--tct-badge-background, var(--t-gray8, #61c4ff));
70
+ line-height: 0;
71
+ --comp-badge-font-size: var(--app-font-size-small, 12px);
72
+ --comp-badge-large-font-size: var(--app-font-size-medium, 14px);
73
+ --comp-badge-background: var(--tct-badge-background, var(--t-a11y-gray-color-AAA, #6c6c6c));
74
74
  --comp-badge-color: var(--tct-badge-color, var(--t-base, #ffffff));
75
- --comp-badge-border-style: var(--tct-badge-border-style, solid);
76
- --comp-badge-border-color: var(--tct-badge-border-color, var(--t-secondary-l1, #9a9898));
77
75
  }
78
- :host([status=info]) .badge-wrapper {
76
+ :host:host([status=info]) {
79
77
  --comp-badge-background: var(--tct-badge-info-background, var(--const-stoplight-info, #0079c1));
80
78
  --comp-badge-color: var(--tct-badge-info-color, var(--const-stoplight-info-text, #ffffff));
81
- --comp-badge-border-color: var(--tct-badge-info-border-color, var(--const-stoplight-info-l1, #3a9bd6));
82
79
  }
83
- :host([status=alert]) .badge-wrapper {
80
+ :host:host([status=alert]) {
84
81
  --comp-badge-background: var(--tct-badge-alert-background, var(--const-stoplight-alert, #d20a0a));
85
82
  --comp-badge-color: var(--tct-badge-alert-color, var(--const-stoplight-alert-text, #ffffff));
86
- --comp-badge-border-color: var(--tct-badge-alert-border-color, var(--const-stoplight-alert-l1, #e42929));
87
83
  }
88
- :host([status=warning]) .badge-wrapper {
84
+ :host:host([status=warning]) {
89
85
  --comp-badge-background: var(--tct-badge-warning-background, var(--const-stoplight-warning, #c35500));
90
- --comp-badge-color: var(--tct-badge-warning-color, var(--const-stoplight-warning-text, #423535));
91
- --comp-badge-border-color: var(--tct-badge-warning-border-color, var(--const-stoplight-warning-l1, #f9ce4c));
86
+ --comp-badge-color: var(--tct-badge-warning-color, var(--const-stoplight-warning-text, #ffffff));
92
87
  }
93
- :host([status=success]) .badge-wrapper {
94
- --comp-badge-background: var(--tct-badge-success-background, var(--const-stoplight-success, #57fc45));
88
+ :host:host([status=success]) {
89
+ --comp-badge-background: var(--tct-badge-success-background, var(--const-stoplight-success, #0e8a00));
95
90
  --comp-badge-color: var(--tct-badge-success-color, var(--const-stoplight-success-text, #ffffff));
96
- --comp-badge-border-color: var(--tct-badge-success-border-color, var(--const-stoplight-success-l1, #2eaa21));
97
91
  }
98
- :host([theme=primary]) .badge-wrapper {
99
- --comp-badge-background: var(--tct-badge-primary-background, var(--t-primary, #0079c2));
92
+ :host:host([theme=primary]) {
93
+ --comp-badge-background: var(--tct-badge-primary-background, var(--t-primary, #6a4a9e));
100
94
  --comp-badge-color: var(--tct-badge-primary-color, var(--t-primary-text, #ffffff));
101
- --comp-badge-border-color: var(--tct-badge-primary-border-color, var(--t-primary-l1, #3a9bd6));
102
95
  }
103
- :host([theme=secondary]) .badge-wrapper {
104
- --comp-badge-background: var(--tct-badge-secondary-background, var(--t-secondary, #b4c2cd));
105
- --comp-badge-color: var(--tct-badge-secondary-color, var(--t-secondary-text, #ffffff));
106
- --comp-badge-border-color: var(--tct-badge-secondary-border-color, var(--t-secondary-l1, #c6d1db));
96
+ :host:host([theme=secondary]) {
97
+ --comp-badge-background: var(--tct-badge-secondary-background, var(--t-secondary, #b3c2cc));
98
+ --comp-badge-color: var(--tct-badge-secondary-color, var(--t-secondary-text, #141414));
107
99
  }
108
- :host([theme=tertiary]) .badge-wrapper {
109
- --comp-badge-background: var(--tct-badge-tertiary-background, var(--t-tertiary, #e9f5fc));
110
- --comp-badge-color: var(--tct-badge-tertiary-color, var(--t-tertiary-text, #000000));
111
- --comp-badge-border-color: var(--tct-badge-tertiary-border-color, var(--t-tertiary-l1, #f3f4f5));
100
+ :host:host([theme=tertiary]) {
101
+ --comp-badge-background: var(--tct-badge-tertiary-background, var(--t-tertiary, #e8f5fc));
102
+ --comp-badge-color: var(--tct-badge-tertiary-color, var(--t-tertiary-text, #141414));
112
103
  }
113
104
 
114
- .badge {
115
- font-size: var(--tct-badge-font-size, 10px);
116
- line-height: var(--tct-badge-line-height, 14px);
105
+ .badge-container {
106
+ white-space: nowrap;
107
+ display: inline-flex;
108
+ align-items: center;
109
+ justify-content: center;
117
110
  height: var(--tct-badge-height, 16px);
118
111
  min-width: var(--tct-badge-min-width, 16px);
119
112
  text-align: center;
120
- padding: var(--tct-badge-padding, 0 4px);
113
+ padding: var(--tct-badge-padding, 0 5px);
121
114
  color: var(--comp-badge-color);
122
115
  background: var(--comp-badge-background);
123
- border-style: var(--comp-badge-border-style);
124
- border-color: var(--comp-badge-border-color);
125
- border-width: var(--tct-badge-border-width, var(--t-badge-border-width, 1px));
126
116
  border-radius: var(--tct-badge-border-radius, var(--t-badge-border-radius, 8px));
127
117
  }
118
+ .badge-container .badge-text {
119
+ font-size: var(--comp-badge-font-size);
120
+ line-height: var(--tct-badge-line-height, 14px);
121
+ }
122
+ .badge-container .badge-text ::slotted(p) {
123
+ margin: 0 !important;
124
+ font-size: var(--comp-badge-font-size) !important;
125
+ }
128
126
 
129
- .badge.size-large {
130
- font-size: var(--tct-badge-large-font-size, 14px);
131
- line-height: var(--tct-badge-large-line-height, 20px);
127
+ .badge-container.size-large {
132
128
  height: var(--tct-badge-large-height, 22px);
133
129
  min-width: var(--tct-badge-large-min-width, 22px);
134
130
  border-radius: var(--tct-badge-large-border-radius, 11px);
135
131
  padding: var(--tct-badge-large-padding, 0 6px);
136
132
  }
133
+ .badge-container.size-large .badge-text {
134
+ font-size: var(--comp-badge-large-font-size);
135
+ line-height: var(--tct-badge-large-line-height, 20px);
136
+ }
137
+ .badge-container.size-large .badge-text ::slotted(p) {
138
+ margin: 0 !important;
139
+ font-size: var(--comp-badge-large-font-size) !important;
140
+ }
137
141
 
138
- .badge-wrapper {
139
- display: flex;
140
- align-items: center;
141
- justify-content: center;
142
+ .empty-variant {
143
+ min-width: unset;
144
+ width: 16px;
145
+ height: 16px;
146
+ padding: 0;
147
+ }
148
+ .empty-variant.size-large {
149
+ min-width: unset;
150
+ width: 22px;
151
+ height: 22px;
152
+ padding: 0;
142
153
  }
@@ -1,38 +1,75 @@
1
- import { h, Fragment } from "@stencil/core";
1
+ import { h } from "@stencil/core";
2
+ import { loc } from "../../utils/index";
2
3
  export class Q2Badge {
3
4
  constructor() {
4
5
  this.maxLength = undefined;
5
6
  this.size = undefined;
6
7
  this.status = undefined;
7
8
  this.theme = undefined;
8
- this.value = 0;
9
+ this.value = undefined;
10
+ }
11
+ // #endregion
12
+ // #region Public Methods API
13
+ /**
14
+ * Returns the text content of the badge. This accounts for the text in slotted elements or the Shadow DOM.
15
+ * @testonly
16
+ */
17
+ async getTextContent() {
18
+ if (this.hasSlot) {
19
+ return this.hostElement.textContent.trim();
20
+ }
21
+ else {
22
+ return this.hostElement.shadowRoot.textContent.trim();
23
+ }
9
24
  }
10
25
  // #endregion
11
26
  // #region Local Methods
27
+ get badgeClasses() {
28
+ const badgeClass = ['badge-container'];
29
+ if (!this.badgeText && !this.hasSlot)
30
+ badgeClass.push('empty-variant');
31
+ if (this.size === 'large')
32
+ badgeClass.push('size-large');
33
+ return badgeClass.join(' ');
34
+ }
12
35
  get badgeText() {
13
- const maxValue = Math.pow(10, this.maxLength || 2) - 1;
14
- let value = this.value || 0;
15
- if (isNaN(value) || value <= 0) {
16
- value = '';
36
+ const { maxLength, computedMaxLength } = this;
37
+ let value = this.value;
38
+ let numValue = Math.abs(Number(value));
39
+ if (!value)
40
+ return '';
41
+ if (typeof value === 'string') {
42
+ value = loc(value);
43
+ numValue = Math.abs(Number(value));
44
+ }
45
+ if (typeof value === 'string' && isNaN(numValue)) {
46
+ return value.substring(0, computedMaxLength);
17
47
  }
18
- else if (value <= maxValue) {
19
- value = Number(value).toLocaleString();
48
+ const maxNumber = maxLength ? computedMaxLength : 2;
49
+ const maxNumValue = Math.pow(10, maxNumber) - 1;
50
+ if (numValue > maxNumValue) {
51
+ return maxNumValue.toLocaleString() + '+';
20
52
  }
21
53
  else {
22
- value = Number(maxValue).toLocaleString() + '+';
54
+ return numValue.toLocaleString();
23
55
  }
24
- return value;
56
+ }
57
+ get computedMaxLength() {
58
+ return Math.min(18, this.maxLength || 18);
25
59
  }
26
60
  get hasSlot() {
27
61
  return !!this.hostElement.innerHTML.trim();
28
62
  }
29
63
  // #endregion
30
64
  // #region Render Methods
65
+ renderEmptyBadge() {
66
+ return h("div", { class: this.badgeClasses });
67
+ }
68
+ renderStandardBadge() {
69
+ return (h("div", { class: this.badgeClasses }, h("small", { class: "badge-text" }, this.hasSlot ? h("slot", null) : this.badgeText)));
70
+ }
31
71
  render() {
32
- const badgeClass = ['badge'];
33
- if (this.size === 'large')
34
- badgeClass.push('size-large');
35
- return !this.badgeText && !this.hasSlot ? (h(Fragment, null)) : (h("div", { class: "badge-wrapper" }, h("div", { class: badgeClass.join(' ') }, h("span", { class: "badge-text" }, this.hasSlot ? h("slot", null) : this.badgeText))));
72
+ return !this.badgeText && !this.hasSlot ? this.renderEmptyBadge() : this.renderStandardBadge();
36
73
  }
37
74
  static get is() { return "q2-badge"; }
38
75
  static get encapsulation() { return "shadow"; }
@@ -60,7 +97,7 @@ export class Q2Badge {
60
97
  "optional": false,
61
98
  "docs": {
62
99
  "tags": [],
63
- "text": "The number of digits to show."
100
+ "text": "The number of characters to show. A maximum limit of 18 characters is acceptable."
64
101
  },
65
102
  "attribute": "max-length",
66
103
  "reflect": true
@@ -117,22 +154,51 @@ export class Q2Badge {
117
154
  "reflect": true
118
155
  },
119
156
  "value": {
120
- "type": "number",
157
+ "type": "any",
121
158
  "mutable": false,
122
159
  "complexType": {
123
- "original": "number",
124
- "resolved": "number",
160
+ "original": "number | string",
161
+ "resolved": "number | string",
125
162
  "references": {}
126
163
  },
127
164
  "required": false,
128
165
  "optional": false,
129
166
  "docs": {
130
- "tags": [],
131
- "text": "The number to display in the badge. `q2-badge` also allows slot HTML elements which can be any string."
167
+ "tags": [{
168
+ "name": "info",
169
+ "text": "`q2-badge` also has limited support for slotted HTML elements."
170
+ }, {
171
+ "name": "localizable",
172
+ "text": undefined
173
+ }],
174
+ "text": "What to display in the badge. Negative numbers will be shown as positive."
132
175
  },
133
176
  "attribute": "value",
134
- "reflect": true,
135
- "defaultValue": "0"
177
+ "reflect": true
178
+ }
179
+ };
180
+ }
181
+ static get methods() {
182
+ return {
183
+ "getTextContent": {
184
+ "complexType": {
185
+ "signature": "() => Promise<string>",
186
+ "parameters": [],
187
+ "references": {
188
+ "Promise": {
189
+ "location": "global",
190
+ "id": "global::Promise"
191
+ }
192
+ },
193
+ "return": "Promise<string>"
194
+ },
195
+ "docs": {
196
+ "text": "Returns the text content of the badge. This accounts for the text in slotted elements or the Shadow DOM.",
197
+ "tags": [{
198
+ "name": "testonly",
199
+ "text": undefined
200
+ }]
201
+ }
136
202
  }
137
203
  };
138
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-badge.js","sourceRoot":"","sources":["../../../src/components/q2-badge/q2-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAsB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG1F,MAAM,OAAO,OAAO;;;;;;qBA8BA,CAAC;;IAEjB,aAAa;IACb,wBAAwB;IAExB,IAAI,SAAS;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,KAAK,GAAoB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACtC,EAAC,QAAQ,OAAG,CACf,CAAC,CAAC,CAAC,CACA,WAAK,KAAK,EAAC,eAAe;YACtB,WAAK,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5B,YAAM,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAQ,CAC7E,CACJ,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Fragment } from '@stencil/core';\n\n@Component({ tag: 'q2-badge', shadow: true, styleUrl: 'q2-badge.scss' })\nexport class Q2Badge implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The number of digits to show. */\n @Prop({ reflect: true })\n maxLength: number | undefined;\n\n /** The size of the badge. */\n @Prop({ reflect: true })\n size: 'default' | 'large' | undefined;\n\n /** The stoplight color of the element when `theme` is not present. */\n @Prop({ reflect: true })\n status: 'info' | 'alert' | 'warning' | 'success' | undefined;\n\n /**\n * The color of the badge when in the active state.\n * The `theme` has higher priority than `status`.\n */\n @Prop({ reflect: true })\n theme: 'primary' | 'secondary' | 'tertiary' | undefined;\n\n /** The number to display in the badge. `q2-badge` also allows slot HTML elements which can be any string. */\n @Prop({ reflect: true })\n value: number = 0;\n\n // #endregion\n // #region Local Methods\n\n get badgeText(): string {\n const maxValue = Math.pow(10, this.maxLength || 2) - 1;\n let value: string | number = this.value || 0;\n if (isNaN(value) || value <= 0) {\n value = '';\n } else if (value <= maxValue) {\n value = Number(value).toLocaleString();\n } else {\n value = Number(maxValue).toLocaleString() + '+';\n }\n return value;\n }\n\n get hasSlot(): boolean {\n return !!this.hostElement.innerHTML.trim();\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const badgeClass = ['badge'];\n if (this.size === 'large') badgeClass.push('size-large');\n return !this.badgeText && !this.hasSlot ? (\n <Fragment />\n ) : (\n <div class=\"badge-wrapper\">\n <div class={badgeClass.join(' ')}>\n <span class=\"badge-text\">{this.hasSlot ? <slot></slot> : this.badgeText}</span>\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-badge.js","sourceRoot":"","sources":["../../../../src/components/q2-badge/q2-badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Method } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({ tag: 'q2-badge', shadow: true, styleUrl: 'q2-badge.scss' })\nexport class Q2Badge implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The number of characters to show. A maximum limit of 18 characters is acceptable. */\n @Prop({ reflect: true })\n maxLength: number | undefined;\n\n /** The size of the badge. */\n @Prop({ reflect: true })\n size: 'default' | 'large' | undefined;\n\n /** The stoplight color of the element when `theme` is not present. */\n @Prop({ reflect: true })\n status: 'info' | 'alert' | 'warning' | 'success' | undefined;\n\n /**\n * The color of the badge when in the active state.\n * The `theme` has higher priority than `status`.\n */\n @Prop({ reflect: true })\n theme: 'primary' | 'secondary' | 'tertiary' | undefined;\n\n /**\n * What to display in the badge. Negative numbers will be shown as positive.\n * @info\n * `q2-badge` also has limited support for slotted HTML elements.\n * @localizable\n */\n @Prop({ reflect: true })\n value: number | string;\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Returns the text content of the badge. This accounts for the text in slotted elements or the Shadow DOM.\n * @testonly\n */\n @Method()\n async getTextContent(): Promise<string> {\n if (this.hasSlot) {\n return this.hostElement.textContent.trim();\n } else {\n return this.hostElement.shadowRoot.textContent.trim();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get badgeClasses(): string {\n const badgeClass = ['badge-container'];\n if (!this.badgeText && !this.hasSlot) badgeClass.push('empty-variant');\n if (this.size === 'large') badgeClass.push('size-large');\n return badgeClass.join(' ');\n }\n\n get badgeText(): string {\n const { maxLength, computedMaxLength } = this;\n let value = this.value;\n let numValue = Math.abs(Number(value));\n if (!value) return '';\n\n if (typeof value === 'string') {\n value = loc(value);\n numValue = Math.abs(Number(value));\n }\n\n if (typeof value === 'string' && isNaN(numValue)) {\n return value.substring(0, computedMaxLength);\n }\n\n const maxNumber = maxLength ? computedMaxLength : 2;\n const maxNumValue = Math.pow(10, maxNumber) - 1;\n if (numValue > maxNumValue) {\n return maxNumValue.toLocaleString() + '+';\n } else {\n return numValue.toLocaleString();\n }\n }\n\n get computedMaxLength(): number {\n return Math.min(18, this.maxLength || 18);\n }\n\n get hasSlot(): boolean {\n return !!this.hostElement.innerHTML.trim();\n }\n\n // #endregion\n // #region Render Methods\n\n renderEmptyBadge() {\n return <div class={this.badgeClasses}></div>;\n }\n\n renderStandardBadge() {\n return (\n <div class={this.badgeClasses}>\n <small class=\"badge-text\">{this.hasSlot ? <slot></slot> : this.badgeText}</small>\n </div>\n );\n }\n\n render() {\n return !this.badgeText && !this.hasSlot ? this.renderEmptyBadge() : this.renderStandardBadge();\n }\n\n // #endregion\n}\n"]}
@@ -1,140 +1,49 @@
1
1
  import { evaluateA11y, getListOfStyleCompilationIssues, setup } from "../../../utils/helpers";
2
2
  describe('q2-badge', () => {
3
+ let page;
3
4
  it('properly compiles CSS vars and functions', async () => {
4
- const page = await setup({ html: '<q2-badge></q2-badge>' });
5
+ page = await setup({ html: '<q2-badge></q2-badge>' });
5
6
  expect(await getListOfStyleCompilationIssues(page, 'q2-badge')).toHaveLength(0);
6
7
  });
7
- it('should render value property if value is less than 100', async function () {
8
- const page = await setup({
9
- html: `<q2-badge value=92></q2-badge>`,
10
- });
11
- const text = await page.find('q2-badge >>> .badge-text');
12
- expect(text.innerText).toEqual('92');
13
- });
14
- it('should render value property if value is greater than 100', async function () {
15
- const page = await setup({
16
- html: `<q2-badge value=123></q2-badge>`,
17
- });
18
- const text = await page.find('q2-badge >>> .badge-text');
19
- expect(text.innerText).toEqual('99+');
20
- });
21
- it('should not render badge element if value is not a number', async function () {
22
- const page = await setup({
23
- html: `<q2-badge value="abc"></q2-badge>`,
24
- });
25
- const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');
26
- expect(badgeWrapper).toBeNull();
27
- });
28
- it('should not render badge element if value is zero', async function () {
29
- const page = await setup({
30
- html: `<q2-badge value=0></q2-badge>`,
31
- });
32
- const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');
33
- expect(badgeWrapper).toBeNull();
34
- });
35
- it('should not render badge element if value is negative number', async function () {
36
- const page = await setup({
37
- html: `<q2-badge value=-5></q2-badge>`,
38
- });
39
- const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');
40
- expect(badgeWrapper).toBeNull();
41
- });
42
- it('should not render badge element if value is undefined', async function () {
43
- const page = await setup({
44
- html: `<q2-badge></q2-badge>`,
45
- });
46
- const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');
47
- expect(badgeWrapper).toBeNull();
48
- });
49
- it('should render value property if value is 123456 with maxLength 6', async function () {
50
- const page = await setup({
51
- html: `<q2-badge value=123456 max-length=6></q2-badge>`,
52
- });
53
- const text = await page.find('q2-badge >>> .badge-text');
54
- expect(text.innerText).toEqual('123,456');
55
- });
56
- it('should render value property if value is 12345678 with maxLength 6', async function () {
57
- const page = await setup({
58
- html: `<q2-badge value=12345678 max-length=6></q2-badge>`,
59
- });
60
- const text = await page.find('q2-badge >>> .badge-text');
61
- expect(text.innerText).toEqual('999,999+');
62
- });
63
- it('should render badge border', async function () {
64
- const page = await setup({
65
- html: `<q2-badge value=12345678 max-length=6></q2-badge>`,
66
- });
67
- const badge = await page.find('q2-badge >>> .badge');
68
- const badgeBorderColor = await badge.getComputedStyle();
69
- expect(badgeBorderColor.borderColor).toEqual('rgb(154, 152, 152)');
70
- });
71
- it('should render badge with plain text slot(slot comes first than value)', async function () {
72
- const slotValue = '+32';
73
- const page = await setup({
74
- html: `<q2-badge value=12345678>${slotValue}</q2-badge>`,
75
- });
76
- const badge = await page.find('q2-badge');
77
- expect(badge.textContent.trim()).toEqual(slotValue);
78
- });
79
- it('should render badge with html slot(slot comes first than value)', async function () {
80
- const slotValue = '<b>Bold</b>';
81
- const page = await setup({
82
- html: `<q2-badge value=12345678>${slotValue}</q2-badge>`,
83
- });
84
- const badge = await page.find('q2-badge');
85
- expect(badge.innerHTML).toEqual(slotValue);
86
- });
87
- it('should render badge border when status is passed', async function () {
88
- const pageInfo = await setup({
89
- html: `<q2-badge value=12345678 status="info"></q2-badge>`,
90
- });
91
- const badgeInfo = await pageInfo.find('q2-badge >>> .badge');
92
- const InfoBorderColor = await badgeInfo.getComputedStyle();
93
- expect(InfoBorderColor.borderColor).toEqual('rgb(58, 155, 214)');
94
- const pageAlert = await setup({
95
- html: `<q2-badge value=12345678 status="alert"></q2-badge>`,
96
- });
97
- const badgeAlert = await pageAlert.find('q2-badge >>> .badge');
98
- const alertBorderColor = await badgeAlert.getComputedStyle();
99
- expect(alertBorderColor.borderColor).toEqual('rgb(228, 41, 41)');
100
- const pageWarning = await setup({
101
- html: `<q2-badge value=12345678 status="warning"></q2-badge>`,
102
- });
103
- const badgeWarning = await pageWarning.find('q2-badge >>> .badge');
104
- const warningBorderColor = await badgeWarning.getComputedStyle();
105
- expect(warningBorderColor.borderColor).toEqual('rgb(249, 206, 76)');
106
- const pageSuccess = await setup({
107
- html: `<q2-badge value=12345678 status="success"></q2-badge>`,
108
- });
109
- const badgeSuccess = await pageSuccess.find('q2-badge >>> .badge');
110
- const successBorderColor = await badgeSuccess.getComputedStyle();
111
- expect(successBorderColor.borderColor).toEqual('rgb(46, 170, 33)');
112
- });
113
- it('should render correct border color when theme is passed', async function () {
114
- const pagePrimary = await setup({
115
- html: `<q2-badge value=12345678 theme="primary" max-length=6></q2-badge>`,
116
- });
117
- const badgePrimary = await pagePrimary.find('q2-badge >>> .badge');
118
- const primaryBorderColor = await badgePrimary.getComputedStyle();
119
- expect(primaryBorderColor.borderColor).toEqual('rgb(58, 155, 214)');
120
- const pageSecondary = await setup({
121
- html: `<q2-badge value=12345678 theme="secondary" max-length=6></q2-badge>`,
8
+ describe('Styling', () => {
9
+ let badge;
10
+ let styles;
11
+ describe('when a value is provided', () => {
12
+ it('has proper height for default size', async () => {
13
+ page = await setup({ html: '<q2-badge value="text"></q2-badge>' });
14
+ badge = await page.find('q2-badge');
15
+ styles = await badge.getComputedStyle();
16
+ expect(styles.height).toEqual('16px');
17
+ });
18
+ it('has proper height for large size', async () => {
19
+ page = await setup({ html: '<q2-badge value="text" size="large"></q2-badge>' });
20
+ badge = await page.find('q2-badge');
21
+ styles = await badge.getComputedStyle();
22
+ expect(styles.height).toEqual('22px');
23
+ });
122
24
  });
123
- const badgeSecondary = await pageSecondary.find('q2-badge >>> .badge');
124
- const secondaryBorderColor = await badgeSecondary.getComputedStyle();
125
- expect(secondaryBorderColor.borderColor).toEqual('rgb(198, 209, 219)');
126
- const pageTertiary = await setup({
127
- html: `<q2-badge value=12345678 theme="tertiary" max-length=6></q2-badge>`,
25
+ describe('in empty state', () => {
26
+ it('has proper height and width for default size', async () => {
27
+ page = await setup({ html: '<q2-badge></q2-badge>' });
28
+ badge = await page.find('q2-badge');
29
+ styles = await badge.getComputedStyle();
30
+ expect(styles.height).toEqual('16px');
31
+ expect(styles.width).toEqual('16px');
32
+ });
33
+ it('has proper height and width for large size', async () => {
34
+ page = await setup({ html: '<q2-badge size="large"></q2-badge>' });
35
+ badge = await page.find('q2-badge');
36
+ styles = await badge.getComputedStyle();
37
+ expect(styles.height).toEqual('22px');
38
+ expect(styles.width).toEqual('22px');
39
+ });
128
40
  });
129
- const badgeTertiary = await pageTertiary.find('q2-badge >>> .badge');
130
- const tertiaryBorderColor = await badgeTertiary.getComputedStyle();
131
- expect(tertiaryBorderColor.borderColor).toEqual('rgb(243, 244, 245)');
132
41
  });
133
42
  describe('Accessibility', () => {
134
43
  describe('aXe DevTools', () => {
135
44
  it('does not have accessibility violations', async () => {
136
- const page = await setup({
137
- html: `<q2-badge value=123 theme="primary"></q2-badge>`,
45
+ page = await setup({
46
+ html: `<q2-badge value="123" theme="primary"></q2-badge>`,
138
47
  });
139
48
  const hasViolations = await evaluateA11y(page);
140
49
  expect(hasViolations).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"q2-badge-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-badge/test/q2-badge-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-badge', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-badge></q2-badge>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-badge')).toHaveLength(0);\n });\n\n it('should render value property if value is less than 100', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=92></q2-badge>`,\n });\n const text = await page.find('q2-badge >>> .badge-text');\n expect(text.innerText).toEqual('92');\n });\n\n it('should render value property if value is greater than 100', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=123></q2-badge>`,\n });\n const text = await page.find('q2-badge >>> .badge-text');\n expect(text.innerText).toEqual('99+');\n });\n\n it('should not render badge element if value is not a number', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=\"abc\"></q2-badge>`,\n });\n const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');\n expect(badgeWrapper).toBeNull();\n });\n\n it('should not render badge element if value is zero', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=0></q2-badge>`,\n });\n const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');\n expect(badgeWrapper).toBeNull();\n });\n\n it('should not render badge element if value is negative number', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=-5></q2-badge>`,\n });\n const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');\n expect(badgeWrapper).toBeNull();\n });\n\n it('should not render badge element if value is undefined', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge></q2-badge>`,\n });\n const badgeWrapper = await page.find('q2-badge >>> .badge-wrapper');\n expect(badgeWrapper).toBeNull();\n });\n\n it('should render value property if value is 123456 with maxLength 6', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=123456 max-length=6></q2-badge>`,\n });\n const text = await page.find('q2-badge >>> .badge-text');\n expect(text.innerText).toEqual('123,456');\n });\n\n it('should render value property if value is 12345678 with maxLength 6', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=12345678 max-length=6></q2-badge>`,\n });\n const text = await page.find('q2-badge >>> .badge-text');\n expect(text.innerText).toEqual('999,999+');\n });\n\n it('should render badge border', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-badge value=12345678 max-length=6></q2-badge>`,\n });\n const badge = await page.find('q2-badge >>> .badge');\n const badgeBorderColor = await badge.getComputedStyle();\n expect(badgeBorderColor.borderColor).toEqual('rgb(154, 152, 152)');\n });\n\n it('should render badge with plain text slot(slot comes first than value)', async function (): Promise<void> {\n const slotValue = '+32';\n const page = await setup({\n html: `<q2-badge value=12345678>${slotValue}</q2-badge>`,\n });\n const badge = await page.find('q2-badge');\n expect(badge.textContent.trim()).toEqual(slotValue);\n });\n\n it('should render badge with html slot(slot comes first than value)', async function (): Promise<void> {\n const slotValue = '<b>Bold</b>';\n const page = await setup({\n html: `<q2-badge value=12345678>${slotValue}</q2-badge>`,\n });\n const badge = await page.find('q2-badge');\n expect(badge.innerHTML).toEqual(slotValue);\n });\n\n it('should render badge border when status is passed', async function (): Promise<void> {\n const pageInfo = await setup({\n html: `<q2-badge value=12345678 status=\"info\"></q2-badge>`,\n });\n const badgeInfo = await pageInfo.find('q2-badge >>> .badge');\n const InfoBorderColor = await badgeInfo.getComputedStyle();\n expect(InfoBorderColor.borderColor).toEqual('rgb(58, 155, 214)');\n\n const pageAlert = await setup({\n html: `<q2-badge value=12345678 status=\"alert\"></q2-badge>`,\n });\n const badgeAlert = await pageAlert.find('q2-badge >>> .badge');\n const alertBorderColor = await badgeAlert.getComputedStyle();\n expect(alertBorderColor.borderColor).toEqual('rgb(228, 41, 41)');\n\n const pageWarning = await setup({\n html: `<q2-badge value=12345678 status=\"warning\"></q2-badge>`,\n });\n const badgeWarning = await pageWarning.find('q2-badge >>> .badge');\n const warningBorderColor = await badgeWarning.getComputedStyle();\n expect(warningBorderColor.borderColor).toEqual('rgb(249, 206, 76)');\n\n const pageSuccess = await setup({\n html: `<q2-badge value=12345678 status=\"success\"></q2-badge>`,\n });\n const badgeSuccess = await pageSuccess.find('q2-badge >>> .badge');\n const successBorderColor = await badgeSuccess.getComputedStyle();\n expect(successBorderColor.borderColor).toEqual('rgb(46, 170, 33)');\n });\n\n it('should render correct border color when theme is passed', async function (): Promise<void> {\n const pagePrimary = await setup({\n html: `<q2-badge value=12345678 theme=\"primary\" max-length=6></q2-badge>`,\n });\n const badgePrimary = await pagePrimary.find('q2-badge >>> .badge');\n const primaryBorderColor = await badgePrimary.getComputedStyle();\n expect(primaryBorderColor.borderColor).toEqual('rgb(58, 155, 214)');\n\n const pageSecondary = await setup({\n html: `<q2-badge value=12345678 theme=\"secondary\" max-length=6></q2-badge>`,\n });\n const badgeSecondary = await pageSecondary.find('q2-badge >>> .badge');\n const secondaryBorderColor = await badgeSecondary.getComputedStyle();\n expect(secondaryBorderColor.borderColor).toEqual('rgb(198, 209, 219)');\n\n const pageTertiary = await setup({\n html: `<q2-badge value=12345678 theme=\"tertiary\" max-length=6></q2-badge>`,\n });\n const badgeTertiary = await pageTertiary.find('q2-badge >>> .badge');\n const tertiaryBorderColor = await badgeTertiary.getComputedStyle();\n expect(tertiaryBorderColor.borderColor).toEqual('rgb(243, 244, 245)');\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({\n html: `<q2-badge value=123 theme=\"primary\"></q2-badge>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n});\n"]}
1
+ {"version":3,"file":"q2-badge-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-badge/test/q2-badge-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\nimport { E2EElement, E2EPage } from '@stencil/core/testing';\n\ndescribe('q2-badge', () => {\n let page: E2EPage;\n it('properly compiles CSS vars and functions', async () => {\n page = await setup({ html: '<q2-badge></q2-badge>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-badge')).toHaveLength(0);\n });\n\n describe('Styling', () => {\n let badge: E2EElement;\n let styles: CSSStyleDeclaration;\n describe('when a value is provided', () => {\n it('has proper height for default size', async () => {\n page = await setup({ html: '<q2-badge value=\"text\"></q2-badge>' });\n badge = await page.find('q2-badge');\n styles = await badge.getComputedStyle();\n\n expect(styles.height).toEqual('16px');\n });\n\n it('has proper height for large size', async () => {\n page = await setup({ html: '<q2-badge value=\"text\" size=\"large\"></q2-badge>' });\n badge = await page.find('q2-badge');\n styles = await badge.getComputedStyle();\n\n expect(styles.height).toEqual('22px');\n });\n });\n\n describe('in empty state', () => {\n it('has proper height and width for default size', async () => {\n page = await setup({ html: '<q2-badge></q2-badge>' });\n badge = await page.find('q2-badge');\n styles = await badge.getComputedStyle();\n\n expect(styles.height).toEqual('16px');\n expect(styles.width).toEqual('16px');\n });\n\n it('has proper height and width for large size', async () => {\n page = await setup({ html: '<q2-badge size=\"large\"></q2-badge>' });\n badge = await page.find('q2-badge');\n styles = await badge.getComputedStyle();\n\n expect(styles.height).toEqual('22px');\n expect(styles.width).toEqual('22px');\n });\n });\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n page = await setup({\n html: `<q2-badge value=\"123\" theme=\"primary\"></q2-badge>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n});\n"]}