q2-tecton-elements 1.37.0 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +68 -58
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-6f9f259c.js → index-5d70039b.js} +5 -1
  4. package/dist/cjs/index-5d70039b.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-btn_2.cjs.entry.js +3 -3
  13. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-calendar.cjs.entry.js +38 -4
  15. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  25. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-chart-donut.cjs.entry.js +11 -2
  27. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-checkbox-group.cjs.entry.js +7 -2
  29. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  35. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  37. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-editable-field.cjs.entry.js +26 -3
  39. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-icon.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-input.cjs.entry.js +50 -9
  43. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-message.cjs.entry.js +5 -2
  47. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-month-picker.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-optgroup_2.cjs.entry.js +3 -3
  51. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-option-list.cjs.entry.js +19 -11
  53. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-pagination.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-radio-group.cjs.entry.js +7 -2
  59. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  62. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-select.cjs.entry.js +85 -30
  65. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  67. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  69. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  71. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  72. package/dist/cjs/q2-tab-container.cjs.entry.js +16 -10
  73. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  75. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
  76. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  77. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  78. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  79. package/dist/cjs/q2-textarea.cjs.entry.js +39 -6
  80. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  81. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  82. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/tecton-tab-pane.cjs.entry.js +1 -1
  84. package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
  85. package/dist/collection/components/q2-action-sheet/styles.css +1 -1
  86. package/dist/collection/components/q2-avatar/styles.css +1 -1
  87. package/dist/collection/components/q2-badge/styles.css +1 -1
  88. package/dist/collection/components/q2-btn/styles.css +18 -3
  89. package/dist/collection/components/q2-calendar/index.js +59 -10
  90. package/dist/collection/components/q2-calendar/index.js.map +1 -1
  91. package/dist/collection/components/q2-calendar/q2-month-picker.css +1 -1
  92. package/dist/collection/components/q2-calendar/styles.css +1 -1
  93. package/dist/collection/components/q2-card/styles.css +1 -1
  94. package/dist/collection/components/q2-carousel/styles.css +1 -1
  95. package/dist/collection/components/q2-carousel-pane/styles.css +1 -1
  96. package/dist/collection/components/q2-chart-area/styles.css +1 -1
  97. package/dist/collection/components/q2-chart-bar/styles.css +1 -1
  98. package/dist/collection/components/q2-chart-donut/index.js +12 -3
  99. package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
  100. package/dist/collection/components/q2-chart-donut/styles.css +1 -1
  101. package/dist/collection/components/q2-checkbox/styles.css +84 -20
  102. package/dist/collection/components/q2-checkbox-group/index.js +10 -2
  103. package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
  104. package/dist/collection/components/q2-checkbox-group/styles.css +1 -1
  105. package/dist/collection/components/q2-data-table/styles.css +1 -1
  106. package/dist/collection/components/q2-dropdown/styles.css +1 -1
  107. package/dist/collection/components/q2-dropdown-item/styles.css +1 -1
  108. package/dist/collection/components/q2-editable-field/index.js +44 -9
  109. package/dist/collection/components/q2-editable-field/index.js.map +1 -1
  110. package/dist/collection/components/q2-editable-field/styles.css +1 -1
  111. package/dist/collection/components/q2-icon/styles.css +1 -1
  112. package/dist/collection/components/q2-input/formatting/date.js +1 -1
  113. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  114. package/dist/collection/components/q2-input/index.js +80 -12
  115. package/dist/collection/components/q2-input/index.js.map +1 -1
  116. package/dist/collection/components/q2-input/styles.css +64 -51
  117. package/dist/collection/components/q2-loading/styles.css +1 -1
  118. package/dist/collection/components/q2-loc/styles.css +1 -1
  119. package/dist/collection/components/q2-message/index.js +4 -1
  120. package/dist/collection/components/q2-message/index.js.map +1 -1
  121. package/dist/collection/components/q2-message/styles.css +1 -1
  122. package/dist/collection/components/q2-optgroup/styles.css +2 -2
  123. package/dist/collection/components/q2-option/styles.css +1 -1
  124. package/dist/collection/components/q2-option-list/index.js +17 -9
  125. package/dist/collection/components/q2-option-list/index.js.map +1 -1
  126. package/dist/collection/components/q2-option-list/styles.css +1 -1
  127. package/dist/collection/components/q2-pagination/styles.css +1 -1
  128. package/dist/collection/components/q2-pill/styles.css +7 -7
  129. package/dist/collection/components/q2-popover/index.js +90 -73
  130. package/dist/collection/components/q2-popover/index.js.map +1 -1
  131. package/dist/collection/components/q2-popover/styles.css +13 -13
  132. package/dist/collection/components/q2-radio/styles.css +36 -13
  133. package/dist/collection/components/q2-radio-group/index.js +10 -2
  134. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  135. package/dist/collection/components/q2-radio-group/styles.css +1 -1
  136. package/dist/collection/components/q2-section/styles.css +1 -1
  137. package/dist/collection/components/q2-select/index.js +108 -36
  138. package/dist/collection/components/q2-select/index.js.map +1 -1
  139. package/dist/collection/components/q2-select/styles.css +18 -10
  140. package/dist/collection/components/q2-stepper/styles.css +2 -12
  141. package/dist/collection/components/q2-stepper-pane/styles.css +1 -1
  142. package/dist/collection/components/q2-stepper-vertical/styles.css +1 -1
  143. package/dist/collection/components/q2-tab-container/index.js +14 -8
  144. package/dist/collection/components/q2-tab-container/index.js.map +1 -1
  145. package/dist/collection/components/q2-tab-container/styles.css +1 -1
  146. package/dist/collection/components/q2-tab-pane/styles.css +1 -1
  147. package/dist/collection/components/q2-tag/styles.css +4 -4
  148. package/dist/collection/components/q2-textarea/index.js +44 -8
  149. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  150. package/dist/collection/components/q2-textarea/styles.css +69 -11
  151. package/dist/collection/components/q2-tooltip/styles.css +1 -1
  152. package/dist/collection/components/tecton-tab-pane/styles.css +1 -1
  153. package/dist/collection/utils/index.js +3 -0
  154. package/dist/collection/utils/index.js.map +1 -1
  155. package/dist/components/index10.js +1 -1
  156. package/dist/components/index10.js.map +1 -1
  157. package/dist/components/index11.js +5 -2
  158. package/dist/components/index11.js.map +1 -1
  159. package/dist/components/index12.js +1 -1
  160. package/dist/components/index12.js.map +1 -1
  161. package/dist/components/index13.js +1 -1
  162. package/dist/components/index13.js.map +1 -1
  163. package/dist/components/index14.js +18 -10
  164. package/dist/components/index14.js.map +1 -1
  165. package/dist/components/index15.js +69 -59
  166. package/dist/components/index15.js.map +1 -1
  167. package/dist/components/index16.js +4 -1
  168. package/dist/components/index16.js.map +1 -1
  169. package/dist/components/index3.js +1 -1
  170. package/dist/components/index3.js.map +1 -1
  171. package/dist/components/index4.js +1 -1
  172. package/dist/components/index4.js.map +1 -1
  173. package/dist/components/index5.js +1 -1
  174. package/dist/components/index5.js.map +1 -1
  175. package/dist/components/index6.js +1 -1
  176. package/dist/components/index6.js.map +1 -1
  177. package/dist/components/index7.js +1 -1
  178. package/dist/components/index7.js.map +1 -1
  179. package/dist/components/index8.js +1 -1
  180. package/dist/components/index8.js.map +1 -1
  181. package/dist/components/index9.js +52 -9
  182. package/dist/components/index9.js.map +1 -1
  183. package/dist/components/q2-action-sheet.js +1 -1
  184. package/dist/components/q2-action-sheet.js.map +1 -1
  185. package/dist/components/q2-calendar.js +37 -3
  186. package/dist/components/q2-calendar.js.map +1 -1
  187. package/dist/components/q2-card.js +1 -1
  188. package/dist/components/q2-card.js.map +1 -1
  189. package/dist/components/q2-carousel-pane.js +1 -1
  190. package/dist/components/q2-carousel-pane.js.map +1 -1
  191. package/dist/components/q2-carousel.js +1 -1
  192. package/dist/components/q2-carousel.js.map +1 -1
  193. package/dist/components/q2-chart-area.js +1 -1
  194. package/dist/components/q2-chart-area.js.map +1 -1
  195. package/dist/components/q2-chart-bar.js +1 -1
  196. package/dist/components/q2-chart-bar.js.map +1 -1
  197. package/dist/components/q2-chart-donut.js +10 -1
  198. package/dist/components/q2-chart-donut.js.map +1 -1
  199. package/dist/components/q2-checkbox-group.js +6 -1
  200. package/dist/components/q2-checkbox-group.js.map +1 -1
  201. package/dist/components/q2-data-table.js +1 -1
  202. package/dist/components/q2-data-table.js.map +1 -1
  203. package/dist/components/q2-dropdown.js +1 -1
  204. package/dist/components/q2-dropdown.js.map +1 -1
  205. package/dist/components/q2-editable-field.js +25 -2
  206. package/dist/components/q2-editable-field.js.map +1 -1
  207. package/dist/components/q2-loc.js +1 -1
  208. package/dist/components/q2-loc.js.map +1 -1
  209. package/dist/components/q2-month-picker.js +1 -1
  210. package/dist/components/q2-month-picker.js.map +1 -1
  211. package/dist/components/q2-pagination.js +1 -1
  212. package/dist/components/q2-pagination.js.map +1 -1
  213. package/dist/components/q2-pill.js +1 -1
  214. package/dist/components/q2-pill.js.map +1 -1
  215. package/dist/components/q2-radio-group.js +6 -1
  216. package/dist/components/q2-radio-group.js.map +1 -1
  217. package/dist/components/q2-radio.js +1 -1
  218. package/dist/components/q2-radio.js.map +1 -1
  219. package/dist/components/q2-section.js +1 -1
  220. package/dist/components/q2-section.js.map +1 -1
  221. package/dist/components/q2-select.js +86 -29
  222. package/dist/components/q2-select.js.map +1 -1
  223. package/dist/components/q2-stepper-pane.js +1 -1
  224. package/dist/components/q2-stepper-pane.js.map +1 -1
  225. package/dist/components/q2-stepper-vertical.js +1 -1
  226. package/dist/components/q2-stepper-vertical.js.map +1 -1
  227. package/dist/components/q2-stepper.js +1 -1
  228. package/dist/components/q2-stepper.js.map +1 -1
  229. package/dist/components/q2-tab-container.js +15 -9
  230. package/dist/components/q2-tab-container.js.map +1 -1
  231. package/dist/components/q2-tab-pane.js +1 -1
  232. package/dist/components/q2-tab-pane.js.map +1 -1
  233. package/dist/components/q2-tag.js +1 -1
  234. package/dist/components/q2-tag.js.map +1 -1
  235. package/dist/components/q2-textarea.js +38 -5
  236. package/dist/components/q2-textarea.js.map +1 -1
  237. package/dist/components/q2-tooltip.js +1 -1
  238. package/dist/components/q2-tooltip.js.map +1 -1
  239. package/dist/components/tecton-tab-pane.js +1 -1
  240. package/dist/components/tecton-tab-pane.js.map +1 -1
  241. package/dist/esm/click-elsewhere_2.entry.js +68 -58
  242. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  243. package/dist/esm/{index-74a659a5.js → index-58324e40.js} +5 -2
  244. package/dist/esm/index-58324e40.js.map +1 -0
  245. package/dist/esm/loader.js +1 -1
  246. package/dist/esm/q2-action-sheet.entry.js +2 -2
  247. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  248. package/dist/esm/q2-avatar.entry.js +1 -1
  249. package/dist/esm/q2-avatar.entry.js.map +1 -1
  250. package/dist/esm/q2-badge.entry.js +1 -1
  251. package/dist/esm/q2-badge.entry.js.map +1 -1
  252. package/dist/esm/q2-btn_2.entry.js +3 -3
  253. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  254. package/dist/esm/q2-calendar.entry.js +38 -4
  255. package/dist/esm/q2-calendar.entry.js.map +1 -1
  256. package/dist/esm/q2-card.entry.js +2 -2
  257. package/dist/esm/q2-card.entry.js.map +1 -1
  258. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  259. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  260. package/dist/esm/q2-carousel.entry.js +2 -2
  261. package/dist/esm/q2-carousel.entry.js.map +1 -1
  262. package/dist/esm/q2-chart-area.entry.js +2 -2
  263. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  264. package/dist/esm/q2-chart-bar.entry.js +2 -2
  265. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  266. package/dist/esm/q2-chart-donut.entry.js +11 -2
  267. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  268. package/dist/esm/q2-checkbox-group.entry.js +7 -2
  269. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  270. package/dist/esm/q2-checkbox.entry.js +2 -2
  271. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  272. package/dist/esm/q2-data-table.entry.js +2 -2
  273. package/dist/esm/q2-data-table.entry.js.map +1 -1
  274. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  275. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  276. package/dist/esm/q2-dropdown.entry.js +2 -2
  277. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  278. package/dist/esm/q2-editable-field.entry.js +26 -3
  279. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  280. package/dist/esm/q2-icon.entry.js +2 -2
  281. package/dist/esm/q2-icon.entry.js.map +1 -1
  282. package/dist/esm/q2-input.entry.js +50 -9
  283. package/dist/esm/q2-input.entry.js.map +1 -1
  284. package/dist/esm/q2-loc.entry.js +2 -2
  285. package/dist/esm/q2-loc.entry.js.map +1 -1
  286. package/dist/esm/q2-message.entry.js +5 -2
  287. package/dist/esm/q2-message.entry.js.map +1 -1
  288. package/dist/esm/q2-month-picker.entry.js +2 -2
  289. package/dist/esm/q2-month-picker.entry.js.map +1 -1
  290. package/dist/esm/q2-optgroup_2.entry.js +3 -3
  291. package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
  292. package/dist/esm/q2-option-list.entry.js +19 -11
  293. package/dist/esm/q2-option-list.entry.js.map +1 -1
  294. package/dist/esm/q2-pagination.entry.js +2 -2
  295. package/dist/esm/q2-pagination.entry.js.map +1 -1
  296. package/dist/esm/q2-pill.entry.js +2 -2
  297. package/dist/esm/q2-pill.entry.js.map +1 -1
  298. package/dist/esm/q2-radio-group.entry.js +7 -2
  299. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  300. package/dist/esm/q2-radio.entry.js +2 -2
  301. package/dist/esm/q2-radio.entry.js.map +1 -1
  302. package/dist/esm/q2-section.entry.js +2 -2
  303. package/dist/esm/q2-section.entry.js.map +1 -1
  304. package/dist/esm/q2-select.entry.js +85 -30
  305. package/dist/esm/q2-select.entry.js.map +1 -1
  306. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  307. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  308. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  309. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  310. package/dist/esm/q2-stepper.entry.js +2 -2
  311. package/dist/esm/q2-stepper.entry.js.map +1 -1
  312. package/dist/esm/q2-tab-container.entry.js +16 -10
  313. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  314. package/dist/esm/q2-tab-pane.entry.js +1 -1
  315. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  316. package/dist/esm/q2-tag.entry.js +2 -2
  317. package/dist/esm/q2-tag.entry.js.map +1 -1
  318. package/dist/esm/q2-tecton-elements.js +1 -1
  319. package/dist/esm/q2-textarea.entry.js +39 -6
  320. package/dist/esm/q2-textarea.entry.js.map +1 -1
  321. package/dist/esm/q2-tooltip.entry.js +2 -2
  322. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  323. package/dist/esm/tecton-tab-pane.entry.js +1 -1
  324. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  325. package/dist/q2-tecton-elements/p-00587034.entry.js +2 -0
  326. package/dist/q2-tecton-elements/{p-a52371cf.entry.js.map → p-00587034.entry.js.map} +1 -1
  327. package/dist/q2-tecton-elements/p-09c7016a.entry.js +2 -0
  328. package/dist/q2-tecton-elements/{p-e45856f7.entry.js.map → p-09c7016a.entry.js.map} +1 -1
  329. package/dist/q2-tecton-elements/{p-9ef2829e.entry.js → p-0b68e7ae.entry.js} +2 -2
  330. package/dist/q2-tecton-elements/{p-9ef2829e.entry.js.map → p-0b68e7ae.entry.js.map} +1 -1
  331. package/dist/q2-tecton-elements/p-0fb2be4c.entry.js +2 -0
  332. package/dist/q2-tecton-elements/{p-536978fe.entry.js.map → p-0fb2be4c.entry.js.map} +1 -1
  333. package/dist/q2-tecton-elements/p-0fc09a6a.entry.js +2 -0
  334. package/dist/q2-tecton-elements/p-0fc09a6a.entry.js.map +1 -0
  335. package/dist/q2-tecton-elements/p-17f7f31d.entry.js +2 -0
  336. package/dist/q2-tecton-elements/p-17f7f31d.entry.js.map +1 -0
  337. package/dist/q2-tecton-elements/p-1e0b598b.entry.js +2 -0
  338. package/dist/q2-tecton-elements/p-1e0b598b.entry.js.map +1 -0
  339. package/dist/q2-tecton-elements/p-32245ba0.entry.js +2 -0
  340. package/dist/q2-tecton-elements/p-32245ba0.entry.js.map +1 -0
  341. package/dist/q2-tecton-elements/{p-e8858d0d.entry.js → p-357b5458.entry.js} +2 -2
  342. package/dist/q2-tecton-elements/p-357b5458.entry.js.map +1 -0
  343. package/dist/q2-tecton-elements/p-470582f2.entry.js +2 -0
  344. package/dist/q2-tecton-elements/p-470582f2.entry.js.map +1 -0
  345. package/dist/q2-tecton-elements/p-53bd1be9.entry.js +2 -0
  346. package/dist/q2-tecton-elements/{p-4abbd0b1.entry.js.map → p-53bd1be9.entry.js.map} +1 -1
  347. package/dist/q2-tecton-elements/p-570e5e5d.entry.js +2 -0
  348. package/dist/q2-tecton-elements/{p-9c9a2550.entry.js.map → p-570e5e5d.entry.js.map} +1 -1
  349. package/dist/q2-tecton-elements/p-5ee3bf5f.entry.js +2 -0
  350. package/dist/q2-tecton-elements/{p-47c60d4a.entry.js.map → p-5ee3bf5f.entry.js.map} +1 -1
  351. package/dist/q2-tecton-elements/p-65ab48b2.entry.js +2 -0
  352. package/dist/q2-tecton-elements/{p-077107c1.entry.js.map → p-65ab48b2.entry.js.map} +1 -1
  353. package/dist/q2-tecton-elements/p-742c6fb9.entry.js +2 -0
  354. package/dist/q2-tecton-elements/p-742c6fb9.entry.js.map +1 -0
  355. package/dist/q2-tecton-elements/p-75ad4639.js +2 -0
  356. package/dist/q2-tecton-elements/p-75ad4639.js.map +1 -0
  357. package/dist/q2-tecton-elements/p-75fd97cb.entry.js +2 -0
  358. package/dist/q2-tecton-elements/{p-6cacc879.entry.js.map → p-75fd97cb.entry.js.map} +1 -1
  359. package/dist/q2-tecton-elements/{p-a60f82c0.entry.js → p-850025cf.entry.js} +2 -2
  360. package/dist/q2-tecton-elements/{p-a60f82c0.entry.js.map → p-850025cf.entry.js.map} +1 -1
  361. package/dist/q2-tecton-elements/p-88a19e74.entry.js +2 -0
  362. package/dist/q2-tecton-elements/p-88a19e74.entry.js.map +1 -0
  363. package/dist/q2-tecton-elements/p-9407edb1.entry.js +2 -0
  364. package/dist/q2-tecton-elements/{p-59d34a17.entry.js.map → p-9407edb1.entry.js.map} +1 -1
  365. package/dist/q2-tecton-elements/p-99ff69c7.entry.js +2 -0
  366. package/dist/q2-tecton-elements/{p-58cdb9c7.entry.js.map → p-99ff69c7.entry.js.map} +1 -1
  367. package/dist/q2-tecton-elements/p-9da0db14.entry.js +2 -0
  368. package/dist/q2-tecton-elements/{p-6170e44c.entry.js.map → p-9da0db14.entry.js.map} +1 -1
  369. package/dist/q2-tecton-elements/p-a8764ad0.entry.js +2 -0
  370. package/dist/q2-tecton-elements/{p-bfd69d42.entry.js.map → p-a8764ad0.entry.js.map} +1 -1
  371. package/dist/q2-tecton-elements/p-a99817de.entry.js +2 -0
  372. package/dist/q2-tecton-elements/p-a99817de.entry.js.map +1 -0
  373. package/dist/q2-tecton-elements/p-ae00a4df.entry.js +2 -0
  374. package/dist/q2-tecton-elements/{p-09d4b3d3.entry.js.map → p-ae00a4df.entry.js.map} +1 -1
  375. package/dist/q2-tecton-elements/p-afd284f5.entry.js +2 -0
  376. package/dist/q2-tecton-elements/p-afd284f5.entry.js.map +1 -0
  377. package/dist/q2-tecton-elements/p-b2a176bb.entry.js +2 -0
  378. package/dist/q2-tecton-elements/{p-efbe6c17.entry.js.map → p-b2a176bb.entry.js.map} +1 -1
  379. package/dist/q2-tecton-elements/p-b54fe10a.entry.js +2 -0
  380. package/dist/q2-tecton-elements/{p-9d743327.entry.js.map → p-b54fe10a.entry.js.map} +1 -1
  381. package/dist/q2-tecton-elements/p-b77dd620.entry.js +2 -0
  382. package/dist/q2-tecton-elements/p-b77dd620.entry.js.map +1 -0
  383. package/dist/q2-tecton-elements/p-bb0d4f5a.entry.js +2 -0
  384. package/dist/q2-tecton-elements/{p-ff6afb42.entry.js.map → p-bb0d4f5a.entry.js.map} +1 -1
  385. package/dist/q2-tecton-elements/{p-8e7b762a.entry.js → p-bf3846ea.entry.js} +2 -2
  386. package/dist/q2-tecton-elements/{p-8e7b762a.entry.js.map → p-bf3846ea.entry.js.map} +1 -1
  387. package/dist/q2-tecton-elements/p-ce4c903f.entry.js +2 -0
  388. package/dist/q2-tecton-elements/p-ce4c903f.entry.js.map +1 -0
  389. package/dist/q2-tecton-elements/p-d66b73bb.entry.js +2 -0
  390. package/dist/q2-tecton-elements/p-d66b73bb.entry.js.map +1 -0
  391. package/dist/q2-tecton-elements/p-d6f9c4d6.entry.js +2 -0
  392. package/dist/q2-tecton-elements/p-d6f9c4d6.entry.js.map +1 -0
  393. package/dist/q2-tecton-elements/p-d7fb3534.entry.js +2 -0
  394. package/dist/q2-tecton-elements/{p-3505f25c.entry.js.map → p-d7fb3534.entry.js.map} +1 -1
  395. package/dist/q2-tecton-elements/p-de165df1.entry.js +2 -0
  396. package/dist/q2-tecton-elements/{p-9a28b93a.entry.js.map → p-de165df1.entry.js.map} +1 -1
  397. package/dist/q2-tecton-elements/{p-75fd6df5.entry.js → p-e1b729a0.entry.js} +2 -2
  398. package/dist/q2-tecton-elements/{p-75fd6df5.entry.js.map → p-e1b729a0.entry.js.map} +1 -1
  399. package/dist/q2-tecton-elements/p-e4a4f0e0.entry.js +2 -0
  400. package/dist/q2-tecton-elements/{p-597f8656.entry.js.map → p-e4a4f0e0.entry.js.map} +1 -1
  401. package/dist/q2-tecton-elements/p-ea191d6b.entry.js +2 -0
  402. package/dist/q2-tecton-elements/p-ea191d6b.entry.js.map +1 -0
  403. package/dist/q2-tecton-elements/p-eb3289eb.entry.js +2 -0
  404. package/dist/q2-tecton-elements/{p-46287c02.entry.js.map → p-eb3289eb.entry.js.map} +1 -1
  405. package/dist/q2-tecton-elements/p-ec8624c9.entry.js +2 -0
  406. package/dist/q2-tecton-elements/{p-1c993698.entry.js.map → p-ec8624c9.entry.js.map} +1 -1
  407. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  408. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  409. package/dist/test/elements/q2-calendar-test.e2e.js +109 -47
  410. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  411. package/dist/test/elements/q2-checkbox-test.e2e.js +156 -0
  412. package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
  413. package/dist/test/elements/q2-editable-field-test.e2e.js +27 -0
  414. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  415. package/dist/test/elements/q2-input-test.e2e.js +44 -2
  416. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  417. package/dist/test/elements/q2-option-list-test.e2e.js +40 -10
  418. package/dist/test/elements/q2-option-list-test.e2e.js.map +1 -1
  419. package/dist/test/elements/q2-popover-test.e2e.js +269 -79
  420. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  421. package/dist/test/elements/q2-select-test.e2e.js +248 -97
  422. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  423. package/dist/test/elements/q2-tab-container-test.e2e.js +2 -2
  424. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  425. package/dist/test/elements/q2-textarea-test.e2e.js +879 -199
  426. package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
  427. package/dist/test/helpers.js +2 -1
  428. package/dist/test/helpers.js.map +1 -1
  429. package/dist/types/components/q2-calendar/index.d.ts +31 -0
  430. package/dist/types/components/q2-chart-donut/index.d.ts +9 -0
  431. package/dist/types/components/q2-checkbox-group/index.d.ts +5 -0
  432. package/dist/types/components/q2-editable-field/index.d.ts +23 -0
  433. package/dist/types/components/q2-input/index.d.ts +24 -1
  434. package/dist/types/components/q2-message/index.d.ts +3 -0
  435. package/dist/types/components/q2-popover/index.d.ts +9 -1
  436. package/dist/types/components/q2-radio-group/index.d.ts +5 -0
  437. package/dist/types/components/q2-select/index.d.ts +34 -4
  438. package/dist/types/components/q2-textarea/index.d.ts +12 -1
  439. package/dist/types/components.d.ts +93 -2
  440. package/dist/types/global.d.ts +2 -1
  441. package/dist/types/utils/index.d.ts +1 -0
  442. package/package.json +3 -3
  443. package/dist/cjs/index-6f9f259c.js.map +0 -1
  444. package/dist/docs.d.ts +0 -322
  445. package/dist/docs.json +0 -10294
  446. package/dist/esm/index-74a659a5.js.map +0 -1
  447. package/dist/q2-tecton-elements/p-077107c1.entry.js +0 -2
  448. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +0 -2
  449. package/dist/q2-tecton-elements/p-0d4aec6e.entry.js +0 -2
  450. package/dist/q2-tecton-elements/p-0d4aec6e.entry.js.map +0 -1
  451. package/dist/q2-tecton-elements/p-1c993698.entry.js +0 -2
  452. package/dist/q2-tecton-elements/p-252889b7.entry.js +0 -2
  453. package/dist/q2-tecton-elements/p-252889b7.entry.js.map +0 -1
  454. package/dist/q2-tecton-elements/p-25bd1b18.entry.js +0 -2
  455. package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +0 -1
  456. package/dist/q2-tecton-elements/p-2a975246.entry.js +0 -2
  457. package/dist/q2-tecton-elements/p-2a975246.entry.js.map +0 -1
  458. package/dist/q2-tecton-elements/p-30facf35.entry.js +0 -2
  459. package/dist/q2-tecton-elements/p-30facf35.entry.js.map +0 -1
  460. package/dist/q2-tecton-elements/p-3505f25c.entry.js +0 -2
  461. package/dist/q2-tecton-elements/p-3798ad96.entry.js +0 -2
  462. package/dist/q2-tecton-elements/p-3798ad96.entry.js.map +0 -1
  463. package/dist/q2-tecton-elements/p-46287c02.entry.js +0 -2
  464. package/dist/q2-tecton-elements/p-47c60d4a.entry.js +0 -2
  465. package/dist/q2-tecton-elements/p-4abbd0b1.entry.js +0 -2
  466. package/dist/q2-tecton-elements/p-536978fe.entry.js +0 -2
  467. package/dist/q2-tecton-elements/p-570c1d3d.entry.js +0 -2
  468. package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +0 -1
  469. package/dist/q2-tecton-elements/p-578e3f98.entry.js +0 -2
  470. package/dist/q2-tecton-elements/p-578e3f98.entry.js.map +0 -1
  471. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +0 -2
  472. package/dist/q2-tecton-elements/p-597f8656.entry.js +0 -2
  473. package/dist/q2-tecton-elements/p-59d34a17.entry.js +0 -2
  474. package/dist/q2-tecton-elements/p-5bc4d94c.entry.js +0 -2
  475. package/dist/q2-tecton-elements/p-5bc4d94c.entry.js.map +0 -1
  476. package/dist/q2-tecton-elements/p-6170e44c.entry.js +0 -2
  477. package/dist/q2-tecton-elements/p-67f33354.entry.js +0 -2
  478. package/dist/q2-tecton-elements/p-67f33354.entry.js.map +0 -1
  479. package/dist/q2-tecton-elements/p-6cacc879.entry.js +0 -2
  480. package/dist/q2-tecton-elements/p-7366d36d.entry.js +0 -2
  481. package/dist/q2-tecton-elements/p-7366d36d.entry.js.map +0 -1
  482. package/dist/q2-tecton-elements/p-9a28b93a.entry.js +0 -2
  483. package/dist/q2-tecton-elements/p-9c9a2550.entry.js +0 -2
  484. package/dist/q2-tecton-elements/p-9d743327.entry.js +0 -2
  485. package/dist/q2-tecton-elements/p-a52371cf.entry.js +0 -2
  486. package/dist/q2-tecton-elements/p-a53e9f1e.entry.js +0 -2
  487. package/dist/q2-tecton-elements/p-a53e9f1e.entry.js.map +0 -1
  488. package/dist/q2-tecton-elements/p-ac82ea35.entry.js +0 -2
  489. package/dist/q2-tecton-elements/p-ac82ea35.entry.js.map +0 -1
  490. package/dist/q2-tecton-elements/p-bfd69d42.entry.js +0 -2
  491. package/dist/q2-tecton-elements/p-db6921fb.entry.js +0 -2
  492. package/dist/q2-tecton-elements/p-db6921fb.entry.js.map +0 -1
  493. package/dist/q2-tecton-elements/p-e45856f7.entry.js +0 -2
  494. package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +0 -1
  495. package/dist/q2-tecton-elements/p-ef856249.js +0 -2
  496. package/dist/q2-tecton-elements/p-ef856249.js.map +0 -1
  497. package/dist/q2-tecton-elements/p-efbe6c17.entry.js +0 -2
  498. package/dist/q2-tecton-elements/p-ff6afb42.entry.js +0 -2
