q2-tecton-elements 1.50.1 → 1.50.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 (417) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +73 -70
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-64d8b839.js → index-799a5634.js} +1 -21
  4. package/dist/cjs/index-799a5634.js.map +1 -0
  5. package/dist/cjs/{index-43010ce4.js → index-f69742cf.js} +1 -1
  6. package/dist/cjs/{index-43010ce4.js.map → index-f69742cf.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-badge_7.cjs.entry.js +4 -4
  11. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  12. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-list.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  32. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  36. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  37. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  40. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  41. package/dist/cjs/q2-select.cjs.entry.js +97 -19
  42. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  43. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  48. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  50. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  51. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  52. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  53. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  54. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  55. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  56. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  57. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  58. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  59. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  60. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  61. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  62. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  63. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  64. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  65. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  66. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  67. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  68. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  69. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  70. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  71. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
  72. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  73. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  74. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  75. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  76. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  77. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  78. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  79. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  80. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  81. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  82. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  83. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  84. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  85. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  86. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  87. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  88. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  89. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  90. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  91. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  92. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  93. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  94. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  96. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  97. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  98. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  99. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  100. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  101. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  102. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  103. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  104. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  105. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +1 -13
  106. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  107. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  108. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  109. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  110. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  112. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  113. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  114. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  115. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  116. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  117. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  118. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  119. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  120. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  121. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  122. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  123. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  124. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  125. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  126. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  127. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  128. package/dist/collection/components/q2-input/q2-input.js +2 -2
  129. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  130. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  131. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  132. package/dist/collection/components/q2-item/q2-item.js +1 -1
  133. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  134. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  135. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  136. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  137. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  138. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  139. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  140. package/dist/collection/components/q2-list/q2-list.js +1 -1
  141. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  142. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  143. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  144. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  145. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  146. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  147. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  148. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  149. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  150. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  151. package/dist/collection/components/q2-message/q2-message.js +1 -1
  152. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  153. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  154. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  155. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  156. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  157. package/dist/collection/components/q2-option/q2-option.js +1 -1
  158. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  159. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  160. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
  161. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  162. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  163. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  164. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  165. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
  166. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  167. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  168. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  169. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +1 -1
  170. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  171. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  172. package/dist/collection/components/q2-popover/q2-popover.js +73 -69
  173. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  174. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
  175. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  176. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +743 -435
  177. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  178. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  179. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  180. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  181. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  182. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  183. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  184. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  185. package/dist/collection/components/q2-section/q2-section.js +2 -2
  186. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  187. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  188. package/dist/collection/components/q2-select/q2-select.js +135 -21
  189. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  190. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +1 -1
  191. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  192. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +412 -0
  193. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  194. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  195. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  196. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  197. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +2 -2
  198. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  199. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  200. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  201. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  202. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  203. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  204. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  205. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  206. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  207. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  208. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  209. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  210. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  211. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  212. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +6 -1
  213. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  214. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  215. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  216. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  217. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  218. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  219. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  220. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  221. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  222. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  223. package/dist/collection/index.js.map +1 -1
  224. package/dist/collection/utils/action-sheet.js.map +1 -1
  225. package/dist/collection/utils/charting.js.map +1 -1
  226. package/dist/collection/utils/helpers.js.map +1 -1
  227. package/dist/collection/utils/index.js.map +1 -1
  228. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  229. package/dist/collection/utils/test/index.spec.js.map +1 -1
  230. package/dist/components/index2.js +1 -20
  231. package/dist/components/index2.js.map +1 -1
  232. package/dist/components/q2-action-sheet.js +1 -1
  233. package/dist/components/q2-avatar2.js +1 -1
  234. package/dist/components/q2-carousel-pane.js +2 -2
  235. package/dist/components/q2-chart-area.js +1 -1
  236. package/dist/components/q2-chart-bar.js +1 -1
  237. package/dist/components/q2-chart-donut.js +1 -1
  238. package/dist/components/q2-currency.js +1 -1
  239. package/dist/components/q2-detail.js +1 -1
  240. package/dist/components/q2-input2.js +1 -1
  241. package/dist/components/q2-item.js +1 -1
  242. package/dist/components/q2-legend2.js +1 -1
  243. package/dist/components/q2-list.js +1 -1
  244. package/dist/components/q2-loc.js +1 -1
  245. package/dist/components/q2-message2.js +1 -1
  246. package/dist/components/q2-month-picker.js +2 -2
  247. package/dist/components/q2-optgroup2.js +1 -1
  248. package/dist/components/q2-option2.js +1 -1
  249. package/dist/components/q2-pagination.js +2 -2
  250. package/dist/components/q2-pill.js +1 -1
  251. package/dist/components/q2-popover2.js +72 -69
  252. package/dist/components/q2-popover2.js.map +1 -1
  253. package/dist/components/q2-relative-time.js +1 -1
  254. package/dist/components/q2-section.js +2 -2
  255. package/dist/components/q2-select2.js +101 -22
  256. package/dist/components/q2-select2.js.map +1 -1
  257. package/dist/components/q2-stepper-vertical.js +1 -1
  258. package/dist/components/q2-stepper.js +1 -1
  259. package/dist/components/q2-tab-container.js +1 -1
  260. package/dist/components/q2-tab-pane.js +1 -1
  261. package/dist/components/q2-tag.js +1 -1
  262. package/dist/components/q2-textarea.js +1 -1
  263. package/dist/components/tecton-tab-pane.js +2 -2
  264. package/dist/esm/click-elsewhere_2.entry.js +73 -70
  265. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  266. package/dist/esm/{index-c6d74f10.js → index-3184c760.js} +1 -1
  267. package/dist/esm/{index-c6d74f10.js.map → index-3184c760.js.map} +1 -1
  268. package/dist/esm/{index-4a80972c.js → index-c774e1e4.js} +2 -21
  269. package/dist/esm/index-c774e1e4.js.map +1 -0
  270. package/dist/esm/loader.js +1 -1
  271. package/dist/esm/q2-action-sheet.entry.js +2 -2
  272. package/dist/esm/q2-avatar.entry.js +1 -1
  273. package/dist/esm/q2-badge_7.entry.js +4 -4
  274. package/dist/esm/q2-calendar.entry.js +2 -2
  275. package/dist/esm/q2-card.entry.js +1 -1
  276. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  277. package/dist/esm/q2-carousel.entry.js +1 -1
  278. package/dist/esm/q2-chart-area.entry.js +2 -2
  279. package/dist/esm/q2-chart-bar.entry.js +2 -2
  280. package/dist/esm/q2-chart-donut.entry.js +2 -2
  281. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  282. package/dist/esm/q2-checkbox.entry.js +1 -1
  283. package/dist/esm/q2-currency.entry.js +1 -1
  284. package/dist/esm/q2-data-table.entry.js +1 -1
  285. package/dist/esm/q2-detail.entry.js +2 -2
  286. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  287. package/dist/esm/q2-dropdown.entry.js +1 -1
  288. package/dist/esm/q2-editable-field.entry.js +1 -1
  289. package/dist/esm/q2-item.entry.js +2 -2
  290. package/dist/esm/q2-legend.entry.js +1 -1
  291. package/dist/esm/q2-list.entry.js +2 -2
  292. package/dist/esm/q2-loc.entry.js +2 -2
  293. package/dist/esm/q2-message.entry.js +2 -2
  294. package/dist/esm/q2-month-picker.entry.js +3 -3
  295. package/dist/esm/q2-optgroup.entry.js +2 -2
  296. package/dist/esm/q2-option-list.entry.js +1 -1
  297. package/dist/esm/q2-option.entry.js +1 -1
  298. package/dist/esm/q2-pagination.entry.js +3 -3
  299. package/dist/esm/q2-pill.entry.js +2 -2
  300. package/dist/esm/q2-radio-group.entry.js +1 -1
  301. package/dist/esm/q2-radio.entry.js +1 -1
  302. package/dist/esm/q2-relative-time.entry.js +3 -3
  303. package/dist/esm/q2-section.entry.js +3 -3
  304. package/dist/esm/q2-select.entry.js +98 -20
  305. package/dist/esm/q2-select.entry.js.map +1 -1
  306. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  307. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  308. package/dist/esm/q2-stepper.entry.js +2 -2
  309. package/dist/esm/q2-tag.entry.js +2 -2
  310. package/dist/esm/q2-tecton-elements.js +1 -1
  311. package/dist/esm/q2-textarea.entry.js +2 -2
  312. package/dist/esm/q2-tooltip.entry.js +1 -1
  313. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  314. package/dist/jest.setup.js +22 -0
  315. package/dist/jest.setup.js.map +1 -0
  316. package/dist/q2-tecton-elements/{p-77272c4c.entry.js → p-0106e160.entry.js} +2 -2
  317. package/dist/q2-tecton-elements/{p-cb3f48de.entry.js → p-17a925c1.entry.js} +2 -2
  318. package/dist/q2-tecton-elements/{p-9a1a4bc0.js → p-19784a09.js} +2 -2
  319. package/dist/q2-tecton-elements/p-19784a09.js.map +1 -0
  320. package/dist/q2-tecton-elements/{p-34856c71.entry.js → p-1d38ba53.entry.js} +2 -2
  321. package/dist/q2-tecton-elements/{p-b72fd065.entry.js → p-2e26e06d.entry.js} +2 -2
  322. package/dist/q2-tecton-elements/{p-661ed976.entry.js → p-42e791cd.entry.js} +2 -2
  323. package/dist/q2-tecton-elements/{p-6e6d9793.entry.js → p-4498cd2f.entry.js} +2 -2
  324. package/dist/q2-tecton-elements/{p-376a0589.entry.js → p-531c96c8.entry.js} +2 -2
  325. package/dist/q2-tecton-elements/{p-395904b4.entry.js → p-68810402.entry.js} +2 -2
  326. package/dist/q2-tecton-elements/{p-6b7c53a8.entry.js → p-73cbf3bd.entry.js} +2 -2
  327. package/dist/q2-tecton-elements/{p-34696e3f.entry.js → p-7a5f1418.entry.js} +2 -2
  328. package/dist/q2-tecton-elements/{p-5d936af5.entry.js → p-80d6991d.entry.js} +2 -2
  329. package/dist/q2-tecton-elements/{p-2fcaf2d6.entry.js → p-810edec0.entry.js} +2 -2
  330. package/dist/q2-tecton-elements/{p-4116579f.entry.js → p-87b84009.entry.js} +2 -2
  331. package/dist/q2-tecton-elements/{p-8a4b106d.entry.js → p-8cb85069.entry.js} +2 -2
  332. package/dist/q2-tecton-elements/{p-2ca6d44f.entry.js → p-9ffc7859.entry.js} +2 -2
  333. package/dist/q2-tecton-elements/{p-074ae80c.entry.js → p-a41da37c.entry.js} +2 -2
  334. package/dist/q2-tecton-elements/{p-2c26295e.entry.js → p-ab35aa27.entry.js} +2 -2
  335. package/dist/q2-tecton-elements/{p-d2e1631a.entry.js → p-acba752c.entry.js} +2 -2
  336. package/dist/q2-tecton-elements/{p-0a3a804a.entry.js → p-b0ef6f43.entry.js} +2 -2
  337. package/dist/q2-tecton-elements/{p-403bf3d4.entry.js → p-b18c846d.entry.js} +2 -2
  338. package/dist/q2-tecton-elements/{p-c81d299a.entry.js → p-b22410f6.entry.js} +2 -2
  339. package/dist/q2-tecton-elements/{p-ce4e6b41.entry.js → p-b8aa76a0.entry.js} +2 -2
  340. package/dist/q2-tecton-elements/{p-ad998f71.entry.js → p-ba25f9a1.entry.js} +2 -2
  341. package/dist/q2-tecton-elements/{p-cf966a0f.entry.js → p-bed61b18.entry.js} +2 -2
  342. package/dist/q2-tecton-elements/{p-6237c775.entry.js → p-c0e76a27.entry.js} +2 -2
  343. package/dist/q2-tecton-elements/{p-58cafc0d.entry.js → p-c1790396.entry.js} +2 -2
  344. package/dist/q2-tecton-elements/{p-adec9275.entry.js → p-c59ad989.entry.js} +2 -2
  345. package/dist/q2-tecton-elements/{p-3c7be0bb.entry.js → p-cbb02f6f.entry.js} +2 -2
  346. package/dist/q2-tecton-elements/{p-c0c658d1.entry.js → p-cd460504.entry.js} +2 -2
  347. package/dist/q2-tecton-elements/p-d34fff19.entry.js +2 -0
  348. package/dist/q2-tecton-elements/p-d34fff19.entry.js.map +1 -0
  349. package/dist/q2-tecton-elements/{p-0a1dff75.entry.js → p-d3f700fe.entry.js} +2 -2
  350. package/dist/q2-tecton-elements/{p-3b0d3cd4.entry.js → p-d5a11ae4.entry.js} +2 -2
  351. package/dist/q2-tecton-elements/p-e0675a03.entry.js +2 -0
  352. package/dist/q2-tecton-elements/p-e0675a03.entry.js.map +1 -0
  353. package/dist/q2-tecton-elements/{p-072c5877.entry.js → p-e098781c.entry.js} +2 -2
  354. package/dist/q2-tecton-elements/{p-fffb54e9.entry.js → p-ec86e604.entry.js} +2 -2
  355. package/dist/q2-tecton-elements/{p-77a0cc0c.entry.js → p-f0aca80a.entry.js} +2 -2
  356. package/dist/q2-tecton-elements/{p-721365be.js → p-f1e887f5.js} +1 -1
  357. package/dist/q2-tecton-elements/{p-8111547c.entry.js → p-f321dc16.entry.js} +2 -2
  358. package/dist/q2-tecton-elements/{p-45407ecc.entry.js → p-f409b668.entry.js} +2 -2
  359. package/dist/q2-tecton-elements/{p-adf0a7c9.entry.js → p-fb65b8f3.entry.js} +2 -2
  360. package/dist/q2-tecton-elements/{p-a7a0b8aa.entry.js → p-fb72d692.entry.js} +2 -2
  361. package/dist/q2-tecton-elements/{p-259b728a.entry.js → p-fcb11cea.entry.js} +2 -2
  362. package/dist/q2-tecton-elements/{p-cf32b5db.entry.js → p-fe61cc4c.entry.js} +2 -2
  363. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  364. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  365. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  366. package/dist/types/components/q2-popover/q2-popover.d.ts +5 -5
  367. package/dist/types/components/q2-select/q2-select.d.ts +24 -0
  368. package/dist/types/components.d.ts +8 -0
  369. package/package.json +3 -3
  370. package/dist/cjs/index-64d8b839.js.map +0 -1
  371. package/dist/esm/index-4a80972c.js.map +0 -1
  372. package/dist/q2-tecton-elements/p-9a1a4bc0.js.map +0 -1
  373. package/dist/q2-tecton-elements/p-aa57b657.entry.js +0 -2
  374. package/dist/q2-tecton-elements/p-aa57b657.entry.js.map +0 -1
  375. package/dist/q2-tecton-elements/p-dc77bf66.entry.js +0 -2
  376. package/dist/q2-tecton-elements/p-dc77bf66.entry.js.map +0 -1
  377. /package/dist/q2-tecton-elements/{p-77272c4c.entry.js.map → p-0106e160.entry.js.map} +0 -0
  378. /package/dist/q2-tecton-elements/{p-cb3f48de.entry.js.map → p-17a925c1.entry.js.map} +0 -0
  379. /package/dist/q2-tecton-elements/{p-34856c71.entry.js.map → p-1d38ba53.entry.js.map} +0 -0
  380. /package/dist/q2-tecton-elements/{p-b72fd065.entry.js.map → p-2e26e06d.entry.js.map} +0 -0
  381. /package/dist/q2-tecton-elements/{p-661ed976.entry.js.map → p-42e791cd.entry.js.map} +0 -0
  382. /package/dist/q2-tecton-elements/{p-6e6d9793.entry.js.map → p-4498cd2f.entry.js.map} +0 -0
  383. /package/dist/q2-tecton-elements/{p-376a0589.entry.js.map → p-531c96c8.entry.js.map} +0 -0
  384. /package/dist/q2-tecton-elements/{p-395904b4.entry.js.map → p-68810402.entry.js.map} +0 -0
  385. /package/dist/q2-tecton-elements/{p-6b7c53a8.entry.js.map → p-73cbf3bd.entry.js.map} +0 -0
  386. /package/dist/q2-tecton-elements/{p-34696e3f.entry.js.map → p-7a5f1418.entry.js.map} +0 -0
  387. /package/dist/q2-tecton-elements/{p-5d936af5.entry.js.map → p-80d6991d.entry.js.map} +0 -0
  388. /package/dist/q2-tecton-elements/{p-2fcaf2d6.entry.js.map → p-810edec0.entry.js.map} +0 -0
  389. /package/dist/q2-tecton-elements/{p-4116579f.entry.js.map → p-87b84009.entry.js.map} +0 -0
  390. /package/dist/q2-tecton-elements/{p-8a4b106d.entry.js.map → p-8cb85069.entry.js.map} +0 -0
  391. /package/dist/q2-tecton-elements/{p-2ca6d44f.entry.js.map → p-9ffc7859.entry.js.map} +0 -0
  392. /package/dist/q2-tecton-elements/{p-074ae80c.entry.js.map → p-a41da37c.entry.js.map} +0 -0
  393. /package/dist/q2-tecton-elements/{p-2c26295e.entry.js.map → p-ab35aa27.entry.js.map} +0 -0
  394. /package/dist/q2-tecton-elements/{p-d2e1631a.entry.js.map → p-acba752c.entry.js.map} +0 -0
  395. /package/dist/q2-tecton-elements/{p-0a3a804a.entry.js.map → p-b0ef6f43.entry.js.map} +0 -0
  396. /package/dist/q2-tecton-elements/{p-403bf3d4.entry.js.map → p-b18c846d.entry.js.map} +0 -0
  397. /package/dist/q2-tecton-elements/{p-c81d299a.entry.js.map → p-b22410f6.entry.js.map} +0 -0
  398. /package/dist/q2-tecton-elements/{p-ce4e6b41.entry.js.map → p-b8aa76a0.entry.js.map} +0 -0
  399. /package/dist/q2-tecton-elements/{p-ad998f71.entry.js.map → p-ba25f9a1.entry.js.map} +0 -0
  400. /package/dist/q2-tecton-elements/{p-cf966a0f.entry.js.map → p-bed61b18.entry.js.map} +0 -0
  401. /package/dist/q2-tecton-elements/{p-6237c775.entry.js.map → p-c0e76a27.entry.js.map} +0 -0
  402. /package/dist/q2-tecton-elements/{p-58cafc0d.entry.js.map → p-c1790396.entry.js.map} +0 -0
  403. /package/dist/q2-tecton-elements/{p-adec9275.entry.js.map → p-c59ad989.entry.js.map} +0 -0
  404. /package/dist/q2-tecton-elements/{p-3c7be0bb.entry.js.map → p-cbb02f6f.entry.js.map} +0 -0
  405. /package/dist/q2-tecton-elements/{p-c0c658d1.entry.js.map → p-cd460504.entry.js.map} +0 -0
  406. /package/dist/q2-tecton-elements/{p-0a1dff75.entry.js.map → p-d3f700fe.entry.js.map} +0 -0
  407. /package/dist/q2-tecton-elements/{p-3b0d3cd4.entry.js.map → p-d5a11ae4.entry.js.map} +0 -0
  408. /package/dist/q2-tecton-elements/{p-072c5877.entry.js.map → p-e098781c.entry.js.map} +0 -0
  409. /package/dist/q2-tecton-elements/{p-fffb54e9.entry.js.map → p-ec86e604.entry.js.map} +0 -0
  410. /package/dist/q2-tecton-elements/{p-77a0cc0c.entry.js.map → p-f0aca80a.entry.js.map} +0 -0
  411. /package/dist/q2-tecton-elements/{p-721365be.js.map → p-f1e887f5.js.map} +0 -0
  412. /package/dist/q2-tecton-elements/{p-8111547c.entry.js.map → p-f321dc16.entry.js.map} +0 -0
  413. /package/dist/q2-tecton-elements/{p-45407ecc.entry.js.map → p-f409b668.entry.js.map} +0 -0
  414. /package/dist/q2-tecton-elements/{p-adf0a7c9.entry.js.map → p-fb65b8f3.entry.js.map} +0 -0
  415. /package/dist/q2-tecton-elements/{p-a7a0b8aa.entry.js.map → p-fb72d692.entry.js.map} +0 -0
  416. /package/dist/q2-tecton-elements/{p-259b728a.entry.js.map → p-fcb11cea.entry.js.map} +0 -0
  417. /package/dist/q2-tecton-elements/{p-cf32b5db.entry.js.map → p-fe61cc4c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../../../src/components/q2-loading/skeleton/shapes.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport { JSX } from './../../../components';\n\ninterface AtomOptions {\n width?: string;\n height?: string;\n borderRadius?: string;\n additionalClasses?: string;\n}\n\nexport const atoms = {\n circle: ({ width, additionalClasses }: AtomOptions): JSX.IntrinsicElements => (\n <div\n class={`skeleton-shape circle ${additionalClasses || ''}`}\n style={{ width, height: width }}\n ></div>\n ),\n rectangle: ({ width, height, borderRadius, additionalClasses }: AtomOptions): JSX.IntrinsicElements => (\n <div\n class={`skeleton-shape rectangle ${additionalClasses || ''}`}\n style={{ width, height, borderRadius }}\n ></div>\n ),\n};\n\nexport const molecules = {\n field: (): JSX.IntrinsicElements => (\n <div class=\"skeleton-shape field\">\n <div class=\"skeleton-field-label\">{atoms.rectangle({ height: '1rem', width: '50%' })}</div>\n {atoms.rectangle({\n height: 'var(--tct-input-height, 42px)',\n borderRadius: '3px',\n })}\n </div>\n ),\n text: (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const rows = counts?.[0] ?? 1;\n const hasHeader = modifiers?.has('header');\n const alignment = (modifiers?.has('center') && 'center') || (modifiers?.has('right') && 'right') || 'left';\n const smallHeaderClass = modifiers?.has('smallheader') ? ' smaller' : '';\n const additionalClasses = hasHeader ? `header ${alignment}${smallHeaderClass}` : '';\n return (\n <div class=\"skeleton-shape text\">\n {hasHeader && atoms.rectangle({ width: '60%', additionalClasses })}\n {!!rows &&\n Array(rows)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n );\n },\n};\n\nexport const shapes = {\n circle: (): JSX.IntrinsicElements => {\n return atoms.circle({ width: '100%' });\n },\n rectangle: (): JSX.IntrinsicElements => {\n return atoms.rectangle({ height: '100%', borderRadius: 'var(--tct-border-radius-1, 4px)' });\n },\n table: (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const columnCount = counts?.[0] ?? 5;\n const rowCount = counts?.[1] ?? 5;\n const headless = modifiers?.has('headless');\n const bordered = modifiers?.has('bordered');\n return (\n <div class=\"skeleton-shape table\">\n {!headless && (\n <div class=\"skeleton-table-head\">\n <div class=\"skeleton-table-row skeleton-table-header flex\">\n {!!columnCount &&\n Array(columnCount)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n <div class=\"skeleton-table-row-border\">{atoms.rectangle({ height: '3px' })}</div>\n </div>\n )}\n <div class=\"skeleton-table-body\">\n {!!rowCount &&\n Array(rowCount)\n .fill(undefined)\n .map(() => (\n <div class=\"skeleton-table-row-wrapper\">\n <div class=\"skeleton-table-row flex\">\n {!!columnCount &&\n Array(columnCount)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1.5rem' }))}\n </div>\n {bordered && (\n <div class=\"skeleton-table-row-border\">\n {atoms.rectangle({\n height: '1px',\n additionalClasses: 'no-margin',\n })}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n },\n field: molecules.field,\n form: (counts?: number[]): JSX.IntrinsicElements => {\n const columns = (counts?.[1] && counts?.[0]) ?? 1;\n const rows = counts?.[1] ?? counts?.[0] ?? 1;\n const totalItems = columns * rows;\n return (\n <div class={`skeleton-shape form flex columns-${columns}`}>\n {!!totalItems && Array(totalItems).fill(undefined).map(molecules.field)}\n </div>\n );\n },\n text: molecules.text,\n 'detailed-item': (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const isSquare = modifiers?.has('square');\n const alignment = (modifiers?.has('center') && 'center') || (modifiers?.has('right') && 'right') || 'left';\n return (\n <div class={`skeleton-shape detailed-item flex ${alignment}`}>\n <div class={`detailed-item-image flex-${alignment}`}>\n {isSquare\n ? atoms.rectangle({ width: '1.5em', height: '1.5em', borderRadius: '3px' })\n : atoms.circle({ width: '1.5em' })}\n </div>\n <div class={`detailed-item-text flex flex-v-center flex-${alignment}`}>\n <div>{molecules.text(counts, modifiers)}</div>\n </div>\n </div>\n );\n },\n 'label-value': (counts?: number[]): JSX.IntrinsicElements => {\n const cells = 2 * (counts?.[0] ?? 1);\n return (\n <div class=\"skeleton-shape label-value flex\">\n {!!cells &&\n Array(cells)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n );\n },\n};\n\nexport default shapes;\n"]}
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../../../../src/components/q2-loading/skeleton/shapes.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport { JSX } from './../../../components';\n\ninterface AtomOptions {\n width?: string;\n height?: string;\n borderRadius?: string;\n additionalClasses?: string;\n}\n\nexport const atoms = {\n circle: ({ width, additionalClasses }: AtomOptions): JSX.IntrinsicElements => (\n <div\n class={`skeleton-shape circle ${additionalClasses || ''}`}\n style={{ width, height: width }}\n ></div>\n ),\n rectangle: ({ width, height, borderRadius, additionalClasses }: AtomOptions): JSX.IntrinsicElements => (\n <div\n class={`skeleton-shape rectangle ${additionalClasses || ''}`}\n style={{ width, height, borderRadius }}\n ></div>\n ),\n};\n\nexport const molecules = {\n field: (): JSX.IntrinsicElements => (\n <div class=\"skeleton-shape field\">\n <div class=\"skeleton-field-label\">{atoms.rectangle({ height: '1rem', width: '50%' })}</div>\n {atoms.rectangle({\n height: 'var(--tct-input-height, 42px)',\n borderRadius: '3px',\n })}\n </div>\n ),\n text: (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const rows = counts?.[0] ?? 1;\n const hasHeader = modifiers?.has('header');\n const alignment = (modifiers?.has('center') && 'center') || (modifiers?.has('right') && 'right') || 'left';\n const smallHeaderClass = modifiers?.has('smallheader') ? ' smaller' : '';\n const additionalClasses = hasHeader ? `header ${alignment}${smallHeaderClass}` : '';\n return (\n <div class=\"skeleton-shape text\">\n {hasHeader && atoms.rectangle({ width: '60%', additionalClasses })}\n {!!rows &&\n Array(rows)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n );\n },\n};\n\nexport const shapes = {\n circle: (): JSX.IntrinsicElements => {\n return atoms.circle({ width: '100%' });\n },\n rectangle: (): JSX.IntrinsicElements => {\n return atoms.rectangle({ height: '100%', borderRadius: 'var(--tct-border-radius-1, 4px)' });\n },\n table: (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const columnCount = counts?.[0] ?? 5;\n const rowCount = counts?.[1] ?? 5;\n const headless = modifiers?.has('headless');\n const bordered = modifiers?.has('bordered');\n return (\n <div class=\"skeleton-shape table\">\n {!headless && (\n <div class=\"skeleton-table-head\">\n <div class=\"skeleton-table-row skeleton-table-header flex\">\n {!!columnCount &&\n Array(columnCount)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n <div class=\"skeleton-table-row-border\">{atoms.rectangle({ height: '3px' })}</div>\n </div>\n )}\n <div class=\"skeleton-table-body\">\n {!!rowCount &&\n Array(rowCount)\n .fill(undefined)\n .map(() => (\n <div class=\"skeleton-table-row-wrapper\">\n <div class=\"skeleton-table-row flex\">\n {!!columnCount &&\n Array(columnCount)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1.5rem' }))}\n </div>\n {bordered && (\n <div class=\"skeleton-table-row-border\">\n {atoms.rectangle({\n height: '1px',\n additionalClasses: 'no-margin',\n })}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n },\n field: molecules.field,\n form: (counts?: number[]): JSX.IntrinsicElements => {\n const columns = (counts?.[1] && counts?.[0]) ?? 1;\n const rows = counts?.[1] ?? counts?.[0] ?? 1;\n const totalItems = columns * rows;\n return (\n <div class={`skeleton-shape form flex columns-${columns}`}>\n {!!totalItems && Array(totalItems).fill(undefined).map(molecules.field)}\n </div>\n );\n },\n text: molecules.text,\n 'detailed-item': (counts?: number[], modifiers?: Set<string>): JSX.IntrinsicElements => {\n const isSquare = modifiers?.has('square');\n const alignment = (modifiers?.has('center') && 'center') || (modifiers?.has('right') && 'right') || 'left';\n return (\n <div class={`skeleton-shape detailed-item flex ${alignment}`}>\n <div class={`detailed-item-image flex-${alignment}`}>\n {isSquare\n ? atoms.rectangle({ width: '1.5em', height: '1.5em', borderRadius: '3px' })\n : atoms.circle({ width: '1.5em' })}\n </div>\n <div class={`detailed-item-text flex flex-v-center flex-${alignment}`}>\n <div>{molecules.text(counts, modifiers)}</div>\n </div>\n </div>\n );\n },\n 'label-value': (counts?: number[]): JSX.IntrinsicElements => {\n const cells = 2 * (counts?.[0] ?? 1);\n return (\n <div class=\"skeleton-shape label-value flex\">\n {!!cells &&\n Array(cells)\n .fill(undefined)\n .map(() => atoms.rectangle({ height: '1rem' }))}\n </div>\n );\n },\n};\n\nexport default shapes;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-loading-element-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-loading/test/q2-loading-element-test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;gBACrB,IAAI,EAAE,2GAA2G;aACpH,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;YACrB,IAAI,EAAE,2GAA2G;SACpH,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAE5E,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAoB,EAAE,EAAE;YAClF,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,CAAiB,iBAAiB,CAAC,CAAC,KAAK,CAAC;YAEvG,OAAO;gBACH,YAAY;gBACZ,MAAM;gBACN,KAAK;aACR,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK;QAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;YACrB,IAAI,EAAE,uEAAuE;SAChF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAE5E,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAoB,EAAE,EAAE;YAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,CAAiB,iBAAiB,CAAC,CAAC,KAAK,CAAC;YAEzF,OAAO;gBACH,MAAM;gBACN,KAAK;aACR,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { evaluateA11y, setup } from '@/utils/helpers';\n\ndescribe('q2-loading-element', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-loading-element shape=\"rectangle\" width=\"50%\" height=\"2rem\" border-radius=\"5px\"></q2-loading-element>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('builds the rectangle with appropriate props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading-element shape=\"rectangle\" width=\"50%\" height=\"2rem\" border-radius=\"5px\"></q2-loading-element>`,\n });\n\n const skeletonShape = await page.find('q2-loading-element .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('rectangle');\n\n const skeletonStyle = await page.$eval('q2-loading-element', (element: HTMLElement) => {\n const { borderRadius, height, width } = element.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n borderRadius,\n height,\n width,\n };\n });\n\n expect(skeletonStyle.borderRadius).toEqual('5px');\n expect(skeletonStyle.height).toEqual('2rem');\n expect(skeletonStyle.width).toEqual('50%');\n });\n\n it('builds the circle with appropriate props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading-element shape=\"circle\" width=\"50px\"></q2-loading-element>`,\n });\n\n const skeletonShape = await page.find('q2-loading-element .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('circle');\n\n const skeletonStyle = await page.$eval('q2-loading-element', (element: HTMLElement) => {\n const { height, width } = element.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n height,\n width,\n };\n });\n\n expect(skeletonStyle.height).toEqual('50px');\n expect(skeletonStyle.width).toEqual('50px');\n });\n});\n"]}
1
+ {"version":3,"file":"q2-loading-element-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-loading/test/q2-loading-element-test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;gBACrB,IAAI,EAAE,2GAA2G;aACpH,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;YACrB,IAAI,EAAE,2GAA2G;SACpH,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAE5E,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAoB,EAAE,EAAE;YAClF,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,CAAiB,iBAAiB,CAAC,CAAC,KAAK,CAAC;YAEvG,OAAO;gBACH,YAAY;gBACZ,MAAM;gBACN,KAAK;aACR,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK;QAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;YACrB,IAAI,EAAE,uEAAuE;SAChF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAE5E,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAoB,EAAE,EAAE;YAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,CAAiB,iBAAiB,CAAC,CAAC,KAAK,CAAC;YAEzF,OAAO;gBACH,MAAM;gBACN,KAAK;aACR,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { evaluateA11y, setup } from '@/utils/helpers';\n\ndescribe('q2-loading-element', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-loading-element shape=\"rectangle\" width=\"50%\" height=\"2rem\" border-radius=\"5px\"></q2-loading-element>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('builds the rectangle with appropriate props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading-element shape=\"rectangle\" width=\"50%\" height=\"2rem\" border-radius=\"5px\"></q2-loading-element>`,\n });\n\n const skeletonShape = await page.find('q2-loading-element .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('rectangle');\n\n const skeletonStyle = await page.$eval('q2-loading-element', (element: HTMLElement) => {\n const { borderRadius, height, width } = element.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n borderRadius,\n height,\n width,\n };\n });\n\n expect(skeletonStyle.borderRadius).toEqual('5px');\n expect(skeletonStyle.height).toEqual('2rem');\n expect(skeletonStyle.width).toEqual('50%');\n });\n\n it('builds the circle with appropriate props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading-element shape=\"circle\" width=\"50px\"></q2-loading-element>`,\n });\n\n const skeletonShape = await page.find('q2-loading-element .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('circle');\n\n const skeletonStyle = await page.$eval('q2-loading-element', (element: HTMLElement) => {\n const { height, width } = element.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n height,\n width,\n };\n });\n\n expect(skeletonStyle.height).toEqual('50px');\n expect(skeletonStyle.width).toEqual('50px');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-loading-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-loading/test/q2-loading-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setup, testDeprecatedAriaLabel } from '@/utils/helpers';\n\ndescribe('q2-loading', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-loading></q2-loading>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-loading></q2-loading>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-loading')).toHaveLength(0);\n });\n\n it('renders the default loader', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading></q2-loading>` });\n const spinner = await page.find('q2-loading >>> .q2-loading-animation');\n\n expect(spinner).toHaveClass('half-circle-spinner');\n });\n\n it('handles the aria-label', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading></q2-loading>` });\n const q2Loading = await page.find('q2-loading');\n const spinner = await page.find('q2-loading >>> .q2-loading-animation');\n\n expect(spinner).toEqualAttribute('aria-label', 'tecton.element.loading.ariaLabel');\n\n q2Loading.setProperty('ariaLabel', 'foo');\n await page.waitForChanges();\n\n expect(spinner).toEqualAttribute('aria-label', 'foo');\n\n q2Loading.setProperty('type', 'skeleton');\n await page.waitForChanges();\n\n const skeleton = await page.find('q2-loading >>> .q2-loading-skeleton');\n expect(skeleton).toEqualAttribute('aria-label', 'foo');\n });\n\n it('pulls skeleton loaders from dictionary', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading type=\"skeleton\"></q2-loading>` });\n const q2Loading = await page.find('q2-loading');\n const skeleton = await page.find('q2-loading >>> .q2-loading-skeleton');\n let skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeleton).not.toBeNull();\n expect(skeletonShape).toBeNull();\n\n q2Loading.setProperty('shape', 'rectangle');\n await page.waitForChanges();\n\n skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).not.toBeNull();\n });\n\n describe('skeletons', () => {\n it('renders circle skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"circle\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('circle');\n\n const skeletonStyle = await page.$eval('q2-loading', (element: HTMLElement) => {\n const { width, height } = element.shadowRoot.querySelector<HTMLElement>('.skeleton-shape').style;\n return { width, height };\n });\n\n expect(skeletonStyle.height).toEqual('100%');\n expect(skeletonStyle.width).toEqual('100%');\n });\n\n it('renders rectangle skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"rectangle\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('rectangle');\n\n const skeletonStyle = await page.$eval('q2-loading', (element: HTMLElement) => {\n const { borderRadius, height } =\n element.shadowRoot.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n borderRadius,\n height,\n };\n });\n\n expect(skeletonStyle.borderRadius).toEqual('var(--tct-border-radius-1, 4px)');\n expect(skeletonStyle.height).toEqual('100%');\n });\n\n describe('table', () => {\n it('renders according to props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\"></q2-loading>`,\n });\n\n const skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n const skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n const skeletonBodyFirstRow = skeletonBodyRows[0];\n const skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n const skeletonBorders = await page.findAll(\n 'q2-loading >>> .skeleton-table-body .skeleton-table-row-border'\n );\n\n expect(skeletonHeaderColumns).toHaveLength(5);\n expect(skeletonBodyRows).toHaveLength(5);\n expect(skeletonBodyColumns).toHaveLength(5);\n expect(skeletonBorders).toHaveLength(0);\n });\n\n it('renders with modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\" modifiers=\"headless\"></q2-loading>`,\n });\n\n const q2Loading = await page.find('q2-loading');\n let skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n let skeletonBorders = await page.findAll(\n 'q2-loading >>> .skeleton-table-body .skeleton-table-row-border'\n );\n\n expect(skeletonHeader).toBeNull();\n expect(skeletonBorders).toHaveLength(0);\n\n q2Loading.setProperty('modifiers', 'bordered');\n await page.waitForChanges();\n\n skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n skeletonBorders = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row-border');\n\n expect(skeletonHeader).not.toBeNull();\n expect(skeletonBorders).toHaveLength(5);\n\n q2Loading.setProperty('modifiers', 'bordered-headless');\n await page.waitForChanges();\n\n skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n skeletonBorders = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row-border');\n\n expect(skeletonHeader).toBeNull();\n expect(skeletonBorders).toHaveLength(5);\n });\n\n it('renders with counts', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\" counts=\"2\"></q2-loading>`,\n });\n\n const q2Loading = await page.find('q2-loading');\n let skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n let skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n let skeletonBodyFirstRow = skeletonBodyRows[0];\n let skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n\n expect(skeletonHeaderColumns).toHaveLength(2);\n expect(skeletonBodyRows).toHaveLength(5);\n expect(skeletonBodyColumns).toHaveLength(2);\n\n q2Loading.setProperty('counts', '4x10');\n await page.waitForChanges();\n\n skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n skeletonBodyFirstRow = skeletonBodyRows[0];\n skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n\n expect(skeletonHeaderColumns).toHaveLength(4);\n expect(skeletonBodyRows).toHaveLength(10);\n expect(skeletonBodyColumns).toHaveLength(4);\n\n q2Loading.setProperty('counts', 'x7'); // doesn't defaults cols in broken syntax\n await page.waitForChanges();\n\n skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n expect(skeletonHeaderColumns).toHaveLength(0);\n expect(skeletonBodyRows).toHaveLength(7);\n });\n });\n\n it('renders field skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"field\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('field');\n\n const atoms = await page.findAll('q2-loading >>> .rectangle');\n\n expect(atoms).toHaveLength(2);\n });\n\n it('renders form skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"form\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClasses(['form', 'columns-1']);\n expect(fields).toHaveLength(1);\n\n const q2Loading = await page.find('q2-loading');\n\n q2Loading.setProperty('counts', '5');\n await page.waitForChanges();\n fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClass('columns-1');\n expect(fields).toHaveLength(5);\n\n q2Loading.setProperty('counts', '2x5');\n await page.waitForChanges();\n fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClass('columns-2');\n expect(fields).toHaveLength(10);\n });\n\n describe('text skeleton', () => {\n it('renders according to props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"text\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n const header = await page.find('q2-loading >>> .header');\n let textElements = await page.findAll('q2-loading >>> .text .rectangle:not(.header)');\n\n expect(skeletonShape).toHaveClass('text');\n expect(header).toBeNull();\n expect(textElements).toHaveLength(1);\n\n const q2Loading = await page.find('q2-loading');\n\n q2Loading.setProperty('counts', '5');\n await page.waitForChanges();\n textElements = await page.findAll('q2-loading >>> .text .rectangle:not(.header)');\n expect(textElements).toHaveLength(5);\n });\n\n it('renders with modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"text\" modifiers=\"header\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n const header = await page.find('q2-loading >>> .header');\n\n expect(skeletonShape).toHaveClass('text');\n expect(header).not.toBeNull();\n expect(header).toHaveClass('left');\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'header-center-smallheader');\n await page.waitForChanges();\n\n expect(header).toHaveClasses(['center', 'smaller']);\n\n q2Loading.setProperty('modifiers', 'header-center-right-left');\n await page.waitForChanges();\n\n expect(header).toHaveClass('center');\n expect(header).not.toHaveClasses(['left', 'right']); // center takes priority\n\n q2Loading.setProperty('modifiers', 'header-right-left');\n await page.waitForChanges();\n\n expect(header).toHaveClass('right');\n expect(header).not.toHaveClass('left'); // right takes priority\n });\n });\n\n /* Detailed item */\n describe('detailed-item skeleton', () => {\n it('renders with top-level modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"detailed-item\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let detailedItemImage = await page.find('q2-loading >>> .detailed-item-image .skeleton-shape');\n\n expect(skeletonShape).toHaveClasses(['detailed-item', 'left']);\n expect(detailedItemImage).toHaveClass('circle');\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'center');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('center');\n\n q2Loading.setProperty('modifiers', 'center-right-left');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('center');\n expect(skeletonShape).not.toHaveClasses(['left', 'right']); // center takes priority\n\n q2Loading.setProperty('modifiers', 'right-left');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('right');\n expect(skeletonShape).not.toHaveClass('left'); // right takes priority\n\n q2Loading.setProperty('modifiers', 'square');\n await page.waitForChanges();\n detailedItemImage = await page.find('q2-loading >>> .detailed-item-image .skeleton-shape');\n\n expect(detailedItemImage).toHaveClass('rectangle');\n expect(skeletonShape).not.toHaveClass('circle');\n });\n\n it('passes counts and modifiers to text element', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"detailed-item\" modifiers=\"header-center\" counts=\"6\"></q2-loading>`,\n });\n const textShape = await page.find('q2-loading >>> .skeleton-shape.text');\n let textHeader = await textShape.find('.header');\n let textElements = await textShape.findAll('.rectangle:not(.header)');\n\n expect(textHeader).not.toBeNull();\n expect(textHeader).toHaveClass('center');\n expect(textElements).toHaveLength(6);\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'right');\n q2Loading.setProperty('counts', '2');\n await page.waitForChanges();\n\n textHeader = await textShape.find('.header');\n textElements = await textShape.findAll('.rectangle:not(.header)');\n\n expect(textHeader).toBeNull();\n expect(textElements).toHaveLength(2);\n });\n });\n\n it('renders label skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"label-value\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let rectangles = await page.findAll('q2-loading >>> .rectangle');\n\n expect(skeletonShape).toHaveClass('label-value');\n expect(rectangles).toHaveLength(2); // defaults to one row if no counts provided\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('counts', '6');\n await page.waitForChanges();\n\n rectangles = await page.findAll('q2-loading >>> .rectangle');\n expect(rectangles).toHaveLength(12);\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n const page = await setup({ html: `<q2-loading aria-label=\"${label}\" />` });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-loading'), label);\n expect(await page.find('q2-loading >>> .q2-loading-animation')).toEqualAttribute('aria-label', label);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-loading-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-loading/test/q2-loading-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setup, testDeprecatedAriaLabel } from '@/utils/helpers';\n\ndescribe('q2-loading', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-loading></q2-loading>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-loading></q2-loading>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-loading')).toHaveLength(0);\n });\n\n it('renders the default loader', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading></q2-loading>` });\n const spinner = await page.find('q2-loading >>> .q2-loading-animation');\n\n expect(spinner).toHaveClass('half-circle-spinner');\n });\n\n it('handles the aria-label', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading></q2-loading>` });\n const q2Loading = await page.find('q2-loading');\n const spinner = await page.find('q2-loading >>> .q2-loading-animation');\n\n expect(spinner).toEqualAttribute('aria-label', 'tecton.element.loading.ariaLabel');\n\n q2Loading.setProperty('ariaLabel', 'foo');\n await page.waitForChanges();\n\n expect(spinner).toEqualAttribute('aria-label', 'foo');\n\n q2Loading.setProperty('type', 'skeleton');\n await page.waitForChanges();\n\n const skeleton = await page.find('q2-loading >>> .q2-loading-skeleton');\n expect(skeleton).toEqualAttribute('aria-label', 'foo');\n });\n\n it('pulls skeleton loaders from dictionary', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loading type=\"skeleton\"></q2-loading>` });\n const q2Loading = await page.find('q2-loading');\n const skeleton = await page.find('q2-loading >>> .q2-loading-skeleton');\n let skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeleton).not.toBeNull();\n expect(skeletonShape).toBeNull();\n\n q2Loading.setProperty('shape', 'rectangle');\n await page.waitForChanges();\n\n skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).not.toBeNull();\n });\n\n describe('skeletons', () => {\n it('renders circle skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"circle\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('circle');\n\n const skeletonStyle = await page.$eval('q2-loading', (element: HTMLElement) => {\n const { width, height } = element.shadowRoot.querySelector<HTMLElement>('.skeleton-shape').style;\n return { width, height };\n });\n\n expect(skeletonStyle.height).toEqual('100%');\n expect(skeletonStyle.width).toEqual('100%');\n });\n\n it('renders rectangle skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"rectangle\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('rectangle');\n\n const skeletonStyle = await page.$eval('q2-loading', (element: HTMLElement) => {\n const { borderRadius, height } =\n element.shadowRoot.querySelector<HTMLDivElement>('.skeleton-shape').style;\n\n return {\n borderRadius,\n height,\n };\n });\n\n expect(skeletonStyle.borderRadius).toEqual('var(--tct-border-radius-1, 4px)');\n expect(skeletonStyle.height).toEqual('100%');\n });\n\n describe('table', () => {\n it('renders according to props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\"></q2-loading>`,\n });\n\n const skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n const skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n const skeletonBodyFirstRow = skeletonBodyRows[0];\n const skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n const skeletonBorders = await page.findAll(\n 'q2-loading >>> .skeleton-table-body .skeleton-table-row-border'\n );\n\n expect(skeletonHeaderColumns).toHaveLength(5);\n expect(skeletonBodyRows).toHaveLength(5);\n expect(skeletonBodyColumns).toHaveLength(5);\n expect(skeletonBorders).toHaveLength(0);\n });\n\n it('renders with modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\" modifiers=\"headless\"></q2-loading>`,\n });\n\n const q2Loading = await page.find('q2-loading');\n let skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n let skeletonBorders = await page.findAll(\n 'q2-loading >>> .skeleton-table-body .skeleton-table-row-border'\n );\n\n expect(skeletonHeader).toBeNull();\n expect(skeletonBorders).toHaveLength(0);\n\n q2Loading.setProperty('modifiers', 'bordered');\n await page.waitForChanges();\n\n skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n skeletonBorders = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row-border');\n\n expect(skeletonHeader).not.toBeNull();\n expect(skeletonBorders).toHaveLength(5);\n\n q2Loading.setProperty('modifiers', 'bordered-headless');\n await page.waitForChanges();\n\n skeletonHeader = await page.find('q2-loading >>> .skeleton-table-header');\n skeletonBorders = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row-border');\n\n expect(skeletonHeader).toBeNull();\n expect(skeletonBorders).toHaveLength(5);\n });\n\n it('renders with counts', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"table\" counts=\"2\"></q2-loading>`,\n });\n\n const q2Loading = await page.find('q2-loading');\n let skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n let skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n let skeletonBodyFirstRow = skeletonBodyRows[0];\n let skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n\n expect(skeletonHeaderColumns).toHaveLength(2);\n expect(skeletonBodyRows).toHaveLength(5);\n expect(skeletonBodyColumns).toHaveLength(2);\n\n q2Loading.setProperty('counts', '4x10');\n await page.waitForChanges();\n\n skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n skeletonBodyFirstRow = skeletonBodyRows[0];\n skeletonBodyColumns = await skeletonBodyFirstRow.findAll('.rectangle');\n\n expect(skeletonHeaderColumns).toHaveLength(4);\n expect(skeletonBodyRows).toHaveLength(10);\n expect(skeletonBodyColumns).toHaveLength(4);\n\n q2Loading.setProperty('counts', 'x7'); // doesn't defaults cols in broken syntax\n await page.waitForChanges();\n\n skeletonHeaderColumns = await page.findAll('q2-loading >>> .skeleton-table-header .rectangle');\n skeletonBodyRows = await page.findAll('q2-loading >>> .skeleton-table-body .skeleton-table-row');\n expect(skeletonHeaderColumns).toHaveLength(0);\n expect(skeletonBodyRows).toHaveLength(7);\n });\n });\n\n it('renders field skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"field\"></q2-loading>`,\n });\n\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n\n expect(skeletonShape).toHaveClass('field');\n\n const atoms = await page.findAll('q2-loading >>> .rectangle');\n\n expect(atoms).toHaveLength(2);\n });\n\n it('renders form skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"form\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClasses(['form', 'columns-1']);\n expect(fields).toHaveLength(1);\n\n const q2Loading = await page.find('q2-loading');\n\n q2Loading.setProperty('counts', '5');\n await page.waitForChanges();\n fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClass('columns-1');\n expect(fields).toHaveLength(5);\n\n q2Loading.setProperty('counts', '2x5');\n await page.waitForChanges();\n fields = await page.findAll('q2-loading >>> .field');\n\n expect(skeletonShape).toHaveClass('columns-2');\n expect(fields).toHaveLength(10);\n });\n\n describe('text skeleton', () => {\n it('renders according to props', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"text\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n const header = await page.find('q2-loading >>> .header');\n let textElements = await page.findAll('q2-loading >>> .text .rectangle:not(.header)');\n\n expect(skeletonShape).toHaveClass('text');\n expect(header).toBeNull();\n expect(textElements).toHaveLength(1);\n\n const q2Loading = await page.find('q2-loading');\n\n q2Loading.setProperty('counts', '5');\n await page.waitForChanges();\n textElements = await page.findAll('q2-loading >>> .text .rectangle:not(.header)');\n expect(textElements).toHaveLength(5);\n });\n\n it('renders with modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"text\" modifiers=\"header\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n const header = await page.find('q2-loading >>> .header');\n\n expect(skeletonShape).toHaveClass('text');\n expect(header).not.toBeNull();\n expect(header).toHaveClass('left');\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'header-center-smallheader');\n await page.waitForChanges();\n\n expect(header).toHaveClasses(['center', 'smaller']);\n\n q2Loading.setProperty('modifiers', 'header-center-right-left');\n await page.waitForChanges();\n\n expect(header).toHaveClass('center');\n expect(header).not.toHaveClasses(['left', 'right']); // center takes priority\n\n q2Loading.setProperty('modifiers', 'header-right-left');\n await page.waitForChanges();\n\n expect(header).toHaveClass('right');\n expect(header).not.toHaveClass('left'); // right takes priority\n });\n });\n\n /* Detailed item */\n describe('detailed-item skeleton', () => {\n it('renders with top-level modifiers', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"detailed-item\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let detailedItemImage = await page.find('q2-loading >>> .detailed-item-image .skeleton-shape');\n\n expect(skeletonShape).toHaveClasses(['detailed-item', 'left']);\n expect(detailedItemImage).toHaveClass('circle');\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'center');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('center');\n\n q2Loading.setProperty('modifiers', 'center-right-left');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('center');\n expect(skeletonShape).not.toHaveClasses(['left', 'right']); // center takes priority\n\n q2Loading.setProperty('modifiers', 'right-left');\n await page.waitForChanges();\n\n expect(skeletonShape).toHaveClass('right');\n expect(skeletonShape).not.toHaveClass('left'); // right takes priority\n\n q2Loading.setProperty('modifiers', 'square');\n await page.waitForChanges();\n detailedItemImage = await page.find('q2-loading >>> .detailed-item-image .skeleton-shape');\n\n expect(detailedItemImage).toHaveClass('rectangle');\n expect(skeletonShape).not.toHaveClass('circle');\n });\n\n it('passes counts and modifiers to text element', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"detailed-item\" modifiers=\"header-center\" counts=\"6\"></q2-loading>`,\n });\n const textShape = await page.find('q2-loading >>> .skeleton-shape.text');\n let textHeader = await textShape.find('.header');\n let textElements = await textShape.findAll('.rectangle:not(.header)');\n\n expect(textHeader).not.toBeNull();\n expect(textHeader).toHaveClass('center');\n expect(textElements).toHaveLength(6);\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('modifiers', 'right');\n q2Loading.setProperty('counts', '2');\n await page.waitForChanges();\n\n textHeader = await textShape.find('.header');\n textElements = await textShape.findAll('.rectangle:not(.header)');\n\n expect(textHeader).toBeNull();\n expect(textElements).toHaveLength(2);\n });\n });\n\n it('renders label skeleton', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-loading type=\"skeleton\" shape=\"label-value\"></q2-loading>`,\n });\n const skeletonShape = await page.find('q2-loading >>> .skeleton-shape');\n let rectangles = await page.findAll('q2-loading >>> .rectangle');\n\n expect(skeletonShape).toHaveClass('label-value');\n expect(rectangles).toHaveLength(2); // defaults to one row if no counts provided\n\n const q2Loading = await page.find('q2-loading');\n q2Loading.setProperty('counts', '6');\n await page.waitForChanges();\n\n rectangles = await page.findAll('q2-loading >>> .rectangle');\n expect(rectangles).toHaveLength(12);\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n const page = await setup({ html: `<q2-loading aria-label=\"${label}\" />` });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-loading'), label);\n expect(await page.find('q2-loading >>> .q2-loading-animation')).toEqualAttribute('aria-label', label);\n });\n });\n});\n"]}
@@ -8,7 +8,7 @@ export class Q2Loc {
8
8
  // #endregion
9
9
  // #region Render Methods
10
10
  render() {
11
- return h("span", { key: 'b27e49dd804dd357eeea627ae4cb0fdb4596495b' }, loc(this.value, this.substitutions));
11
+ return h("span", { key: 'a460a2fec6b1dca127653a1981f1ad7d6930fcba' }, loc(this.value, this.substitutions));
12
12
  }
13
13
  static get is() { return "q2-loc"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-loc.js","sourceRoot":"","sources":["../../../src/components/q2-loc/q2-loc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,MAAM,OAAO,KAAK;;;;;IAWd,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,OAAO,+DAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAQ,CAAC;IAC9D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({ tag: 'q2-loc', shadow: true, styleUrl: 'q2-loc.scss' })\nexport class Q2Loc {\n // #region Public Property API\n\n /** Any substitutions you would like to pass into the localization string. */\n @Prop()\n substitutions: string[];\n\n /** The reference to the localization key you would like to display the localized output of. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <span>{loc(this.value, this.substitutions)}</span>;\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-loc.js","sourceRoot":"","sources":["../../../../src/components/q2-loc/q2-loc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,MAAM,OAAO,KAAK;;;;;IAWd,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,OAAO,+DAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAQ,CAAC;IAC9D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({ tag: 'q2-loc', shadow: true, styleUrl: 'q2-loc.scss' })\nexport class Q2Loc {\n // #region Public Property API\n\n /** Any substitutions you would like to pass into the localization string. */\n @Prop()\n substitutions: string[];\n\n /** The reference to the localization key you would like to display the localized output of. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <span>{loc(this.value, this.substitutions)}</span>;\n }\n\n // #endregion\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-loc-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-loc/test/q2-loc-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setTestStrings, setup } from '@/utils/helpers';\n\ndescribe('q2-loc', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({ html: `<q2-loc></q2-loc>` });\n await setTestStrings(page, { 'tecton.element.loc.test': 'Test String' });\n const q2Loc = await page.find('q2-loc');\n q2Loc.setProperty('value', 'tecton.element.loc.test');\n await page.waitForChanges();\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-loc></q2-loc>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-loc')).toHaveLength(0);\n });\n\n it('localizes provided string and renders the text in its shadowDOM', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loc></q2-loc>` });\n await setTestStrings(page, { 'tecton.element.loc.test': 'Test String' });\n\n const q2Loc = await page.find('q2-loc');\n\n q2Loc.setProperty('value', 'tecton.element.loc.test');\n\n await page.waitForChanges();\n\n // the component renders\n expect(q2Loc.tagName).toEqual('Q2-LOC');\n\n const innerContent = await page.find('q2-loc >>> span');\n\n // nested span renders with localized text\n expect(innerContent.innerText).toEqual('Test String');\n });\n\n it('localizes provided string with substitutions and renders the text in its shadowDOM', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loc id=\"unique-id\"></q2-loc>` });\n await setTestStrings(page, {\n 'tecton.element.loc.test.substitutions': 'Test String with {0} and {1}',\n });\n\n const q2Loc = await page.find('q2-loc');\n q2Loc.setProperty('value', 'tecton.element.loc.test.substitutions');\n\n await page.$eval('q2-loc', (element: HTMLQ2LocElement) => {\n element.substitutions = ['Jane', 'Doe'];\n });\n\n await page.waitForChanges();\n\n // the component renders\n expect(q2Loc.tagName).toEqual('Q2-LOC');\n\n const innerContent = await page.find('q2-loc >>> span');\n\n // nested span renders with localized text\n expect(innerContent.innerText).toEqual('Test String with Jane and Doe');\n });\n});\n"]}
1
+ {"version":3,"file":"q2-loc-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-loc/test/q2-loc-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setTestStrings, setup } from '@/utils/helpers';\n\ndescribe('q2-loc', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({ html: `<q2-loc></q2-loc>` });\n await setTestStrings(page, { 'tecton.element.loc.test': 'Test String' });\n const q2Loc = await page.find('q2-loc');\n q2Loc.setProperty('value', 'tecton.element.loc.test');\n await page.waitForChanges();\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-loc></q2-loc>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-loc')).toHaveLength(0);\n });\n\n it('localizes provided string and renders the text in its shadowDOM', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loc></q2-loc>` });\n await setTestStrings(page, { 'tecton.element.loc.test': 'Test String' });\n\n const q2Loc = await page.find('q2-loc');\n\n q2Loc.setProperty('value', 'tecton.element.loc.test');\n\n await page.waitForChanges();\n\n // the component renders\n expect(q2Loc.tagName).toEqual('Q2-LOC');\n\n const innerContent = await page.find('q2-loc >>> span');\n\n // nested span renders with localized text\n expect(innerContent.innerText).toEqual('Test String');\n });\n\n it('localizes provided string with substitutions and renders the text in its shadowDOM', async function (): Promise<void> {\n const page = await setup({ html: `<q2-loc id=\"unique-id\"></q2-loc>` });\n await setTestStrings(page, {\n 'tecton.element.loc.test.substitutions': 'Test String with {0} and {1}',\n });\n\n const q2Loc = await page.find('q2-loc');\n q2Loc.setProperty('value', 'tecton.element.loc.test.substitutions');\n\n await page.$eval('q2-loc', (element: HTMLQ2LocElement) => {\n element.substitutions = ['Jane', 'Doe'];\n });\n\n await page.waitForChanges();\n\n // the component renders\n expect(q2Loc.tagName).toEqual('Q2-LOC');\n\n const innerContent = await page.find('q2-loc >>> span');\n\n // nested span renders with localized text\n expect(innerContent.innerText).toEqual('Test String with Jane and Doe');\n });\n});\n"]}
@@ -57,7 +57,7 @@ export class Q2Message {
57
57
  const addDivForAriaLive = !isFirefox && this.presentToggle;
58
58
  const { description } = this;
59
59
  const messageLabel = loc(`tecton.element.message.type.${this.type ? this.type : 'info'}`);
60
- return (h("div", { key: 'a1f3db0aeec9502c1db92acc0fcd8138c09d5581', tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description && addAriaHiddenForAriaLive ? undefined : 'all', "test-id": "messageContainer" }, this.appearance === 'standard' ? this.messageIcon(this.type) : '', addDivForAriaLive && h("div", { key: 'd12074a170737cc538030798fe98e09051ff9438', class: "sr" }), h("div", { key: 'd05b18b097c7e799c3a858ba2bba1712b8ffe7e4', class: "sr message-label" }, messageLabel), h("div", { key: 'eeaed400418f0bbc2598aefd8773912387d4ca5c', class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", { key: '2392ce36a05043bc88e87003ecbc54a7d9239b61' }))));
60
+ return (h("div", { key: '6dac3cb7d62c5de2ccc23ae1f632a207f40d7d35', tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description && addAriaHiddenForAriaLive ? undefined : 'all', "test-id": "messageContainer" }, this.appearance === 'standard' ? this.messageIcon(this.type) : '', addDivForAriaLive && h("div", { key: '9df1fab5f5a7584a71ba1ee534bb7e7ea095ab2e', class: "sr" }), h("div", { key: 'e10bddd7eab4b9837b74664eaad806da1e43ad29', class: "sr message-label" }, messageLabel), h("div", { key: '64fea3e873f98c24f9c96bd3a34873c739d34109', class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", { key: '7b74a3757f077593c65b2d5eab27b8a638b3627a' }))));
61
61
  }
62
62
  static get is() { return "q2-message"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-message.js","sourceRoot":"","sources":["../../../src/components/q2-message/q2-message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Method, State, Element, Listen } from '@stencil/core';\nimport { isEventFromElement, isFirefox as checkIfFirefox, loc, nextPaint, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-message', shadow: true, styleUrl: 'q2-message.scss' })\nexport class Q2Message {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n presentToggle: boolean;\n\n // #endregion\n // #region Public Property API\n\n /** The visual style of the message. The minimal style is for use cases where you have less space to display information. */\n @Prop({ reflect: true })\n appearance: 'minimal' | 'standard' = 'standard';\n\n /** Determines whether or not assistive technology immediately presents the content to the user, via the `aria-live` attribute. */\n @Prop({ reflect: true })\n description: boolean = false;\n\n /** The type of message to display on the screen. */\n @Prop({ reflect: true })\n type: 'info' | 'error' | 'danger' | 'warning' | 'success' = 'info';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector<HTMLElement>('.message').focus();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Prompts assistive technology to announce the message.\n */\n @Method()\n async present() {\n const { isFirefox } = this;\n this.presentToggle = !this.presentToggle;\n if (!isFirefox) return;\n nextPaint(() => {\n this.presentToggle = false;\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get isFirefox() {\n return checkIfFirefox();\n }\n\n messageIcon(type: string) {\n const iconMap = {\n success: 'success',\n warning: 'warning',\n danger: 'error',\n error: 'error',\n info: 'info',\n };\n\n const iconType: string = iconMap[type] || iconMap.info;\n\n return (\n <q2-icon\n type={iconType}\n class=\"message-icon\"\n />\n );\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { isFirefox } = this;\n const addAriaHiddenForAriaLive = isFirefox && this.presentToggle;\n const addDivForAriaLive = !isFirefox && this.presentToggle;\n const { description } = this;\n const messageLabel: string = loc(`tecton.element.message.type.${this.type ? this.type : 'info'}`);\n\n return (\n <div\n tabindex=\"-1\"\n class=\"message\"\n role={description ? undefined : 'alert'}\n aria-live={description ? undefined : 'assertive'}\n aria-atomic={description ? undefined : 'true'}\n aria-relevant={description && addAriaHiddenForAriaLive ? undefined : 'all'}\n test-id=\"messageContainer\"\n >\n {this.appearance === 'standard' ? this.messageIcon(this.type) : ''}\n {addDivForAriaLive && <div class=\"sr\"></div>}\n <div class=\"sr message-label\">{messageLabel}</div>\n <div\n class=\"message-content\"\n aria-hidden={addAriaHiddenForAriaLive ? 'true' : undefined}\n >\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-message.js","sourceRoot":"","sources":["../../../../src/components/q2-message/q2-message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Method, State, Element, Listen } from '@stencil/core';\nimport { isEventFromElement, isFirefox as checkIfFirefox, loc, nextPaint, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-message', shadow: true, styleUrl: 'q2-message.scss' })\nexport class Q2Message {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n presentToggle: boolean;\n\n // #endregion\n // #region Public Property API\n\n /** The visual style of the message. The minimal style is for use cases where you have less space to display information. */\n @Prop({ reflect: true })\n appearance: 'minimal' | 'standard' = 'standard';\n\n /** Determines whether or not assistive technology immediately presents the content to the user, via the `aria-live` attribute. */\n @Prop({ reflect: true })\n description: boolean = false;\n\n /** The type of message to display on the screen. */\n @Prop({ reflect: true })\n type: 'info' | 'error' | 'danger' | 'warning' | 'success' = 'info';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector<HTMLElement>('.message').focus();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Prompts assistive technology to announce the message.\n */\n @Method()\n async present() {\n const { isFirefox } = this;\n this.presentToggle = !this.presentToggle;\n if (!isFirefox) return;\n nextPaint(() => {\n this.presentToggle = false;\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get isFirefox() {\n return checkIfFirefox();\n }\n\n messageIcon(type: string) {\n const iconMap = {\n success: 'success',\n warning: 'warning',\n danger: 'error',\n error: 'error',\n info: 'info',\n };\n\n const iconType: string = iconMap[type] || iconMap.info;\n\n return (\n <q2-icon\n type={iconType}\n class=\"message-icon\"\n />\n );\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { isFirefox } = this;\n const addAriaHiddenForAriaLive = isFirefox && this.presentToggle;\n const addDivForAriaLive = !isFirefox && this.presentToggle;\n const { description } = this;\n const messageLabel: string = loc(`tecton.element.message.type.${this.type ? this.type : 'info'}`);\n\n return (\n <div\n tabindex=\"-1\"\n class=\"message\"\n role={description ? undefined : 'alert'}\n aria-live={description ? undefined : 'assertive'}\n aria-atomic={description ? undefined : 'true'}\n aria-relevant={description && addAriaHiddenForAriaLive ? undefined : 'all'}\n test-id=\"messageContainer\"\n >\n {this.appearance === 'standard' ? this.messageIcon(this.type) : ''}\n {addDivForAriaLive && <div class=\"sr\"></div>}\n <div class=\"sr message-label\">{messageLabel}</div>\n <div\n class=\"message-content\"\n aria-hidden={addAriaHiddenForAriaLive ? 'true' : undefined}\n >\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-message-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-message/test/q2-message-test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,+BAA+B,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;gBACrB,IAAI,EAAE,0CAA0C;aACnD,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACpB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;oBAC9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,2BAA2B;qBACpC,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClE,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;oBACnD,MAAM,SAAS,GAAG,uBAAuB,CAAC;oBAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,cAAc,CAAC,IAAI,EAAE;wBACvB,kCAAkC,EAAE,SAAS;qBAChD,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;oBACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBAEtE,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBACrC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,0CAA0C;qBACnD,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;oBACvD,MAAM,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBACrC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,0CAA0C;qBACnD,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;oBACvD,MAAM,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;gBACpC,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACvC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,yCAAyC;qBAClD,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;oBACtD,MAAM,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBACnC,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACvC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,wCAAwC;qBACjD,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;oBACrD,MAAM,8BAA8B,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YACxB,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBACrC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;oBAClC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,8DAA8D;qBACvE,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;oBACrD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,yCAAyC;qBAClD,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAEpE,MAAM,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC5E,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YACzB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC3B,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;oBACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,iDAAiD;qBAC1D,CAAC,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBAEhE,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3D,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChE,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;oBAC3C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,qCAAqC;qBAC9C,CAAC,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBAEhE,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC1E,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACvE,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,uEAAuE,CAAC;QAErF,EAAE,CAAC,sCAAsC,EAAE,KAAK;YAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;gBACtD,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK;YAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;gBACtD,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,8BAA8B,CAAC,IAAY;IACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;QACrB,IAAI,EAAE,2BAA2B;KACpC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;IAClD,MAAM,cAAc,CAAC,IAAI,EAAE;QACvB,CAAC,+BAA+B,IAAI,EAAE,CAAC,EAAE,iBAAiB;KAC7D,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAEtE,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACrD,CAAC","sourcesContent":["import { setTestStrings, setup, dispatchEvent, getListOfStyleCompilationIssues, evaluateA11y } from '@/utils/helpers';\n\ndescribe('q2-message', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-message></q2-message>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-message')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: '<q2-message type=\"success\"></q2-message>',\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('@Props', () => {\n describe('type', () => {\n describe('when omitted', () => {\n it('defaults to \"info\" type and icon', async () => {\n const page = await setup({\n html: '<q2-message></q2-message>',\n });\n const messageElement = await page.find('q2-message');\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageElement.getAttribute('type')).toEqual('info');\n expect(await messageIcon.getAttribute('type')).toEqual('info');\n });\n\n it('defaults to \"info\" message type label', async () => {\n const ariaLabel = 'q2-message aria-label';\n const page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.message.type.info': ariaLabel,\n });\n await page.setContent('<q2-message></q2-message>');\n await page.waitForChanges();\n const typeLabel = await page.find('q2-message >>> .sr.message-label');\n\n expect(typeLabel).toEqualText(ariaLabel);\n });\n });\n\n describe('when value is \"success\"', () => {\n it('renders with \"success\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"success\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('success');\n });\n\n it('renders with \"success\" message type label', async () => {\n await expectScreenReaderMessageLabel('success');\n });\n });\n\n describe('when value is \"warning\"', () => {\n it('renders with \"warning\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"warning\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('warning');\n });\n\n it('renders with \"warning\" message type label', async () => {\n await expectScreenReaderMessageLabel('warning');\n });\n });\n\n describe('when value is \"danger\"', () => {\n it('renders with \"error\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"danger\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('error');\n });\n\n it('renders with \"danger\" message type label', async () => {\n await expectScreenReaderMessageLabel('danger');\n });\n });\n\n describe('when value is \"error\"', () => {\n it('renders with \"error\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"error\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('error');\n });\n\n it('renders with \"error\" message type label', async () => {\n await expectScreenReaderMessageLabel('error');\n });\n });\n });\n\n describe('appearance', () => {\n describe('when value is \"minimal\"', () => {\n it('does not render icon', async () => {\n const page = await setup({\n html: '<q2-message appearance=\"minimal\">Hipster script</q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(messageIcon).toBeNull();\n });\n });\n\n describe('when omitted', () => {\n it('defaults to \"standard\" and renders icon', async () => {\n const page = await setup({\n html: '<q2-message>Hipster script</q2-message>',\n });\n const messageElement = await page.find('q2-message');\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageElement.getAttribute('appearance')).toEqual('standard');\n expect(messageIcon).toBeDefined();\n });\n });\n });\n\n describe('description', () => {\n describe('when provided', () => {\n it('does not add aria-attributes and role', async () => {\n const page = await setup({\n html: '<q2-message description>Tony Stark</q2-message>',\n });\n const messageBlock = await page.find('q2-message >>> .message');\n\n expect(await messageBlock.getAttribute('role')).toBeNull();\n expect(await messageBlock.getAttribute('aria-live')).toBeNull();\n expect(await messageBlock.getAttribute('aria-atomic')).toBeNull();\n });\n });\n\n describe('when omitted', () => {\n it('adds aria-attributes and role', async () => {\n const page = await setup({\n html: '<q2-message>Tony Stark</q2-message>',\n });\n const messageBlock = await page.find('q2-message >>> .message');\n\n expect(await messageBlock.getAttribute('role')).toEqual('alert');\n expect(await messageBlock.getAttribute('aria-live')).toEqual('assertive');\n expect(await messageBlock.getAttribute('aria-atomic')).toEqual('true');\n expect(await messageBlock.getAttribute('aria-relevant')).toEqual('all');\n });\n });\n });\n });\n\n describe('focus transferring', () => {\n const html = '<q2-message type=\"info\" appearance=\"standard\">Tony Stark</q2-message>';\n\n it('focuses when focus event dispatched ', async function (): Promise<void> {\n const page = await setup({ html });\n await dispatchEvent(page, ['q2-message'], 'focus');\n const containsClass = await page.$eval('q2-message', el => {\n return el.shadowRoot.activeElement.classList.contains('message');\n });\n expect(containsClass).toBe(true);\n });\n\n it('focuses when focus event method called ', async function (): Promise<void> {\n const page = await setup({ html });\n const message = await page.find('q2-message');\n await message.triggerEvent('focus');\n await page.waitForChanges();\n const containsClass = await page.$eval('q2-message', el => {\n return el.shadowRoot.activeElement.classList.contains('message');\n });\n expect(containsClass).toBe(true);\n });\n });\n});\n\nasync function expectScreenReaderMessageLabel(type: string): Promise<void> {\n const page = await setup({\n html: '<q2-message></q2-message>',\n });\n const screenReaderLabel = 'q2-message aria-label';\n await setTestStrings(page, {\n [`tecton.element.message.type.${type}`]: screenReaderLabel,\n });\n const messageElement = await page.find('q2-message');\n messageElement.setAttribute('type', type);\n await page.waitForChanges();\n const typeLabel = await page.find('q2-message >>> .sr.message-label');\n\n expect(typeLabel).toEqualText(screenReaderLabel);\n}\n"]}
1
+ {"version":3,"file":"q2-message-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-message/test/q2-message-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { setTestStrings, setup, dispatchEvent, getListOfStyleCompilationIssues, evaluateA11y } from '@/utils/helpers';\n\ndescribe('q2-message', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-message></q2-message>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-message')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: '<q2-message type=\"success\"></q2-message>',\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('@Props', () => {\n describe('type', () => {\n describe('when omitted', () => {\n it('defaults to \"info\" type and icon', async () => {\n const page = await setup({\n html: '<q2-message></q2-message>',\n });\n const messageElement = await page.find('q2-message');\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageElement.getAttribute('type')).toEqual('info');\n expect(await messageIcon.getAttribute('type')).toEqual('info');\n });\n\n it('defaults to \"info\" message type label', async () => {\n const ariaLabel = 'q2-message aria-label';\n const page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.message.type.info': ariaLabel,\n });\n await page.setContent('<q2-message></q2-message>');\n await page.waitForChanges();\n const typeLabel = await page.find('q2-message >>> .sr.message-label');\n\n expect(typeLabel).toEqualText(ariaLabel);\n });\n });\n\n describe('when value is \"success\"', () => {\n it('renders with \"success\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"success\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('success');\n });\n\n it('renders with \"success\" message type label', async () => {\n await expectScreenReaderMessageLabel('success');\n });\n });\n\n describe('when value is \"warning\"', () => {\n it('renders with \"warning\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"warning\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('warning');\n });\n\n it('renders with \"warning\" message type label', async () => {\n await expectScreenReaderMessageLabel('warning');\n });\n });\n\n describe('when value is \"danger\"', () => {\n it('renders with \"error\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"danger\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('error');\n });\n\n it('renders with \"danger\" message type label', async () => {\n await expectScreenReaderMessageLabel('danger');\n });\n });\n\n describe('when value is \"error\"', () => {\n it('renders with \"error\" icon', async () => {\n const page = await setup({\n html: '<q2-message type=\"error\"></q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageIcon.getAttribute('type')).toEqual('error');\n });\n\n it('renders with \"error\" message type label', async () => {\n await expectScreenReaderMessageLabel('error');\n });\n });\n });\n\n describe('appearance', () => {\n describe('when value is \"minimal\"', () => {\n it('does not render icon', async () => {\n const page = await setup({\n html: '<q2-message appearance=\"minimal\">Hipster script</q2-message>',\n });\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(messageIcon).toBeNull();\n });\n });\n\n describe('when omitted', () => {\n it('defaults to \"standard\" and renders icon', async () => {\n const page = await setup({\n html: '<q2-message>Hipster script</q2-message>',\n });\n const messageElement = await page.find('q2-message');\n const messageIcon = await page.find('q2-message >>> .message-icon');\n\n expect(await messageElement.getAttribute('appearance')).toEqual('standard');\n expect(messageIcon).toBeDefined();\n });\n });\n });\n\n describe('description', () => {\n describe('when provided', () => {\n it('does not add aria-attributes and role', async () => {\n const page = await setup({\n html: '<q2-message description>Tony Stark</q2-message>',\n });\n const messageBlock = await page.find('q2-message >>> .message');\n\n expect(await messageBlock.getAttribute('role')).toBeNull();\n expect(await messageBlock.getAttribute('aria-live')).toBeNull();\n expect(await messageBlock.getAttribute('aria-atomic')).toBeNull();\n });\n });\n\n describe('when omitted', () => {\n it('adds aria-attributes and role', async () => {\n const page = await setup({\n html: '<q2-message>Tony Stark</q2-message>',\n });\n const messageBlock = await page.find('q2-message >>> .message');\n\n expect(await messageBlock.getAttribute('role')).toEqual('alert');\n expect(await messageBlock.getAttribute('aria-live')).toEqual('assertive');\n expect(await messageBlock.getAttribute('aria-atomic')).toEqual('true');\n expect(await messageBlock.getAttribute('aria-relevant')).toEqual('all');\n });\n });\n });\n });\n\n describe('focus transferring', () => {\n const html = '<q2-message type=\"info\" appearance=\"standard\">Tony Stark</q2-message>';\n\n it('focuses when focus event dispatched ', async function (): Promise<void> {\n const page = await setup({ html });\n await dispatchEvent(page, ['q2-message'], 'focus');\n const containsClass = await page.$eval('q2-message', el => {\n return el.shadowRoot.activeElement.classList.contains('message');\n });\n expect(containsClass).toBe(true);\n });\n\n it('focuses when focus event method called ', async function (): Promise<void> {\n const page = await setup({ html });\n const message = await page.find('q2-message');\n await message.triggerEvent('focus');\n await page.waitForChanges();\n const containsClass = await page.$eval('q2-message', el => {\n return el.shadowRoot.activeElement.classList.contains('message');\n });\n expect(containsClass).toBe(true);\n });\n });\n});\n\nasync function expectScreenReaderMessageLabel(type: string): Promise<void> {\n const page = await setup({\n html: '<q2-message></q2-message>',\n });\n const screenReaderLabel = 'q2-message aria-label';\n await setTestStrings(page, {\n [`tecton.element.message.type.${type}`]: screenReaderLabel,\n });\n const messageElement = await page.find('q2-message');\n messageElement.setAttribute('type', type);\n await page.waitForChanges();\n const typeLabel = await page.find('q2-message >>> .sr.message-label');\n\n expect(typeLabel).toEqualText(screenReaderLabel);\n}\n"]}
@@ -43,7 +43,7 @@ export class Q2Optgroup {
43
43
  // #endregion
44
44
  // #region Render Methods
45
45
  render() {
46
- return (h("div", { key: 'a814883de8b62bc48a1345fb94d6936e43ca3827', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, h("div", { key: '0186214c5c7c2a578591c257b905514e84173a3e', class: "q2-optgroup-header", id: this.headerId }, (this.label && loc(this.label)) || ''), h("div", { key: 'dbab9d660f63f6c370b127646467ae7f2e27a077', class: "q2-optgroup-options" }, h("slot", { key: 'a8c9a881869bf9da26223f75283b026d0ea7d277' }))));
46
+ return (h("div", { key: 'bf31cc7803e61f63f9e2e5438f53e4444cbcd052', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, h("div", { key: '37b84e178bb47cc9ef7be0aa9027266366080b4c', class: "q2-optgroup-header", id: this.headerId }, (this.label && loc(this.label)) || ''), h("div", { key: '99215526f4608bdff86fa426afd2080a1fa83897', class: "q2-optgroup-options" }, h("slot", { key: 'a5d0c39acbd794d023004e272877bbc4768356f7' }))));
47
47
  }
48
48
  static get is() { return "q2-optgroup"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-optgroup.js","sourceRoot":"","sources":["../../../src/components/q2-optgroup/q2-optgroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAsB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,OAAO,UAAU;;QACnB,yBAAyB;QAEzB,SAAI,GAAW,UAAU,EAAE,CAAC;QAiE5B,cAAS,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClF,CAAC,CAAC;sBAtDgB,KAAK;wBAOH,KAAK;;;IAMzB,aAAa;IACb,qCAAqC;IAErC,oBAAoB;QAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,iBAAiB;QACb,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAEjC,gBAAgB;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;IACb,mBAAmB;IAGnB,eAAe,CAAC,QAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,QAAQ;QACR,OAAO,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtE,CAAC;IAMD,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,OAAO,CACH,4DACI,KAAK,EAAC,uBAAuB,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,qBACF,IAAI,CAAC,QAAQ,EAC9B,IAAI,EAAC,OAAO;YAEZ,4DACI,KAAK,EAAC,oBAAoB,EAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ,IAEhB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CACpC;YACN,4DAAK,KAAK,EAAC,qBAAqB;gBAC5B,8DAAQ,CACN,CACJ,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, h, ComponentInterface, Prop, Element, Watch, State } from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({ tag: 'q2-optgroup', shadow: true, styleUrl: 'q2-optgroup.scss' })\nexport class Q2Optgroup implements ComponentInterface {\n // #region Own Properties\n\n guid: number = createGuid();\n mutationObserver: MutationObserver;\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 hidden: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Serves as the group header text. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /** Determines whether all nested options are disabled. */\n @Prop({ reflect: true })\n label: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n componentWillLoad() {\n const observer = new MutationObserver(this.setHidden);\n observer.observe(this.hostElement, { childList: true, attributes: true, subtree: true });\n this.mutationObserver = observer;\n\n // set initially\n this.setHidden();\n this.disabledWatcher(this.disabled);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledWatcher(disabled: boolean) {\n this.options.forEach(opt => {\n opt.disabledGroup = !!disabled;\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get headerId() {\n return `q2-optgroup-header-${this.guid}`;\n }\n\n get options() {\n return Array.from(this.hostElement.querySelectorAll('q2-option'));\n }\n\n setHidden = () => {\n this.hidden = this.options.every(opt => opt.hidden || opt._multiSelectHidden);\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div\n class=\"q2-optgroup-container\"\n hidden={this.hidden}\n aria-labelledby={this.headerId}\n role=\"group\"\n >\n <div\n class=\"q2-optgroup-header\"\n id={this.headerId}\n >\n {(this.label && loc(this.label)) || ''}\n </div>\n <div class=\"q2-optgroup-options\">\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-optgroup.js","sourceRoot":"","sources":["../../../../src/components/q2-optgroup/q2-optgroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAsB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,OAAO,UAAU;;QACnB,yBAAyB;QAEzB,SAAI,GAAW,UAAU,EAAE,CAAC;QAiE5B,cAAS,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClF,CAAC,CAAC;sBAtDgB,KAAK;wBAOH,KAAK;;;IAMzB,aAAa;IACb,qCAAqC;IAErC,oBAAoB;QAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,iBAAiB;QACb,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAEjC,gBAAgB;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;IACb,mBAAmB;IAGnB,eAAe,CAAC,QAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,QAAQ;QACR,OAAO,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtE,CAAC;IAMD,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,OAAO,CACH,4DACI,KAAK,EAAC,uBAAuB,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,qBACF,IAAI,CAAC,QAAQ,EAC9B,IAAI,EAAC,OAAO;YAEZ,4DACI,KAAK,EAAC,oBAAoB,EAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ,IAEhB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CACpC;YACN,4DAAK,KAAK,EAAC,qBAAqB;gBAC5B,8DAAQ,CACN,CACJ,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, h, ComponentInterface, Prop, Element, Watch, State } from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({ tag: 'q2-optgroup', shadow: true, styleUrl: 'q2-optgroup.scss' })\nexport class Q2Optgroup implements ComponentInterface {\n // #region Own Properties\n\n guid: number = createGuid();\n mutationObserver: MutationObserver;\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 hidden: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Serves as the group header text. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /** Determines whether all nested options are disabled. */\n @Prop({ reflect: true })\n label: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n componentWillLoad() {\n const observer = new MutationObserver(this.setHidden);\n observer.observe(this.hostElement, { childList: true, attributes: true, subtree: true });\n this.mutationObserver = observer;\n\n // set initially\n this.setHidden();\n this.disabledWatcher(this.disabled);\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledWatcher(disabled: boolean) {\n this.options.forEach(opt => {\n opt.disabledGroup = !!disabled;\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get headerId() {\n return `q2-optgroup-header-${this.guid}`;\n }\n\n get options() {\n return Array.from(this.hostElement.querySelectorAll('q2-option'));\n }\n\n setHidden = () => {\n this.hidden = this.options.every(opt => opt.hidden || opt._multiSelectHidden);\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div\n class=\"q2-optgroup-container\"\n hidden={this.hidden}\n aria-labelledby={this.headerId}\n role=\"group\"\n >\n <div\n class=\"q2-optgroup-header\"\n id={this.headerId}\n >\n {(this.label && loc(this.label)) || ''}\n </div>\n <div class=\"q2-optgroup-options\">\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-optgroup-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-optgroup/test/q2-optgroup-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setTestStrings, setup } from '@/utils/helpers';\n\ndescribe('q2-select', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-select label=\"My Select\">\n <q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n </q2-select>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-select></q2-select>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-select')).toHaveLength(0);\n });\n\n it('renders base state', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const optGroup = await page.find('q2-optgroup');\n\n // the component renders\n expect(optGroup.tagName).toEqual('Q2-OPTGROUP');\n\n const optGroupLabel = await page.find('q2-optgroup >>> .q2-optgroup-header');\n // label text is rendered in header\n expect(optGroupLabel.textContent).toEqual('Option Group');\n\n const optGroupContainer = await page.find('q2-optgroup >>> .q2-optgroup-container');\n\n // label header id matches container aria-labelledby\n expect(optGroupLabel.id).toEqual(optGroupContainer.getAttribute('aria-labelledby'));\n\n const assignedNodesLocalName = await page.$eval('q2-optgroup', group => {\n return group.shadowRoot.querySelector('slot').assignedElements()[0].localName;\n });\n\n // slot renders with provided options\n expect(assignedNodesLocalName).toEqual('q2-option');\n });\n\n it('propagates disabled state to child options', async function () {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" disabled>\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const option = await page.find('q2-option');\n const optionDisabledByGroup = await option.getProperty('disabledGroup');\n\n expect(optionDisabledByGroup).toEqual(true);\n });\n\n it('hides the container if all children are hidden', async function () {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\" hidden>Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const optGroupContainer = await page.find('q2-optgroup >>> .q2-optgroup-container');\n let containerHidden = await optGroupContainer.getProperty('hidden');\n\n // container hidden if all options hidden\n expect(containerHidden).toEqual(true);\n\n const option = await page.find('q2-option');\n\n await option.setProperty('hidden', false);\n\n await page.waitForChanges();\n\n // container no longer hidden once option isn't hidden\n // tests mutation observer fires\n containerHidden = await optGroupContainer.getProperty('hidden');\n expect(containerHidden).toEqual(false);\n });\n\n it('localizes label string', async function () {\n const page = await setup({\n html: `<q2-optgroup >\n <q2-option value=\"option1\" display=\"Option Text\" hidden>Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n await setTestStrings(page, {\n 'q2-optGroup.label': 'My Option Group Label',\n });\n\n const optGroup = await page.find('q2-optgroup');\n await optGroup.setProperty('label', 'q2-optGroup.label');\n\n await page.waitForChanges();\n\n const optGroupLabel = await page.find('q2-optgroup >>> .q2-optgroup-header');\n\n expect(optGroupLabel.textContent).toEqual('My Option Group Label');\n });\n});\n"]}
1
+ {"version":3,"file":"q2-optgroup-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-optgroup/test/q2-optgroup-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { evaluateA11y, getListOfStyleCompilationIssues, setTestStrings, setup } from '@/utils/helpers';\n\ndescribe('q2-select', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-select label=\"My Select\">\n <q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n </q2-select>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-select></q2-select>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-select')).toHaveLength(0);\n });\n\n it('renders base state', async function (): Promise<void> {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const optGroup = await page.find('q2-optgroup');\n\n // the component renders\n expect(optGroup.tagName).toEqual('Q2-OPTGROUP');\n\n const optGroupLabel = await page.find('q2-optgroup >>> .q2-optgroup-header');\n // label text is rendered in header\n expect(optGroupLabel.textContent).toEqual('Option Group');\n\n const optGroupContainer = await page.find('q2-optgroup >>> .q2-optgroup-container');\n\n // label header id matches container aria-labelledby\n expect(optGroupLabel.id).toEqual(optGroupContainer.getAttribute('aria-labelledby'));\n\n const assignedNodesLocalName = await page.$eval('q2-optgroup', group => {\n return group.shadowRoot.querySelector('slot').assignedElements()[0].localName;\n });\n\n // slot renders with provided options\n expect(assignedNodesLocalName).toEqual('q2-option');\n });\n\n it('propagates disabled state to child options', async function () {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" disabled>\n <q2-option value=\"option1\" display=\"Option Text\">Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const option = await page.find('q2-option');\n const optionDisabledByGroup = await option.getProperty('disabledGroup');\n\n expect(optionDisabledByGroup).toEqual(true);\n });\n\n it('hides the container if all children are hidden', async function () {\n const page = await setup({\n html: `<q2-optgroup label=\"Option Group\" >\n <q2-option value=\"option1\" display=\"Option Text\" hidden>Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n const optGroupContainer = await page.find('q2-optgroup >>> .q2-optgroup-container');\n let containerHidden = await optGroupContainer.getProperty('hidden');\n\n // container hidden if all options hidden\n expect(containerHidden).toEqual(true);\n\n const option = await page.find('q2-option');\n\n await option.setProperty('hidden', false);\n\n await page.waitForChanges();\n\n // container no longer hidden once option isn't hidden\n // tests mutation observer fires\n containerHidden = await optGroupContainer.getProperty('hidden');\n expect(containerHidden).toEqual(false);\n });\n\n it('localizes label string', async function () {\n const page = await setup({\n html: `<q2-optgroup >\n <q2-option value=\"option1\" display=\"Option Text\" hidden>Option Text</q2-option>\n </q2-optgroup>\n `,\n });\n\n await setTestStrings(page, {\n 'q2-optGroup.label': 'My Option Group Label',\n });\n\n const optGroup = await page.find('q2-optgroup');\n await optGroup.setProperty('label', 'q2-optGroup.label');\n\n await page.waitForChanges();\n\n const optGroupLabel = await page.find('q2-optgroup >>> .q2-optgroup-header');\n\n expect(optGroupLabel.textContent).toEqual('My Option Group Label');\n });\n});\n"]}
@@ -56,7 +56,7 @@ export class Q2Option {
56
56
  render() {
57
57
  const { disabled, disabledGroup, selected, _multiSelectHidden } = this;
58
58
  const isDisabled = disabled || disabledGroup;
59
- return (h(Host, { key: '7b4a32ea1eec13bfbeca88e038d052ba88b109a0', tabindex: "-1", "aria-disabled": isDisabled ? 'true' : undefined, "aria-selected": `${!!selected}`, "aria-hidden": _multiSelectHidden ? 'true' : undefined, display: this.display }, this.selected && h("q2-icon", { key: '9fb687709d27e1ce24ced445d4f9d9e9c19a69e7', type: "checkmark" }), h("div", { key: '1fd40d00eaa09f012bba8afbe915cd53b1194cb6', class: "content" }, h("slot", { key: 'fa4756793e55a1152fdace4c80531d54a7e41bdc' }))));
59
+ return (h(Host, { key: '2af351acbd9f0bbc7be9026a0f2fbfea8fc9fdc9', tabindex: "-1", "aria-disabled": isDisabled ? 'true' : undefined, "aria-selected": `${!!selected}`, "aria-hidden": _multiSelectHidden ? 'true' : undefined, display: this.display }, this.selected && h("q2-icon", { key: 'bf432d87de8ce766e463c71142aba6f5964a31a9', type: "checkmark" }), h("div", { key: '7b220cbad16b536da8ad7d9c8164ad5475e383a8', class: "content" }, h("slot", { key: '1795e840992dfecd12223eae509d0afee9da0a29' }))));
60
60
  }
61
61
  static get is() { return "q2-option"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-option.js","sourceRoot":"","sources":["../../../src/components/q2-option/q2-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, ComponentInterface, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({ tag: 'q2-option', shadow: true, styleUrl: 'q2-option.scss' })\nexport class Q2Option implements ComponentInterface {\n // #region Own Properties\n\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n @Prop({ reflect: true, attribute: '_multiSelectHidden' })\n _multiSelectHidden: boolean = false;\n\n /**\n * Used by q2-option-list to indicate the option is active\n * @private\n */\n @Prop({ reflect: true })\n active: boolean;\n\n /** Disables the option. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by consuming elements to disable all options in the group\n * @private\n */\n @Prop({ reflect: true })\n disabledGroup: boolean;\n\n /** The text that is presented in the field when selected. If not set, the text inside the element will be used. */\n @Prop({ mutable: true })\n display: string;\n\n /**\n * Used by consuming elements to enable multiline content support\n * @private\n */\n @Prop({ reflect: true })\n multiline: boolean;\n\n /**\n * Used by q2-option-list to set a role on the option\n * @type {('option' | 'menuitem')}\n * @private\n */\n @Prop({ reflect: true })\n role: string = 'option';\n\n /**\n * Used by q2-option-list to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true })\n selected: boolean;\n\n /** Serves as the option's value. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Used by consuming elements to indicate the display value of the option has changed.\n * @private\n */\n @Event()\n displayChanged: EventEmitter<{ value: string; display: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.initDisplay();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.mutationHandler);\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n // #endregion\n // #region Local Methods\n\n initDisplay() {\n if (this.multiline) return;\n if (this.display && !this.hostElement?.textContent?.trim()) {\n this.hostElement.textContent = this.display;\n } else if (!this.display && this.hostElement.textContent.trim()) {\n this.display = this.hostElement.textContent.trim();\n }\n }\n\n mutationHandler = (mutations: MutationRecord[]) => {\n const display = (this.display || '').trim();\n const textContent = (this.hostElement?.textContent || '').trim();\n if (display === textContent || this.multiline) return;\n for (const mut of mutations) {\n if (mut.type === 'childList' || mut.type === 'characterData') {\n this.display = textContent;\n } else if (mut.type === 'attributes' && mut.attributeName === 'display') {\n this.hostElement.textContent = display;\n }\n }\n if (this.hostElement.ariaSelected) this.displayChanged.emit({ display: this.display, value: this.value });\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { disabled, disabledGroup, selected, _multiSelectHidden } = this;\n const isDisabled = disabled || disabledGroup;\n\n return (\n <Host\n tabindex=\"-1\"\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-selected={`${!!selected}`}\n aria-hidden={_multiSelectHidden ? 'true' : undefined}\n display={this.display}\n >\n {this.selected && <q2-icon type=\"checkmark\" />}\n <div class=\"content\">\n <slot />\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-option.js","sourceRoot":"","sources":["../../../../src/components/q2-option/q2-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, ComponentInterface, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({ tag: 'q2-option', shadow: true, styleUrl: 'q2-option.scss' })\nexport class Q2Option implements ComponentInterface {\n // #region Own Properties\n\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n @Prop({ reflect: true, attribute: '_multiSelectHidden' })\n _multiSelectHidden: boolean = false;\n\n /**\n * Used by q2-option-list to indicate the option is active\n * @private\n */\n @Prop({ reflect: true })\n active: boolean;\n\n /** Disables the option. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by consuming elements to disable all options in the group\n * @private\n */\n @Prop({ reflect: true })\n disabledGroup: boolean;\n\n /** The text that is presented in the field when selected. If not set, the text inside the element will be used. */\n @Prop({ mutable: true })\n display: string;\n\n /**\n * Used by consuming elements to enable multiline content support\n * @private\n */\n @Prop({ reflect: true })\n multiline: boolean;\n\n /**\n * Used by q2-option-list to set a role on the option\n * @type {('option' | 'menuitem')}\n * @private\n */\n @Prop({ reflect: true })\n role: string = 'option';\n\n /**\n * Used by q2-option-list to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true })\n selected: boolean;\n\n /** Serves as the option's value. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Used by consuming elements to indicate the display value of the option has changed.\n * @private\n */\n @Event()\n displayChanged: EventEmitter<{ value: string; display: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.initDisplay();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.mutationHandler);\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n // #endregion\n // #region Local Methods\n\n initDisplay() {\n if (this.multiline) return;\n if (this.display && !this.hostElement?.textContent?.trim()) {\n this.hostElement.textContent = this.display;\n } else if (!this.display && this.hostElement.textContent.trim()) {\n this.display = this.hostElement.textContent.trim();\n }\n }\n\n mutationHandler = (mutations: MutationRecord[]) => {\n const display = (this.display || '').trim();\n const textContent = (this.hostElement?.textContent || '').trim();\n if (display === textContent || this.multiline) return;\n for (const mut of mutations) {\n if (mut.type === 'childList' || mut.type === 'characterData') {\n this.display = textContent;\n } else if (mut.type === 'attributes' && mut.attributeName === 'display') {\n this.hostElement.textContent = display;\n }\n }\n if (this.hostElement.ariaSelected) this.displayChanged.emit({ display: this.display, value: this.value });\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { disabled, disabledGroup, selected, _multiSelectHidden } = this;\n const isDisabled = disabled || disabledGroup;\n\n return (\n <Host\n tabindex=\"-1\"\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-selected={`${!!selected}`}\n aria-hidden={_multiSelectHidden ? 'true' : undefined}\n display={this.display}\n >\n {this.selected && <q2-icon type=\"checkmark\" />}\n <div class=\"content\">\n <slot />\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}