q2-tecton-elements 1.67.2 → 1.68.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 (807) hide show
  1. package/dist/bundle-report.json +22598 -10670
  2. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -1
  3. package/dist/cjs/click-elsewhere_3.cjs.entry.js +46 -32
  4. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -1
  5. package/dist/cjs/{component-DRAntnCA.js → component-iASoq6gx.js} +9 -3
  6. package/dist/cjs/component-iASoq6gx.js.map +1 -0
  7. package/dist/cjs/{index-YvKoRT-t.js → index-DmGkqdX2.js} +3 -3
  8. package/dist/cjs/index-DmGkqdX2.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/q2-action-group.q2-resize-observer.entry.cjs.js.map +1 -1
  11. package/dist/cjs/q2-action-group_2.cjs.entry.js +2 -2
  12. package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-action-sheet.cjs.entry.js +109 -4
  14. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-action-sheet.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  17. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  18. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-badge.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  22. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-calendar.cjs.entry.js +6 -3
  25. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  27. package/dist/cjs/q2-card-image.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-card-image.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-card-image.entry.cjs.js.map +1 -1
  30. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
  33. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  34. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  35. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  36. package/dist/cjs/q2-carousel.cjs.entry.js +162 -29
  37. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  39. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-chart-donut.cjs.entry.js +3 -2
  42. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  43. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  44. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  47. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -1
  48. package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
  49. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
  53. package/dist/cjs/q2-currency.cjs.entry.js +2 -3
  54. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-currency.entry.cjs.js.map +1 -1
  56. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-detail.entry.cjs.js.map +1 -1
  62. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-dropdown-item.entry.cjs.js.map +1 -1
  65. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -5
  66. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  67. package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
  68. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  69. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  71. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  72. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  73. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-form.cjs.entry.js +2 -2
  76. package/dist/cjs/q2-form.cjs.entry.js.map +1 -1
  77. package/dist/cjs/q2-form.entry.cjs.js.map +1 -1
  78. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-formatted-text.cjs.entry.js.map +1 -1
  80. package/dist/cjs/q2-formatted-text.entry.cjs.js.map +1 -1
  81. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  82. package/dist/cjs/q2-grid.cjs.entry.js +32 -8
  83. package/dist/cjs/q2-grid.cjs.entry.js.map +1 -1
  84. package/dist/cjs/q2-grid.entry.cjs.js.map +1 -1
  85. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  86. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  87. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  88. package/dist/cjs/q2-input.cjs.entry.js +8 -5
  89. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  90. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  91. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  92. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  93. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  94. package/dist/cjs/q2-legend.cjs.entry.js +2 -3
  95. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  96. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  97. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  98. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  99. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  100. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  101. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  102. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  103. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  104. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  105. package/dist/cjs/q2-meter.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-meter.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-modal.cjs.entry.js +3 -3
  108. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  109. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  110. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  111. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  112. package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
  113. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
  114. package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
  115. package/dist/cjs/q2-option.cjs.entry.js +3 -3
  116. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  117. package/dist/cjs/q2-option.entry.cjs.js.map +1 -1
  118. package/dist/cjs/q2-otp.cjs.entry.js +373 -0
  119. package/dist/cjs/q2-otp.cjs.entry.js.map +1 -0
  120. package/dist/cjs/q2-otp.entry.cjs.js.map +1 -0
  121. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  122. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  123. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  124. package/dist/cjs/q2-pill.cjs.entry.js +24 -15
  125. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  126. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  127. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  128. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  129. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  130. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  131. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  132. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  133. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  134. package/dist/cjs/q2-section-container.cjs.entry.js +1 -1
  135. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  136. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  137. package/dist/cjs/q2-section.entry.cjs.js.map +1 -1
  138. package/dist/cjs/q2-select.cjs.entry.js +1 -1
  139. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  140. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  141. package/dist/cjs/q2-stepper-pane.cjs.entry.js +3 -3
  142. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  143. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  144. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  145. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  146. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  147. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  148. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  149. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  150. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  151. package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
  152. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  153. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  154. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  155. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  156. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  157. package/dist/cjs/q2-toast.cjs.entry.js.map +1 -1
  158. package/dist/cjs/q2-toast.entry.cjs.js.map +1 -1
  159. package/dist/cjs/q2-tooltip.cjs.entry.js +124 -5
  160. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  161. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  162. package/dist/cjs/{sanitize-html-string-CW6y5624.js → sanitize-html-string-D17Pr7-c.js} +21 -4
  163. package/dist/cjs/{sanitize-html-string-CW6y5624.js.map → sanitize-html-string-D17Pr7-c.js.map} +1 -1
  164. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  165. package/dist/collection/collection-manifest.json +1 -0
  166. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -0
  167. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  168. package/dist/collection/components/q2-action-group/q2-action-group.css +14 -0
  169. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +16 -0
  170. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +107 -2
  171. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  172. package/dist/collection/components/q2-avatar/q2-avatar.css +24 -0
  173. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +61 -0
  174. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js.map +1 -0
  175. package/dist/collection/components/q2-badge/q2-badge.css +30 -0
  176. package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js +34 -0
  177. package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js.map +1 -0
  178. package/dist/collection/components/q2-btn/q2-btn.css +279 -0
  179. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +80 -0
  180. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js.map +1 -0
  181. package/dist/collection/components/q2-calendar/q2-calendar.css +36 -0
  182. package/dist/collection/components/q2-calendar/q2-calendar.js +5 -2
  183. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  184. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +170 -0
  185. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js.map +1 -0
  186. package/dist/collection/components/q2-card/q2-card.css +62 -0
  187. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +72 -0
  188. package/dist/collection/components/q2-card/test/q2-card-test.vr.js.map +1 -0
  189. package/dist/collection/components/q2-card-image/q2-card-image.css +74 -13
  190. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +152 -0
  191. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js.map +1 -0
  192. package/dist/collection/components/q2-carousel/q2-carousel.css +78 -13
  193. package/dist/collection/components/q2-carousel/q2-carousel.js +241 -27
  194. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  195. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +104 -0
  196. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js.map +1 -0
  197. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +26 -1
  198. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +126 -0
  199. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js.map +1 -0
  200. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +105 -0
  201. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js.map +1 -0
  202. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +29 -0
  203. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +21 -1
  204. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  205. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +151 -0
  206. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js.map +1 -0
  207. package/dist/collection/components/q2-checkbox/q2-checkbox.css +128 -0
  208. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js +69 -0
  209. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js.map +1 -0
  210. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +21 -0
  211. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js +61 -0
  212. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js.map +1 -0
  213. package/dist/collection/components/q2-context/q2-context.css +16 -0
  214. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +95 -0
  215. package/dist/collection/components/q2-context/test/q2-context-test.vr.js.map +1 -0
  216. package/dist/collection/components/q2-currency/q2-currency.css +31 -0
  217. package/dist/collection/components/q2-currency/q2-currency.js +3 -4
  218. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  219. package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js +79 -0
  220. package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js.map +1 -0
  221. package/dist/collection/components/q2-data-table/q2-data-table.css +51 -0
  222. package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
  223. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +79 -0
  224. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js.map +1 -0
  225. package/dist/collection/components/q2-detail/q2-detail.css +42 -0
  226. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  227. package/dist/collection/components/q2-dropdown/q2-dropdown.css +8 -0
  228. package/dist/collection/components/q2-dropdown/q2-dropdown.js +2 -4
  229. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  230. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +11 -0
  231. package/dist/collection/components/q2-editable-field/q2-editable-field.css +5 -0
  232. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js +89 -0
  233. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js.map +1 -0
  234. package/dist/collection/components/q2-example/q2-example.js +1 -1
  235. package/dist/collection/components/q2-file-picker/q2-file-picker.css +64 -0
  236. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +92 -0
  237. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js.map +1 -0
  238. package/dist/collection/components/q2-form/q2-form.css +34 -20
  239. package/dist/collection/components/q2-form/q2-form.js +1 -1
  240. package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +14 -0
  241. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  242. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js +55 -0
  243. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js.map +1 -0
  244. package/dist/collection/components/q2-grid/q2-grid.css +13 -0
  245. package/dist/collection/components/q2-grid/q2-grid.js +31 -7
  246. package/dist/collection/components/q2-grid/q2-grid.js.map +1 -1
  247. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  248. package/dist/collection/components/q2-icon/q2-icon.css +15 -0
  249. package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js +55 -0
  250. package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js.map +1 -0
  251. package/dist/collection/components/q2-input/q2-input.css +104 -0
  252. package/dist/collection/components/q2-input/q2-input.js +6 -3
  253. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  254. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +97 -0
  255. package/dist/collection/components/q2-input/test/q2-input-test.vr.js.map +1 -0
  256. package/dist/collection/components/q2-item/q2-item.css +28 -0
  257. package/dist/collection/components/q2-item/q2-item.js +1 -1
  258. package/dist/collection/components/q2-legend/q2-legend.css +16 -0
  259. package/dist/collection/components/q2-legend/q2-legend.js +21 -3
  260. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  261. package/dist/collection/components/q2-link/q2-link.css +20 -0
  262. package/dist/collection/components/q2-link/test/q2-link-test.vr.js +70 -0
  263. package/dist/collection/components/q2-link/test/q2-link-test.vr.js.map +1 -0
  264. package/dist/collection/components/q2-list/q2-list.css +14 -0
  265. package/dist/collection/components/q2-list/q2-list.js +1 -1
  266. package/dist/collection/components/q2-list/test/q2-list-test.vr.js +58 -0
  267. package/dist/collection/components/q2-list/test/q2-list-test.vr.js.map +1 -0
  268. package/dist/collection/components/q2-loading/q2-loading.css +9 -0
  269. package/dist/collection/components/q2-message/q2-message.css +29 -1
  270. package/dist/collection/components/q2-message/q2-message.js +1 -1
  271. package/dist/collection/components/q2-message/test/q2-message-test.vr.js +57 -0
  272. package/dist/collection/components/q2-message/test/q2-message-test.vr.js.map +1 -0
  273. package/dist/collection/components/q2-meter/q2-meter.css +40 -0
  274. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  275. package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js +78 -0
  276. package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js.map +1 -0
  277. package/dist/collection/components/q2-modal/q2-modal.css +21 -0
  278. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  279. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +107 -0
  280. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js.map +1 -0
  281. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  282. package/dist/collection/components/q2-optgroup/q2-optgroup.css +11 -0
  283. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  284. package/dist/collection/components/q2-option/q2-option.css +9 -0
  285. package/dist/collection/components/q2-option/q2-option.js +1 -1
  286. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  287. package/dist/collection/components/q2-option-list/q2-option-list.css +3 -0
  288. package/dist/collection/components/q2-option-list/q2-option-list.js +37 -28
  289. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  290. package/dist/collection/components/q2-otp/q2-otp.css +312 -0
  291. package/dist/collection/components/q2-otp/q2-otp.js +873 -0
  292. package/dist/collection/components/q2-otp/q2-otp.js.map +1 -0
  293. package/dist/collection/components/q2-pagination/q2-pagination.css +22 -0
  294. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  295. package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js +145 -0
  296. package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js.map +1 -0
  297. package/dist/collection/components/q2-pill/q2-pill.css +53 -0
  298. package/dist/collection/components/q2-pill/q2-pill.js +23 -14
  299. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  300. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +110 -0
  301. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js.map +1 -0
  302. package/dist/collection/components/q2-popover/q2-popover.css +20 -0
  303. package/dist/collection/components/q2-popover/q2-popover.js +5 -2
  304. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  305. package/dist/collection/components/q2-radio/q2-radio.css +52 -1
  306. package/dist/collection/components/q2-radio/q2-radio.js +2 -2
  307. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  308. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +73 -0
  309. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js.map +1 -0
  310. package/dist/collection/components/q2-radio-group/q2-radio-group.css +22 -0
  311. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +99 -0
  312. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js.map +1 -0
  313. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  314. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  315. package/dist/collection/components/q2-section/q2-section.css +26 -0
  316. package/dist/collection/components/q2-section/q2-section.js +2 -2
  317. package/dist/collection/components/q2-section/test/q2-section-test.vr.js +68 -0
  318. package/dist/collection/components/q2-section/test/q2-section-test.vr.js.map +1 -0
  319. package/dist/collection/components/q2-select/q2-select.css +17 -0
  320. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +107 -0
  321. package/dist/collection/components/q2-select/test/q2-select-test.vr.js.map +1 -0
  322. package/dist/collection/components/q2-stepper/q2-stepper.css +36 -0
  323. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  324. package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js +86 -0
  325. package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js.map +1 -0
  326. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  327. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +31 -0
  328. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  329. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js +97 -0
  330. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js.map +1 -0
  331. package/dist/collection/components/q2-tab-container/q2-tab-container.css +38 -0
  332. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  333. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js +78 -0
  334. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js.map +1 -0
  335. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  336. package/dist/collection/components/q2-tag/q2-tag.css +30 -1
  337. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  338. package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js +83 -0
  339. package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js.map +1 -0
  340. package/dist/collection/components/q2-textarea/q2-textarea.css +80 -0
  341. package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js +102 -0
  342. package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js.map +1 -0
  343. package/dist/collection/components/q2-toast/q2-toast.css +15 -0
  344. package/dist/collection/components/q2-tooltip/q2-tooltip.css +31 -0
  345. package/dist/collection/components/q2-tooltip/q2-tooltip.js +135 -4
  346. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  347. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +76 -0
  348. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js.map +1 -0
  349. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  350. package/dist/collection/utils/component.js +7 -1
  351. package/dist/collection/utils/component.js.map +1 -1
  352. package/dist/collection/utils/index.js +1 -1
  353. package/dist/collection/utils/index.js.map +1 -1
  354. package/dist/collection/utils/sanitize-html-string.js +19 -2
  355. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  356. package/dist/collection/utils/test/vr-helpers.js +98 -0
  357. package/dist/collection/utils/test/vr-helpers.js.map +1 -0
  358. package/dist/components/click-elsewhere2.js +2 -0
  359. package/dist/components/click-elsewhere2.js.map +1 -1
  360. package/dist/components/component.js +7 -1
  361. package/dist/components/component.js.map +1 -1
  362. package/dist/components/index.js +2 -0
  363. package/dist/components/index.js.map +1 -1
  364. package/dist/components/index2.js +1 -1
  365. package/dist/components/index2.js.map +1 -1
  366. package/dist/components/q2-action-group2.js.map +1 -1
  367. package/dist/components/q2-action-sheet.js +107 -2
  368. package/dist/components/q2-action-sheet.js.map +1 -1
  369. package/dist/components/q2-avatar2.js.map +1 -1
  370. package/dist/components/q2-badge2.js.map +1 -1
  371. package/dist/components/q2-btn2.js.map +1 -1
  372. package/dist/components/q2-calendar.js +5 -2
  373. package/dist/components/q2-calendar.js.map +1 -1
  374. package/dist/components/q2-card-image.js +1 -1
  375. package/dist/components/q2-card-image.js.map +1 -1
  376. package/dist/components/q2-card.js.map +1 -1
  377. package/dist/components/q2-carousel-pane.js +1 -135
  378. package/dist/components/q2-carousel-pane.js.map +1 -1
  379. package/dist/components/q2-carousel-pane2.js +140 -0
  380. package/dist/components/q2-carousel-pane2.js.map +1 -0
  381. package/dist/components/q2-carousel.js +173 -29
  382. package/dist/components/q2-carousel.js.map +1 -1
  383. package/dist/components/q2-chart-donut.js +3 -1
  384. package/dist/components/q2-chart-donut.js.map +1 -1
  385. package/dist/components/q2-checkbox-group.js.map +1 -1
  386. package/dist/components/q2-checkbox2.js.map +1 -1
  387. package/dist/components/q2-context.js +1 -1
  388. package/dist/components/q2-context.js.map +1 -1
  389. package/dist/components/q2-currency.js +3 -4
  390. package/dist/components/q2-currency.js.map +1 -1
  391. package/dist/components/q2-data-table.js +1 -1
  392. package/dist/components/q2-data-table.js.map +1 -1
  393. package/dist/components/q2-detail.js +1 -1
  394. package/dist/components/q2-detail.js.map +1 -1
  395. package/dist/components/q2-dropdown-item2.js.map +1 -1
  396. package/dist/components/q2-dropdown.js +2 -4
  397. package/dist/components/q2-dropdown.js.map +1 -1
  398. package/dist/components/q2-editable-field.js.map +1 -1
  399. package/dist/components/q2-example.js +1 -1
  400. package/dist/components/q2-file-picker.js.map +1 -1
  401. package/dist/components/q2-form.js +2 -2
  402. package/dist/components/q2-form.js.map +1 -1
  403. package/dist/components/q2-formatted-text.js +1 -1
  404. package/dist/components/q2-formatted-text.js.map +1 -1
  405. package/dist/components/q2-grid.js +32 -8
  406. package/dist/components/q2-grid.js.map +1 -1
  407. package/dist/components/q2-icon2.js.map +1 -1
  408. package/dist/components/q2-input2.js +7 -4
  409. package/dist/components/q2-input2.js.map +1 -1
  410. package/dist/components/q2-item2.js +1 -1
  411. package/dist/components/q2-item2.js.map +1 -1
  412. package/dist/components/q2-legend2.js +3 -3
  413. package/dist/components/q2-legend2.js.map +1 -1
  414. package/dist/components/q2-link2.js.map +1 -1
  415. package/dist/components/q2-list2.js +1 -1
  416. package/dist/components/q2-list2.js.map +1 -1
  417. package/dist/components/q2-loading2.js.map +1 -1
  418. package/dist/components/q2-message2.js +2 -2
  419. package/dist/components/q2-message2.js.map +1 -1
  420. package/dist/components/q2-meter.js +1 -1
  421. package/dist/components/q2-meter.js.map +1 -1
  422. package/dist/components/q2-modal.js +1 -1
  423. package/dist/components/q2-modal.js.map +1 -1
  424. package/dist/components/q2-mutation-observer.js +1 -1
  425. package/dist/components/q2-optgroup2.js +1 -1
  426. package/dist/components/q2-optgroup2.js.map +1 -1
  427. package/dist/components/q2-option-list2.js +37 -28
  428. package/dist/components/q2-option-list2.js.map +1 -1
  429. package/dist/components/q2-option2.js +1 -1
  430. package/dist/components/q2-option2.js.map +1 -1
  431. package/dist/components/q2-otp.d.ts +11 -0
  432. package/dist/components/q2-otp.js +439 -0
  433. package/dist/components/q2-otp.js.map +1 -0
  434. package/dist/components/q2-pagination.js +3 -3
  435. package/dist/components/q2-pagination.js.map +1 -1
  436. package/dist/components/q2-pill.js +23 -14
  437. package/dist/components/q2-pill.js.map +1 -1
  438. package/dist/components/q2-popover2.js +5 -2
  439. package/dist/components/q2-popover2.js.map +1 -1
  440. package/dist/components/q2-radio-group.js.map +1 -1
  441. package/dist/components/q2-radio.js +2 -2
  442. package/dist/components/q2-radio.js.map +1 -1
  443. package/dist/components/q2-relative-time.js +1 -1
  444. package/dist/components/q2-resize-observer2.js +1 -1
  445. package/dist/components/q2-section.js +2 -2
  446. package/dist/components/q2-section.js.map +1 -1
  447. package/dist/components/q2-select2.js.map +1 -1
  448. package/dist/components/q2-stepper-pane.js +1 -1
  449. package/dist/components/q2-stepper-vertical.js +1 -1
  450. package/dist/components/q2-stepper-vertical.js.map +1 -1
  451. package/dist/components/q2-stepper.js +1 -1
  452. package/dist/components/q2-stepper.js.map +1 -1
  453. package/dist/components/q2-tab-container.js +1 -1
  454. package/dist/components/q2-tab-container.js.map +1 -1
  455. package/dist/components/q2-tab-pane.js +1 -1
  456. package/dist/components/q2-tag2.js +2 -2
  457. package/dist/components/q2-tag2.js.map +1 -1
  458. package/dist/components/q2-textarea.js.map +1 -1
  459. package/dist/components/q2-toast.js.map +1 -1
  460. package/dist/components/q2-tooltip2.js +124 -5
  461. package/dist/components/q2-tooltip2.js.map +1 -1
  462. package/dist/components/sanitize-html-string.js +19 -2
  463. package/dist/components/sanitize-html-string.js.map +1 -1
  464. package/dist/components/tecton-tab-pane.js +2 -2
  465. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -1
  466. package/dist/esm/click-elsewhere_3.entry.js +46 -32
  467. package/dist/esm/click-elsewhere_3.entry.js.map +1 -1
  468. package/dist/esm/{component-DVxzK3WH.js → component-DaQM9u3s.js} +9 -3
  469. package/dist/esm/component-DaQM9u3s.js.map +1 -0
  470. package/dist/esm/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
  471. package/dist/esm/index-C5gj0T_3.js.map +1 -0
  472. package/dist/esm/loader.js +1 -1
  473. package/dist/esm/q2-action-group.q2-resize-observer.entry.js.map +1 -1
  474. package/dist/esm/q2-action-group_2.entry.js +2 -2
  475. package/dist/esm/q2-action-group_2.entry.js.map +1 -1
  476. package/dist/esm/q2-action-sheet.entry.js +109 -4
  477. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  478. package/dist/esm/q2-avatar.entry.js.map +1 -1
  479. package/dist/esm/q2-badge.entry.js +1 -1
  480. package/dist/esm/q2-badge.entry.js.map +1 -1
  481. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  482. package/dist/esm/q2-btn_2.entry.js +1 -1
  483. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  484. package/dist/esm/q2-calendar.entry.js +6 -3
  485. package/dist/esm/q2-calendar.entry.js.map +1 -1
  486. package/dist/esm/q2-card-image.entry.js +2 -2
  487. package/dist/esm/q2-card-image.entry.js.map +1 -1
  488. package/dist/esm/q2-card.entry.js +1 -1
  489. package/dist/esm/q2-card.entry.js.map +1 -1
  490. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  491. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  492. package/dist/esm/q2-carousel.entry.js +162 -29
  493. package/dist/esm/q2-carousel.entry.js.map +1 -1
  494. package/dist/esm/q2-chart-area.entry.js +1 -1
  495. package/dist/esm/q2-chart-bar.entry.js +1 -1
  496. package/dist/esm/q2-chart-donut.entry.js +3 -2
  497. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  498. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  499. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  500. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -1
  501. package/dist/esm/q2-checkbox_2.entry.js +3 -3
  502. package/dist/esm/q2-checkbox_2.entry.js.map +1 -1
  503. package/dist/esm/q2-context.entry.js +2 -2
  504. package/dist/esm/q2-context.entry.js.map +1 -1
  505. package/dist/esm/q2-currency.entry.js +3 -4
  506. package/dist/esm/q2-currency.entry.js.map +1 -1
  507. package/dist/esm/q2-data-table.entry.js +2 -2
  508. package/dist/esm/q2-data-table.entry.js.map +1 -1
  509. package/dist/esm/q2-detail.entry.js +2 -2
  510. package/dist/esm/q2-detail.entry.js.map +1 -1
  511. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  512. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  513. package/dist/esm/q2-dropdown.entry.js +3 -5
  514. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  515. package/dist/esm/q2-editable-field.entry.js +1 -1
  516. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  517. package/dist/esm/q2-example.entry.js +1 -1
  518. package/dist/esm/q2-file-picker.entry.js +1 -1
  519. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  520. package/dist/esm/q2-form.entry.js +2 -2
  521. package/dist/esm/q2-form.entry.js.map +1 -1
  522. package/dist/esm/q2-formatted-text.entry.js +1 -1
  523. package/dist/esm/q2-formatted-text.entry.js.map +1 -1
  524. package/dist/esm/q2-grid-area.entry.js +1 -1
  525. package/dist/esm/q2-grid.entry.js +33 -9
  526. package/dist/esm/q2-grid.entry.js.map +1 -1
  527. package/dist/esm/q2-icon.entry.js +1 -1
  528. package/dist/esm/q2-icon.entry.js.map +1 -1
  529. package/dist/esm/q2-input.entry.js +8 -5
  530. package/dist/esm/q2-input.entry.js.map +1 -1
  531. package/dist/esm/q2-item.entry.js +2 -2
  532. package/dist/esm/q2-item.entry.js.map +1 -1
  533. package/dist/esm/q2-legend.entry.js +2 -3
  534. package/dist/esm/q2-legend.entry.js.map +1 -1
  535. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  536. package/dist/esm/q2-link_2.entry.js +2 -2
  537. package/dist/esm/q2-link_2.entry.js.map +1 -1
  538. package/dist/esm/q2-loc.entry.js +1 -1
  539. package/dist/esm/q2-message.entry.js +3 -3
  540. package/dist/esm/q2-message.entry.js.map +1 -1
  541. package/dist/esm/q2-meter.entry.js +2 -2
  542. package/dist/esm/q2-meter.entry.js.map +1 -1
  543. package/dist/esm/q2-modal.entry.js +3 -3
  544. package/dist/esm/q2-modal.entry.js.map +1 -1
  545. package/dist/esm/q2-month-picker.entry.js +1 -1
  546. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  547. package/dist/esm/q2-optgroup.entry.js +3 -3
  548. package/dist/esm/q2-optgroup.entry.js.map +1 -1
  549. package/dist/esm/q2-option.entry.js +3 -3
  550. package/dist/esm/q2-option.entry.js.map +1 -1
  551. package/dist/esm/q2-otp.entry.js +371 -0
  552. package/dist/esm/q2-otp.entry.js.map +1 -0
  553. package/dist/esm/q2-pagination.entry.js +4 -4
  554. package/dist/esm/q2-pagination.entry.js.map +1 -1
  555. package/dist/esm/q2-pill.entry.js +24 -15
  556. package/dist/esm/q2-pill.entry.js.map +1 -1
  557. package/dist/esm/q2-radio-group.entry.js +1 -1
  558. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  559. package/dist/esm/q2-radio.entry.js +3 -3
  560. package/dist/esm/q2-radio.entry.js.map +1 -1
  561. package/dist/esm/q2-relative-time.entry.js +2 -2
  562. package/dist/esm/q2-section-container.entry.js +1 -1
  563. package/dist/esm/q2-section.entry.js +3 -3
  564. package/dist/esm/q2-section.entry.js.map +1 -1
  565. package/dist/esm/q2-select.entry.js +1 -1
  566. package/dist/esm/q2-select.entry.js.map +1 -1
  567. package/dist/esm/q2-stepper-pane.entry.js +3 -3
  568. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  569. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  570. package/dist/esm/q2-stepper.entry.js +2 -2
  571. package/dist/esm/q2-stepper.entry.js.map +1 -1
  572. package/dist/esm/q2-tab-container.entry.js +3 -3
  573. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  574. package/dist/esm/q2-tab-pane.entry.js +2 -2
  575. package/dist/esm/q2-tecton-elements.js +1 -1
  576. package/dist/esm/q2-textarea.entry.js +1 -1
  577. package/dist/esm/q2-textarea.entry.js.map +1 -1
  578. package/dist/esm/q2-toast.entry.js +1 -1
  579. package/dist/esm/q2-toast.entry.js.map +1 -1
  580. package/dist/esm/q2-tooltip.entry.js +124 -5
  581. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  582. package/dist/esm/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +21 -4
  583. package/dist/{q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map → esm/sanitize-html-string-DPHNpMWE.js.map} +1 -1
  584. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  585. package/dist/playwright.config.js +12 -0
  586. package/dist/playwright.config.js.map +1 -0
  587. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  588. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -1
  589. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +44 -35
  590. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -1
  591. package/dist/q2-tecton-elements/component-DaQM9u3s.js +46 -0
  592. package/dist/q2-tecton-elements/component-DaQM9u3s.js.map +1 -0
  593. package/dist/q2-tecton-elements/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
  594. package/dist/q2-tecton-elements/index-C5gj0T_3.js.map +1 -0
  595. package/dist/q2-tecton-elements/q2-action-group.q2-resize-observer.entry.esm.js.map +1 -1
  596. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  597. package/dist/q2-tecton-elements/q2-action-group_2.entry.js.map +1 -1
  598. package/dist/q2-tecton-elements/q2-action-sheet.entry.esm.js.map +1 -1
  599. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +166 -70
  600. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  602. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-badge.entry.esm.js.map +1 -1
  604. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  605. package/dist/q2-tecton-elements/q2-badge.entry.js.map +1 -1
  606. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  607. package/dist/q2-tecton-elements/q2-btn_2.entry.js +1 -1
  608. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  609. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  610. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  611. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  612. package/dist/q2-tecton-elements/q2-card-image.entry.esm.js.map +1 -1
  613. package/dist/q2-tecton-elements/q2-card-image.entry.js +2 -2
  614. package/dist/q2-tecton-elements/q2-card-image.entry.js.map +1 -1
  615. package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
  616. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  617. package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -1
  618. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  619. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +6 -6
  620. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  621. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  622. package/dist/q2-tecton-elements/q2-carousel.entry.js +402 -271
  623. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  624. package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
  625. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1 -1
  626. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  627. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +18 -16
  628. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  629. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  630. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  631. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  632. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -1
  633. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
  634. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -1
  635. package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
  636. package/dist/q2-tecton-elements/q2-context.entry.js +2 -2
  637. package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
  638. package/dist/q2-tecton-elements/q2-currency.entry.esm.js.map +1 -1
  639. package/dist/q2-tecton-elements/q2-currency.entry.js +34 -33
  640. package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -1
  641. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  642. package/dist/q2-tecton-elements/q2-data-table.entry.js +4 -4
  643. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  644. package/dist/q2-tecton-elements/q2-detail.entry.esm.js.map +1 -1
  645. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  646. package/dist/q2-tecton-elements/q2-detail.entry.js.map +1 -1
  647. package/dist/q2-tecton-elements/q2-dropdown-item.entry.esm.js.map +1 -1
  648. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +2 -2
  649. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  650. package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
  651. package/dist/q2-tecton-elements/q2-dropdown.entry.js +18 -19
  652. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  653. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  654. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  655. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  656. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  657. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  658. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  659. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  660. package/dist/q2-tecton-elements/q2-form.entry.esm.js.map +1 -1
  661. package/dist/q2-tecton-elements/q2-form.entry.js +9 -9
  662. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -1
  663. package/dist/q2-tecton-elements/q2-formatted-text.entry.esm.js.map +1 -1
  664. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  665. package/dist/q2-tecton-elements/q2-formatted-text.entry.js.map +1 -1
  666. package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
  667. package/dist/q2-tecton-elements/q2-grid.entry.esm.js.map +1 -1
  668. package/dist/q2-tecton-elements/q2-grid.entry.js +39 -14
  669. package/dist/q2-tecton-elements/q2-grid.entry.js.map +1 -1
  670. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  671. package/dist/q2-tecton-elements/q2-icon.entry.js +52 -52
  672. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  673. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  674. package/dist/q2-tecton-elements/q2-input.entry.js +10 -6
  675. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  676. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  677. package/dist/q2-tecton-elements/q2-item.entry.js +14 -14
  678. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  679. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  680. package/dist/q2-tecton-elements/q2-legend.entry.js +4 -5
  681. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  682. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  683. package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
  684. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  685. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  686. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  687. package/dist/q2-tecton-elements/q2-message.entry.js +28 -28
  688. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  689. package/dist/q2-tecton-elements/q2-meter.entry.esm.js.map +1 -1
  690. package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
  691. package/dist/q2-tecton-elements/q2-meter.entry.js.map +1 -1
  692. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  693. package/dist/q2-tecton-elements/q2-modal.entry.js +53 -53
  694. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  695. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  696. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  697. package/dist/q2-tecton-elements/q2-optgroup.entry.esm.js.map +1 -1
  698. package/dist/q2-tecton-elements/q2-optgroup.entry.js +6 -6
  699. package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
  700. package/dist/q2-tecton-elements/q2-option.entry.esm.js.map +1 -1
  701. package/dist/q2-tecton-elements/q2-option.entry.js +3 -3
  702. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  703. package/dist/q2-tecton-elements/q2-otp.entry.esm.js.map +1 -0
  704. package/dist/q2-tecton-elements/q2-otp.entry.js +453 -0
  705. package/dist/q2-tecton-elements/q2-otp.entry.js.map +1 -0
  706. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  707. package/dist/q2-tecton-elements/q2-pagination.entry.js +29 -29
  708. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  709. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  710. package/dist/q2-tecton-elements/q2-pill.entry.js +43 -28
  711. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  712. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  713. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  714. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  715. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  716. package/dist/q2-tecton-elements/q2-radio.entry.js +10 -10
  717. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  718. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  719. package/dist/q2-tecton-elements/q2-section-container.entry.js +1 -1
  720. package/dist/q2-tecton-elements/q2-section.entry.esm.js.map +1 -1
  721. package/dist/q2-tecton-elements/q2-section.entry.js +21 -21
  722. package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -1
  723. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  724. package/dist/q2-tecton-elements/q2-select.entry.js +1 -1
  725. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  726. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +10 -10
  727. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  728. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  729. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  730. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  731. package/dist/q2-tecton-elements/q2-stepper.entry.js +33 -33
  732. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  733. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  734. package/dist/q2-tecton-elements/q2-tab-container.entry.js +14 -14
  735. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  736. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +6 -6
  737. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  738. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  739. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  740. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  741. package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -1
  742. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  743. package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -1
  744. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  745. package/dist/q2-tecton-elements/q2-tooltip.entry.js +136 -20
  746. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  747. package/dist/q2-tecton-elements/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +147 -142
  748. package/dist/{esm/sanitize-html-string-B35VmRc9.js.map → q2-tecton-elements/sanitize-html-string-DPHNpMWE.js.map} +1 -1
  749. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  750. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/playwright.config.d.ts +2 -0
  751. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +22 -0
  752. package/dist/types/components/q2-avatar/test/q2-avatar-test.vr.d.ts +1 -0
  753. package/dist/types/components/q2-badge/test/q2-badge-test.vr.d.ts +1 -0
  754. package/dist/types/components/q2-btn/test/q2-btn-test.vr.d.ts +1 -0
  755. package/dist/types/components/q2-calendar/test/q2-calendar-test.vr.d.ts +1 -0
  756. package/dist/types/components/q2-card/test/q2-card-test.vr.d.ts +1 -0
  757. package/dist/types/components/q2-card-image/test/q2-card-image-test.vr.d.ts +1 -0
  758. package/dist/types/components/q2-carousel/q2-carousel.d.ts +29 -0
  759. package/dist/types/components/q2-carousel/test/q2-carousel-test.vr.d.ts +1 -0
  760. package/dist/types/components/q2-chart-area/test/q2-chart-area-test.vr.d.ts +1 -0
  761. package/dist/types/components/q2-chart-bar/test/q2-chart-bar-test.vr.d.ts +1 -0
  762. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +2 -0
  763. package/dist/types/components/q2-chart-donut/test/q2-chart-donut-test.vr.d.ts +1 -0
  764. package/dist/types/components/q2-checkbox/test/q2-checkbox-test.vr.d.ts +1 -0
  765. package/dist/types/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.d.ts +1 -0
  766. package/dist/types/components/q2-context/test/q2-context-test.vr.d.ts +1 -0
  767. package/dist/types/components/q2-currency/test/q2-currency-test.vr.d.ts +1 -0
  768. package/dist/types/components/q2-data-table/test/q2-data-table-test.vr.d.ts +1 -0
  769. package/dist/types/components/q2-editable-field/test/q2-editable-field-test.vr.d.ts +1 -0
  770. package/dist/types/components/q2-file-picker/test/q2-file-picker-test.vr.d.ts +1 -0
  771. package/dist/types/components/q2-formatted-text/test/q2-formatted-text-test.vr.d.ts +1 -0
  772. package/dist/types/components/q2-grid/q2-grid.d.ts +10 -0
  773. package/dist/types/components/q2-icon/test/q2-icon-test.vr.d.ts +1 -0
  774. package/dist/types/components/q2-input/test/q2-input-test.vr.d.ts +1 -0
  775. package/dist/types/components/q2-legend/q2-legend.d.ts +2 -0
  776. package/dist/types/components/q2-link/test/q2-link-test.vr.d.ts +1 -0
  777. package/dist/types/components/q2-list/test/q2-list-test.vr.d.ts +1 -0
  778. package/dist/types/components/q2-message/test/q2-message-test.vr.d.ts +1 -0
  779. package/dist/types/components/q2-meter/test/q2-meter-test.vr.d.ts +1 -0
  780. package/dist/types/components/q2-modal/test/q2-modal-test.vr.d.ts +1 -0
  781. package/dist/types/components/q2-otp/q2-otp.d.ts +159 -0
  782. package/dist/types/components/q2-pagination/test/q2-pagination-test.vr.d.ts +1 -0
  783. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -2
  784. package/dist/types/components/q2-pill/test/q2-pill-test.vr.d.ts +1 -0
  785. package/dist/types/components/q2-radio/q2-radio.d.ts +1 -1
  786. package/dist/types/components/q2-radio/test/q2-radio-test.vr.d.ts +1 -0
  787. package/dist/types/components/q2-radio-group/test/q2-radio-group-test.vr.d.ts +1 -0
  788. package/dist/types/components/q2-section/test/q2-section-test.vr.d.ts +1 -0
  789. package/dist/types/components/q2-select/test/q2-select-test.vr.d.ts +1 -0
  790. package/dist/types/components/q2-stepper/test/q2-stepper-test.vr.d.ts +1 -0
  791. package/dist/types/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.d.ts +1 -0
  792. package/dist/types/components/q2-tab-container/test/q2-tab-container-test.vr.d.ts +1 -0
  793. package/dist/types/components/q2-tag/test/q2-tag-test.vr.d.ts +1 -0
  794. package/dist/types/components/q2-textarea/test/q2-textarea-test.vr.d.ts +1 -0
  795. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  796. package/dist/types/components/q2-tooltip/test/q2-tooltip-test.vr.d.ts +1 -0
  797. package/dist/types/components.d.ts +306 -2
  798. package/dist/types/utils/component.d.ts +1 -1
  799. package/dist/types/utils/test/vr-helpers.d.ts +14 -0
  800. package/package.json +12 -3
  801. package/dist/cjs/component-DRAntnCA.js.map +0 -1
  802. package/dist/cjs/index-YvKoRT-t.js.map +0 -1
  803. package/dist/esm/component-DVxzK3WH.js.map +0 -1
  804. package/dist/esm/index-C4PILj1_.js.map +0 -1
  805. package/dist/q2-tecton-elements/component-DVxzK3WH.js +0 -40
  806. package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +0 -1
  807. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface, Element, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n const currency = this.hostElement.shadowRoot.querySelector('[test-id=\"q2CurrencyInner\"]');\n return currency?.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface, Element, Host, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n return this.hostElement.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <Host aria-label={readableCurrency}>\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}