@@ -19,7 +19,7 @@ describe('q2-select', () => {
19
19
  return page.$eval('q2-select', el => {
20
20
  var _a;
21
21
  return (_a = el.shadowRoot
22
- .querySelector('q2-popover')) === null || _a === void 0 ? void 0 : _a.style.getPropertyValue('--comp-multi-select-header-height');
22
+ .querySelector('q2-popover')) === null || _a === void 0 ? void 0 : _a.style.getPropertyValue('--comp-popover-top-container-height');
23
23
  });
24
24
  };
25
25
  it('renders base state', async () => {
@@ -323,46 +323,118 @@ describe('q2-select', () => {
323
323
  // resize iframe fires on select close with click elsewhere
324
324
  expect(resizeIframe).toBeCalledTimes(6);
325
325
  });
326
- it('allows custom display content', async () => {
327
- page = await setup({
328
- html: `<q2-select value="option-1">
329
- <div slot="q2-select-display">Custom option 1 display text</div>
330
- <q2-option value="option-1" display="Option 1">Option 1</q2-option>
331
- <q2-option value="option-2" display="Option 2">Option 2</q2-option>
332
- <q2-option value="option-3" display="Option 3">Option 3</q2-option>
333
- </q2-select>
334
- `,
335
- });
336
- const input = await page.find('q2-select >>> q2-input');
337
- const slotContainer = await page.find('q2-select >>> .custom-display-content');
338
- const slotData = await page.$eval('q2-select', element => {
339
- const nodes = element.shadowRoot
340
- .querySelector('slot[name="q2-select-display"]')
341
- .assignedElements();
342
- return {
343
- childCount: nodes.length,
344
- slot: nodes[0].getAttribute('slot'),
345
- text: nodes[0].textContent,
346
- };
326
+ describe('Slot content', () => {
327
+ describe('renders custom display slot content', () => {
328
+ it('when q2-select-display slot provided', async () => {
329
+ page = await setup({
330
+ html: `<q2-select value="option-1">
331
+ <div slot="q2-select-display">Custom option 1 display text</div>
332
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
333
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
334
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
335
+ </q2-select>
336
+ `,
337
+ });
338
+ const input = await page.find('q2-select >>> q2-input');
339
+ const slotContainer = await page.find('q2-select >>> .custom-display-content');
340
+ const slotData = await page.$eval('q2-select', element => {
341
+ const nodes = element.shadowRoot
342
+ .querySelector('slot[name="q2-select-display"]')
343
+ .assignedElements();
344
+ return {
345
+ childCount: nodes.length,
346
+ slot: nodes[0].getAttribute('slot'),
347
+ text: nodes[0].textContent,
348
+ };
349
+ });
350
+ expect(slotData.childCount).toEqual(1);
351
+ expect(slotData.slot).toEqual('q2-select-display');
352
+ expect(slotData.text).toEqual('Custom option 1 display text');
353
+ expect(await input.getProperty('value')).toEqual('');
354
+ expect(slotContainer).not.toHaveAttribute('hidden');
355
+ popover = await page.find('q2-select >>> q2-popover');
356
+ expect(await popover.getProperty('open')).toEqual(false);
357
+ await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
358
+ expect(await popover.getProperty('open')).toEqual(true);
359
+ await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
360
+ expect(await popover.getProperty('open')).toEqual(false);
361
+ await page.$eval('q2-select', element => {
362
+ const customContent = element.querySelector('[slot="q2-select-display"]');
363
+ customContent && customContent.remove();
364
+ });
365
+ await page.waitForChanges();
366
+ expect(await input.getProperty('value')).toEqual('Option 1');
367
+ expect(slotContainer).toHaveAttribute('hidden');
368
+ });
347
369
  });
348
- expect(slotData.childCount).toEqual(1);
349
- expect(slotData.slot).toEqual('q2-select-display');
350
- expect(slotData.text).toEqual('Custom option 1 display text');
351
- expect(await input.getProperty('value')).toEqual('');
352
- expect(slotContainer).not.toHaveAttribute('hidden');
353
- popover = await page.find('q2-select >>> q2-popover');
354
- expect(await popover.getProperty('open')).toEqual(false);
355
- await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
356
- expect(await popover.getProperty('open')).toEqual(true);
357
- await dispatchEvent(page, ['q2-select', '.custom-display-content'], 'click');
358
- expect(await popover.getProperty('open')).toEqual(false);
359
- await page.$eval('q2-select', element => {
360
- const customContent = element.querySelector('[slot="q2-select-display"]');
361
- customContent && customContent.remove();
370
+ describe('renders popover slots', () => {
371
+ it('when popover-top slot provided', async () => {
372
+ page = await setup({
373
+ html: `<q2-select>
374
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
375
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
376
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
377
+ <div slot='popover-top'>Popover Slot Top</div>
378
+ </q2-select>
379
+ `,
380
+ });
381
+ const slotContainer = await page.find('q2-select >>> .popover-top-container');
382
+ const slotData = await page.$eval('q2-select', element => {
383
+ const nodes = element.shadowRoot
384
+ .querySelector('slot[name="popover-top"]')
385
+ .assignedElements();
386
+ return {
387
+ childCount: nodes.length,
388
+ slot: nodes[0].getAttribute('slot'),
389
+ text: nodes[0].textContent,
390
+ };
391
+ });
392
+ expect(slotContainer).not.toHaveAttribute('hidden');
393
+ expect(slotData.childCount).toBe(1);
394
+ expect(slotData.slot).toBe('popover-top');
395
+ expect(slotData.text).toBe('Popover Slot Top');
396
+ await page.$eval('q2-select', element => {
397
+ const customContent = element.querySelector('[slot="popover-top"]');
398
+ customContent && customContent.remove();
399
+ });
400
+ await page.waitForChanges();
401
+ expect(slotContainer).toHaveAttribute('hidden');
402
+ });
403
+ it('when popover-bottom slot provided', async () => {
404
+ page = await setup({
405
+ html: `<q2-select>
406
+ <q2-option value="option-1" display="Option 1">Option 1</q2-option>
407
+ <q2-option value="option-2" display="Option 2">Option 2</q2-option>
408
+ <q2-option value="option-3" display="Option 3">Option 3</q2-option>
409
+ <div slot='popover-bottom'>Popover Slot Bottom</div>
410
+ </q2-select>
411
+ `,
412
+ });
413
+ const topSlotContainer = await page.find('q2-select >>> .popover-top-container');
414
+ const bottomSlotContainer = await page.find('q2-select >>> .popover-bottom-container');
415
+ const slotData = await page.$eval('q2-select', element => {
416
+ const nodes = element.shadowRoot
417
+ .querySelector('slot[name="popover-bottom"]')
418
+ .assignedElements();
419
+ return {
420
+ childCount: nodes.length,
421
+ slot: nodes[0].getAttribute('slot'),
422
+ text: nodes[0].textContent,
423
+ };
424
+ });
425
+ expect(topSlotContainer).toHaveAttribute('hidden');
426
+ expect(bottomSlotContainer).not.toHaveAttribute('hidden');
427
+ expect(slotData.childCount).toBe(1);
428
+ expect(slotData.slot).toBe('popover-bottom');
429
+ expect(slotData.text).toBe('Popover Slot Bottom');
430
+ await page.$eval('q2-select', element => {
431
+ const customContent = element.querySelector('[slot="popover-bottom"]');
432
+ customContent && customContent.remove();
433
+ });
434
+ await page.waitForChanges();
435
+ expect(bottomSlotContainer).toHaveAttribute('hidden');
436
+ });
362
437
  });
363
- await page.waitForChanges();
364
- expect(await input.getProperty('value')).toEqual('Option 1');
365
- expect(slotContainer).toHaveAttribute('hidden');
366
438
  });
367
439
  it('applies correct wrapper class', async () => {
368
440
  page = await setup({
@@ -1045,7 +1117,7 @@ describe('q2-select', () => {
1045
1117
  html: `<q2-select></q2-select>`,
1046
1118
  });
1047
1119
  const optionList = await page.find('q2-select >>> q2-option-list');
1048
- expect(optionList).toEqualAttribute('aria-label', 'tecton.element.select.listLabel');
1120
+ expect(await optionList.getProperty('label')).toEqual('tecton.element.select.listLabel');
1049
1121
  });
1050
1122
  });
1051
1123
  describe('when provided', () => {
@@ -1054,7 +1126,7 @@ describe('q2-select', () => {
1054
1126
  html: `<q2-select list-label="Iron Man"></q2-select>`,
1055
1127
  });
1056
1128
  const optionList = await page.find('q2-select >>> q2-option-list');
1057
- expect(optionList).toEqualAttribute('aria-label', 'Iron Man');
1129
+ expect(await optionList.getProperty('label')).toEqual('Iron Man');
1058
1130
  });
1059
1131
  });
1060
1132
  });
@@ -1867,14 +1939,17 @@ describe('q2-select', () => {
1867
1939
  });
1868
1940
  innerInput = await page.find('q2-select >>> q2-input >>> input');
1869
1941
  await innerInput.press('n');
1942
+ await page.waitForChanges();
1870
1943
  const q2Select = await page.find('q2-select');
1871
1944
  const selectInput = await page.find('q2-select >>> q2-input');
1872
1945
  expect(await selectInput.getProperty('value')).toEqual('Nebraska');
1873
1946
  expect(await q2Select.getProperty('value')).toEqual('NE');
1874
1947
  await innerInput.press('n');
1948
+ await page.waitForChanges();
1875
1949
  expect(await selectInput.getProperty('value')).toEqual('Nevada');
1876
1950
  expect(await q2Select.getProperty('value')).toEqual('NV');
1877
1951
  await innerInput.press('n');
1952
+ await page.waitForChanges();
1878
1953
  expect(await selectInput.getProperty('value')).toEqual('New Hampshire');
1879
1954
  expect(await q2Select.getProperty('value')).toEqual('NH');
1880
1955
  });
@@ -2270,65 +2345,141 @@ describe('q2-select', () => {
2270
2345
  });
2271
2346
  });
