q2-tecton-elements 1.53.1 → 1.53.2

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 (413) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +59 -60
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-07285783.js → index-76f63767.js} +1 -21
  4. package/dist/cjs/index-76f63767.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  8. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-badge_7.cjs.entry.js +4 -4
  10. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  13. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  29. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  33. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-option.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  37. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  38. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  42. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  43. package/dist/cjs/q2-select.cjs.entry.js +89 -13
  44. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  45. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  50. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  52. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  53. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  54. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  55. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  56. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  57. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -1
  58. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -1
  59. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  60. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  61. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  62. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  63. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  64. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  65. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  66. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  67. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  68. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  69. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  70. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  71. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  72. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  73. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  74. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  75. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  76. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  77. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
  78. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  79. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  80. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  81. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  82. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  83. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  84. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  85. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  86. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  87. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  88. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  89. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  90. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  91. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  92. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  93. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  94. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  95. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  96. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  97. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  98. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  99. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  100. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  101. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  102. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  103. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  104. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  105. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  106. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  107. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  108. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  109. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  110. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +5 -17
  111. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  112. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  113. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  114. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  115. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  116. package/dist/collection/components/q2-example/q2-example.js +1 -1
  117. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  118. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  119. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  120. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  121. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  122. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  123. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  124. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  125. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  126. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  127. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  128. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  129. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  130. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  131. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  132. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  133. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  134. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  135. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  136. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  137. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  138. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  139. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  140. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  141. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  142. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  143. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  144. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  145. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  146. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  147. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  148. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  149. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  150. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  151. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  152. package/dist/collection/components/q2-input/q2-input.js +1 -1
  153. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  154. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  155. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  156. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  157. package/dist/collection/components/q2-item/q2-item.js +1 -1
  158. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  159. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  160. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  161. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  162. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  163. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  164. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  165. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  166. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  167. package/dist/collection/components/q2-list/q2-list.js +1 -1
  168. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  169. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  170. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  171. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  172. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  173. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  174. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  175. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  176. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  177. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  178. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  179. package/dist/collection/components/q2-message/q2-message.js +1 -1
  180. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  181. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  182. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  183. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  184. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  185. package/dist/collection/components/q2-option/q2-option.js +1 -1
  186. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  187. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  188. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  189. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  190. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  191. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  192. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  193. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
  194. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  195. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  196. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  197. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +1 -1
  198. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  199. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  200. package/dist/collection/components/q2-popover/q2-popover.js +59 -59
  201. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  202. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
  203. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  204. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +743 -435
  205. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  206. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  207. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  208. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  209. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  210. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  211. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  212. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  213. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  214. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  215. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  216. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  217. package/dist/collection/components/q2-section/q2-section.js +2 -2
  218. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  219. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  220. package/dist/collection/components/q2-select/q2-select.js +110 -15
  221. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  222. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +1 -1
  223. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  224. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +412 -0
  225. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  226. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  227. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  228. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  229. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  230. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  231. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  232. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  233. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  234. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  235. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  236. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  237. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  238. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  239. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  240. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  241. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  242. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  243. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +6 -1
  244. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  245. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  246. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  247. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  248. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  249. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  250. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  251. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  252. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  253. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  254. package/dist/collection/index.js.map +1 -1
  255. package/dist/collection/utils/action-sheet.js.map +1 -1
  256. package/dist/collection/utils/charting.js.map +1 -1
  257. package/dist/collection/utils/helpers.js.map +1 -1
  258. package/dist/collection/utils/index.js.map +1 -1
  259. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  260. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  261. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  262. package/dist/collection/utils/test/index.spec.js.map +1 -1
  263. package/dist/components/index2.js +1 -20
  264. package/dist/components/index2.js.map +1 -1
  265. package/dist/components/q2-action-group.js +1 -1
  266. package/dist/components/q2-action-sheet.js +1 -1
  267. package/dist/components/q2-avatar2.js +1 -1
  268. package/dist/components/q2-carousel-pane.js +2 -2
  269. package/dist/components/q2-chart-area.js +1 -1
  270. package/dist/components/q2-chart-bar.js +1 -1
  271. package/dist/components/q2-chart-donut.js +1 -1
  272. package/dist/components/q2-currency.js +1 -1
  273. package/dist/components/q2-detail.js +1 -1
  274. package/dist/components/q2-example.js +1 -1
  275. package/dist/components/q2-formatted-text.js +1 -1
  276. package/dist/components/q2-input2.js +1 -1
  277. package/dist/components/q2-item2.js +1 -1
  278. package/dist/components/q2-legend2.js +1 -1
  279. package/dist/components/q2-list2.js +1 -1
  280. package/dist/components/q2-loc.js +1 -1
  281. package/dist/components/q2-message2.js +1 -1
  282. package/dist/components/q2-month-picker.js +2 -2
  283. package/dist/components/q2-optgroup2.js +1 -1
  284. package/dist/components/q2-option2.js +1 -1
  285. package/dist/components/q2-pagination.js +3 -3
  286. package/dist/components/q2-pill.js +1 -1
  287. package/dist/components/q2-popover2.js +58 -59
  288. package/dist/components/q2-popover2.js.map +1 -1
  289. package/dist/components/q2-relative-time.js +1 -1
  290. package/dist/components/q2-resize-observer2.js +1 -1
  291. package/dist/components/q2-section.js +2 -2
  292. package/dist/components/q2-select2.js +92 -16
  293. package/dist/components/q2-select2.js.map +1 -1
  294. package/dist/components/q2-stepper-vertical.js +1 -1
  295. package/dist/components/q2-stepper.js +1 -1
  296. package/dist/components/q2-tab-container.js +1 -1
  297. package/dist/components/q2-tab-pane.js +1 -1
  298. package/dist/components/q2-tag.js +1 -1
  299. package/dist/components/q2-textarea.js +1 -1
  300. package/dist/components/tecton-tab-pane.js +2 -2
  301. package/dist/esm/click-elsewhere_2.entry.js +59 -60
  302. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  303. package/dist/esm/{index-d18e2a20.js → index-504f1a9e.js} +2 -21
  304. package/dist/esm/index-504f1a9e.js.map +1 -0
  305. package/dist/esm/loader.js +1 -1
  306. package/dist/esm/q2-action-group.entry.js +2 -2
  307. package/dist/esm/q2-action-sheet.entry.js +2 -2
  308. package/dist/esm/q2-avatar.entry.js +1 -1
  309. package/dist/esm/q2-badge_7.entry.js +4 -4
  310. package/dist/esm/q2-calendar.entry.js +1 -1
  311. package/dist/esm/q2-card.entry.js +1 -1
  312. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  313. package/dist/esm/q2-carousel.entry.js +1 -1
  314. package/dist/esm/q2-chart-area.entry.js +2 -2
  315. package/dist/esm/q2-chart-bar.entry.js +2 -2
  316. package/dist/esm/q2-chart-donut.entry.js +2 -2
  317. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  318. package/dist/esm/q2-checkbox.entry.js +1 -1
  319. package/dist/esm/q2-currency.entry.js +1 -1
  320. package/dist/esm/q2-data-table.entry.js +1 -1
  321. package/dist/esm/q2-detail.entry.js +2 -2
  322. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  323. package/dist/esm/q2-dropdown.entry.js +1 -1
  324. package/dist/esm/q2-editable-field.entry.js +1 -1
  325. package/dist/esm/q2-example.entry.js +1 -1
  326. package/dist/esm/q2-file-picker.entry.js +1 -1
  327. package/dist/esm/q2-formatted-text.entry.js +1 -1
  328. package/dist/esm/q2-item_3.entry.js +3 -3
  329. package/dist/esm/q2-legend.entry.js +1 -1
  330. package/dist/esm/q2-loc.entry.js +2 -2
  331. package/dist/esm/q2-message.entry.js +2 -2
  332. package/dist/esm/q2-month-picker.entry.js +3 -3
  333. package/dist/esm/q2-optgroup.entry.js +2 -2
  334. package/dist/esm/q2-option-list.entry.js +1 -1
  335. package/dist/esm/q2-option.entry.js +2 -2
  336. package/dist/esm/q2-pagination.entry.js +4 -4
  337. package/dist/esm/q2-pill.entry.js +2 -2
  338. package/dist/esm/q2-radio-group.entry.js +1 -1
  339. package/dist/esm/q2-radio.entry.js +1 -1
  340. package/dist/esm/q2-relative-time.entry.js +2 -2
  341. package/dist/esm/q2-resize-observer.entry.js +1 -1
  342. package/dist/esm/q2-section.entry.js +3 -3
  343. package/dist/esm/q2-select.entry.js +90 -14
  344. package/dist/esm/q2-select.entry.js.map +1 -1
  345. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  346. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  347. package/dist/esm/q2-stepper.entry.js +2 -2
  348. package/dist/esm/q2-tag.entry.js +2 -2
  349. package/dist/esm/q2-tecton-elements.js +1 -1
  350. package/dist/esm/q2-textarea.entry.js +2 -2
  351. package/dist/esm/q2-tooltip.entry.js +1 -1
  352. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  353. package/dist/jest.setup.js +22 -0
  354. package/dist/jest.setup.js.map +1 -0
  355. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +170 -164
  356. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
  357. package/dist/q2-tecton-elements/{index-d18e2a20.js → index-504f1a9e.js} +51 -69
  358. package/dist/q2-tecton-elements/index-504f1a9e.js.map +1 -0
  359. package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
  360. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +34 -34
  361. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  362. package/dist/q2-tecton-elements/q2-badge_7.entry.js +17 -17
  363. package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
  364. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  365. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
  366. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  367. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  368. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  369. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +101 -101
  370. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  371. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  372. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  373. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  374. package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
  375. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  376. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  377. package/dist/q2-tecton-elements/q2-editable-field.entry.js +8 -8
  378. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  379. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  380. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  381. package/dist/q2-tecton-elements/q2-item_3.entry.js +19 -19
  382. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  383. package/dist/q2-tecton-elements/q2-loc.entry.js +5 -5
  384. package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
  385. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  386. package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
  387. package/dist/q2-tecton-elements/q2-option-list.entry.js +1 -1
  388. package/dist/q2-tecton-elements/q2-option.entry.js +14 -14
  389. package/dist/q2-tecton-elements/q2-pagination.entry.js +34 -34
  390. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  391. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  392. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  393. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  394. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  395. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  396. package/dist/q2-tecton-elements/q2-select.entry.js +156 -92
  397. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  398. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  399. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +37 -37
  400. package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
  401. package/dist/q2-tecton-elements/q2-tag.entry.js +25 -25
  402. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  403. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  404. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  405. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  406. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  407. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  408. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
  409. package/dist/types/components/q2-select/q2-select.d.ts +19 -0
  410. package/package.json +3 -3
  411. package/dist/cjs/index-07285783.js.map +0 -1
  412. package/dist/esm/index-d18e2a20.js.map +0 -1
  413. package/dist/q2-tecton-elements/index-d18e2a20.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"q2-action-group.spec.js","sourceRoot":"","sources":["../../../../src/components/q2-action-group/test/q2-action-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2BtnGroup } from '../q2-action-group';\n\ndescribe('q2-action-group', () => {\n let specPage: SpecPage;\n\n const generateResizeEvent = (width: number) => {\n return new CustomEvent('tctResize', {\n detail: {\n entries: [{ contentRect: { width } }],\n },\n });\n };\n\n describe('Props', () => {\n describe('orientationThreshold', () => {\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n });\n\n describe('when using the default value (440)', () => {\n it('sets autoOrientation to \"horizontal\" when a resize event reports a width of 441', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(441));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('horizontal');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('sets autoOrientation to \"vertical\" when a resize event reports a width of 439', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(439));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n\n describe('when using a custom value (400)', () => {\n beforeEach(async () => {\n specPage.rootInstance.orientationThreshold = 400;\n await specPage.waitForChanges();\n });\n\n it('sets autoOrientation to \"horizontal\" when a resize event reports a width of 401', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(401));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('horizontal');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('sets autoOrientation to \"vertical\" when a resize event reports a width of 399', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(399));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n });\n\n describe('orientation', () => {\n it('is set to \"vertical\" when the prop is passed in', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"vertical\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n\n it('is set to \"horizontal\" when the prop is passed in', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('takes priority over the autoOrientation', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it(\"uses 'auto' when null\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n\n it(\"uses 'auto' when undefined\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = undefined;\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n\n describe('fullWidth', () => {\n it('does not add the full-width class to the container when false (Default)', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).not.toHaveClass('full-width');\n });\n\n it('renders with full width styles when true', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group full-width orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClasses([\n 'full-width',\n 'horizontal',\n ]);\n });\n });\n });\n\n describe('Local Methods', () => {\n describe('computedOrientation', () => {\n it(\"returns 'vertical' when orientation is 'auto' and autoOrientation is 'vertical'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.autoOrientation = 'vertical';\n expect(specPage.rootInstance.orientation).toEqual('auto');\n expect(specPage.rootInstance.computedOrientation).toEqual('vertical');\n });\n\n it(\"returns 'vertical' when orientation is 'null' and autoOrientation is 'vertical'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n specPage.rootInstance.autoOrientation = 'vertical';\n expect(specPage.rootInstance.orientation).toEqual(null);\n expect(specPage.rootInstance.computedOrientation).toEqual('vertical');\n });\n\n it(\"returns 'horizontal' when orientation is 'horizontal'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.computedOrientation).toEqual('horizontal');\n });\n });\n\n describe('shouldDisableResizeObserver', () => {\n it('returns false when orientation is \"auto\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.orientation).toEqual('auto');\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(false);\n });\n\n it('returns false when orientation is \"null\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(false);\n });\n\n it('returns false when orientation is \"vertical\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"vertical\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.orientation).toEqual('vertical');\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(true);\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-action-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/q2-action-group/test/q2-action-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2BtnGroup } from '../q2-action-group';\n\ndescribe('q2-action-group', () => {\n let specPage: SpecPage;\n\n const generateResizeEvent = (width: number) => {\n return new CustomEvent('tctResize', {\n detail: {\n entries: [{ contentRect: { width } }],\n },\n });\n };\n\n describe('Props', () => {\n describe('orientationThreshold', () => {\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n });\n\n describe('when using the default value (440)', () => {\n it('sets autoOrientation to \"horizontal\" when a resize event reports a width of 441', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(441));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('horizontal');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('sets autoOrientation to \"vertical\" when a resize event reports a width of 439', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(439));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n\n describe('when using a custom value (400)', () => {\n beforeEach(async () => {\n specPage.rootInstance.orientationThreshold = 400;\n await specPage.waitForChanges();\n });\n\n it('sets autoOrientation to \"horizontal\" when a resize event reports a width of 401', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(401));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('horizontal');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('sets autoOrientation to \"vertical\" when a resize event reports a width of 399', async () => {\n specPage.rootInstance.handleResize(generateResizeEvent(399));\n await specPage.waitForChanges();\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n });\n\n describe('orientation', () => {\n it('is set to \"vertical\" when the prop is passed in', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"vertical\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n\n it('is set to \"horizontal\" when the prop is passed in', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it('takes priority over the autoOrientation', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.autoOrientation).toEqual('vertical');\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('horizontal');\n });\n\n it(\"uses 'auto' when null\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n\n it(\"uses 'auto' when undefined\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = undefined;\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClass('vertical');\n });\n });\n\n describe('fullWidth', () => {\n it('does not add the full-width class to the container when false (Default)', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).not.toHaveClass('full-width');\n });\n\n it('renders with full width styles when true', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group full-width orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.root.shadowRoot.querySelector('.container')).toHaveClasses([\n 'full-width',\n 'horizontal',\n ]);\n });\n });\n });\n\n describe('Local Methods', () => {\n describe('computedOrientation', () => {\n it(\"returns 'vertical' when orientation is 'auto' and autoOrientation is 'vertical'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.autoOrientation = 'vertical';\n expect(specPage.rootInstance.orientation).toEqual('auto');\n expect(specPage.rootInstance.computedOrientation).toEqual('vertical');\n });\n\n it(\"returns 'vertical' when orientation is 'null' and autoOrientation is 'vertical'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n specPage.rootInstance.autoOrientation = 'vertical';\n expect(specPage.rootInstance.orientation).toEqual(null);\n expect(specPage.rootInstance.computedOrientation).toEqual('vertical');\n });\n\n it(\"returns 'horizontal' when orientation is 'horizontal'\", async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"horizontal\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.computedOrientation).toEqual('horizontal');\n });\n });\n\n describe('shouldDisableResizeObserver', () => {\n it('returns false when orientation is \"auto\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.orientation).toEqual('auto');\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(false);\n });\n\n it('returns false when orientation is \"null\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n specPage.rootInstance.orientation = null;\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(false);\n });\n\n it('returns false when orientation is \"vertical\"', async () => {\n specPage = await newSpecPage({\n components: [Q2BtnGroup],\n html: `<q2-action-group orientation=\"vertical\"></q2-action-group>`,\n });\n await specPage.waitForChanges();\n\n expect(specPage.rootInstance.orientation).toEqual('vertical');\n expect(specPage.rootInstance.shouldDisableResizeObserver).toEqual(true);\n });\n });\n });\n});\n"]}
@@ -208,7 +208,7 @@ export class Q2ActionSheet {
208
208
  }
209
209
  const appearance = (data === null || data === void 0 ? void 0 : data.appearance) || 'slot';
210
210
  const interiorClasses = `interior is-${appearance}`;
211
- return (h("dialog", { key: '89438ac3af7a795d3b83a4171c74e0b1255ccb95', ref: el => (this.dialogElement = el), class: renderStatus, onClick: this.onClick }, h("div", { key: 'a17e57ba2693ee5dbd70ae888fde0d5df2837ccb', class: interiorClasses }, showHeader && (h("header", { key: '7da7a414195ed0e3e3f8dbc1692adeabd4dee09b' }, h("div", { key: 'f83976916359a1c9318086c486ab59e7f001e9ca', class: "title" }, (data === null || data === void 0 ? void 0 : data.title) || this.title), !this.hideClose && (h("q2-btn", { key: '873a7f92f6103bb671594640c56786d3dcb389d8', class: "btn-close", "test-id": "btnClose", onClick: this.onCancel, label: "tecton.element.actionSheet.close", "hide-label": true }, h("q2-icon", { key: 'bb5d5f0d92186171564b2fe74d7b95e98962ed9c', type: "close" }))))), ((_a = this.data) === null || _a === void 0 ? void 0 : _a.description) && h("p", { key: '2620549f6ca4b669011a4dbd2be0a470d65ee857' }, data.description), RenderContent && h(RenderContent, { key: 'bf22c21f56b4551f4bf6ddbcc6385669ed02b66b', data: this.data }))));
211
+ return (h("dialog", { key: 'b108b17a4ba3a4e08acc15001e627ea861447357', ref: el => (this.dialogElement = el), class: renderStatus, onClick: this.onClick }, h("div", { key: 'bca59c1c6dc53949091e98fd5495952571fe184e', class: interiorClasses }, showHeader && (h("header", { key: '7b7d0e2a7182f4848485d478e3f47f5f29d309e7' }, h("div", { key: '0f6612d2eec2b65c9bf56c4cc56f748ede27b0d1', class: "title" }, (data === null || data === void 0 ? void 0 : data.title) || this.title), !this.hideClose && (h("q2-btn", { key: 'dee03828d0810b4e9cd9767053f63e60f6af4c9d', class: "btn-close", "test-id": "btnClose", onClick: this.onCancel, label: "tecton.element.actionSheet.close", "hide-label": true }, h("q2-icon", { key: 'a625a61f60e023f3aae7800e6a645c41e2d9a71e', type: "close" }))))), ((_a = this.data) === null || _a === void 0 ? void 0 : _a.description) && h("p", { key: '2da7e20b0b2095049ed834147e14d46fcefecfc4' }, data.description), RenderContent && h(RenderContent, { key: '40f00574f58afd907c4f1f59ff14cdd4db2b853c', data: this.data }))));
212
212
  }
213
213
  static get is() { return "q2-action-sheet"; }
214
214
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-action-sheet.js","sourceRoot":"","sources":["../../../src/components/q2-action-sheet/q2-action-sheet.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Method,\n h,\n State,\n Event,\n EventEmitter,\n Fragment,\n Element,\n} from '@stencil/core';\nimport { Q2OptionListCustomEvent } from 'src/components';\nimport {\n ActionSheetListCloseData,\n ActionSheetData,\n ActionSheetListData,\n ActionSheetMessageData,\n ActionSheetSelectedOption,\n ActionSheetListOption,\n ActionSheetListOptgroup,\n} from 'q2-tecton-common/lib/utility/action-sheet';\nimport { loc, waitForNextPaint } from 'src/utils';\nimport sanitizeHTMLString from 'src/utils/sanitize-html-string';\n\n@Component({ tag: 'q2-action-sheet', shadow: true, styleUrl: 'q2-action-sheet.scss' })\nexport class Q2ActionSheet implements ComponentInterface {\n // #region Own Properties\n\n contentElement: HTMLDivElement;\n dialogElement: HTMLDialogElement;\n initialSelectedOptions: ActionSheetSelectedOption[] = [];\n maxHeight: number = 0.75;\n minHeight: number = 0.2;\n optionListElement: HTMLQ2OptionListElement;\n selectedOptions: { values: ActionSheetSelectedOption[]; value: string } = { values: [], value: '' };\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isScrollable: boolean = false;\n\n @State()\n renderStatus: 'is-open' | 'is-closing' | 'is-opening' = 'is-closing';\n\n // #endregion\n // #region Public Property API\n\n @Prop({ mutable: true })\n data: ActionSheetData;\n\n @Prop()\n hideClose: boolean;\n\n @Prop()\n title: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the action sheet is closed.\n */\n @Event()\n close: EventEmitter<ActionSheetListCloseData>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event({ bubbles: false })\n ready: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.dialogElement.removeEventListener('cancel', this.onCancel);\n }\n\n componentDidLoad() {\n this.dialogElement.addEventListener('cancel', this.onCancel);\n this.ready.emit();\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async hide(data: ActionSheetListCloseData = { value: '', values: [], type: 'confirm' }) {\n this.close.emit(data);\n this.renderStatus = 'is-closing';\n this.dialogElement.addEventListener(\n 'transitionend',\n () => {\n if (this.renderStatus !== 'is-closing') return;\n this.dialogElement.close();\n this.renderStatus = null;\n this.data = undefined;\n this.initialSelectedOptions = [];\n this.selectedOptions = { values: [], value: '' };\n this.hidePostHook();\n },\n { once: true }\n );\n }\n\n @Method()\n async show() {\n this.showPreHook();\n await waitForNextPaint();\n this.updateDialogMinMaxHeight();\n this.storeInitialValues();\n\n if (this.dialogElement.open) return;\n\n this.dialogElement.showModal();\n this.renderStatus = 'is-opening';\n this.dialogElement.addEventListener(\n 'transitionend',\n () => {\n if (this.renderStatus !== 'is-opening') return;\n this.renderStatus = 'is-open';\n this.focusContent();\n },\n { once: true }\n );\n }\n\n // #endregion\n // #region Local Methods\n\n focusContent() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n const { event } = data;\n if (event instanceof KeyboardEvent) {\n this.optionListElement.handleExternalKeydown(event);\n } else {\n this.optionListElement.focus();\n }\n }\n }\n\n generateOptgroup = (option: ActionSheetListOptgroup) => {\n const optgroupElement = document.createElement('q2-optgroup');\n if (option.label) optgroupElement.setAttribute('label', option.label);\n if (option.disabled) optgroupElement.setAttribute('disabled', '');\n if (!!option.options.length)\n option.options.forEach(opt => optgroupElement.appendChild(this.generateOption(opt)));\n return optgroupElement;\n };\n\n generateOption = (option: ActionSheetListOption) => {\n const optionElement = document.createElement('q2-option');\n const { innerHTML, ...attributes } = option;\n if (innerHTML) optionElement.innerHTML = sanitizeHTMLString(innerHTML);\n Object.entries(attributes).forEach(([key, value]) => {\n if (value === undefined) return;\n if (typeof value === 'boolean') {\n if (value) optionElement.setAttribute(key, '');\n } else {\n optionElement.setAttribute(key, value);\n }\n });\n return optionElement;\n };\n\n hidePostHook() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.hostElement.innerHTML = null;\n }\n }\n\n onCancel = (event: Event) => {\n event.preventDefault();\n const { initialSelectedOptions } = this;\n this.hide({\n value: initialSelectedOptions?.[0]?.value ?? '',\n values: initialSelectedOptions,\n type: 'cancel',\n });\n };\n\n onClick = (event: MouseEvent) => {\n const eventTarget = event.target as HTMLElement;\n if (!(eventTarget instanceof HTMLElement)) return;\n\n const isInContent = !!eventTarget.closest('.interior, q2-action-sheet');\n if (isInContent) return;\n this.onCancel(event);\n };\n\n onListChange = (event: Q2OptionListCustomEvent<{ value: string; values: ActionSheetSelectedOption[] }>) => {\n this.selectedOptions = event.detail;\n };\n\n onListDone = () => {\n this.hide({\n ...this.selectedOptions,\n type: 'confirm',\n });\n };\n\n onListPopoverStateChange = (\n event: Q2OptionListCustomEvent<{ open: boolean; action: 'close' | 'select' | 'open' }>\n ) => {\n if (event.detail.open) return;\n\n if (event.detail.action === 'close') {\n this.onCancel(event);\n } else {\n this.onListDone();\n }\n };\n\n showPreHook() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.hostElement.innerHTML = null;\n data.options.forEach(option => {\n this.hostElement.appendChild(\n 'options' in option ? this.generateOptgroup(option) : this.generateOption(option)\n );\n });\n }\n }\n\n storeInitialValues() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.initialSelectedOptions = data.listProps.selectedOptions;\n }\n }\n\n updateDialogMinMaxHeight() {\n const windowHeight = window.innerHeight;\n this.dialogElement.style.setProperty(\n '--comp-action-sheet-computed-min-height',\n `${Math.floor(windowHeight * this.minHeight)}px`\n );\n this.dialogElement.style.setProperty(\n '--comp-action-sheet-computed-max-height',\n `${Math.floor(windowHeight * this.maxHeight)}px`\n );\n }\n\n // #endregion\n // #region Render Methods\n\n renderList = ({ data }: { data: ActionSheetListData }) => {\n const { listProps } = data;\n\n return (\n <Fragment>\n <div\n class=\"content\"\n ref={el => (this.contentElement = el)}\n >\n <q2-option-list\n ref={el => (this.optionListElement = el)}\n multiple={listProps.multiple}\n noSelect={listProps.noSelect}\n onChange={this.onListChange}\n onPopoverState={this.onListPopoverStateChange}\n selectedOptions={listProps.selectedOptions}\n >\n <slot />\n </q2-option-list>\n </div>\n <footer>\n {listProps.multiple && (\n <q2-btn\n test-id=\"btnDone\"\n intent=\"workflow-primary\"\n onClick={this.onListDone}\n >\n {loc('tecton.element.actionSheet.done')}\n </q2-btn>\n )}\n </footer>\n </Fragment>\n );\n };\n\n renderMessage = ({ data }: { data: ActionSheetMessageData }) => {\n return (\n <q2-message type={data.type}>\n {data.title && <h2>{data.title}</h2>}\n {data.description && <p>{data.description}</p>}\n </q2-message>\n );\n };\n\n renderSlot = () => {\n return (\n <div\n class=\"content\"\n ref={el => (this.contentElement = el)}\n >\n <slot />\n </div>\n );\n };\n\n render() {\n const { data } = this;\n const showHeader = data?.title || this.title || !this.hideClose;\n const renderStatus = this.renderStatus || '';\n\n let RenderContent = null;\n switch (data?.appearance) {\n case 'message':\n RenderContent = this.renderMessage;\n break;\n\n case 'list':\n RenderContent = this.renderList;\n break;\n\n default:\n RenderContent = this.renderSlot;\n break;\n }\n const appearance = data?.appearance || 'slot';\n const interiorClasses = `interior is-${appearance}`;\n\n return (\n <dialog\n ref={el => (this.dialogElement = el)}\n class={renderStatus}\n onClick={this.onClick}\n >\n <div class={interiorClasses}>\n {showHeader && (\n <header>\n <div class=\"title\">{data?.title || this.title}</div>\n {!this.hideClose && (\n <q2-btn\n class=\"btn-close\"\n test-id=\"btnClose\"\n onClick={this.onCancel}\n label=\"tecton.element.actionSheet.close\"\n hide-label\n >\n <q2-icon type=\"close\" />\n </q2-btn>\n )}\n </header>\n )}\n {this.data?.description && <p>{data.description}</p>}\n {RenderContent && <RenderContent data={this.data} />}\n </div>\n </dialog>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-action-sheet.js","sourceRoot":"","sources":["../../../../src/components/q2-action-sheet/q2-action-sheet.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Method,\n h,\n State,\n Event,\n EventEmitter,\n Fragment,\n Element,\n} from '@stencil/core';\nimport { Q2OptionListCustomEvent } from 'src/components';\nimport {\n ActionSheetListCloseData,\n ActionSheetData,\n ActionSheetListData,\n ActionSheetMessageData,\n ActionSheetSelectedOption,\n ActionSheetListOption,\n ActionSheetListOptgroup,\n} from 'q2-tecton-common/lib/utility/action-sheet';\nimport { loc, waitForNextPaint } from 'src/utils';\nimport sanitizeHTMLString from 'src/utils/sanitize-html-string';\n\n@Component({ tag: 'q2-action-sheet', shadow: true, styleUrl: 'q2-action-sheet.scss' })\nexport class Q2ActionSheet implements ComponentInterface {\n // #region Own Properties\n\n contentElement: HTMLDivElement;\n dialogElement: HTMLDialogElement;\n initialSelectedOptions: ActionSheetSelectedOption[] = [];\n maxHeight: number = 0.75;\n minHeight: number = 0.2;\n optionListElement: HTMLQ2OptionListElement;\n selectedOptions: { values: ActionSheetSelectedOption[]; value: string } = { values: [], value: '' };\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isScrollable: boolean = false;\n\n @State()\n renderStatus: 'is-open' | 'is-closing' | 'is-opening' = 'is-closing';\n\n // #endregion\n // #region Public Property API\n\n @Prop({ mutable: true })\n data: ActionSheetData;\n\n @Prop()\n hideClose: boolean;\n\n @Prop()\n title: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the action sheet is closed.\n */\n @Event()\n close: EventEmitter<ActionSheetListCloseData>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event({ bubbles: false })\n ready: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.dialogElement.removeEventListener('cancel', this.onCancel);\n }\n\n componentDidLoad() {\n this.dialogElement.addEventListener('cancel', this.onCancel);\n this.ready.emit();\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async hide(data: ActionSheetListCloseData = { value: '', values: [], type: 'confirm' }) {\n this.close.emit(data);\n this.renderStatus = 'is-closing';\n this.dialogElement.addEventListener(\n 'transitionend',\n () => {\n if (this.renderStatus !== 'is-closing') return;\n this.dialogElement.close();\n this.renderStatus = null;\n this.data = undefined;\n this.initialSelectedOptions = [];\n this.selectedOptions = { values: [], value: '' };\n this.hidePostHook();\n },\n { once: true }\n );\n }\n\n @Method()\n async show() {\n this.showPreHook();\n await waitForNextPaint();\n this.updateDialogMinMaxHeight();\n this.storeInitialValues();\n\n if (this.dialogElement.open) return;\n\n this.dialogElement.showModal();\n this.renderStatus = 'is-opening';\n this.dialogElement.addEventListener(\n 'transitionend',\n () => {\n if (this.renderStatus !== 'is-opening') return;\n this.renderStatus = 'is-open';\n this.focusContent();\n },\n { once: true }\n );\n }\n\n // #endregion\n // #region Local Methods\n\n focusContent() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n const { event } = data;\n if (event instanceof KeyboardEvent) {\n this.optionListElement.handleExternalKeydown(event);\n } else {\n this.optionListElement.focus();\n }\n }\n }\n\n generateOptgroup = (option: ActionSheetListOptgroup) => {\n const optgroupElement = document.createElement('q2-optgroup');\n if (option.label) optgroupElement.setAttribute('label', option.label);\n if (option.disabled) optgroupElement.setAttribute('disabled', '');\n if (!!option.options.length)\n option.options.forEach(opt => optgroupElement.appendChild(this.generateOption(opt)));\n return optgroupElement;\n };\n\n generateOption = (option: ActionSheetListOption) => {\n const optionElement = document.createElement('q2-option');\n const { innerHTML, ...attributes } = option;\n if (innerHTML) optionElement.innerHTML = sanitizeHTMLString(innerHTML);\n Object.entries(attributes).forEach(([key, value]) => {\n if (value === undefined) return;\n if (typeof value === 'boolean') {\n if (value) optionElement.setAttribute(key, '');\n } else {\n optionElement.setAttribute(key, value);\n }\n });\n return optionElement;\n };\n\n hidePostHook() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.hostElement.innerHTML = null;\n }\n }\n\n onCancel = (event: Event) => {\n event.preventDefault();\n const { initialSelectedOptions } = this;\n this.hide({\n value: initialSelectedOptions?.[0]?.value ?? '',\n values: initialSelectedOptions,\n type: 'cancel',\n });\n };\n\n onClick = (event: MouseEvent) => {\n const eventTarget = event.target as HTMLElement;\n if (!(eventTarget instanceof HTMLElement)) return;\n\n const isInContent = !!eventTarget.closest('.interior, q2-action-sheet');\n if (isInContent) return;\n this.onCancel(event);\n };\n\n onListChange = (event: Q2OptionListCustomEvent<{ value: string; values: ActionSheetSelectedOption[] }>) => {\n this.selectedOptions = event.detail;\n };\n\n onListDone = () => {\n this.hide({\n ...this.selectedOptions,\n type: 'confirm',\n });\n };\n\n onListPopoverStateChange = (\n event: Q2OptionListCustomEvent<{ open: boolean; action: 'close' | 'select' | 'open' }>\n ) => {\n if (event.detail.open) return;\n\n if (event.detail.action === 'close') {\n this.onCancel(event);\n } else {\n this.onListDone();\n }\n };\n\n showPreHook() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.hostElement.innerHTML = null;\n data.options.forEach(option => {\n this.hostElement.appendChild(\n 'options' in option ? this.generateOptgroup(option) : this.generateOption(option)\n );\n });\n }\n }\n\n storeInitialValues() {\n const { data } = this;\n if (!data) return;\n if (data.appearance === 'list') {\n this.initialSelectedOptions = data.listProps.selectedOptions;\n }\n }\n\n updateDialogMinMaxHeight() {\n const windowHeight = window.innerHeight;\n this.dialogElement.style.setProperty(\n '--comp-action-sheet-computed-min-height',\n `${Math.floor(windowHeight * this.minHeight)}px`\n );\n this.dialogElement.style.setProperty(\n '--comp-action-sheet-computed-max-height',\n `${Math.floor(windowHeight * this.maxHeight)}px`\n );\n }\n\n // #endregion\n // #region Render Methods\n\n renderList = ({ data }: { data: ActionSheetListData }) => {\n const { listProps } = data;\n\n return (\n <Fragment>\n <div\n class=\"content\"\n ref={el => (this.contentElement = el)}\n >\n <q2-option-list\n ref={el => (this.optionListElement = el)}\n multiple={listProps.multiple}\n noSelect={listProps.noSelect}\n onChange={this.onListChange}\n onPopoverState={this.onListPopoverStateChange}\n selectedOptions={listProps.selectedOptions}\n >\n <slot />\n </q2-option-list>\n </div>\n <footer>\n {listProps.multiple && (\n <q2-btn\n test-id=\"btnDone\"\n intent=\"workflow-primary\"\n onClick={this.onListDone}\n >\n {loc('tecton.element.actionSheet.done')}\n </q2-btn>\n )}\n </footer>\n </Fragment>\n );\n };\n\n renderMessage = ({ data }: { data: ActionSheetMessageData }) => {\n return (\n <q2-message type={data.type}>\n {data.title && <h2>{data.title}</h2>}\n {data.description && <p>{data.description}</p>}\n </q2-message>\n );\n };\n\n renderSlot = () => {\n return (\n <div\n class=\"content\"\n ref={el => (this.contentElement = el)}\n >\n <slot />\n </div>\n );\n };\n\n render() {\n const { data } = this;\n const showHeader = data?.title || this.title || !this.hideClose;\n const renderStatus = this.renderStatus || '';\n\n let RenderContent = null;\n switch (data?.appearance) {\n case 'message':\n RenderContent = this.renderMessage;\n break;\n\n case 'list':\n RenderContent = this.renderList;\n break;\n\n default:\n RenderContent = this.renderSlot;\n break;\n }\n const appearance = data?.appearance || 'slot';\n const interiorClasses = `interior is-${appearance}`;\n\n return (\n <dialog\n ref={el => (this.dialogElement = el)}\n class={renderStatus}\n onClick={this.onClick}\n >\n <div class={interiorClasses}>\n {showHeader && (\n <header>\n <div class=\"title\">{data?.title || this.title}</div>\n {!this.hideClose && (\n <q2-btn\n class=\"btn-close\"\n test-id=\"btnClose\"\n onClick={this.onCancel}\n label=\"tecton.element.actionSheet.close\"\n hide-label\n >\n <q2-icon type=\"close\" />\n </q2-btn>\n )}\n </header>\n )}\n {this.data?.description && <p>{data.description}</p>}\n {RenderContent && <RenderContent data={this.data} />}\n </div>\n </dialog>\n );\n }\n\n // #endregion\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-action-sheet-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-action-sheet/test/q2-action-sheet-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { ActionSheetListOption } from 'q2-tecton-common/lib/utility/action-sheet';\nimport { setup, dispatchEvent, getListOfStyleCompilationIssues } from '@/utils/helpers';\n\ndescribe('q2-action-sheet', () => {\n let page: E2EPage;\n let actionSheet: E2EElement;\n let dialog: E2EElement;\n let interior: E2EElement;\n let btnDone: E2EElement;\n let options: E2EElement[];\n let optionList: E2EElement;\n let message: E2EElement;\n let title: E2EElement;\n let btnClose: E2EElement;\n\n const createOption = (option: Record<string, string | boolean>): ActionSheetListOption => ({\n disabled: false,\n display: 'Red',\n hidden: false,\n multiline: false,\n value: 'red',\n innerHTML: 'Red',\n ...option,\n });\n const demoOptions = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Purple'].map(color =>\n createOption({ value: color.toLowerCase(), display: color, innerHTML: color })\n );\n\n const showDialog = async (page: E2EPage): Promise<void> => {\n const dialog = await page.find('q2-action-sheet >>> dialog');\n const actionSheet = await page.find('q2-action-sheet');\n expect(await dialog.getProperty('open')).toBe(false);\n await actionSheet.callMethod('show');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(dialog).toHaveClass('is-open');\n expect(await dialog.getProperty('open')).toBe(true);\n };\n\n const hideDialog = async (page: E2EPage): Promise<void> => {\n const dialog = await page.find('q2-action-sheet >>> dialog');\n const actionSheet = await page.find('q2-action-sheet');\n expect(await dialog.getProperty('open')).toBe(true);\n expect(dialog).toHaveClass('is-open');\n await actionSheet.callMethod('hide');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-action-sheet></q2-action-sheet>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-action-sheet')).toHaveLength(0);\n });\n\n describe('Events', () => {\n describe('ready', () => {\n it('fires when the component is ready', async () => {\n page = await setup({ html: `` });\n await page.setContent(`<q2-action-sheet></q2-action-sheet>`);\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.waitForEvent('ready');\n const dialog = await page.find('q2-action-sheet >>> dialog');\n expect(dialog).toBeTruthy();\n });\n });\n });\n\n describe('Props', () => {\n describe('title', () => {\n it('renders the title block', async () => {\n page = await setup({\n html: `<q2-action-sheet title=\"Test\"></q2-action-sheet>`,\n });\n\n title = await page.find('q2-action-sheet >>> .title');\n expect(title).toBeTruthy();\n expect(title.textContent).toContain('Test');\n });\n\n it('renders the title block when hide-close is provided', async () => {\n page = await setup({\n html: `<q2-action-sheet title=\"Test\" hide-close></q2-action-sheet>`,\n });\n\n title = await page.find('q2-action-sheet >>> .title');\n expect(title).toBeTruthy();\n expect(title.textContent).toContain('Test');\n });\n });\n describe('hideClose', () => {\n describe('when false (default)', () => {\n it('shows the close button', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n expect(btnClose).toBeTruthy();\n });\n });\n describe('when true', () => {\n it('hides the close button', async () => {\n page = await setup({\n html: `<q2-action-sheet hide-close></q2-action-sheet>`,\n });\n\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n expect(btnClose).toBeNull();\n });\n });\n });\n\n describe('data', () => {\n describe('when null (default)', () => {\n it('renders the <slot> slot', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n await showDialog(page);\n const slot = await page.find('q2-action-sheet >>> .content > slot');\n expect(slot).toBeTruthy();\n interior = await page.find('q2-action-sheet >>> .interior');\n expect(interior).toHaveClass('is-slot');\n });\n });\n\n describe('when list content is provided', () => {\n it('strips out harmful HTML from options', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions.map(option => ({\n ...option,\n multiline: true,\n innerHTML: `\n <div>${option.display}</div>\n <script>alert('Hello')</script>\n <style>html{display:none;}</style>\n <foo-input></foo-input>\n <q2-input></q2-input>\n `.trim(),\n })),\n });\n await page.waitForChanges();\n\n await showDialog(page);\n\n options = await page.findAll('q2-option');\n\n const firstOption = options[0];\n expect(firstOption.innerHTML).toEqual(\n '<div>Red</div> <q2-input type=\"text\" stencil-hydrated=\"\"></q2-input>'\n );\n });\n\n describe('when multiline options are provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions.map(option => ({\n ...option,\n multiline: true,\n innerHTML: `<div>${option.display}</div><div>Secondary text</div>`,\n })),\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders single-select list', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(false);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeNull();\n expect(options).toHaveLength(6);\n\n const firstOption = options[0];\n expect(await firstOption.getProperty('disabled')).toBeUndefined();\n expect(await firstOption.getProperty('hidden')).toBe(false);\n expect(await firstOption.getProperty('multiline')).toBeTruthy();\n expect(await firstOption.getProperty('value')).toEqual('red');\n expect(await firstOption.getProperty('display')).toEqual('Red');\n expect(firstOption.innerHTML).toEqual('<div>Red</div><div>Secondary text</div>');\n\n await firstOption.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'red',\n values: [{ display: 'Red', value: 'red' }],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n\n describe('when multiselect is false', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions,\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders single-select list', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(false);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeNull();\n expect(options).toHaveLength(6);\n\n const firstOption = options[0];\n expect(await firstOption.getProperty('disabled')).toBeUndefined();\n expect(await firstOption.getProperty('hidden')).toBe(false);\n expect(await firstOption.getProperty('multiline')).toBeUndefined();\n expect(await firstOption.getProperty('value')).toEqual('red');\n expect(await firstOption.getProperty('display')).toEqual('Red');\n expect(firstOption.innerHTML).toEqual('Red');\n\n await firstOption.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'red',\n values: [{ display: 'Red', value: 'red' }],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n\n describe('when multiselect is true', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: true,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions,\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders a multiselect list that emits the selected items on close', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(true);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeTruthy();\n expect(options).toHaveLength(6);\n\n await options[0].click();\n await page.waitForChanges();\n\n expect(options[0]).toHaveAttribute('selected');\n\n await options[3].click();\n await page.waitForChanges();\n\n expect(options[3]).toHaveAttribute('selected');\n\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n await btnDone.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'green',\n values: [\n { display: 'Red', value: 'red' },\n { display: 'Green', value: 'green' },\n ],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n\n it('renders a multiselect list that does not emit selections on cancel', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(true);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeTruthy();\n expect(options).toHaveLength(6);\n\n await options[0].click();\n await page.waitForChanges();\n\n expect(options[0]).toHaveAttribute('selected');\n\n await options[3].click();\n await page.waitForChanges();\n\n expect(options[3]).toHaveAttribute('selected');\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n await btnClose.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'cancel',\n value: '',\n values: [],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n });\n\n describe('when message content is provided', () => {\n it('renders a message', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n await actionSheet.setProperty('data', {\n appearance: 'message',\n title: 'My title',\n description: 'My description',\n type: 'warning',\n });\n await page.waitForChanges();\n\n await showDialog(page);\n message = await page.find('q2-action-sheet >>> q2-message');\n expect(message).toBeTruthy();\n\n const title = await page.find('q2-action-sheet >>> q2-message h2');\n const description = await page.find('q2-action-sheet >>> q2-message p');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-message');\n expect(message).toEqualAttribute('type', 'warning');\n expect(title).toEqualText('My title');\n expect(description).toEqualText('My description');\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n await btnClose.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'cancel',\n value: '',\n values: [],\n });\n });\n });\n });\n });\n\n describe('Methods', () => {\n describe('show', () => {\n it('should show the dialog', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n dialog = await page.find('q2-action-sheet >>> dialog');\n\n expect(await dialog.getProperty('open')).toBe(false);\n await showDialog(page);\n expect(await dialog.getProperty('open')).toBe(true);\n const minHeight = await page.$eval('q2-action-sheet', el =>\n el.shadowRoot\n .querySelector<HTMLDialogElement>('dialog')\n .style.getPropertyValue('--comp-action-sheet-computed-min-height')\n );\n const maxHeight = await page.$eval('q2-action-sheet', el =>\n el.shadowRoot\n .querySelector<HTMLDialogElement>('dialog')\n .style.getPropertyValue('--comp-action-sheet-computed-max-height')\n );\n expect(minHeight).toBe('120px');\n expect(maxHeight).toBe('450px');\n });\n });\n describe('hide', () => {\n it('should hide the dialog', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n dialog = await page.find('q2-action-sheet >>> dialog');\n\n expect(await dialog.getProperty('open')).toBe(false);\n await showDialog(page);\n expect(await dialog.getProperty('open')).toBe(true);\n await hideDialog(page);\n expect(await dialog.getProperty('open')).toBe(false);\n });\n });\n });\n\n it('closes the dialog when the close button is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n dialog = await page.find('q2-action-sheet >>> dialog');\n await btnClose.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('closes the dialog when the escape key is pressed', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n dialog = await page.find('q2-action-sheet >>> dialog');\n await btnClose.press('Escape');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('closes the dialog when the backdrop is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('does not close the dialog when the dialog content is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n const title = await page.find('q2-action-sheet >>> .title');\n await title.click();\n await page.waitForChanges();\n expect(dialog).not.toHaveClass('is-closing');\n });\n});\n"]}
1
+ {"version":3,"file":"q2-action-sheet-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-action-sheet/test/q2-action-sheet-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { ActionSheetListOption } from 'q2-tecton-common/lib/utility/action-sheet';\nimport { setup, dispatchEvent, getListOfStyleCompilationIssues } from '@/utils/helpers';\n\ndescribe('q2-action-sheet', () => {\n let page: E2EPage;\n let actionSheet: E2EElement;\n let dialog: E2EElement;\n let interior: E2EElement;\n let btnDone: E2EElement;\n let options: E2EElement[];\n let optionList: E2EElement;\n let message: E2EElement;\n let title: E2EElement;\n let btnClose: E2EElement;\n\n const createOption = (option: Record<string, string | boolean>): ActionSheetListOption => ({\n disabled: false,\n display: 'Red',\n hidden: false,\n multiline: false,\n value: 'red',\n innerHTML: 'Red',\n ...option,\n });\n const demoOptions = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Purple'].map(color =>\n createOption({ value: color.toLowerCase(), display: color, innerHTML: color })\n );\n\n const showDialog = async (page: E2EPage): Promise<void> => {\n const dialog = await page.find('q2-action-sheet >>> dialog');\n const actionSheet = await page.find('q2-action-sheet');\n expect(await dialog.getProperty('open')).toBe(false);\n await actionSheet.callMethod('show');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(dialog).toHaveClass('is-open');\n expect(await dialog.getProperty('open')).toBe(true);\n };\n\n const hideDialog = async (page: E2EPage): Promise<void> => {\n const dialog = await page.find('q2-action-sheet >>> dialog');\n const actionSheet = await page.find('q2-action-sheet');\n expect(await dialog.getProperty('open')).toBe(true);\n expect(dialog).toHaveClass('is-open');\n await actionSheet.callMethod('hide');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-action-sheet></q2-action-sheet>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-action-sheet')).toHaveLength(0);\n });\n\n describe('Events', () => {\n describe('ready', () => {\n it('fires when the component is ready', async () => {\n page = await setup({ html: `` });\n await page.setContent(`<q2-action-sheet></q2-action-sheet>`);\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.waitForEvent('ready');\n const dialog = await page.find('q2-action-sheet >>> dialog');\n expect(dialog).toBeTruthy();\n });\n });\n });\n\n describe('Props', () => {\n describe('title', () => {\n it('renders the title block', async () => {\n page = await setup({\n html: `<q2-action-sheet title=\"Test\"></q2-action-sheet>`,\n });\n\n title = await page.find('q2-action-sheet >>> .title');\n expect(title).toBeTruthy();\n expect(title.textContent).toContain('Test');\n });\n\n it('renders the title block when hide-close is provided', async () => {\n page = await setup({\n html: `<q2-action-sheet title=\"Test\" hide-close></q2-action-sheet>`,\n });\n\n title = await page.find('q2-action-sheet >>> .title');\n expect(title).toBeTruthy();\n expect(title.textContent).toContain('Test');\n });\n });\n describe('hideClose', () => {\n describe('when false (default)', () => {\n it('shows the close button', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n expect(btnClose).toBeTruthy();\n });\n });\n describe('when true', () => {\n it('hides the close button', async () => {\n page = await setup({\n html: `<q2-action-sheet hide-close></q2-action-sheet>`,\n });\n\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n expect(btnClose).toBeNull();\n });\n });\n });\n\n describe('data', () => {\n describe('when null (default)', () => {\n it('renders the <slot> slot', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n await showDialog(page);\n const slot = await page.find('q2-action-sheet >>> .content > slot');\n expect(slot).toBeTruthy();\n interior = await page.find('q2-action-sheet >>> .interior');\n expect(interior).toHaveClass('is-slot');\n });\n });\n\n describe('when list content is provided', () => {\n it('strips out harmful HTML from options', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions.map(option => ({\n ...option,\n multiline: true,\n innerHTML: `\n <div>${option.display}</div>\n <script>alert('Hello')</script>\n <style>html{display:none;}</style>\n <foo-input></foo-input>\n <q2-input></q2-input>\n `.trim(),\n })),\n });\n await page.waitForChanges();\n\n await showDialog(page);\n\n options = await page.findAll('q2-option');\n\n const firstOption = options[0];\n expect(firstOption.innerHTML).toEqual(\n '<div>Red</div> <q2-input type=\"text\" stencil-hydrated=\"\"></q2-input>'\n );\n });\n\n describe('when multiline options are provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions.map(option => ({\n ...option,\n multiline: true,\n innerHTML: `<div>${option.display}</div><div>Secondary text</div>`,\n })),\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders single-select list', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(false);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeNull();\n expect(options).toHaveLength(6);\n\n const firstOption = options[0];\n expect(await firstOption.getProperty('disabled')).toBeUndefined();\n expect(await firstOption.getProperty('hidden')).toBe(false);\n expect(await firstOption.getProperty('multiline')).toBeTruthy();\n expect(await firstOption.getProperty('value')).toEqual('red');\n expect(await firstOption.getProperty('display')).toEqual('Red');\n expect(firstOption.innerHTML).toEqual('<div>Red</div><div>Secondary text</div>');\n\n await firstOption.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'red',\n values: [{ display: 'Red', value: 'red' }],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n\n describe('when multiselect is false', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: false,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions,\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders single-select list', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(false);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeNull();\n expect(options).toHaveLength(6);\n\n const firstOption = options[0];\n expect(await firstOption.getProperty('disabled')).toBeUndefined();\n expect(await firstOption.getProperty('hidden')).toBe(false);\n expect(await firstOption.getProperty('multiline')).toBeUndefined();\n expect(await firstOption.getProperty('value')).toEqual('red');\n expect(await firstOption.getProperty('display')).toEqual('Red');\n expect(firstOption.innerHTML).toEqual('Red');\n\n await firstOption.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'red',\n values: [{ display: 'Red', value: 'red' }],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n\n describe('when multiselect is true', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n await actionSheet.setProperty('data', {\n appearance: 'list',\n title: 'Favorite color',\n description: 'Select your favorite color',\n listProps: {\n multiple: true,\n selectedOptions: [],\n noSelect: false,\n },\n options: demoOptions,\n });\n await page.waitForChanges();\n\n await showDialog(page);\n });\n\n it('renders a multiselect list that emits the selected items on close', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(true);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeTruthy();\n expect(options).toHaveLength(6);\n\n await options[0].click();\n await page.waitForChanges();\n\n expect(options[0]).toHaveAttribute('selected');\n\n await options[3].click();\n await page.waitForChanges();\n\n expect(options[3]).toHaveAttribute('selected');\n\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n await btnDone.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'confirm',\n value: 'green',\n values: [\n { display: 'Red', value: 'red' },\n { display: 'Green', value: 'green' },\n ],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n\n it('renders a multiselect list that does not emit selections on cancel', async () => {\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n optionList = await page.find('q2-action-sheet >>> q2-option-list');\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnDone = await page.find('q2-action-sheet >>> [test-id=btnDone]');\n options = await page.findAll('q2-option');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-list');\n expect(optionList).toBeTruthy();\n expect(await optionList.getProperty('multiple')).toBe(true);\n expect(await optionList.getProperty('noSelect')).toBe(false);\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(btnDone).toBeTruthy();\n expect(options).toHaveLength(6);\n\n await options[0].click();\n await page.waitForChanges();\n\n expect(options[0]).toHaveAttribute('selected');\n\n await options[3].click();\n await page.waitForChanges();\n\n expect(options[3]).toHaveAttribute('selected');\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n await btnClose.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'cancel',\n value: '',\n values: [],\n });\n expect(await actionSheet.getProperty('data')).toBeUndefined();\n });\n });\n });\n\n describe('when message content is provided', () => {\n it('renders a message', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n\n actionSheet = await page.find('q2-action-sheet');\n const closeSpy = await actionSheet.spyOnEvent('close');\n await actionSheet.setProperty('data', {\n appearance: 'message',\n title: 'My title',\n description: 'My description',\n type: 'warning',\n });\n await page.waitForChanges();\n\n await showDialog(page);\n message = await page.find('q2-action-sheet >>> q2-message');\n expect(message).toBeTruthy();\n\n const title = await page.find('q2-action-sheet >>> q2-message h2');\n const description = await page.find('q2-action-sheet >>> q2-message p');\n interior = await page.find('q2-action-sheet >>> .interior');\n\n expect(interior).toHaveClass('is-message');\n expect(message).toEqualAttribute('type', 'warning');\n expect(title).toEqualText('My title');\n expect(description).toEqualText('My description');\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n await btnClose.click();\n await page.waitForChanges();\n\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n expect(closeSpy).toHaveReceivedEventDetail({\n type: 'cancel',\n value: '',\n values: [],\n });\n });\n });\n });\n });\n\n describe('Methods', () => {\n describe('show', () => {\n it('should show the dialog', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n dialog = await page.find('q2-action-sheet >>> dialog');\n\n expect(await dialog.getProperty('open')).toBe(false);\n await showDialog(page);\n expect(await dialog.getProperty('open')).toBe(true);\n const minHeight = await page.$eval('q2-action-sheet', el =>\n el.shadowRoot\n .querySelector<HTMLDialogElement>('dialog')\n .style.getPropertyValue('--comp-action-sheet-computed-min-height')\n );\n const maxHeight = await page.$eval('q2-action-sheet', el =>\n el.shadowRoot\n .querySelector<HTMLDialogElement>('dialog')\n .style.getPropertyValue('--comp-action-sheet-computed-max-height')\n );\n expect(minHeight).toBe('120px');\n expect(maxHeight).toBe('450px');\n });\n });\n describe('hide', () => {\n it('should hide the dialog', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n dialog = await page.find('q2-action-sheet >>> dialog');\n\n expect(await dialog.getProperty('open')).toBe(false);\n await showDialog(page);\n expect(await dialog.getProperty('open')).toBe(true);\n await hideDialog(page);\n expect(await dialog.getProperty('open')).toBe(false);\n });\n });\n });\n\n it('closes the dialog when the close button is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n dialog = await page.find('q2-action-sheet >>> dialog');\n await btnClose.click();\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('closes the dialog when the escape key is pressed', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n btnClose = await page.find('q2-action-sheet >>> [test-id=btnClose]');\n dialog = await page.find('q2-action-sheet >>> dialog');\n await btnClose.press('Escape');\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('closes the dialog when the backdrop is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-action-sheet', 'dialog'], 'transitionend');\n await page.waitForChanges();\n expect(await dialog.getProperty('open')).toBe(false);\n });\n\n it('does not close the dialog when the dialog content is clicked', async () => {\n page = await setup({\n html: `<q2-action-sheet></q2-action-sheet>`,\n });\n await showDialog(page);\n\n dialog = await page.find('q2-action-sheet >>> dialog');\n const title = await page.find('q2-action-sheet >>> .title');\n await title.click();\n await page.waitForChanges();\n expect(dialog).not.toHaveClass('is-closing');\n });\n});\n"]}
@@ -48,7 +48,7 @@ export class Q2Avatar {
48
48
  const isLoaded = this.isLoaded;
49
49
  const showInitials = (this.name || this.initials) && (!this.src || this.badSrc);
50
50
  const showFallback = !this.name && !this.initials && (!this.src || this.badSrc);
51
- return (h("div", { key: '2377fb1226c542252d8c1826aa762cc0267bb8a2' }, showImg && (h("img", { key: 'baa5c36dd4be833bd017daa75b57dc0cf9ea01bf', class: isLoaded ? 'avatar-img' : 'avatar-img-default', "test-id": "userImage", src: this.src, onError: this.onError, onLoad: this.onLoad, alt: this.name || '' })), showInitials && (h("svg", { key: 'd4977d3adf04544ed9f13b079abfa2a2e1ce3a56', viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid meet", "test-id": "userInitials", class: `avatar-initials size-${computedInitials.length}`, "aria-label": this.name, "aria-hidden": !this.name && 'true' }, h("text", { key: '8de6490d4949b8f20beef384ba78c371edf1d81a', x: "50", y: "50", "dominant-baseline": "central", "text-anchor": "middle", "aria-hidden": "true" }, computedInitials))), showFallback && (h("div", { key: '9946f0f312626acb2693ef058b98480a5c4011ed', "test-id": "fallbackIcon", class: "fallback" }, h("q2-icon", { key: 'd6c99a8f8b12216c7a00d936f22ec7ac49aec151', type: this.icon })))));
51
+ return (h("div", { key: 'fb5f6b225de751e0d0aeb5b9e2d92128f184c899' }, showImg && (h("img", { key: '093ecb0b7e608589fda969b54ef3d5bc072ce245', class: isLoaded ? 'avatar-img' : 'avatar-img-default', "test-id": "userImage", src: this.src, onError: this.onError, onLoad: this.onLoad, alt: this.name || '' })), showInitials && (h("svg", { key: 'dac89c0aca1a250d5d15b8536d323cf1b4bbe616', viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid meet", "test-id": "userInitials", class: `avatar-initials size-${computedInitials.length}`, "aria-label": this.name, "aria-hidden": !this.name && 'true' }, h("text", { key: '85cdca32e6172a0f9c3b590a277a056fbec6c8ae', x: "50", y: "50", "dominant-baseline": "central", "text-anchor": "middle", "aria-hidden": "true" }, computedInitials))), showFallback && (h("div", { key: '2a8e7bb8d8d7f25b7df61f162b0adc362a6dbbb6', "test-id": "fallbackIcon", class: "fallback" }, h("q2-icon", { key: 'ddb717e672bc21ce35823e69255d4fda8c50dc61', type: this.icon })))));
52
52
  }
53
53
  static get is() { return "q2-avatar"; }
54
54
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-avatar.js","sourceRoot":"","sources":["../../../src/components/q2-avatar/q2-avatar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, h, State, Watch } from '@stencil/core';\n\n@Component({ tag: 'q2-avatar', shadow: true, styleUrl: 'q2-avatar.scss' })\nexport class Q2Avatar implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n el: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n badSrc: boolean = false;\n\n @State()\n isLoaded: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** A [q2-icon](https://tecton.q2developer.com/design-system/q2-icon/) to display as the fallback. */\n @Prop()\n icon: string = 'person';\n\n /** A set of up to four initials to display as capitalized text. Takes priority over `name`. */\n @Prop({ reflect: true })\n initials: string;\n\n /**\n * The name associated with the avatar.\n * The initials of the first and last words provided will display as capital letters.\n *\n * @info\n * We recommend always providing a name when you want the avatar to be presented to screen readers.\n */\n @Prop({ reflect: true })\n name: string;\n\n /** Displays the image provided by the user. */\n @Prop({ reflect: true })\n src: string;\n\n // #endregion\n // #region Watchers\n\n @Watch('src')\n srcDidUpdate() {\n this.badSrc = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get computedInitials() {\n const { initials, name } = this;\n if (!initials && !name) return;\n\n let result = '';\n if (initials) {\n result = initials.substr(0, 4);\n } else if (name) {\n const parts = name.split(' ');\n const firstCharacter = parts[0][0];\n const lastCharacter = parts.length > 1 ? parts[parts.length - 1][0] : undefined;\n result += firstCharacter;\n if (lastCharacter) result += lastCharacter;\n }\n\n result = result?.toUpperCase();\n\n return result;\n }\n\n onError = () => {\n this.badSrc = true;\n };\n\n onLoad = () => {\n this.isLoaded = true;\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { computedInitials } = this;\n const showImg = this.src && !this.badSrc;\n const isLoaded = this.isLoaded;\n const showInitials = (this.name || this.initials) && (!this.src || this.badSrc);\n const showFallback = !this.name && !this.initials && (!this.src || this.badSrc);\n\n return (\n <div>\n {showImg && (\n <img\n class={isLoaded ? 'avatar-img' : 'avatar-img-default'}\n test-id=\"userImage\"\n src={this.src}\n onError={this.onError}\n onLoad={this.onLoad}\n alt={this.name || ''}\n />\n )}\n {showInitials && (\n <svg\n viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid meet\"\n test-id=\"userInitials\"\n class={`avatar-initials size-${computedInitials.length}`}\n aria-label={this.name}\n aria-hidden={!this.name && 'true'}\n >\n <text\n x=\"50\"\n y=\"50\"\n dominant-baseline=\"central\"\n text-anchor=\"middle\"\n aria-hidden=\"true\"\n >\n {computedInitials}\n </text>\n </svg>\n )}\n {showFallback && (\n <div\n test-id=\"fallbackIcon\"\n class=\"fallback\"\n >\n <q2-icon type={this.icon}></q2-icon>\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-avatar.js","sourceRoot":"","sources":["../../../../src/components/q2-avatar/q2-avatar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, h, State, Watch } from '@stencil/core';\n\n@Component({ tag: 'q2-avatar', shadow: true, styleUrl: 'q2-avatar.scss' })\nexport class Q2Avatar implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n el: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n badSrc: boolean = false;\n\n @State()\n isLoaded: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** A [q2-icon](https://tecton.q2developer.com/design-system/q2-icon/) to display as the fallback. */\n @Prop()\n icon: string = 'person';\n\n /** A set of up to four initials to display as capitalized text. Takes priority over `name`. */\n @Prop({ reflect: true })\n initials: string;\n\n /**\n * The name associated with the avatar.\n * The initials of the first and last words provided will display as capital letters.\n *\n * @info\n * We recommend always providing a name when you want the avatar to be presented to screen readers.\n */\n @Prop({ reflect: true })\n name: string;\n\n /** Displays the image provided by the user. */\n @Prop({ reflect: true })\n src: string;\n\n // #endregion\n // #region Watchers\n\n @Watch('src')\n srcDidUpdate() {\n this.badSrc = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get computedInitials() {\n const { initials, name } = this;\n if (!initials && !name) return;\n\n let result = '';\n if (initials) {\n result = initials.substr(0, 4);\n } else if (name) {\n const parts = name.split(' ');\n const firstCharacter = parts[0][0];\n const lastCharacter = parts.length > 1 ? parts[parts.length - 1][0] : undefined;\n result += firstCharacter;\n if (lastCharacter) result += lastCharacter;\n }\n\n result = result?.toUpperCase();\n\n return result;\n }\n\n onError = () => {\n this.badSrc = true;\n };\n\n onLoad = () => {\n this.isLoaded = true;\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { computedInitials } = this;\n const showImg = this.src && !this.badSrc;\n const isLoaded = this.isLoaded;\n const showInitials = (this.name || this.initials) && (!this.src || this.badSrc);\n const showFallback = !this.name && !this.initials && (!this.src || this.badSrc);\n\n return (\n <div>\n {showImg && (\n <img\n class={isLoaded ? 'avatar-img' : 'avatar-img-default'}\n test-id=\"userImage\"\n src={this.src}\n onError={this.onError}\n onLoad={this.onLoad}\n alt={this.name || ''}\n />\n )}\n {showInitials && (\n <svg\n viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid meet\"\n test-id=\"userInitials\"\n class={`avatar-initials size-${computedInitials.length}`}\n aria-label={this.name}\n aria-hidden={!this.name && 'true'}\n >\n <text\n x=\"50\"\n y=\"50\"\n dominant-baseline=\"central\"\n text-anchor=\"middle\"\n aria-hidden=\"true\"\n >\n {computedInitials}\n </text>\n </svg>\n )}\n {showFallback && (\n <div\n test-id=\"fallbackIcon\"\n class=\"fallback\"\n >\n <q2-icon type={this.icon}></q2-icon>\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}