@@ -0,0 +1,79 @@
1
+ import { expect } from "@playwright/test";
2
+ import { test } from "@stencil/playwright";
3
+ import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
4
+ const VARIANTS = [
5
+ {
6
+ name: 'default-positive-inline',
7
+ html: `<q2-currency amount="123456.78"></q2-currency>`,
8
+ },
9
+ {
10
+ name: 'default-negative-inline',
11
+ html: `<q2-currency amount="-123456.78"></q2-currency>`,
12
+ },
13
+ {
14
+ name: 'size-small',
15
+ html: `<q2-currency amount="123456.78" size="small"></q2-currency>`,
16
+ },
17
+ {
18
+ name: 'size-medium',
19
+ html: `<q2-currency amount="123456.78" size="medium"></q2-currency>`,
20
+ },
21
+ {
22
+ name: 'size-large',
23
+ html: `<q2-currency amount="123456.78" size="large"></q2-currency>`,
24
+ },
25
+ {
26
+ name: 'debit-positive',
27
+ html: `<q2-currency amount="123456.78" variant="debit" size="medium"></q2-currency>`,
28
+ },
29
+ {
30
+ name: 'debit-negative',
31
+ html: `<q2-currency amount="-123456.78" variant="debit" size="medium"></q2-currency>`,
32
+ },
33
+ {
34
+ name: 'credit-positive',
35
+ html: `<q2-currency amount="123456.78" variant="credit" size="medium"></q2-currency>`,
36
+ },
37
+ {
38
+ name: 'credit-negative',
39
+ html: `<q2-currency amount="-123456.78" variant="credit" size="medium"></q2-currency>`,
40
+ },
41
+ {
42
+ name: 'masked-positive',
43
+ html: `<q2-currency amount="123456.78" variant="masked" size="medium"></q2-currency>`,
44
+ },
45
+ {
46
+ name: 'masked-negative',
47
+ html: `<q2-currency amount="-123456.78" variant="masked" size="medium"></q2-currency>`,
48
+ },
49
+ {
50
+ name: 'sign-display-accounting-positive',
51
+ html: `<q2-currency amount="123456.78" sign-display="accounting" size="medium"></q2-currency>`,
52
+ },
53
+ {
54
+ name: 'sign-display-accounting-negative',
55
+ html: `<q2-currency amount="-123456.78" sign-display="accounting" size="medium"></q2-currency>`,
56
+ },
57
+ {
58
+ name: 'sign-display-always',
59
+ html: `<q2-currency amount="123456.78" sign-display="always" size="medium"></q2-currency>`,
60
+ },
61
+ {
62
+ name: 'sign-display-never',
63
+ html: `<q2-currency amount="-123456.78" sign-display="never" size="medium"></q2-currency>`,
64
+ },
65
+ ];
66
+ const restingCase = (variant, theme) => {
67
+ test(`q2-currency--${variant.name}--resting — ${theme}`, async ({ page }) => {
68
+ await setupPage(page, variant.html, { theme });
69
+ await expect(page).toHaveScreenshot(`q2-currency--${variant.name}--resting--${theme}.png`);
70
+ });
71
+ };
72
+ test.describe('q2-currency — variants × themes', () => {
73
+ for (const variant of VARIANTS) {
74
+ for (const theme of THEMES) {
75
+ restingCase(variant, theme);
76
+ }
77
+ }
78
+ });
79
+ //# sourceMappingURL=q2-currency-test.vr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"q2-currency-test.vr.js","sourceRoot":"","sources":["../../../../../src/components/q2-currency/test/q2-currency-test.vr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAS,MAAM,gCAAgC,CAAC;AAI1E,MAAM,QAAQ,GAAc;IACxB;QACI,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,gDAAgD;KACzD;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,iDAAiD;KAC1D;IACD;QACI,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,6DAA6D;KACtE;IACD;QACI,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,8DAA8D;KACvE;IACD;QACI,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,6DAA6D;KACtE;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,8EAA8E;KACvF;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,+EAA+E;KACxF;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,+EAA+E;KACxF;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gFAAgF;KACzF;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,+EAA+E;KACxF;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gFAAgF;KACzF;IACD;QACI,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,wFAAwF;KACjG;IACD;QACI,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,yFAAyF;KAClG;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,oFAAoF;KAC7F;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,oFAAoF;KAC7F;CACJ,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,KAAY,EAAE,EAAE;IACnD,IAAI,CAAC,gBAAgB,OAAO,CAAC,IAAI,eAAe,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACxE,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,OAAO,CAAC,IAAI,cAAc,KAAK,MAAM,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@playwright/test';\nimport { test } from '@stencil/playwright';\nimport { setupPage, THEMES, Theme } from '../../../utils/test/vr-helpers';\n\ntype Variant = { name: string; html: string };\n\nconst VARIANTS: Variant[] = [\n {\n name: 'default-positive-inline',\n html: `<q2-currency amount=\"123456.78\"></q2-currency>`,\n },\n {\n name: 'default-negative-inline',\n html: `<q2-currency amount=\"-123456.78\"></q2-currency>`,\n },\n {\n name: 'size-small',\n html: `<q2-currency amount=\"123456.78\" size=\"small\"></q2-currency>`,\n },\n {\n name: 'size-medium',\n html: `<q2-currency amount=\"123456.78\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'size-large',\n html: `<q2-currency amount=\"123456.78\" size=\"large\"></q2-currency>`,\n },\n {\n name: 'debit-positive',\n html: `<q2-currency amount=\"123456.78\" variant=\"debit\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'debit-negative',\n html: `<q2-currency amount=\"-123456.78\" variant=\"debit\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'credit-positive',\n html: `<q2-currency amount=\"123456.78\" variant=\"credit\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'credit-negative',\n html: `<q2-currency amount=\"-123456.78\" variant=\"credit\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'masked-positive',\n html: `<q2-currency amount=\"123456.78\" variant=\"masked\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'masked-negative',\n html: `<q2-currency amount=\"-123456.78\" variant=\"masked\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'sign-display-accounting-positive',\n html: `<q2-currency amount=\"123456.78\" sign-display=\"accounting\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'sign-display-accounting-negative',\n html: `<q2-currency amount=\"-123456.78\" sign-display=\"accounting\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'sign-display-always',\n html: `<q2-currency amount=\"123456.78\" sign-display=\"always\" size=\"medium\"></q2-currency>`,\n },\n {\n name: 'sign-display-never',\n html: `<q2-currency amount=\"-123456.78\" sign-display=\"never\" size=\"medium\"></q2-currency>`,\n },\n];\n\nconst restingCase = (variant: Variant, theme: Theme) => {\n test(`q2-currency--${variant.name}--resting — ${theme}`, async ({ page }) => {\n await setupPage(page, variant.html, { theme });\n await expect(page).toHaveScreenshot(`q2-currency--${variant.name}--resting--${theme}.png`);\n });\n};\n\ntest.describe('q2-currency — variants × themes', () => {\n for (const variant of VARIANTS) {\n for (const theme of THEMES) {\n restingCase(variant, theme);\n }\n }\n});\n"]}
@@ -65,6 +65,57 @@ button {
65
65
  visibility: hidden;
66
66
  }