2272
2347
  });
2273
- describe('Updating option list dynamically', () => {
2274
- it('changing option list dynamically should be reflected to selected option', async () => {
2275
- page = await setup({
2276
- html: `
2277
- <q2-select label="States" value="AK">
2278
- <q2-option value="AL" display="Alabama">Alabama</q2-option>
2279
- <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2280
- <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2281
- <q2-option value="AK" display="Alaska" selected>Alaska</q2-option>
2282
- </q2-select>
2283
- `,
2348
+ describe('Updating option list', () => {
2349
+ describe('when multiple is false', () => {
2350
+ it('does not modify the value when the selected option is removed', async () => {
2351
+ page = await setup({
2352
+ html: `
2353
+ <q2-select label="States" value="AK">
2354
+ <q2-option value="AL" display="Alabama">Alabama</q2-option>
2355
+ <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2356
+ <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2357
+ <q2-option value="AK" display="Alaska" selected>Alaska</q2-option>
2358
+ </q2-select>
2359
+ `,
2360
+ });
2361
+ select = await page.find('q2-select');
2362
+ input = await page.find('q2-select >>> q2-input');
2363
+ innerInput = await page.find('q2-select >>> q2-input >>> input');
2364
+ const alaskaSelector = 'q2-option[value="AK"]';
2365
+ let option = await page.find(alaskaSelector);
2366
+ expect(option).toHaveAttribute('selected');
2367
+ expect(await select.getProperty('value')).toEqual('AK');
2368
+ expect(await input.getProperty('value')).toEqual('Alaska');
2369
+ expect(await innerInput.getProperty('value')).toEqual('Alaska');
2370
+ await page.$eval(alaskaSelector, element => element.remove());
2371
+ await page.waitForChanges();
2372
+ option = await page.find(alaskaSelector);
2373
+ expect(option).toBeNull();
2374
+ expect(await select.getProperty('value')).toEqual('AK');
2375
+ expect(await input.getProperty('value')).toEqual('Alaska');
2376
+ expect(await innerInput.getProperty('value')).toEqual('Alaska');
2284
2377
  });
2285
- select = await page.find('q2-select');
2286
- input = await page.find('q2-select >>> q2-input');
2287
- innerInput = await page.find('q2-select >>> q2-input >>> input');
2288
- const option = await page.find('q2-option[value="AK"]');
2289
- expect(option).toHaveAttribute('selected');
2290
- expect(await select.getProperty('value')).toEqual('AK');
2291
- expect(await input.getProperty('value')).toEqual('Alaska');
2292
- expect(await innerInput.getProperty('value')).toEqual('Alaska');
2293
- // remove Alaska
2294
- await page.$eval('q2-select', element => {
2295
- element.querySelector('q2-option[value="AK"]').remove();
2378
+ it('marks a newly added option as selected if it matches the value', async () => {
2379
+ page = await setup({
2380
+ html: `
2381
+ <q2-select label="States" value="CA">
2382
+ <q2-option value="AL" display="Alabama">Alabama</q2-option>
2383
+ <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2384
+ <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2385
+ <q2-option value="AK" display="Alaska" selected>Alaska</q2-option>
2386
+ </q2-select>
2387
+ `,
2388
+ });
2389
+ select = await page.find('q2-select');
2390
+ input = await page.find('q2-select >>> q2-input');
2391
+ innerInput = await page.find('q2-select >>> q2-input >>> input');
2392
+ await page.waitForChanges();
2393
+ expect(await select.getProperty('value')).toEqual('CA');
2394
+ expect(await input.getProperty('value')).toEqual('CA');
2395
+ expect(await innerInput.getProperty('value')).toEqual('CA');
2396
+ await page.evaluate(() => {
2397
+ const option = document.createElement('q2-option');
2398
+ option.value = 'CA';
2399
+ option.display = 'California';
2400
+ option.textContent = 'California';
2401
+ return document.querySelector('q2-select').appendChild(option);
2402
+ });
2403
+ await page.waitForChanges();
2404
+ const californiaSelector = 'q2-option[value="CA"]';
2405
+ const option = await page.find(californiaSelector);
2406
+ expect(option).toHaveAttribute('selected');
2407
+ expect(await select.getProperty('value')).toEqual('CA');
2408
+ expect(await input.getProperty('value')).toEqual('CA');
2409
+ expect(await innerInput.getProperty('value')).toEqual('CA');
2296
2410
  });
2297
- await page.waitForChanges();
2298
- expect(await select.getProperty('value')).toBeFalsy();
2299
- expect(await input.getProperty('value')).toBeFalsy();
2300
- expect(await innerInput.getProperty('value')).toBeFalsy();
2301
2411
  });
2302
- it('changing option list dynamically should be reflected to selected options when multiple', async () => {
2303
- page = await setup({
2304
- html: `
2305
- <q2-select label="States" multiple>
2306
- <q2-option value="AL" display="Alabama">Alabama</q2-option>
2307
- <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2308
- <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2309
- <q2-option value="AK" display="Alaska">Alaska</q2-option>
2310
- </q2-select>
2311
- `,
2312
- });
2313
- select = await page.find('q2-select');
2314
- options = await page.findAll('q2-option');
2315
- // total 4 options before removal
2316
- expect(options.length).toBe(4);
2317
- // select 2 options (Alabama and Arizona)
2318
- await dispatchEvent(page, 'q2-option:nth-child(1)', 'click', { bubbles: true });
2319
- await dispatchEvent(page, 'q2-option:nth-child(2)', 'click', { bubbles: true });
2320
- await page.waitForChanges();
2321
- expect(await select.getProperty('selectedOptions')).toEqual(['AL', 'AZ']);
2322
- // remove a selected option (Alabama)
2323
- await page.$eval('q2-select', element => {
2324
- element.querySelector('q2-option[value="AL"]').remove();
2412
+ describe('when multiple is true', () => {
2413
+ it('does not modify selectedOptions when a selected option is removed', async () => {
2414
+ page = await setup({
2415
+ html: `
2416
+ <q2-select label="States" multiple>
2417
+ <q2-option value="AL" display="Alabama">Alabama</q2-option>
2418
+ <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2419
+ <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2420
+ <q2-option value="AK" display="Alaska">Alaska</q2-option>
2421
+ </q2-select>
2422
+ `,
2423
+ });
2424
+ select = await page.find('q2-select');
2425
+ input = await page.find('q2-select >>> q2-input');
2426
+ options = await page.findAll('q2-option');
2427
+ await select.setProperty('selectedOptions', ['AL', 'AZ']);
2428
+ await page.waitForChanges();
2429
+ let selectedOptions = await page.findAll('q2-option[selected]');
2430
+ expect(selectedOptions.length).toBe(2);
2431
+ expect(options.length).toBe(4);
2432
+ expect(await input.getProperty('value')).toEqual('Alabama');
2433
+ const alabamaSelector = 'q2-option[value="AL"]';
2434
+ await page.$eval(alabamaSelector, element => element.remove());
2435
+ await page.waitForChanges();
2436
+ const alabamaOption = await page.find(alabamaSelector);
2437
+ expect(alabamaOption).toBeNull();
2438
+ expect(await select.getProperty('selectedOptions')).toEqual(['AL', 'AZ']);
2439
+ expect(await input.getProperty('value')).toEqual('Alabama');
2440
+ options = await page.findAll('q2-option');
2441
+ expect(options.length).toBe(3);
2442
+ selectedOptions = await page.findAll('q2-option[selected]');
2443
+ expect(selectedOptions.length).toBe(1);
2444
+ });
2445
+ it('marks a newly added option as selected if it matches a selectedOptions value', async () => {
2446
+ page = await setup({
2447
+ html: `
2448
+ <q2-select label="States" multiple>
2449
+ <q2-option value="AL" display="Alabama">Alabama</q2-option>
2450
+ <q2-option value="AZ" display="Arizona">Arizona</q2-option>
2451
+ <q2-option value="AR" display="Arkansas">Arkansas</q2-option>
2452
+ <q2-option value="AK" display="Alaska" selected>Alaska</q2-option>
2453
+ </q2-select>
2454
+ `,
2455
+ });
2456
+ select = await page.find('q2-select');
2457
+ input = await page.find('q2-select >>> q2-input');
2458
+ options = await page.findAll('q2-option');
2459
+ await select.setProperty('selectedOptions', ['AL', 'CA']);
2460
+ await page.waitForChanges();
2461
+ let selectedOptions = await page.findAll('q2-option[selected]');
2462
+ expect(selectedOptions.length).toBe(1);
2463
+ expect(options.length).toBe(4);
2464
+ expect(await input.getProperty('value')).toEqual('Alabama');
2465
+ await page.evaluate(() => {
2466
+ const option = document.createElement('q2-option');
2467
+ option.value = 'CA';
2468
+ option.display = 'California';
2469
+ option.textContent = 'California';
2470
+ return document.querySelector('q2-select').appendChild(option);
2471
+ });
2472
+ await page.waitForChanges();
2473
+ const californiaSelector = 'q2-option[value="CA"]';
2474
+ const option = await page.find(californiaSelector);
2475
+ expect(option).toHaveAttribute('selected');
2476
+ expect(await select.getProperty('selectedOptions')).toEqual(['AL', 'CA']);
2477
+ expect(await input.getProperty('value')).toEqual('Alabama');
2478
+ options = await page.findAll('q2-option');
2479
+ expect(options.length).toBe(5);
2480
+ selectedOptions = await page.findAll('q2-option[selected]');
2481
+ expect(selectedOptions.length).toBe(2);
2325
2482
  });
2326
- await page.waitForChanges();
2327
- // Arizona is the only option as selected
2328
- expect(await select.getProperty('selectedOptions')).toEqual(['AZ']);
2329
- // 3 options left after removal
2330
- options = await page.findAll('q2-option');
2331
- expect(options.length).toBe(3);
2332
2483
  });
2333
2484
  });
2334
2485
  describe('Accessibility', () => {
@@ -2348,7 +2499,7 @@ describe('q2-select', () => {
2348
2499
  popover = await page.find('q2-select >>> q2-popover');
2349
2500
  expect(await popover.getProperty('open')).toEqual(true);
2350
2501
  const snapshot = await page.accessibility.snapshot();
2351
- const optionList = snapshot.children[2].children[0];
2502
+ const optionList = snapshot.children[2];
2352
2503
  expect(optionList.role).toEqual('listbox');
2353
2504
  expect(optionList.children).toHaveLength(3);
2354
2505
  optionList.children.forEach(child => {