q2-tecton-elements 1.54.3 → 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 (576) hide show
  1. package/dist/bundle-report.json +2135 -776
  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 +22 -3
  28. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-form.cjs.entry.js +23 -0
  34. package/dist/cjs/q2-form.cjs.entry.js.map +1 -0
  35. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  37. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  38. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  39. package/dist/cjs/q2-loc.cjs.entry.js +20 -26
  40. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-modal.cjs.entry.js +172 -0
  43. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-option-list_2.cjs.entry.js +9 -7
  47. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-option.cjs.entry.js +37 -25
  49. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  51. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-resize-observer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  59. package/dist/cjs/q2-select.cjs.entry.js +10 -6
  60. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/q2-tag.cjs.entry.js +51 -9
  65. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  67. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  68. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  69. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  70. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  71. package/dist/cjs/sanitize-html-string-b8e3b24b.js +1366 -0
  72. package/dist/cjs/sanitize-html-string-b8e3b24b.js.map +1 -0
  73. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  74. package/dist/collection/collection-manifest.json +3 -1
  75. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  76. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  77. package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
  78. package/dist/collection/components/q2-action-group/q2-action-group.js +47 -13
  79. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  80. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js +365 -0
  81. package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js.map +1 -0
  82. package/dist/collection/components/q2-action-group/test/{q2-action-group.spec.js → q2-action-group-test.spec.js} +67 -26
  83. package/dist/collection/components/q2-action-group/test/q2-action-group-test.spec.js.map +1 -0
  84. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  85. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  86. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  87. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  88. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  89. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  90. package/dist/collection/components/q2-badge/q2-badge.css +52 -41
  91. package/dist/collection/components/q2-badge/q2-badge.js +88 -22
  92. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  93. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js +35 -126
  94. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js +415 -0
  96. package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js.map +1 -0
  97. package/dist/collection/components/q2-btn/q2-btn.css +12 -10
  98. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  99. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  100. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  101. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  102. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  103. package/dist/collection/components/q2-calendar/q2-calendar.css +2 -0
  104. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  105. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  106. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  107. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  108. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  109. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  110. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  112. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  113. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  114. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  115. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  116. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  117. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  118. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  119. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  120. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  121. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  122. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  123. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  124. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  125. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  126. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  127. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  128. package/dist/collection/components/q2-checkbox/q2-checkbox.css +99 -62
  129. package/dist/collection/components/q2-checkbox/q2-checkbox.js +19 -19
  130. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  131. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js +227 -208
  132. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  133. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +8 -1
  134. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  135. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  136. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  137. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  138. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  139. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  140. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  141. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  142. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  143. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  144. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  145. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +38 -2
  146. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  147. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +21 -2
  148. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  149. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +43 -2
  150. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  151. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  152. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  153. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  154. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  155. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  156. package/dist/collection/components/q2-file-picker/q2-file-picker.css +2 -0
  157. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  158. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  159. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  160. package/dist/collection/components/q2-form/q2-form.css +93 -0
  161. package/dist/collection/components/q2-form/q2-form.js +44 -0
  162. package/dist/collection/components/q2-form/q2-form.js.map +1 -0
  163. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js +93 -0
  164. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js.map +1 -0
  165. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  166. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  167. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  168. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  169. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  170. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js +1 -352
  171. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  172. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js +464 -0
  173. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js.map +1 -0
  174. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  175. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  176. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  177. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  178. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  179. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  180. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  181. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  182. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  183. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  184. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  185. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  186. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  187. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  188. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  189. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  190. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  191. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  192. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  193. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  194. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  195. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  196. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  197. package/dist/collection/components/q2-input/q2-input.css +3 -2
  198. package/dist/collection/components/q2-input/q2-input.js +4 -3
  199. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  200. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  201. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  202. package/dist/collection/components/q2-input/test/q2-input-test.spec.js +10 -0
  203. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  204. package/dist/collection/components/q2-item/q2-item.js +1 -1
  205. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  206. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  207. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  208. package/dist/collection/components/q2-legend/q2-legend.css +1 -1
  209. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  210. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  211. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  212. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  213. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  214. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  215. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
  216. package/dist/collection/components/q2-list/q2-list.js +1 -1
  217. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  218. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  219. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  220. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  221. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  222. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  223. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  224. package/dist/collection/components/q2-loc/q2-loc.js +19 -37
  225. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  226. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +1 -7
  227. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  228. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +140 -82
  229. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  230. package/dist/collection/components/q2-message/q2-message.js +1 -1
  231. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  232. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  233. package/dist/collection/components/q2-modal/q2-modal.css +223 -0
  234. package/dist/collection/components/q2-modal/q2-modal.js +470 -0
  235. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -0
  236. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js +102 -0
  237. package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js.map +1 -0
  238. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js +127 -0
  239. package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js.map +1 -0
  240. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  241. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  242. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  243. package/dist/collection/components/q2-option/q2-option.js +51 -25
  244. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  245. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +40 -94
  246. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  247. package/dist/collection/components/q2-option/test/q2-option-test.spec.js +137 -19
  248. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  249. package/dist/collection/components/q2-option-list/q2-option-list.js +7 -5
  250. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  251. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  252. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
  253. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  254. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  255. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  256. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  257. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  258. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  259. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  260. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  261. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  262. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  263. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  264. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  265. package/dist/collection/components/q2-radio-group/q2-radio-group.css +4 -2
  266. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  267. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  268. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  269. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  270. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  271. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +2 -2
  272. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  273. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  274. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  275. package/dist/collection/components/q2-section/q2-section.js +2 -2
  276. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  277. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  278. package/dist/collection/components/q2-select/q2-select.css +2 -2
  279. package/dist/collection/components/q2-select/q2-select.js +15 -4
  280. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  281. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +5 -1
  282. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  283. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +85 -0
  284. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  285. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  286. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  287. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  288. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  289. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  290. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  291. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  292. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  293. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  294. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  295. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  296. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  297. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  298. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  299. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  300. package/dist/collection/components/q2-tag/q2-tag.css +9 -0
  301. package/dist/collection/components/q2-tag/q2-tag.js +65 -15
  302. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  303. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +131 -341
  304. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  305. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js +719 -0
  306. package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js.map +1 -0
  307. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  308. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  309. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  310. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  311. package/dist/collection/components/q2-tooltip/q2-tooltip.css +0 -1
  312. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  313. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  314. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  315. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  316. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  317. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  318. package/dist/collection/index.js.map +1 -1
  319. package/dist/collection/utils/action-sheet.js.map +1 -1
  320. package/dist/collection/utils/charting.js.map +1 -1
  321. package/dist/collection/utils/helpers.js +1 -25
  322. package/dist/collection/utils/helpers.js.map +1 -1
  323. package/dist/collection/utils/index.js +2 -1
  324. package/dist/collection/utils/index.js.map +1 -1
  325. package/dist/collection/utils/mirror-emit.js +19 -0
  326. package/dist/collection/utils/mirror-emit.js.map +1 -0
  327. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  328. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  329. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  330. package/dist/collection/utils/test/index.spec.js.map +1 -1
  331. package/dist/components/index.js +4 -0
  332. package/dist/components/index.js.map +1 -1
  333. package/dist/components/index2.js +2 -1
  334. package/dist/components/index2.js.map +1 -1
  335. package/dist/components/q2-action-group.js +1 -116
  336. package/dist/components/q2-action-group.js.map +1 -1
  337. package/dist/components/q2-action-group2.js +151 -0
  338. package/dist/components/q2-action-group2.js.map +1 -0
  339. package/dist/components/q2-action-sheet.js +2 -1362
  340. package/dist/components/q2-action-sheet.js.map +1 -1
  341. package/dist/components/q2-avatar2.js +1 -1
  342. package/dist/components/q2-badge2.js +54 -16
  343. package/dist/components/q2-badge2.js.map +1 -1
  344. package/dist/components/q2-btn2.js +1 -1
  345. package/dist/components/q2-btn2.js.map +1 -1
  346. package/dist/components/q2-calendar.js +1 -1
  347. package/dist/components/q2-calendar.js.map +1 -1
  348. package/dist/components/q2-carousel-pane.js +2 -2
  349. package/dist/components/q2-chart-area.js +1 -1
  350. package/dist/components/q2-chart-bar.js +1 -1
  351. package/dist/components/q2-chart-donut.js +1 -1
  352. package/dist/components/q2-checkbox-group.js +1 -1
  353. package/dist/components/q2-checkbox-group.js.map +1 -1
  354. package/dist/components/q2-checkbox2.js +20 -20
  355. package/dist/components/q2-checkbox2.js.map +1 -1
  356. package/dist/components/q2-currency.js +1 -1
  357. package/dist/components/q2-detail.js +1 -1
  358. package/dist/components/q2-dropdown-item2.js +21 -2
  359. package/dist/components/q2-dropdown-item2.js.map +1 -1
  360. package/dist/components/q2-file-picker.js +1 -1
  361. package/dist/components/q2-file-picker.js.map +1 -1
  362. package/dist/components/q2-form.d.ts +11 -0
  363. package/dist/components/q2-form.js +39 -0
  364. package/dist/components/q2-form.js.map +1 -0
  365. package/dist/components/q2-formatted-text.js +1 -1
  366. package/dist/components/q2-input2.js +5 -4
  367. package/dist/components/q2-input2.js.map +1 -1
  368. package/dist/components/q2-item2.js +1 -1
  369. package/dist/components/q2-legend2.js +2 -2
  370. package/dist/components/q2-legend2.js.map +1 -1
  371. package/dist/components/q2-list2.js +1 -1
  372. package/dist/components/q2-loc.js +22 -33
  373. package/dist/components/q2-loc.js.map +1 -1
  374. package/dist/components/q2-message2.js +1 -1
  375. package/dist/components/q2-modal.d.ts +11 -0
  376. package/dist/components/q2-modal.js +231 -0
  377. package/dist/components/q2-modal.js.map +1 -0
  378. package/dist/components/q2-month-picker.js +2 -2
  379. package/dist/components/q2-optgroup2.js +1 -1
  380. package/dist/components/q2-option-list2.js +7 -5
  381. package/dist/components/q2-option-list2.js.map +1 -1
  382. package/dist/components/q2-option2.js +38 -26
  383. package/dist/components/q2-option2.js.map +1 -1
  384. package/dist/components/q2-pagination.js +3 -3
  385. package/dist/components/q2-pill.js +1 -1
  386. package/dist/components/q2-popover2.js +1 -1
  387. package/dist/components/q2-radio-group.js +1 -1
  388. package/dist/components/q2-radio-group.js.map +1 -1
  389. package/dist/components/q2-relative-time.js +1 -1
  390. package/dist/components/q2-resize-observer2.js +2 -2
  391. package/dist/components/q2-resize-observer2.js.map +1 -1
  392. package/dist/components/q2-section.js +2 -2
  393. package/dist/components/q2-select2.js +9 -5
  394. package/dist/components/q2-select2.js.map +1 -1
  395. package/dist/components/q2-stepper-vertical.js +1 -1
  396. package/dist/components/q2-stepper.js +1 -1
  397. package/dist/components/q2-tab-container.js +1 -1
  398. package/dist/components/q2-tab-pane.js +1 -1
  399. package/dist/components/q2-tag.js +50 -8
  400. package/dist/components/q2-tag.js.map +1 -1
  401. package/dist/components/q2-textarea.js +2 -2
  402. package/dist/components/q2-textarea.js.map +1 -1
  403. package/dist/components/q2-tooltip.js +1 -1
  404. package/dist/components/q2-tooltip.js.map +1 -1
  405. package/dist/components/sanitize-html-string.js +1364 -0
  406. package/dist/components/sanitize-html-string.js.map +1 -0
  407. package/dist/components/tecton-tab-pane.js +2 -2
  408. package/dist/esm/{index-504f1a9e.js → index-f2a66217.js} +3 -2
  409. package/dist/esm/index-f2a66217.js.map +1 -0
  410. package/dist/esm/loader.js +1 -1
  411. package/dist/esm/q2-action-group.entry.js +45 -14
  412. package/dist/esm/q2-action-group.entry.js.map +1 -1
  413. package/dist/esm/q2-action-sheet.entry.js +3 -1363
  414. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  415. package/dist/esm/q2-avatar.entry.js +1 -1
  416. package/dist/esm/q2-badge_7.entry.js +59 -22
  417. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  418. package/dist/esm/q2-calendar.entry.js +2 -2
  419. package/dist/esm/q2-calendar.entry.js.map +1 -1
  420. package/dist/esm/q2-card.entry.js +1 -1
  421. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  422. package/dist/esm/q2-carousel.entry.js +1 -1
  423. package/dist/esm/q2-chart-area.entry.js +2 -2
  424. package/dist/esm/q2-chart-bar.entry.js +2 -2
  425. package/dist/esm/q2-chart-donut.entry.js +2 -2
  426. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  427. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  428. package/dist/esm/q2-checkbox.entry.js +21 -21
  429. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  430. package/dist/esm/q2-currency.entry.js +1 -1
  431. package/dist/esm/q2-data-table.entry.js +1 -1
  432. package/dist/esm/q2-detail.entry.js +2 -2
  433. package/dist/esm/q2-dropdown-item.entry.js +22 -3
  434. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  435. package/dist/esm/q2-dropdown.entry.js +1 -1
  436. package/dist/esm/q2-editable-field.entry.js +1 -1
  437. package/dist/esm/q2-file-picker.entry.js +2 -2
  438. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  439. package/dist/esm/q2-form.entry.js +19 -0
  440. package/dist/esm/q2-form.entry.js.map +1 -0
  441. package/dist/esm/q2-formatted-text.entry.js +1 -1
  442. package/dist/esm/q2-item_3.entry.js +3 -3
  443. package/dist/esm/q2-legend.entry.js +2 -2
  444. package/dist/esm/q2-legend.entry.js.map +1 -1
  445. package/dist/esm/q2-loc.entry.js +21 -27
  446. package/dist/esm/q2-loc.entry.js.map +1 -1
  447. package/dist/esm/q2-message.entry.js +2 -2
  448. package/dist/esm/q2-modal.entry.js +168 -0
  449. package/dist/esm/q2-modal.entry.js.map +1 -0
  450. package/dist/esm/q2-month-picker.entry.js +3 -3
  451. package/dist/esm/q2-optgroup.entry.js +2 -2
  452. package/dist/esm/q2-option-list_2.entry.js +9 -7
  453. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  454. package/dist/esm/q2-option.entry.js +37 -25
  455. package/dist/esm/q2-option.entry.js.map +1 -1
  456. package/dist/esm/q2-pagination.entry.js +4 -4
  457. package/dist/esm/q2-pill.entry.js +2 -2
  458. package/dist/esm/q2-radio-group.entry.js +2 -2
  459. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  460. package/dist/esm/q2-radio.entry.js +1 -1
  461. package/dist/esm/q2-relative-time.entry.js +2 -2
  462. package/dist/esm/q2-resize-observer.entry.js +2 -2
  463. package/dist/esm/q2-resize-observer.entry.js.map +1 -1
  464. package/dist/esm/q2-section.entry.js +3 -3
  465. package/dist/esm/q2-select.entry.js +10 -6
  466. package/dist/esm/q2-select.entry.js.map +1 -1
  467. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  468. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  469. package/dist/esm/q2-stepper.entry.js +2 -2
  470. package/dist/esm/q2-tag.entry.js +51 -9
  471. package/dist/esm/q2-tag.entry.js.map +1 -1
  472. package/dist/esm/q2-tecton-elements.js +1 -1
  473. package/dist/esm/q2-textarea.entry.js +3 -3
  474. package/dist/esm/q2-textarea.entry.js.map +1 -1
  475. package/dist/esm/q2-tooltip.entry.js +2 -2
  476. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  477. package/dist/esm/sanitize-html-string-735c19f5.js +1364 -0
  478. package/dist/esm/sanitize-html-string-735c19f5.js.map +1 -0
  479. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  480. package/dist/jest.setup.js +22 -0
  481. package/dist/jest.setup.js.map +1 -0
  482. package/dist/q2-tecton-elements/{index-504f1a9e.js → index-f2a66217.js} +9 -8
  483. package/dist/q2-tecton-elements/index-f2a66217.js.map +1 -0
  484. package/dist/q2-tecton-elements/q2-action-group.entry.js +49 -17
  485. package/dist/q2-tecton-elements/q2-action-group.entry.js.map +1 -1
  486. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +121 -1331
  487. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  488. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  489. package/dist/q2-tecton-elements/q2-badge_7.entry.js +199 -164
  490. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  491. package/dist/q2-tecton-elements/q2-calendar.entry.js +180 -180
  492. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  494. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
  495. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  496. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  497. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  498. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  499. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +5 -5
  500. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-checkbox.entry.js +92 -88
  502. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  503. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  504. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  505. package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
  506. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +23 -6
  507. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  508. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  509. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  510. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  511. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  512. package/dist/q2-tecton-elements/q2-form.entry.js +25 -0
  513. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -0
  514. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  515. package/dist/q2-tecton-elements/q2-item_3.entry.js +22 -22
  516. package/dist/q2-tecton-elements/q2-legend.entry.js +6 -6
  517. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-loc.entry.js +23 -32
  519. package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -1
  520. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  521. package/dist/q2-tecton-elements/q2-modal.entry.js +226 -0
  522. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -0
  523. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  524. package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
  525. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +33 -27
  526. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  527. package/dist/q2-tecton-elements/q2-option.entry.js +60 -40
  528. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  529. package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
  530. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  531. package/dist/q2-tecton-elements/q2-radio-group.entry.js +28 -28
  532. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  533. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  534. package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
  535. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +5 -2
  536. package/dist/q2-tecton-elements/q2-resize-observer.entry.js.map +1 -1
  537. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  538. package/dist/q2-tecton-elements/q2-select.entry.js +13 -9
  539. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  540. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  541. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  542. package/dist/q2-tecton-elements/q2-stepper.entry.js +22 -22
  543. package/dist/q2-tecton-elements/q2-tag.entry.js +84 -45
  544. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  545. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  546. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  548. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  550. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  551. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js +1214 -0
  552. package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js.map +1 -0
  553. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  554. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  555. package/dist/types/components/q2-action-group/q2-action-group.d.ts +5 -2
  556. package/dist/types/components/q2-badge/q2-badge.d.ts +17 -3
  557. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +3 -3
  558. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +8 -0
  559. package/dist/types/components/q2-form/q2-form.d.ts +6 -0
  560. package/dist/types/components/q2-loc/q2-loc.d.ts +5 -5
  561. package/dist/types/components/q2-modal/q2-modal.d.ts +80 -0
  562. package/dist/types/components/q2-option/q2-option.d.ts +11 -4
  563. package/dist/types/components/q2-select/q2-select.d.ts +1 -0
  564. package/dist/types/components/q2-tag/q2-tag.d.ts +19 -0
  565. package/dist/types/components.d.ts +193 -6
  566. package/dist/types/util.d.ts +1 -8
  567. package/dist/types/utils/helpers.d.ts +1 -13
  568. package/dist/types/utils/index.d.ts +3 -2
  569. package/dist/types/utils/mirror-emit.d.ts +11 -0
  570. package/package.json +3 -3
  571. package/dist/cjs/index-76f63767.js.map +0 -1
  572. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +0 -166
  573. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +0 -1
  574. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +0 -1
  575. package/dist/esm/index-504f1a9e.js.map +0 -1
  576. package/dist/q2-tecton-elements/index-504f1a9e.js.map +0 -1