67
67
 
68
+ /**
69
+ * @prop --tct-data-table-width?: (<length-percentage>) Controls the optional explicit width of the data table.
70
+ * @prop --tct-data-table-layout: (<custom-ident>) Controls the table-layout algorithm of the data table.
71
+ * @prop --tct-data-table-background: (<color>) Controls the background color of the data table.
72
+ * @prop --tct-data-table-backdrop-filter?: (*) Controls the optional backdrop-filter applied to the data table.
73
+ * @prop --tct-data-table-shadow: (*) Controls the box shadow of the data table when shadowed.
74
+ * @prop --tct-data-table-cell-padding: (<length-percentage>+) Controls the inner padding of data table cells in the default density.
75
+ * @prop --tct-data-table-cell-padding-compact: (<length-percentage>+) Controls the inner padding of data table cells when density is compact.
76
+ * @prop --tct-data-table-cell-padding-comfortable: (<length-percentage>+) Controls the inner padding of data table cells when density is comfortable.
77
+ * @prop --tct-data-table-cell-font-size?: (<length-percentage>) Controls the optional font size of data table cell content.
78
+ * @prop --tct-data-table-caption-side: (<custom-ident>) Controls the caption-side of the data table caption.
79
+ * @prop --tct-data-table-caption-padding: (<length-percentage>+) Controls the inner padding of the data table caption.
80
+ * @prop --tct-data-table-caption-text-align: (<custom-ident>) Controls the text alignment of the data table caption.
81
+ * @prop --tct-data-table-caption-font-size?: (<length-percentage>) Controls the optional font size of the data table caption.
82
+ * @prop --tct-data-table-caption-font-weight: (<number>) Controls the font weight of the data table caption.
83
+ * @prop --tct-data-table-caption-color?: (<color>) Controls the optional text color of the data table caption.
84
+ * @prop --tct-data-table-header-background?: (<color>) Controls the optional background color of the data table header row.
85
+ * @prop --tct-data-table-header-border-color: (<color>) Controls the border color beneath the data table header row.
86
+ * @prop --tct-data-table-header-border-style: (<custom-ident>) Controls the border style beneath the data table header row.
87
+ * @prop --tct-data-table-header-border-width: (<length>+) Controls the border width beneath the data table header row.
88
+ * @prop --tct-data-table-header-content-gap: (<length-percentage>) Controls the gap between header label and sort indicator.
89
+ * @prop --tct-data-table-header-font-size: (<length-percentage>) Controls the font size of data table header cells.
90
+ * @prop --tct-data-table-header-font-weight: (<number>) Controls the font weight of data table header cells.
91
+ * @prop --tct-data-table-header-sortable-icon-size: (<length>) Controls the size of the sort-indicator icon in sortable headers.
92
+ * @prop --tct-data-table-header-sorted-font-weight: (<number>) Controls the font weight applied to a sorted header column.
93
+ * @prop --tct-data-table-sticky-header-background: (<color>) Controls the background color of the data table header when sticky.
94
+ * @prop --tct-data-table-sticky-header-top?: (<length-percentage>) Controls the optional top offset of the sticky header.
95
+ * @prop --tct-data-table-row-border-color: (<color>) Controls the border color between data table rows.
96
+ * @prop --tct-data-table-row-border-style: (<custom-ident>) Controls the border style between data table rows.
97
+ * @prop --tct-data-table-row-border-width: (<length>+) Controls the border width between data table rows.
98
+ * @prop --tct-data-table-row-even-background: (<color>) Controls the background color of even-numbered rows when striped.
99
+ * @prop --tct-data-table-row-odd-background?: (<color>) Controls the optional background color of odd-numbered rows when striped.
100
+ * @prop --tct-data-table-column-border-color: (<color>) Controls the border color between data table columns when bordered.
101
+ * @prop --tct-data-table-column-border-style: (<custom-ident>) Controls the border style between data table columns when bordered.
102
+ * @prop --tct-data-table-column-border-width: (<length>+) Controls the border width between data table columns when bordered.
103
+ * @prop --tct-data-table-clickable-row-hover-background: (<color>) Controls the background color of clickable rows on hover.
104
+ * @prop --tct-data-table-selected-row-background: (<color>) Controls the background color of selected rows.
105
+ * @prop --tct-data-table-expandable-row-hover-background: (<color>) Controls the background color of expandable rows on hover.
106
+ * @prop --tct-data-table-expandable-row-even-hover-background: (<color>) Controls the background color of even-numbered expandable rows on hover.
107
+ * @prop --tct-data-table-expandable-row-odd-hover-background: (<color>) Controls the background color of odd-numbered expandable rows on hover.
108
+ * @prop --tct-data-table-expanded-row-background: (<color>) Controls the background color of an expanded row's content area.
109
+ * @prop --tct-data-table-expanded-row-even-background: (<color>) Controls the background color of an even-numbered expanded row's content area.
110
+ * @prop --tct-data-table-expanded-row-odd-background?: (<color>) Controls the optional background color of an odd-numbered expanded row's content area.
111
+ * @prop --tct-data-table-loading-row-background: (<color>) Controls the background color of the loading and empty-state rows.
112
+ * @prop --tct-data-table-select-column-width: (<length>) Controls the width of the select checkbox column.
113
+ * @prop --tct-data-table-dropdown-column-width: (<length>) Controls the width of the row-actions dropdown column.
114
+ * @prop --tct-data-table-dropdown-column-padding: (<length-percentage>+) Controls the inner padding of the row-actions dropdown column cells.
115
+ * @prop --tct-data-table-expandable-row-control-column-width: (<length>) Controls the width of the expandable-row toggle column.
116
+ * @prop --tct-data-table-expandable-row-control-column-padding: (<length-percentage>+) Controls the inner padding of the expandable-row toggle column cells.
117
+ * @prop --tct-data-table-clickable-column-padding: (<length-percentage>+) Controls the inner padding of clickable-row toggle column cells.
118
+ */
68
119
  :host {
69
120
  display: block;
70
121
  }