@@ -0,0 +1,415 @@
1
+ import { Q2Badge } from "../q2-badge";
2
+ import { setupSpecPageWithLoc } from "../../../utils/helpers";
3
+ describe('q2-badge', () => {
4
+ let specPage;
5
+ let badgeClass;
6
+ let badgeElement;
7
+ let badgeContainer;
8
+ const testStringsDict = {
9
+ 'tecton.element.badge.test': 'Test String',
10
+ 'tecton.element.badge.changed': 'Changed String',
11
+ };
12
+ describe('Props', () => {
13
+ describe('maxLength', () => {
14
+ it('is undefined by default', async () => {
15
+ specPage = await setupSpecPageWithLoc({
16
+ components: [Q2Badge],
17
+ html: '<q2-badge></q2-badge>',
18
+ }, testStringsDict);
19
+ badgeClass = specPage.rootInstance;
20
+ expect(badgeClass.maxLength).toBeUndefined();
21
+ });
22
+ it('should be set to the provided value', async () => {
23
+ specPage = await setupSpecPageWithLoc({
24
+ components: [Q2Badge],
25
+ html: '<q2-badge max-length="6"></q2-badge>',
26
+ }, testStringsDict);
27
+ badgeClass = specPage.rootInstance;
28
+ expect(badgeClass.maxLength).toEqual(6);
29
+ });
30
+ });
31
+ describe('size', () => {
32
+ it('should be undefined by default', async () => {
33
+ specPage = await setupSpecPageWithLoc({
34
+ components: [Q2Badge],
35
+ html: '<q2-badge></q2-badge>',
36
+ }, testStringsDict);
37
+ badgeClass = specPage.rootInstance;
38
+ badgeElement = specPage.root;
39
+ badgeContainer = badgeElement.shadowRoot.querySelector('.badge-container');
40
+ expect(badgeClass.size).toEqual(undefined);
41
+ expect(badgeContainer.classList.contains('size-large')).toEqual(false);
42
+ });
43
+ it('applies the size-large class when "large" is provided', async () => {
44
+ specPage = await setupSpecPageWithLoc({
45
+ components: [Q2Badge],
46
+ html: '<q2-badge size="large"></q2-badge>',
47
+ }, testStringsDict);
48
+ badgeClass = specPage.rootInstance;
49
+ badgeElement = specPage.root;
50
+ badgeContainer = badgeElement.shadowRoot.querySelector('.badge-container');
51
+ expect(badgeClass.size).toEqual('large');
52
+ expect(badgeContainer.classList.contains('size-large')).toEqual(true);
53
+ });
54
+ });
55
+ describe('status', () => {
56
+ it('should be undefined by default', async () => {
57
+ specPage = await setupSpecPageWithLoc({
58
+ components: [Q2Badge],
59
+ html: '<q2-badge></q2-badge>',
60
+ }, testStringsDict);
61
+ badgeClass = specPage.rootInstance;
62
+ badgeElement = specPage.root;
63
+ expect(badgeClass.status).toEqual(undefined);
64
+ });
65
+ });
66
+ describe('theme', () => {
67
+ it('should be undefined by default', async () => {
68
+ specPage = await setupSpecPageWithLoc({
69
+ components: [Q2Badge],
70
+ html: '<q2-badge></q2-badge>',
71
+ }, testStringsDict);
72
+ badgeClass = specPage.rootInstance;
73
+ badgeElement = specPage.root;
74
+ expect(badgeClass.theme).toEqual(undefined);
75
+ });
76
+ });
77
+ describe('value', () => {
78
+ describe('when provided', () => {
79
+ it('accepts strings', async () => {
80
+ specPage = await setupSpecPageWithLoc({
81
+ components: [Q2Badge],
82
+ html: '<q2-badge value="Test String"></q2-badge>',
83
+ }, testStringsDict);
84
+ badgeElement = specPage.root;
85
+ expect(badgeElement.shadowRoot.textContent).toEqual('Test String');
86
+ });
87
+ it('translates strings on init', async () => {
88
+ specPage = await setupSpecPageWithLoc({
89
+ components: [Q2Badge],
90
+ html: '<q2-badge value="tecton.element.badge.test"></q2-badge>',
91
+ }, testStringsDict);
92
+ badgeElement = specPage.root;
93
+ expect(badgeElement.shadowRoot.textContent).toEqual('Test String');
94
+ });
95
+ it('accepts numbers as string type', async () => {
96
+ specPage = await setupSpecPageWithLoc({
97
+ components: [Q2Badge],
98
+ html: '<q2-badge value="42"></q2-badge>',
99
+ }, testStringsDict);
100
+ badgeElement = specPage.root;
101
+ expect(badgeElement.shadowRoot.textContent).toEqual('42');
102
+ });
103
+ it('turns negative numbers into positive', async () => {
104
+ specPage = await setupSpecPageWithLoc({
105
+ components: [Q2Badge],
106
+ html: '<q2-badge value="-42"></q2-badge>',
107
+ }, testStringsDict);
108
+ badgeElement = specPage.root;
109
+ expect(badgeElement.shadowRoot.textContent).toEqual('42');
110
+ });
111
+ it('value is ignored when textContent is provided', async () => {
112
+ specPage = await setupSpecPageWithLoc({
113
+ components: [Q2Badge],
114
+ html: '<q2-badge value="tecton.element.badge.test">Text Value</q2-badge>',
115
+ }, testStringsDict);
116
+ badgeElement = specPage.root;
117
+ expect(badgeElement.textContent).toEqual('Text Value');
118
+ });
119
+ it('value is ignored when slotted content is provided', async () => {
120
+ specPage = await setupSpecPageWithLoc({
121
+ components: [Q2Badge],
122
+ html: '<q2-badge value="tecton.element.badge.test"><span>Text Value</span></q2-badge>',
123
+ }, testStringsDict);
124
+ badgeElement = specPage.root;
125
+ expect(badgeElement.textContent).toEqual('Text Value');
126
+ });
127
+ });
128
+ describe('when not provided and no textContent', () => {
129
+ it('renders no text', async () => {
130
+ specPage = await setupSpecPageWithLoc({
131
+ components: [Q2Badge],
132
+ html: '<q2-badge></q2-badge>',
133
+ }, testStringsDict);
134
+ badgeElement = specPage.root;
135
+ expect(badgeElement.shadowRoot.textContent).toEqual('');
136
+ });
137
+ });
138
+ });
139
+ });
140
+ describe('Local Methods', () => {
141
+ describe('Getters', () => {
142
+ describe('badgeClasses', () => {
143
+ it('returns "badge-container" class', async () => {
144
+ specPage = await setupSpecPageWithLoc({
145
+ components: [Q2Badge],
146
+ html: '<q2-badge></q2-badge>',
147
+ }, testStringsDict);
148
+ badgeClass = specPage.rootInstance;
149
+ expect(badgeClass.badgeClasses).toContain('badge-container');
150
+ });
151
+ it('includes "empty-variant" class when no value and no slotted elements', async () => {
152
+ specPage = await setupSpecPageWithLoc({
153
+ components: [Q2Badge],
154
+ html: '<q2-badge></q2-badge>',
155
+ }, testStringsDict);
156
+ badgeClass = specPage.rootInstance;
157
+ expect(badgeClass.badgeClasses).toContain('badge-container');
158
+ });
159
+ it('includes "size-large" class when size is "large"', async () => {
160
+ specPage = await setupSpecPageWithLoc({
161
+ components: [Q2Badge],
162
+ html: '<q2-badge size="large"></q2-badge>',
163
+ }, testStringsDict);
164
+ badgeClass = specPage.rootInstance;
165
+ expect(badgeClass.badgeClasses).toContain('size-large');
166
+ });
167
+ });
168
+ describe('badgeText', () => {
169
+ describe('when not provided', () => {
170
+ it('returns empty string', async () => {
171
+ specPage = await setupSpecPageWithLoc({
172
+ components: [Q2Badge],
173
+ html: '<q2-badge></q2-badge>',
174
+ }, testStringsDict);
175
+ badgeClass = specPage.rootInstance;
176
+ expect(badgeClass.badgeText).toEqual('');
177
+ });
178
+ });
179
+ describe('when provided', () => {
180
+ describe('when value is a string type', () => {
181
+ it('returns the value', async () => {
182
+ specPage = await setupSpecPageWithLoc({
183
+ components: [Q2Badge],
184
+ html: '<q2-badge value="Test String"></q2-badge>',
185
+ }, testStringsDict);
186
+ badgeClass = specPage.rootInstance;
187
+ expect(badgeClass.badgeText).toEqual('Test String');
188
+ });
189
+ it('translates the value', async () => {
190
+ specPage = await setupSpecPageWithLoc({
191
+ components: [Q2Badge],
192
+ html: '<q2-badge value="tecton.element.badge.test"></q2-badge>',
193
+ }, testStringsDict);
194
+ badgeClass = specPage.rootInstance;
195
+ expect(badgeClass.badgeText).toEqual('Test String');
196
+ });
197
+ it('truncates the value to maxLength', async () => {
198
+ specPage = await setupSpecPageWithLoc({
199
+ components: [Q2Badge],
200
+ html: '<q2-badge value="Test String" max-length="4"></q2-badge>',
201
+ }, testStringsDict);
202
+ badgeClass = specPage.rootInstance;
203
+ expect(badgeClass.badgeText).toEqual('Test');
204
+ });
205
+ it('truncates the translated value to maxLength', async () => {
206
+ specPage = await setupSpecPageWithLoc({
207
+ components: [Q2Badge],
208
+ html: '<q2-badge value="tecton.element.badge.test" max-length="4"></q2-badge>',
209
+ }, testStringsDict);
210
+ badgeClass = specPage.rootInstance;
211
+ expect(badgeClass.badgeText).toEqual('Test');
212
+ });
213
+ });
214
+ describe('when value is a number type', () => {
215
+ it('returns the value as a string', async () => {
216
+ specPage = await setupSpecPageWithLoc({
217
+ components: [Q2Badge],
218
+ html: '<q2-badge value="42"></q2-badge>',
219
+ }, testStringsDict);
220
+ badgeClass = specPage.rootInstance;
221
+ expect(badgeClass.badgeText).toEqual('42');
222
+ });
223
+ it('turns negative numbers into positive', async () => {
224
+ specPage = await setupSpecPageWithLoc({
225
+ components: [Q2Badge],
226
+ html: '<q2-badge value="-42"></q2-badge>',
227
+ }, testStringsDict);
228
+ badgeClass = specPage.rootInstance;
229
+ expect(badgeClass.badgeText).toEqual('42');
230
+ });
231
+ it('accepts a value of 0', async () => {
232
+ specPage = await setupSpecPageWithLoc({
233
+ components: [Q2Badge],
234
+ html: '<q2-badge value="0"></q2-badge>',
235
+ }, testStringsDict);
236
+ badgeClass = specPage.rootInstance;
237
+ expect(badgeClass.badgeText).toEqual('0');
238
+ });
239
+ it('defaults to "99+" when value is more than 2 chars long', async () => {
240
+ specPage = await setupSpecPageWithLoc({
241
+ components: [Q2Badge],
242
+ html: '<q2-badge value="123456789"></q2-badge>',
243
+ }, testStringsDict);
244
+ badgeClass = specPage.rootInstance;
245
+ expect(badgeClass.badgeText).toEqual('99+');
246
+ });
247
+ it('adjusts the return value based on the maxLength', async () => {
248
+ specPage = await setupSpecPageWithLoc({
249
+ components: [Q2Badge],
250
+ html: '<q2-badge value="123456789" max-length="4"></q2-badge>',
251
+ }, testStringsDict);
252
+ badgeClass = specPage.rootInstance;
253
+ expect(badgeClass.badgeText).toEqual('9,999+');
254
+ });
255
+ it('formats the value with commas', async () => {
256
+ specPage = await setupSpecPageWithLoc({
257
+ components: [Q2Badge],
258
+ html: '<q2-badge value="123456789" max-length="9"></q2-badge>',
259
+ }, testStringsDict);
260
+ badgeClass = specPage.rootInstance;
261
+ expect(badgeClass.badgeText).toEqual('123,456,789');
262
+ });
263
+ });
264
+ });
265
+ });
266
+ describe('computedMaxLength', () => {
267
+ it('defaults to 18', async () => {
268
+ specPage = await setupSpecPageWithLoc({
269
+ components: [Q2Badge],
270
+ html: '<q2-badge></q2-badge>',
271
+ }, testStringsDict);
272
+ badgeClass = specPage.rootInstance;
273
+ expect(badgeClass.computedMaxLength).toEqual(18);
274
+ });
275
+ it('returns 18 when maxLength is greater than 18', async () => {
276
+ specPage = await setupSpecPageWithLoc({
277
+ components: [Q2Badge],
278
+ html: '<q2-badge max-length="20"></q2-badge>',
279
+ }, testStringsDict);
280
+ badgeClass = specPage.rootInstance;
281
+ expect(badgeClass.computedMaxLength).toEqual(18);
282
+ });
283
+ it('returns the provided maxLength when less than 18', async () => {
284
+ specPage = await setupSpecPageWithLoc({
285
+ components: [Q2Badge],
286
+ html: '<q2-badge max-length="10"></q2-badge>',
287
+ }, testStringsDict);
288
+ badgeClass = specPage.rootInstance;
289
+ expect(badgeClass.computedMaxLength).toEqual(10);
290
+ });
291
+ });
292
+ describe('hasSlot', () => {
293
+ it('returns true when there are slotted elements', async () => {
294
+ specPage = await setupSpecPageWithLoc({
295
+ components: [Q2Badge],
296
+ html: '<q2-badge><span>Test</span></q2-badge>',
297
+ }, testStringsDict);
298
+ badgeClass = specPage.rootInstance;
299
+ expect(badgeClass.hasSlot).toEqual(true);
300
+ });
301
+ it('returns false when there are no slotted elements', async () => {
302
+ specPage = await setupSpecPageWithLoc({
303
+ components: [Q2Badge],
304
+ html: '<q2-badge></q2-badge>',
305
+ }, testStringsDict);
306
+ badgeClass = specPage.rootInstance;
307
+ expect(badgeClass.hasSlot).toEqual(false);
308
+ });
309
+ });
310
+ });
311
+ describe('Public Methods API', () => {
312
+ describe('getTextContent', () => {
313
+ describe('when there are slotted elements', () => {
314
+ it('returns the text content of the slotted elements', async () => {
315
+ specPage = await setupSpecPageWithLoc({
316
+ components: [Q2Badge],
317
+ html: '<q2-badge><span>Test</span></q2-badge>',
318
+ }, testStringsDict);
319
+ badgeClass = specPage.rootInstance;
320
+ const textContent = await badgeClass.getTextContent();
321
+ expect(textContent).toEqual('Test');
322
+ });
323
+ });
324
+ describe('when there are no slotted elements', () => {
325
+ it('returns the text content of the Shadow DOM elements', async () => {
326
+ specPage = await setupSpecPageWithLoc({
327
+ components: [Q2Badge],
328
+ html: '<q2-badge value="Test"></q2-badge>',
329
+ }, testStringsDict);
330
+ badgeClass = specPage.rootInstance;
331
+ const textContent = await badgeClass.getTextContent();
332
+ expect(textContent).toEqual('Test');
333
+ });
334
+ });
335
+ });
336
+ });
337
+ describe('Render Methods', () => {
338
+ describe('renderStandardBadge', () => {
339
+ it('returns the standard badge', async () => {
340
+ specPage = await setupSpecPageWithLoc({
341
+ components: [Q2Badge],
342
+ html: '<q2-badge value="Test"></q2-badge>',
343
+ }, testStringsDict);
344
+ badgeClass = specPage.rootInstance;
345
+ badgeContainer = specPage.root.shadowRoot.querySelector('.badge-container');
346
+ expect(badgeContainer).toEqualHtml(`
347
+ <div class="badge-container">
348
+ <small class="badge-text">Test</small>
349
+ </div>
350
+ `);
351
+ });
352
+ });
353
+ describe('renderEmptyBadge', () => {
354
+ it('returns the empty badge', async () => {
355
+ specPage = await setupSpecPageWithLoc({
356
+ components: [Q2Badge],
357
+ html: '<q2-badge></q2-badge>',
358
+ }, testStringsDict);
359
+ badgeClass = specPage.rootInstance;
360
+ badgeContainer = specPage.root.shadowRoot.querySelector('.badge-container');
361
+ expect(badgeContainer).toEqualHtml(`
362
+ <div class="badge-container empty-variant"></div>
363
+ `);
364
+ });
365
+ });
366
+ describe('render', () => {
367
+ describe('renderStandardBadge', () => {
368
+ it('fires when value is provided', async () => {
369
+ specPage = await setupSpecPageWithLoc({
370
+ components: [Q2Badge],
371
+ html: '<q2-badge value="Test"></q2-badge>',
372
+ }, testStringsDict);
373
+ badgeClass = specPage.rootInstance;
374
+ const renderSpy = jest.spyOn(badgeClass, 'renderStandardBadge');
375
+ badgeClass.render();
376
+ expect(renderSpy).toHaveBeenCalled();
377
+ });
378
+ it('fires when slotted content is provided', async () => {
379
+ specPage = await setupSpecPageWithLoc({
380
+ components: [Q2Badge],
381
+ html: '<q2-badge><span>Test</span></q2-badge>',
382
+ }, testStringsDict);
383
+ badgeClass = specPage.rootInstance;
384
+ const renderSpy = jest.spyOn(badgeClass, 'renderStandardBadge');
385
+ badgeClass.render();
386
+ expect(renderSpy).toHaveBeenCalled();
387
+ });
388
+ });
389
+ describe('renderEmptyBadge', () => {
390
+ it('fires when value is an empty string', async () => {
391
+ specPage = await setupSpecPageWithLoc({
392
+ components: [Q2Badge],
393
+ html: '<q2-badge value=""></q2-badge>',
394
+ }, testStringsDict);
395
+ badgeClass = specPage.rootInstance;
396
+ const renderSpy = jest.spyOn(badgeClass, 'renderEmptyBadge');
397
+ badgeClass.render();
398
+ expect(renderSpy).toHaveBeenCalled();
399
+ });
400
+ it('fires when no value and no slotted content', async () => {
401
+ specPage = await setupSpecPageWithLoc({
402
+ components: [Q2Badge],
403
+ html: '<q2-badge></q2-badge>',
404
+ }, testStringsDict);
405
+ badgeClass = specPage.rootInstance;
406
+ const renderSpy = jest.spyOn(badgeClass, 'renderEmptyBadge');
407
+ badgeClass.render();
408
+ expect(renderSpy).toHaveBeenCalled();
409
+ });
410
+ });
411
+ });
412
+ });
413
+ });
414
+ });
415
+ //# sourceMappingURL=q2-badge-test.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"q2-badge-test.spec.js","sourceRoot":"","sources":["../../../../../src/components/q2-badge/test/q2-badge-test.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage } from '@stencil/core/testing';\nimport { Q2Badge } from '../q2-badge';\nimport { setupSpecPageWithLoc } from '@/utils/helpers';\n\ndescribe('q2-badge', () => {\n let specPage: SpecPage;\n let badgeClass;\n let badgeElement;\n let badgeContainer;\n const testStringsDict = {\n 'tecton.element.badge.test': 'Test String',\n 'tecton.element.badge.changed': 'Changed String',\n };\n describe('Props', () => {\n describe('maxLength', () => {\n it('is undefined by default', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.maxLength).toBeUndefined();\n });\n\n it('should be set to the provided value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge max-length=\"6\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.maxLength).toEqual(6);\n });\n });\n\n describe('size', () => {\n it('should be undefined by default', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeElement = specPage.root;\n badgeContainer = badgeElement.shadowRoot.querySelector('.badge-container');\n expect(badgeClass.size).toEqual(undefined);\n expect(badgeContainer.classList.contains('size-large')).toEqual(false);\n });\n\n it('applies the size-large class when \"large\" is provided', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge size=\"large\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeElement = specPage.root;\n badgeContainer = badgeElement.shadowRoot.querySelector('.badge-container');\n expect(badgeClass.size).toEqual('large');\n expect(badgeContainer.classList.contains('size-large')).toEqual(true);\n });\n });\n\n describe('status', () => {\n it('should be undefined by default', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeElement = specPage.root;\n expect(badgeClass.status).toEqual(undefined);\n });\n });\n\n describe('theme', () => {\n it('should be undefined by default', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeElement = specPage.root;\n expect(badgeClass.theme).toEqual(undefined);\n });\n });\n\n describe('value', () => {\n describe('when provided', () => {\n it('accepts strings', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test String\"></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.shadowRoot.textContent).toEqual('Test String');\n });\n\n it('translates strings on init', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"tecton.element.badge.test\"></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.shadowRoot.textContent).toEqual('Test String');\n });\n\n it('accepts numbers as string type', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"42\"></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.shadowRoot.textContent).toEqual('42');\n });\n\n it('turns negative numbers into positive', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"-42\"></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.shadowRoot.textContent).toEqual('42');\n });\n\n it('value is ignored when textContent is provided', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"tecton.element.badge.test\">Text Value</q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.textContent).toEqual('Text Value');\n });\n\n it('value is ignored when slotted content is provided', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"tecton.element.badge.test\"><span>Text Value</span></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.textContent).toEqual('Text Value');\n });\n });\n\n describe('when not provided and no textContent', () => {\n it('renders no text', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeElement = specPage.root;\n expect(badgeElement.shadowRoot.textContent).toEqual('');\n });\n });\n });\n });\n\n describe('Local Methods', () => {\n describe('Getters', () => {\n describe('badgeClasses', () => {\n it('returns \"badge-container\" class', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeClasses).toContain('badge-container');\n });\n\n it('includes \"empty-variant\" class when no value and no slotted elements', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeClasses).toContain('badge-container');\n });\n\n it('includes \"size-large\" class when size is \"large\"', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge size=\"large\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeClasses).toContain('size-large');\n });\n });\n\n describe('badgeText', () => {\n describe('when not provided', () => {\n it('returns empty string', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('');\n });\n });\n\n describe('when provided', () => {\n describe('when value is a string type', () => {\n it('returns the value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test String\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('Test String');\n });\n\n it('translates the value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"tecton.element.badge.test\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('Test String');\n });\n\n it('truncates the value to maxLength', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test String\" max-length=\"4\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('Test');\n });\n\n it('truncates the translated value to maxLength', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"tecton.element.badge.test\" max-length=\"4\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('Test');\n });\n });\n\n describe('when value is a number type', () => {\n it('returns the value as a string', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"42\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('42');\n });\n\n it('turns negative numbers into positive', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"-42\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('42');\n });\n\n it('accepts a value of 0', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"0\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('0');\n });\n\n it('defaults to \"99+\" when value is more than 2 chars long', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"123456789\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('99+');\n });\n\n it('adjusts the return value based on the maxLength', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"123456789\" max-length=\"4\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('9,999+');\n });\n\n it('formats the value with commas', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"123456789\" max-length=\"9\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.badgeText).toEqual('123,456,789');\n });\n });\n });\n });\n\n describe('computedMaxLength', () => {\n it('defaults to 18', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.computedMaxLength).toEqual(18);\n });\n\n it('returns 18 when maxLength is greater than 18', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge max-length=\"20\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.computedMaxLength).toEqual(18);\n });\n\n it('returns the provided maxLength when less than 18', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge max-length=\"10\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.computedMaxLength).toEqual(10);\n });\n });\n\n describe('hasSlot', () => {\n it('returns true when there are slotted elements', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge><span>Test</span></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.hasSlot).toEqual(true);\n });\n\n it('returns false when there are no slotted elements', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n expect(badgeClass.hasSlot).toEqual(false);\n });\n });\n });\n\n describe('Public Methods API', () => {\n describe('getTextContent', () => {\n describe('when there are slotted elements', () => {\n it('returns the text content of the slotted elements', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge><span>Test</span></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const textContent = await badgeClass.getTextContent();\n expect(textContent).toEqual('Test');\n });\n });\n\n describe('when there are no slotted elements', () => {\n it('returns the text content of the Shadow DOM elements', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const textContent = await badgeClass.getTextContent();\n expect(textContent).toEqual('Test');\n });\n });\n });\n });\n\n describe('Render Methods', () => {\n describe('renderStandardBadge', () => {\n it('returns the standard badge', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeContainer = specPage.root.shadowRoot.querySelector('.badge-container');\n expect(badgeContainer).toEqualHtml(`\n <div class=\"badge-container\">\n <small class=\"badge-text\">Test</small>\n </div>\n `);\n });\n });\n\n describe('renderEmptyBadge', () => {\n it('returns the empty badge', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n badgeContainer = specPage.root.shadowRoot.querySelector('.badge-container');\n expect(badgeContainer).toEqualHtml(`\n <div class=\"badge-container empty-variant\"></div>\n `);\n });\n });\n\n describe('render', () => {\n describe('renderStandardBadge', () => {\n it('fires when value is provided', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"Test\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const renderSpy = jest.spyOn(badgeClass, 'renderStandardBadge');\n badgeClass.render();\n expect(renderSpy).toHaveBeenCalled();\n });\n\n it('fires when slotted content is provided', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge><span>Test</span></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const renderSpy = jest.spyOn(badgeClass, 'renderStandardBadge');\n badgeClass.render();\n expect(renderSpy).toHaveBeenCalled();\n });\n });\n\n describe('renderEmptyBadge', () => {\n it('fires when value is an empty string', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge value=\"\"></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const renderSpy = jest.spyOn(badgeClass, 'renderEmptyBadge');\n badgeClass.render();\n expect(renderSpy).toHaveBeenCalled();\n });\n\n it('fires when no value and no slotted content', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Badge],\n html: '<q2-badge></q2-badge>',\n },\n testStringsDict\n );\n badgeClass = specPage.rootInstance;\n const renderSpy = jest.spyOn(badgeClass, 'renderEmptyBadge');\n badgeClass.render();\n expect(renderSpy).toHaveBeenCalled();\n });\n });\n });\n });\n });\n});\n"]}
@@ -753,12 +753,12 @@ button :host(:not([color]):not([intent])):hover, button :host(:not([color]):not(
753
753
  color: var(--tct-btn-badge-active-font-color, var(--t-btn-badge-active-font-color, var(--comp-btn-primary-font-color)));
754
754
  }
755
755
  button.intent-coin {
756
- --tct-avatar-background: var(--tct-btn-coin-background, var(--t-primary-l5, #B4A0D3));
756
+ --tct-avatar-background: var(--tct-btn-coin-background, var(--t-primary-l5, #b4a0d3));
757
757
  --tct-avatar-height: var(--tct-btn-coin-height, 44px);
758
758
  --tct-avatar-width: var(--tct-btn-coin-width, 44px);
759
- --tct-avatar-fallback-background: var(--tct-btn-coin-background, var(--t-primary-l5, #B4A0D3));
760
- --tct-icon-stroke-primary: var(--tct-btn-coin-icon-stroke-primary, var(--t-text, #4D4D4D));
761
- --tct-avatar-text-color: var(--tct-btn-coin-avatar-text-color, var(--t-text, #4D4D4D));
759
+ --tct-avatar-fallback-background: var(--tct-btn-coin-background, var(--t-primary-l5, #b4a0d3));
760
+ --tct-icon-stroke-primary: var(--tct-btn-coin-icon-stroke-primary, var(--t-text, #4d4d4d));
761
+ --tct-avatar-text-color: var(--tct-btn-coin-avatar-text-color, var(--t-text, #4d4d4d));
762
762
  --tct-icon-stroke-width: var(--tct-btn-coin-icon-stroke-width, 1px);
763
763
  --tct-btn-padding: 0;
764
764
  --tct-btn-border-radius: 50%;
@@ -770,14 +770,16 @@ button.intent-coin:focus {
770
770
  box-shadow: 0;
771
771
  }
772
772
  button.intent-coin:focus-visible {
773
- --const-double-focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6A4A9E));
773
+ --const-double-focus-ring: 0 0 0 2px #ffffff,
774
+ 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));
774
775
  }
775
776
  button.intent-coin:hover:not([disabled]) {
776
- --const-double-focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6A4A9E));
777
+ --const-double-focus-ring: 0 0 0 2px #ffffff,
778
+ 0 0 0 4px var(--tct-btn-coin-focus-ring, var(--t-primary, #6a4a9e));
777
779
  --tct-avatar-background: var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1));
778
780
  --tct-avatar-fallback-background: var(--tct-btn-coin-background, var(--t-primary-l3, #957ac1));
779
- --tct-icon-stroke-primary: var(--tct-btn-coin-icon-stroke-primary, var(--t-base, #FFFFFF));
780
- --tct-avatar-text-color: var(--tct-btn-coin-avatar-text-color, var(--t-base, #FFFFFF));
781
+ --tct-icon-stroke-primary: var(--tct-btn-coin-icon-stroke-primary, var(--t-base, #ffffff));
782
+ --tct-avatar-text-color: var(--tct-btn-coin-avatar-text-color, var(--t-base, #ffffff));
781
783
  box-shadow: var(--const-double-focus-ring);
782
784
  }
783
785
  button.intent-coin:active:not([disabled]) {
@@ -816,7 +818,7 @@ q2-loading {
816
818
  }
817
819
 
818
820
  .coin-label {
819
- color: var(--tct-btn-coin-label-color, var(--t-text, #4D4D4D));
821
+ color: var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));
820
822
  font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));
821
823
  max-width: 100px;
822
824
  text-align: center;
@@ -845,7 +847,7 @@ q2-loading {
845
847
  display: none;
846
848
  }
847
849
  .coin-wrapper .coin-label {
848
- color: var(--tct-btn-coin-label-color, var(--t-text, #4D4D4D));
850
+ color: var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));
849
851
  font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));
850
852
  margin-top: var(--tct-btn-coin-gap, var(--app-scale-2x, 10px));
851
853
  max-width: 100px;