@@ -398,7 +398,7 @@ export class Q2DataTable {
398
398
  // #region Render Methods
399
399
  render() {
400
400
  const { caption } = this;
401
- return (h("div", { key: 'ee7b81a0e49d8be037696fb1e275f90fe5547f8b', class: "container" }, h("table", { key: 'a5ee5ad79d6ed0b5e911611f9e15fb2130c69894' }, caption && h("caption", { key: 'ba4ea123b1b9fe1bda5734dcd789889db8d992b9', class: this.hideCaption ? 'sr' : undefined }, caption), this.renderTableColGroup(), this.renderTableHeader(), this.renderEmptyState(), this.renderTableRows())));
401
+ return (h("div", { key: '616c110e6636c4be4bb29feb636b1804cbdb622f', class: "container" }, h("table", { key: '131bda2f7b698a8c4d09d55be8e054363b2843b4' }, caption && h("caption", { key: '69efd5cdb86237ac380d17f8f4b43890727ef7f3', class: this.hideCaption ? 'sr' : undefined }, caption), this.renderTableColGroup(), this.renderTableHeader(), this.renderEmptyState(), this.renderTableRows())));
402
402
  }
403
403
  renderCellContent(cell) {
404
404
  if (!cell)
@@ -0,0 +1,79 @@
1
+ import { expect } from "@playwright/test";
2
+ import { test } from "@stencil/playwright";
3
+ import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
4
+ const HEADERS_JSON = JSON.stringify([
5
+ { title: 'Day', key: 'day' },
6
+ { title: 'Sales', key: 'sales', align: 'center' },
7
+ { title: 'Revenue', key: 'revenue', align: 'end' },
8
+ ]);
9
+ const ROWS_JSON = JSON.stringify([
10
+ { id: 1, cells: { day: 'Monday', sales: 93, revenue: '$4,650' } },
11
+ { id: 2, cells: { day: 'Tuesday', sales: 127, revenue: '$6,350' } },
12
+ { id: 3, cells: { day: 'Wednesday', sales: 121, revenue: '$6,050' } },
13
+ ]);
14
+ const buildHtml = (variant) => `
15
+ <q2-data-table id="dt" caption="Recent Sales" ${variant.attrs}></q2-data-table>
16
+ <script>
17
+ (function () {
18
+ var t = document.getElementById('dt');
19
+ t.headers = ${HEADERS_JSON};
20
+ t.rows = ${variant.emptyRows ? '[]' : ROWS_JSON};
21
+ })();
22
+ </script>
23
+ `;
24
+ const VARIANTS = [
25
+ { name: 'default', attrs: '' },
26
+ { name: 'bordered-true', attrs: 'bordered' },
27
+ { name: 'bordered-horizontal', attrs: 'bordered="horizontal"' },
28
+ { name: 'bordered-vertical', attrs: 'bordered="vertical"' },
29
+ { name: 'striped', attrs: 'striped' },
30
+ { name: 'shadowed', attrs: 'shadowed' },
31
+ { name: 'density-compact', attrs: 'density="compact"' },
32
+ { name: 'density-comfortable', attrs: 'density="comfortable"' },
33
+ { name: 'clickable', attrs: 'clickable' },
34
+ { name: 'clickable-hide-clickable', attrs: 'clickable hide-clickable' },
35
+ { name: 'selectable-multiple-left', attrs: 'selectable select-mode="multiple"' },
36
+ { name: 'selectable-multiple-right', attrs: 'selectable select-mode="multiple" select-align="right"' },
37
+ { name: 'selectable-single', attrs: 'selectable select-mode="single"' },
38
+ { name: 'loading', attrs: 'loading' },
39
+ { name: 'empty', attrs: '', emptyRows: true },
40
+ { name: 'hide-caption', attrs: 'hide-caption' },
41
+ { name: 'combo-stripe-border-shadow', attrs: 'striped bordered shadowed density="compact"' },
42
+ ];
43
+ const CLICKABLE_VARIANT = VARIANTS.find(v => v.name === 'clickable');
44
+ const SELECTABLE_MULTIPLE_LEFT_VARIANT = VARIANTS.find(v => v.name === 'selectable-multiple-left');
45
+ const restingCase = (variant, theme) => {
46
+ test(`q2-data-table--${variant.name}--resting — ${theme}`, async ({ page }) => {
47
+ await setupPage(page, buildHtml(variant), { theme, setupLoc: true });
48
+ await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--resting--${theme}.png`);
49
+ });
50
+ };
51
+ const focusCase = (variant, theme) => {
52
+ test(`q2-data-table--${variant.name}--focus — ${theme}`, async ({ page }) => {
53
+ await setupPage(page, buildHtml(variant), { theme, setupLoc: true });
54
+ await page.keyboard.press('Tab');
55
+ await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--focus--${theme}.png`);
56
+ });
57
+ };
58
+ const hoverCase = (variant, theme) => {
59
+ test(`q2-data-table--${variant.name}--hover — ${theme}`, async ({ page }) => {
60
+ await setupPage(page, buildHtml(variant), { theme, setupLoc: true });
61
+ // Hover the first data row to surface clickable-row hover styling.
62
+ const row = page.locator('q2-data-table tbody tr').first();
63
+ await row.hover();
64
+ await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--hover--${theme}.png`);
65
+ });
66
+ };
67
+ test.describe('q2-data-table — variants × themes', () => {
68
+ for (const variant of VARIANTS) {
69
+ for (const theme of THEMES) {
70
+ restingCase(variant, theme);
71
+ }
72
+ }
73
+ for (const theme of THEMES) {
74
+ focusCase(CLICKABLE_VARIANT, theme);
75
+ hoverCase(CLICKABLE_VARIANT, theme);
76
+ focusCase(SELECTABLE_MULTIPLE_LEFT_VARIANT, theme);
77
+ }
78
+ });
79
+ //# sourceMappingURL=q2-data-table-test.vr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"q2-data-table-test.vr.js","sourceRoot":"","sources":["../../../../../src/components/q2-data-table/test/q2-data-table-test.vr.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@playwright/test';\nimport { test } from '@stencil/playwright';\nimport { setupPage, THEMES, Theme } from '../../../utils/test/vr-helpers';\n\ntype Variant = { name: string; attrs: string; emptyRows?: boolean };\n\nconst HEADERS_JSON = JSON.stringify([\n { title: 'Day', key: 'day' },\n { title: 'Sales', key: 'sales', align: 'center' },\n { title: 'Revenue', key: 'revenue', align: 'end' },\n]);\n\nconst ROWS_JSON = JSON.stringify([\n { id: 1, cells: { day: 'Monday', sales: 93, revenue: '$4,650' } },\n { id: 2, cells: { day: 'Tuesday', sales: 127, revenue: '$6,350' } },\n { id: 3, cells: { day: 'Wednesday', sales: 121, revenue: '$6,050' } },\n]);\n\nconst buildHtml = (variant: Variant) => `\n <q2-data-table id=\"dt\" caption=\"Recent Sales\" ${variant.attrs}></q2-data-table>\n <script>\n (function () {\n var t = document.getElementById('dt');\n t.headers = ${HEADERS_JSON};\n t.rows = ${variant.emptyRows ? '[]' : ROWS_JSON};\n })();\n </script>\n`;\n\nconst VARIANTS: Variant[] = [\n { name: 'default', attrs: '' },\n { name: 'bordered-true', attrs: 'bordered' },\n { name: 'bordered-horizontal', attrs: 'bordered=\"horizontal\"' },\n { name: 'bordered-vertical', attrs: 'bordered=\"vertical\"' },\n { name: 'striped', attrs: 'striped' },\n { name: 'shadowed', attrs: 'shadowed' },\n { name: 'density-compact', attrs: 'density=\"compact\"' },\n { name: 'density-comfortable', attrs: 'density=\"comfortable\"' },\n { name: 'clickable', attrs: 'clickable' },\n { name: 'clickable-hide-clickable', attrs: 'clickable hide-clickable' },\n { name: 'selectable-multiple-left', attrs: 'selectable select-mode=\"multiple\"' },\n { name: 'selectable-multiple-right', attrs: 'selectable select-mode=\"multiple\" select-align=\"right\"' },\n { name: 'selectable-single', attrs: 'selectable select-mode=\"single\"' },\n { name: 'loading', attrs: 'loading' },\n { name: 'empty', attrs: '', emptyRows: true },\n { name: 'hide-caption', attrs: 'hide-caption' },\n { name: 'combo-stripe-border-shadow', attrs: 'striped bordered shadowed density=\"compact\"' },\n];\n\nconst CLICKABLE_VARIANT = VARIANTS.find(v => v.name === 'clickable')!;\nconst SELECTABLE_MULTIPLE_LEFT_VARIANT = VARIANTS.find(v => v.name === 'selectable-multiple-left')!;\n\nconst restingCase = (variant: Variant, theme: Theme) => {\n test(`q2-data-table--${variant.name}--resting — ${theme}`, async ({ page }) => {\n await setupPage(page, buildHtml(variant), { theme, setupLoc: true });\n await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--resting--${theme}.png`);\n });\n};\n\nconst focusCase = (variant: Variant, theme: Theme) => {\n test(`q2-data-table--${variant.name}--focus — ${theme}`, async ({ page }) => {\n await setupPage(page, buildHtml(variant), { theme, setupLoc: true });\n await page.keyboard.press('Tab');\n await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--focus--${theme}.png`);\n });\n};\n\nconst hoverCase = (variant: Variant, theme: Theme) => {\n test(`q2-data-table--${variant.name}--hover — ${theme}`, async ({ page }) => {\n await setupPage(page, buildHtml(variant), { theme, setupLoc: true });\n // Hover the first data row to surface clickable-row hover styling.\n const row = page.locator('q2-data-table tbody tr').first();\n await row.hover();\n await expect(page).toHaveScreenshot(`q2-data-table--${variant.name}--hover--${theme}.png`);\n });\n};\n\ntest.describe('q2-data-table — variants × themes', () => {\n for (const variant of VARIANTS) {\n for (const theme of THEMES) {\n restingCase(variant, theme);\n }\n }\n for (const theme of THEMES) {\n focusCase(CLICKABLE_VARIANT, theme);\n hoverCase(CLICKABLE_VARIANT, theme);\n focusCase(SELECTABLE_MULTIPLE_LEFT_VARIANT, theme);\n }\n});\n"]}
@@ -65,6 +65,48 @@ button {
65
65
  visibility: hidden;
66
66
  }
67
67
 
68
+ /**
69
+ * @prop --tct-detail-gap-column: (<length-percentage>) Controls the column gap between the detail label and description.
70
+ * @prop --tct-detail-gap-row?: (<length-percentage>) Controls the optional row gap between detail items.
71
+ * @prop --tct-detail-vertical-alignment: (<custom-ident>) Controls the vertical alignment of detail items in horizontal layouts.
72
+ * @prop --tct-detail-label-icon-size: (<length>) Controls the size of icons slotted into the detail label area.
73
+ * @prop --tct-detail-label-font-color: (<color>) Controls the text color of the detail label in its default state.
74
+ * @prop --tct-detail-description-font-color: (<color>) Controls the text color of the detail description in its default state.
75
+ * @prop --tct-detail-description-gap-column: (<length-percentage>) Controls the column gap between elements within the detail description.
76
+ * @prop --tct-detail-label-inline-font-size: (<length-percentage>) Controls the font size of the detail label in the inline size.
77
+ * @prop --tct-detail-label-inline-font-weight: (<number>) Controls the font weight of the detail label in the inline size.
78
+ * @prop --tct-detail-description-inline-font-size: (<length-percentage>) Controls the font size of the detail description in the inline size.
79
+ * @prop --tct-detail-label-xsmall-font-color: (<color>) Controls the text color of the detail label in the xsmall size.
80
+ * @prop --tct-detail-label-xsmall-font-size: (<length-percentage>) Controls the font size of the detail label in the xsmall size.
81
+ * @prop --tct-detail-label-xsmall-font-weight: (<number>) Controls the font weight of the detail label in the xsmall size.
82
+ * @prop --tct-detail-label-small-font-color?: (<color>) Controls the optional text color of the detail label in the small size.
83
+ * @prop --tct-detail-label-small-font-size: (<length-percentage>) Controls the font size of the detail label in the small size.
84
+ * @prop --tct-detail-label-small-font-weight: (<number>) Controls the font weight of the detail label in the small size.
85
+ * @prop --tct-detail-label-medium-font-color?: (<color>) Controls the optional text color of the detail label in the medium size.
86
+ * @prop --tct-detail-label-medium-font-size: (<length-percentage>) Controls the font size of the detail label in the medium size.
87
+ * @prop --tct-detail-label-medium-font-weight: (<number>) Controls the font weight of the detail label in the medium size.
88
+ * @prop --tct-detail-label-large-font-color?: (<color>) Controls the optional text color of the detail label in the large size.
89
+ * @prop --tct-detail-label-large-font-size: (<length-percentage>) Controls the font size of the detail label in the large size.
90
+ * @prop --tct-detail-label-large-font-weight: (<number>) Controls the font weight of the detail label in the large size.
91
+ * @prop --tct-detail-label-xlarge-font-color?: (<color>) Controls the optional text color of the detail label in the xlarge size.
92
+ * @prop --tct-detail-label-xlarge-font-size: (<length-percentage>) Controls the font size of the detail label in the xlarge size.
93
+ * @prop --tct-detail-label-xlarge-font-weight: (<number>) Controls the font weight of the detail label in the xlarge size.
94
+ * @prop --tct-detail-description-xsmall-font-color: (<color>) Controls the text color of the detail description in the xsmall size.
95
+ * @prop --tct-detail-description-xsmall-font-size: (<length-percentage>) Controls the font size of the detail description in the xsmall size.
96
+ * @prop --tct-detail-description-xsmall-font-weight: (<number>) Controls the font weight of the detail description in the xsmall size.
97
+ * @prop --tct-detail-description-small-font-color?: (<color>) Controls the optional text color of the detail description in the small size.
98
+ * @prop --tct-detail-description-small-font-size: (<length-percentage>) Controls the font size of the detail description in the small size.
99
+ * @prop --tct-detail-description-small-font-weight: (<number>) Controls the font weight of the detail description in the small size.
100
+ * @prop --tct-detail-description-medium-font-color?: (<color>) Controls the optional text color of the detail description in the medium size.
101
+ * @prop --tct-detail-description-medium-font-size: (<length-percentage>) Controls the font size of the detail description in the medium size.
102
+ * @prop --tct-detail-description-medium-font-weight: (<number>) Controls the font weight of the detail description in the medium size.
103
+ * @prop --tct-detail-description-large-font-color?: (<color>) Controls the optional text color of the detail description in the large size.
104
+ * @prop --tct-detail-description-large-font-size: (<length-percentage>) Controls the font size of the detail description in the large size.
105
+ * @prop --tct-detail-description-large-font-weight: (<number>) Controls the font weight of the detail description in the large size.
106
+ * @prop --tct-detail-description-xlarge-font-color?: (<color>) Controls the optional text color of the detail description in the xlarge size.
107
+ * @prop --tct-detail-description-xlarge-font-size: (<length-percentage>) Controls the font size of the detail description in the xlarge size.
108
+ * @prop --tct-detail-description-xlarge-font-weight: (<number>) Controls the font weight of the detail description in the xlarge size.
109
+ */
68
110
  :host {
69
111
  display: block;
70
112
  }
@@ -107,7 +107,7 @@ export class Q2Detail {
107
107
  // #endregion
108
108
  // #region Render Methods
109
109
  render() {
110
- return (h("div", { key: 'e9fe9f1d23de26052a90b499865c30908942d90e', class: this.detailClasses }, this.hasLabel && (h("div", { key: '74575c0c28fd5493cec9b04e4693f66812863946', class: this.labelClasses, "aria-describedby": !!this.description ? 'label-description' : undefined }, !!this.label ? loc(this.label) : this.hasLabelSlotContent ? h("slot", { name: "label" }) : '')), this.hasDescripiton && (h("div", { key: 'd9bef4e29bfc54e6149d57322833f6184572b863', id: "label-description", class: this.descriptionClasses }, !!this.description ? loc(this.description) : this.hasDefaultSlotContent ? h("slot", null) : ''))));
110
+ return (h("div", { key: '954f5dadc663b7c525e99ed138c8721215b27bc6', class: this.detailClasses }, this.hasLabel && (h("div", { key: 'e9499b441dae002fbb71d7fca522b9d64d9a345e', class: this.labelClasses, "aria-describedby": !!this.description ? 'label-description' : undefined }, !!this.label ? loc(this.label) : this.hasLabelSlotContent ? h("slot", { name: "label" }) : '')), this.hasDescripiton && (h("div", { key: '190d85d561eb86e2267e04e66be8558a39c3e64f', id: "label-description", class: this.descriptionClasses }, !!this.description ? loc(this.description) : this.hasDefaultSlotContent ? h("slot", null) : ''))));
111
111
  }
112
112
  static get is() { return "q2-detail"; }
113
113
  static get encapsulation() { return "shadow"; }
@@ -65,6 +65,14 @@ button {
65
65
  visibility: hidden;
66
66
  }
67
67
 
68
+ /**
69
+ * @prop --tct-dropdown-content-padding?: (<length-percentage>+) Controls the optional padding around the dropdown popover content.
70
+ * @prop --tct-dropdown-popover-top-slot-padding: (<length-percentage>+) Controls the inner padding of the dropdown's popover-top slot.
71
+ * @prop --tct-dropdown-popover-bottom-slot-padding: (<length-percentage>+) Controls the inner padding of the dropdown's popover-bottom slot.
72
+ * @prop --tct-dropdown-slot-border-top?: (*) Controls the optional border shorthand rendered below the dropdown's popover-top slot.
73
+ * @prop --tct-dropdown-slot-border-bottom?: (*) Controls the optional border shorthand rendered above the dropdown's popover-bottom slot.
74
+ * @prop --tct-dropdown-width?: (<length-percentage>) Controls the optional minimum width of the dropdown popover.
75
+ */
68
76
  :host {
69
77
  display: inline-flex;
70
78
  }
@@ -115,10 +115,8 @@ export class Q2Dropdown {
115
115
  var _a;
116
116
  if (this.open !== open)
117
117
  this.open = open;
118
- if (open) {
118
+ if (!open) {
119
119
  (_a = this.popoverElement) === null || _a === void 0 ? void 0 : _a.scrollContainerTo({ top: 0 });
120
- }
121
- else {
122
120
  this.optionList.setActiveElement(null);
123
121
  }
124
122
  }
@@ -366,7 +364,7 @@ export class Q2Dropdown {
366
364
  // #region Render Methods
367
365
  render() {
368
366
  const btnProps = this.toggleButtonProps;
369
- return (h("click-elsewhere", { key: 'b6e82a77840792da2ab918048abf38578ec4ccb3', class: this.open ? 'dropdown-open' : '', onChange: this.onClickElsewhere, "test-id": "dropdownContainer" }, h("q2-btn", { key: '5c26f1d198bd92ba61ac51080a3f8e2769d07b01', tabIndex: 0, ref: el => (this.controlElement = el), class: btnProps.className, onClick: this.onToggleClick, onKeyDown: this.onToggleKeydown, fab: btnProps.fab, intent: btnProps.intent, onFocusout: this.handleFocusOut, active: btnProps.active, disabled: btnProps.disabled, ariaExpanded: `${!!btnProps.ariaExpanded}`, label: this.hideLabel && this.label ? loc(this.label) : undefined, hideLabel: this.hideLabel, ariaHasPopup: "menu", "test-id": "dropdownButton", block: this.block, description: loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount]) }, this.hasCustomControl ? (h("div", { "test-id": "dropdownControl", class: btnProps.custom ? '' : 'hidden' }, h("slot", { name: "control" }))) : (h(Fragment, null, this.label && !this.hideLabel && (h("span", { class: "dropdown-button-text" }, loc(this.label))), this.icon ? h("q2-icon", { type: this.icon }) : ' '))), h("q2-popover", { key: '4db48630a62011863293587a76a17448a503df9d', ref: el => (this.popoverElement = el), controlElement: this.controlElement, open: this.open, "max-height": this.popoverMaxHeight, onFocusout: this.handleFocusOut, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: this.block }, h("slot", { key: '20cf54aca49692025c64ca230433366e14a242df', name: "popover-top" }), h("q2-option-list", { key: 'f2f8b61de7682fda8b18ddee17995fbbe1529ff7', onPopoverState: this.onPopoverState, id: "option-list", ref: el => (this.optionList = el), type: "menu", label: loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, h("slot", { key: '380049eda306cad1283f509977cfc32924f86d22' })), h("slot", { key: 'bc02de04e8e0ca08205425ced651183535a80c78', name: "popover-bottom" }))));
367
+ return (h("click-elsewhere", { key: '126229197fe6e46bdb7996e231cf8ea56247cd6b', class: this.open ? 'dropdown-open' : '', onChange: this.onClickElsewhere, "test-id": "dropdownContainer" }, h("q2-btn", { key: '09085fa1729f9ac7d6afa69ae30a5078f10f290a', tabIndex: 0, ref: el => (this.controlElement = el), class: btnProps.className, onClick: this.onToggleClick, onKeyDown: this.onToggleKeydown, fab: btnProps.fab, intent: btnProps.intent, onFocusout: this.handleFocusOut, active: btnProps.active, disabled: btnProps.disabled, ariaExpanded: `${!!btnProps.ariaExpanded}`, label: this.hideLabel && this.label ? loc(this.label) : undefined, hideLabel: this.hideLabel, ariaHasPopup: "menu", "test-id": "dropdownButton", block: this.block, description: loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount]) }, this.hasCustomControl ? (h("div", { "test-id": "dropdownControl", class: btnProps.custom ? '' : 'hidden' }, h("slot", { name: "control" }))) : (h(Fragment, null, this.label && !this.hideLabel && (h("span", { class: "dropdown-button-text" }, loc(this.label))), this.icon ? h("q2-icon", { type: this.icon }) : ' '))), h("q2-popover", { key: 'b96c783d7dcbb38ee5679ae3b1e1fde489d45cb3', ref: el => (this.popoverElement = el), controlElement: this.controlElement, open: this.open, "max-height": this.popoverMaxHeight, onFocusout: this.handleFocusOut, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: this.block }, h("slot", { key: 'd769d709d0634cf62123caed5565c82a81327d50', name: "popover-top" }), h("q2-option-list", { key: 'ba46fe90836fd6ffcb4d1611c490073f77060ce0', onPopoverState: this.onPopoverState, id: "option-list", ref: el => (this.optionList = el), type: "menu", label: loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, h("slot", { key: 'ed9f811ef752a082c6c82d6bff7fbd71e88bfb2c' })), h("slot", { key: '7bb093af52b5f779f43485f219586d7a5e1353c8', name: "popover-bottom" }))));
370
368
  }
371
369
  static get is() { return "q2-dropdown"; }
372
370
  static get encapsulation() { return "shadow"; }