q2-tecton-elements 1.54.6 → 1.54.7

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 (364) hide show
  1. package/dist/bundle-report.json +100 -45
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-action-group.cjs.entry.js +1 -1
  4. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-badge_7.cjs.entry.js +3 -3
  7. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  8. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-dropdown.cjs.entry.js +24 -21
  14. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-item_3.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-option-list_2.cjs.entry.js +58 -59
  24. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  26. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-select.cjs.entry.js +85 -11
  31. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  36. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  37. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  38. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  39. package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
  40. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  41. package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
  42. package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -1
  43. package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -1
  44. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  45. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  46. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
  47. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  48. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  49. package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
  50. package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
  51. package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
  52. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  53. package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
  54. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  55. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  56. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  57. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  58. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  59. package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
  60. package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
  61. package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
  62. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
  63. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  64. package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
  65. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  66. package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
  67. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  68. package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
  69. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  70. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  71. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
  72. package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
  73. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  74. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  75. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  76. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  77. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  78. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
  79. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  80. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  81. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  82. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  83. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
  84. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  85. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
  86. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  87. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  88. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  89. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  90. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  91. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  92. package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
  93. package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
  94. package/dist/collection/components/q2-dropdown/q2-dropdown.js +25 -21
  95. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  96. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +34 -32
  97. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  98. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  99. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  100. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  101. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
  102. package/dist/collection/components/q2-example/q2-example.js +1 -1
  103. package/dist/collection/components/q2-example/q2-example.js.map +1 -1
  104. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
  105. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
  106. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  107. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  108. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  109. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  110. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
  111. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
  112. package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
  113. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  114. package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
  115. package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
  116. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
  117. package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
  118. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
  119. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  120. package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
  121. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  122. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
  123. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  124. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
  125. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  126. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  127. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  128. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
  129. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  130. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
  131. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  132. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
  133. package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
  134. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
  135. package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
  136. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
  137. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  138. package/dist/collection/components/q2-input/q2-input.js +1 -1
  139. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  140. package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
  141. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  142. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
  143. package/dist/collection/components/q2-item/q2-item.js +1 -1
  144. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  145. package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
  146. package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
  147. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  148. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  149. package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
  150. package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
  151. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  152. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  153. package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
  154. package/dist/collection/components/q2-list/q2-list.js +1 -1
  155. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  156. package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
  157. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  158. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
  159. package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
  160. package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
  161. package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
  162. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  163. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  164. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  165. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
  166. package/dist/collection/components/q2-message/q2-message.js +1 -1
  167. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  168. package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
  169. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  170. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  171. package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
  172. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  173. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  174. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
  175. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  176. package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
  177. package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
  178. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  179. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  180. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
  181. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  182. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  183. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  184. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  185. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  186. package/dist/collection/components/q2-popover/q2-popover.js +59 -59
  187. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  188. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
  189. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  190. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +743 -435
  191. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  192. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  193. package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
  194. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  195. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
  196. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  197. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  198. package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
  199. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  200. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
  201. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
  202. package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
  203. package/dist/collection/components/q2-section/q2-section.js +2 -2
  204. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  205. package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
  206. package/dist/collection/components/q2-select/q2-select.js +107 -14
  207. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  208. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  209. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +412 -0
  210. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
  211. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  212. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  213. package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
  214. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  215. package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
  216. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  217. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  218. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  219. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  220. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  221. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
  222. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
  223. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  224. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
  225. package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
  226. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  227. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  228. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +5 -0
  229. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  230. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  231. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  232. package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
  233. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  234. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
  235. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
  236. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  237. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
  238. package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
  239. package/dist/collection/index.js.map +1 -1
  240. package/dist/collection/utils/action-sheet.js.map +1 -1
  241. package/dist/collection/utils/charting.js.map +1 -1
  242. package/dist/collection/utils/helpers.js.map +1 -1
  243. package/dist/collection/utils/index.js.map +1 -1
  244. package/dist/collection/utils/mirror-emit.js.map +1 -1
  245. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  246. package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
  247. package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
  248. package/dist/collection/utils/test/index.spec.js.map +1 -1
  249. package/dist/components/q2-action-group.js +1 -1
  250. package/dist/components/q2-action-sheet.js +1 -1
  251. package/dist/components/q2-avatar2.js +1 -1
  252. package/dist/components/q2-carousel-pane.js +2 -2
  253. package/dist/components/q2-chart-area.js +1 -1
  254. package/dist/components/q2-chart-bar.js +1 -1
  255. package/dist/components/q2-chart-donut.js +1 -1
  256. package/dist/components/q2-currency.js +1 -1
  257. package/dist/components/q2-detail.js +1 -1
  258. package/dist/components/q2-dropdown.js +24 -21
  259. package/dist/components/q2-dropdown.js.map +1 -1
  260. package/dist/components/q2-example.js +1 -1
  261. package/dist/components/q2-formatted-text.js +1 -1
  262. package/dist/components/q2-input2.js +1 -1
  263. package/dist/components/q2-item2.js +1 -1
  264. package/dist/components/q2-legend2.js +1 -1
  265. package/dist/components/q2-list2.js +1 -1
  266. package/dist/components/q2-loc.js +1 -1
  267. package/dist/components/q2-message2.js +1 -1
  268. package/dist/components/q2-month-picker.js +2 -2
  269. package/dist/components/q2-optgroup2.js +1 -1
  270. package/dist/components/q2-pagination.js +3 -3
  271. package/dist/components/q2-pill.js +1 -1
  272. package/dist/components/q2-popover2.js +58 -59
  273. package/dist/components/q2-popover2.js.map +1 -1
  274. package/dist/components/q2-relative-time.js +1 -1
  275. package/dist/components/q2-resize-observer2.js +1 -1
  276. package/dist/components/q2-section.js +2 -2
  277. package/dist/components/q2-select2.js +89 -15
  278. package/dist/components/q2-select2.js.map +1 -1
  279. package/dist/components/q2-stepper-vertical.js +1 -1
  280. package/dist/components/q2-stepper.js +1 -1
  281. package/dist/components/q2-tab-container.js +1 -1
  282. package/dist/components/q2-tab-pane.js +1 -1
  283. package/dist/components/q2-tag.js +1 -1
  284. package/dist/components/q2-textarea.js +1 -1
  285. package/dist/components/tecton-tab-pane.js +2 -2
  286. package/dist/esm/loader.js +1 -1
  287. package/dist/esm/q2-action-group.entry.js +1 -1
  288. package/dist/esm/q2-action-sheet.entry.js +1 -1
  289. package/dist/esm/q2-avatar.entry.js +1 -1
  290. package/dist/esm/q2-badge_7.entry.js +3 -3
  291. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  292. package/dist/esm/q2-chart-area.entry.js +1 -1
  293. package/dist/esm/q2-chart-bar.entry.js +1 -1
  294. package/dist/esm/q2-chart-donut.entry.js +1 -1
  295. package/dist/esm/q2-currency.entry.js +1 -1
  296. package/dist/esm/q2-detail.entry.js +1 -1
  297. package/dist/esm/q2-dropdown.entry.js +24 -21
  298. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  299. package/dist/esm/q2-example.entry.js +1 -1
  300. package/dist/esm/q2-formatted-text.entry.js +1 -1
  301. package/dist/esm/q2-item_3.entry.js +2 -2
  302. package/dist/esm/q2-legend.entry.js +1 -1
  303. package/dist/esm/q2-loc.entry.js +1 -1
  304. package/dist/esm/q2-message.entry.js +1 -1
  305. package/dist/esm/q2-month-picker.entry.js +2 -2
  306. package/dist/esm/q2-optgroup.entry.js +1 -1
  307. package/dist/esm/q2-option-list_2.entry.js +58 -59
  308. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  309. package/dist/esm/q2-pagination.entry.js +3 -3
  310. package/dist/esm/q2-pill.entry.js +1 -1
  311. package/dist/esm/q2-relative-time.entry.js +1 -1
  312. package/dist/esm/q2-resize-observer.entry.js +1 -1
  313. package/dist/esm/q2-section.entry.js +2 -2
  314. package/dist/esm/q2-select.entry.js +87 -13
  315. package/dist/esm/q2-select.entry.js.map +1 -1
  316. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  317. package/dist/esm/q2-stepper.entry.js +1 -1
  318. package/dist/esm/q2-tag.entry.js +1 -1
  319. package/dist/esm/q2-tecton-elements.js +1 -1
  320. package/dist/esm/q2-textarea.entry.js +1 -1
  321. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  322. package/dist/jest.setup.js +22 -0
  323. package/dist/jest.setup.js.map +1 -0
  324. package/dist/q2-tecton-elements/q2-action-group.entry.js +3 -3
  325. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +33 -33
  326. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  327. package/dist/q2-tecton-elements/q2-badge_7.entry.js +16 -16
  328. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +20 -20
  329. package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
  330. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
  331. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +100 -100
  332. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  333. package/dist/q2-tecton-elements/q2-detail.entry.js +38 -38
  334. package/dist/q2-tecton-elements/q2-dropdown.entry.js +26 -22
  335. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  336. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  337. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  338. package/dist/q2-tecton-elements/q2-item_3.entry.js +18 -18
  339. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  340. package/dist/q2-tecton-elements/q2-loc.entry.js +5 -5
  341. package/dist/q2-tecton-elements/q2-message.entry.js +20 -20
  342. package/dist/q2-tecton-elements/q2-month-picker.entry.js +13 -13
  343. package/dist/q2-tecton-elements/q2-optgroup.entry.js +7 -7
  344. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +128 -123
  345. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  346. package/dist/q2-tecton-elements/q2-pagination.entry.js +18 -18
  347. package/dist/q2-tecton-elements/q2-pill.entry.js +13 -13
  348. package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
  349. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  350. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  351. package/dist/q2-tecton-elements/q2-select.entry.js +151 -89
  352. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  353. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +28 -28
  354. package/dist/q2-tecton-elements/q2-stepper.entry.js +28 -28
  355. package/dist/q2-tecton-elements/q2-tag.entry.js +5 -5
  356. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  357. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  358. package/dist/q2-tecton-elements/q2-textarea.entry.js +2 -2
  359. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  360. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
  361. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +6 -4
  362. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
  363. package/dist/types/components/q2-select/q2-select.d.ts +19 -0
  364. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"q2-option-list.spec.js","sourceRoot":"","sources":["../../../../src/components/q2-option-list/test/q2-option-list.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2OptionList } from '@/components/q2-option-list/q2-option-list';\nimport { Q2Option } from '@/components/q2-option/q2-option';\nimport { Q2DropdownItem } from '@/components/q2-dropdown-item/q2-dropdown-item';\n\ndescribe('q2-option-list', () => {\n let specPage: SpecPage;\n\n describe('Props', () => {});\n\n describe('Events', () => {});\n\n describe('Listeners', () => {});\n\n describe('Methods', () => {});\n\n describe('Watchers', () => {\n describe('selectedOptionsUpdated', () => {\n it('executes updateSingleOptionAttrs when multple is false', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.updateMultipleOptionAttrs = jest.fn();\n specPage.rootInstance.updateSingleOptionAttrs = jest.fn();\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n expect(await specPage.rootInstance.updateMultipleOptionAttrs).not.toHaveBeenCalled();\n expect(await specPage.rootInstance.updateSingleOptionAttrs).toHaveBeenCalled();\n });\n\n it('executes updateMultipleOptionAttrs when multple is true', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.updateMultipleOptionAttrs = jest.fn();\n specPage.rootInstance.updateSingleOptionAttrs = jest.fn();\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n expect(await specPage.rootInstance.updateMultipleOptionAttrs).toHaveBeenCalled();\n expect(await specPage.rootInstance.updateSingleOptionAttrs).not.toHaveBeenCalled();\n });\n });\n\n describe('showSelected', () => {\n it('re-sets showSelected to false if there are no selected options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.selectedOptions = [];\n specPage.rootInstance.showSelected = true;\n await specPage.waitForChanges();\n expect(specPage.rootInstance.showSelected).toBe(false);\n });\n\n it('sets _multiSelectHidden on all unselected options when selectedOptions are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option._multiSelectHidden)).toBe(true);\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n specPage.rootInstance.showSelected = true;\n await specPage.waitForChanges();\n\n expect(options[0]._multiSelectHidden).toBe(true);\n expect(options[1]._multiSelectHidden).toBe(false);\n expect(options[2]._multiSelectHidden).toBe(true);\n expect(specPage.rootInstance.showSelected).toBe(true);\n });\n });\n });\n\n describe('Local methods', () => {\n describe('allContents', () => {\n it('return empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(await specPage.rootInstance.allContents).toEqual([]);\n });\n\n it('return options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(await specPage.rootInstance.allContents).toEqual(options);\n });\n\n it('return option groups', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"grouped-option-1\">Grouped Option 1</q2-option>\n <q2-option value=\"grouped-option-2\">Grouped Option 2</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n\n const optGroups = specPage.root?.querySelectorAll('q2-optgroup');\n expect(await specPage.rootInstance.allContents).toEqual(optGroups);\n });\n\n it('return dropdown items', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\">Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item');\n expect(await specPage.rootInstance.allContents).toEqual(dropdownItems);\n });\n });\n\n describe('allOptions', () => {\n it('returns an empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(specPage.rootInstance.allOptions).toEqual([]);\n });\n\n it('returns options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(3);\n expect(allOptions).toEqual(options);\n });\n\n it('returns options nested in groups', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"grouped-option-1\">Grouped Option 1</q2-option>\n <q2-option value=\"grouped-option-2\">Grouped Option 2</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(5);\n expect(allOptions).toEqual(options);\n });\n\n it('returns dropdown items', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\">Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(3);\n expect(allOptions).toEqual(dropdownItems);\n });\n\n it('does not return options that have the separator attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" separator>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([separator])');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(2);\n expect(allOptions).toEqual(options);\n });\n\n it('does not return dropdown items that ahve the separator attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\" separator>Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item:not([separator])');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(2);\n expect(allOptions).toEqual(dropdownItems);\n });\n });\n\n describe('allVisibleOptions', () => {\n it('returns an empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(specPage.rootInstance.allVisibleOptions).toEqual([]);\n });\n\n it('does not return options with the hidden attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" hidden>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([hidden])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the _multiSelectHidden attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" _multiSelectHidden>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([_multiSelectHidden])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the disabled attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" disabled>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([disabled])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the disabled-group attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" disabled-group>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([disabled-group])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n });\n\n describe('checkOptions', () => {\n it('sets the option roles to option when type is listbox', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list type=\"listbox\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => option.role === 'option')).toBe(true);\n });\n\n it('sets the option roles to menuitem when type is menu', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list type=\"menu\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => option.role === 'menuitem')).toBe(true);\n });\n });\n\n describe('clickHandler', () => {\n it('calls selectOption with provided option and emits a popoverState event when multiple is false', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const option = specPage.root?.querySelector('q2-option[value=2]');\n const selectSpy = jest.spyOn(specPage.rootInstance, 'selectOption');\n const popoverStateSpy = jest.spyOn(specPage.rootInstance.popoverState, 'emit');\n specPage.rootInstance.clickHandler({ target: option });\n await specPage.waitForChanges();\n expect(selectSpy).toHaveBeenCalledWith(option);\n expect(popoverStateSpy).toHaveBeenCalledWith({ open: false, action: 'select' });\n });\n\n it('calls selectOption with provided option and does not emit a popoverState event when multiple is true', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const option = specPage.root?.querySelector('q2-option[value=2]');\n const selectSpy = jest.spyOn(specPage.rootInstance, 'selectOption');\n const popoverStateSpy = jest.spyOn(specPage.rootInstance.popoverState, 'emit');\n specPage.rootInstance.clickHandler({ target: option });\n await specPage.waitForChanges();\n expect(selectSpy).toHaveBeenCalledWith(option);\n expect(popoverStateSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('getDefaultActiveIndex', () => {\n describe('when populated with options', () => {\n it('returns first option when no options are selected', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(0);\n });\n\n it('returns second option when the first option is hidden', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\" hidden>Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(1);\n });\n\n it('returns third option when is it marked selected', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const lastOption = specPage.root?.querySelectorAll('q2-option')[2];\n lastOption.selected = true;\n await specPage.waitForChanges();\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(2);\n });\n });\n });\n\n describe('updateMultipleOptionAttrs', () => {\n it('updates the attributes of multiple options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option.selected)).toBe(true);\n\n specPage.rootInstance.selectedOptions = [{ value: '1' }, { value: '3' }];\n await specPage.waitForChanges();\n\n expect(options[0].selected).toBe(true);\n expect(options[1].selected).toBe(false);\n expect(options[2].selected).toBe(true);\n });\n });\n\n describe('updateSingleOptionAttrs', () => {\n it('updates the attributes of a single option', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option.selected)).toBe(true);\n\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n\n expect(options[0].selected).toBe(false);\n expect(options[1].selected).toBe(true);\n expect(options[2].selected).toBe(false);\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-option-list.spec.js","sourceRoot":"","sources":["../../../../../src/components/q2-option-list/test/q2-option-list.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2OptionList } from '@/components/q2-option-list/q2-option-list';\nimport { Q2Option } from '@/components/q2-option/q2-option';\nimport { Q2DropdownItem } from '@/components/q2-dropdown-item/q2-dropdown-item';\n\ndescribe('q2-option-list', () => {\n let specPage: SpecPage;\n\n describe('Props', () => {});\n\n describe('Events', () => {});\n\n describe('Listeners', () => {});\n\n describe('Methods', () => {});\n\n describe('Watchers', () => {\n describe('selectedOptionsUpdated', () => {\n it('executes updateSingleOptionAttrs when multple is false', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.updateMultipleOptionAttrs = jest.fn();\n specPage.rootInstance.updateSingleOptionAttrs = jest.fn();\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n expect(await specPage.rootInstance.updateMultipleOptionAttrs).not.toHaveBeenCalled();\n expect(await specPage.rootInstance.updateSingleOptionAttrs).toHaveBeenCalled();\n });\n\n it('executes updateMultipleOptionAttrs when multple is true', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.updateMultipleOptionAttrs = jest.fn();\n specPage.rootInstance.updateSingleOptionAttrs = jest.fn();\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n expect(await specPage.rootInstance.updateMultipleOptionAttrs).toHaveBeenCalled();\n expect(await specPage.rootInstance.updateSingleOptionAttrs).not.toHaveBeenCalled();\n });\n });\n\n describe('showSelected', () => {\n it('re-sets showSelected to false if there are no selected options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n specPage.rootInstance.selectedOptions = [];\n specPage.rootInstance.showSelected = true;\n await specPage.waitForChanges();\n expect(specPage.rootInstance.showSelected).toBe(false);\n });\n\n it('sets _multiSelectHidden on all unselected options when selectedOptions are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option._multiSelectHidden)).toBe(true);\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n specPage.rootInstance.showSelected = true;\n await specPage.waitForChanges();\n\n expect(options[0]._multiSelectHidden).toBe(true);\n expect(options[1]._multiSelectHidden).toBe(false);\n expect(options[2]._multiSelectHidden).toBe(true);\n expect(specPage.rootInstance.showSelected).toBe(true);\n });\n });\n });\n\n describe('Local methods', () => {\n describe('allContents', () => {\n it('return empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(await specPage.rootInstance.allContents).toEqual([]);\n });\n\n it('return options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(await specPage.rootInstance.allContents).toEqual(options);\n });\n\n it('return option groups', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"grouped-option-1\">Grouped Option 1</q2-option>\n <q2-option value=\"grouped-option-2\">Grouped Option 2</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n\n const optGroups = specPage.root?.querySelectorAll('q2-optgroup');\n expect(await specPage.rootInstance.allContents).toEqual(optGroups);\n });\n\n it('return dropdown items', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\">Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item');\n expect(await specPage.rootInstance.allContents).toEqual(dropdownItems);\n });\n });\n\n describe('allOptions', () => {\n it('returns an empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(specPage.rootInstance.allOptions).toEqual([]);\n });\n\n it('returns options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(3);\n expect(allOptions).toEqual(options);\n });\n\n it('returns options nested in groups', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\">Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"grouped-option-1\">Grouped Option 1</q2-option>\n <q2-option value=\"grouped-option-2\">Grouped Option 2</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(5);\n expect(allOptions).toEqual(options);\n });\n\n it('returns dropdown items', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\">Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(3);\n expect(allOptions).toEqual(dropdownItems);\n });\n\n it('does not return options that have the separator attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" separator>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([separator])');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(2);\n expect(allOptions).toEqual(options);\n });\n\n it('does not return dropdown items that ahve the separator attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-dropdown-item value=\"dropdown-item-1\">Dropdown Item 1</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-2\" separator>Dropdown Item 2</q2-dropdown-item>\n <q2-dropdown-item value=\"dropdown-item-3\">Dropdown Item 3</q2-dropdown-item>\n </q2-option-list>\n `,\n });\n\n const dropdownItems = specPage.root?.querySelectorAll('q2-dropdown-item:not([separator])');\n const allOptions = specPage.rootInstance.allOptions;\n expect(allOptions).toHaveLength(2);\n expect(allOptions).toEqual(dropdownItems);\n });\n });\n\n describe('allVisibleOptions', () => {\n it('returns an empty array when no options are present', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `<q2-option-list></q2-option-list>`,\n });\n\n expect(specPage.rootInstance.allVisibleOptions).toEqual([]);\n });\n\n it('does not return options with the hidden attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" hidden>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([hidden])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the _multiSelectHidden attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" _multiSelectHidden>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([_multiSelectHidden])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the disabled attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" disabled>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([disabled])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n\n it('does not return options with the disabled-group attribute', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option, Q2DropdownItem],\n html: `\n <q2-option-list>\n <q2-option value=\"option-1\">Option 1</q2-option>\n <q2-option value=\"option-2\" disabled-group>Option 2</q2-option>\n <q2-option value=\"option-3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option:not([disabled-group])');\n const allVisibleOptions = specPage.rootInstance.allVisibleOptions;\n expect(allVisibleOptions).toHaveLength(2);\n expect(allVisibleOptions).toEqual(options);\n });\n });\n\n describe('checkOptions', () => {\n it('sets the option roles to option when type is listbox', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list type=\"listbox\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => option.role === 'option')).toBe(true);\n });\n\n it('sets the option roles to menuitem when type is menu', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list type=\"menu\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => option.role === 'menuitem')).toBe(true);\n });\n });\n\n describe('clickHandler', () => {\n it('calls selectOption with provided option and emits a popoverState event when multiple is false', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const option = specPage.root?.querySelector('q2-option[value=2]');\n const selectSpy = jest.spyOn(specPage.rootInstance, 'selectOption');\n const popoverStateSpy = jest.spyOn(specPage.rootInstance.popoverState, 'emit');\n specPage.rootInstance.clickHandler({ target: option });\n await specPage.waitForChanges();\n expect(selectSpy).toHaveBeenCalledWith(option);\n expect(popoverStateSpy).toHaveBeenCalledWith({ open: false, action: 'select' });\n });\n\n it('calls selectOption with provided option and does not emit a popoverState event when multiple is true', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const option = specPage.root?.querySelector('q2-option[value=2]');\n const selectSpy = jest.spyOn(specPage.rootInstance, 'selectOption');\n const popoverStateSpy = jest.spyOn(specPage.rootInstance.popoverState, 'emit');\n specPage.rootInstance.clickHandler({ target: option });\n await specPage.waitForChanges();\n expect(selectSpy).toHaveBeenCalledWith(option);\n expect(popoverStateSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('getDefaultActiveIndex', () => {\n describe('when populated with options', () => {\n it('returns first option when no options are selected', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(0);\n });\n\n it('returns second option when the first option is hidden', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\" hidden>Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(1);\n });\n\n it('returns third option when is it marked selected', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const lastOption = specPage.root?.querySelectorAll('q2-option')[2];\n lastOption.selected = true;\n await specPage.waitForChanges();\n\n expect(await specPage.rootInstance.getDefaultActiveIndex()).toBe(2);\n });\n });\n });\n\n describe('updateMultipleOptionAttrs', () => {\n it('updates the attributes of multiple options', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option.selected)).toBe(true);\n\n specPage.rootInstance.selectedOptions = [{ value: '1' }, { value: '3' }];\n await specPage.waitForChanges();\n\n expect(options[0].selected).toBe(true);\n expect(options[1].selected).toBe(false);\n expect(options[2].selected).toBe(true);\n });\n });\n\n describe('updateSingleOptionAttrs', () => {\n it('updates the attributes of a single option', async () => {\n specPage = await newSpecPage({\n components: [Q2OptionList, Q2Option],\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n const options = specPage.root?.querySelectorAll('q2-option');\n expect(Array.from(options).every(option => !option.selected)).toBe(true);\n\n specPage.rootInstance.selectedOptions = [{ value: '2' }];\n await specPage.waitForChanges();\n\n expect(options[0].selected).toBe(false);\n expect(options[1].selected).toBe(true);\n expect(options[2].selected).toBe(false);\n });\n });\n });\n});\n"]}
@@ -256,7 +256,7 @@ export class Q2Pagination {
256
256
  total,
257
257
  });
258
258
  }
259
- return (h("nav", { key: 'd91e1f0ba5a239c95fd16bda94ef1e614e3c49be', class: "container", ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: 'aeb52cf10ec37a0ed9459660b9dad1df86e06ca1', class: "description", "test-id": "description" }, pagesOnly
259
+ return (h("nav", { key: '27567a97bf5061dbbaa09efac7432979b9c135dd', class: "container", ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: 'ca10a057e8dfab9792a7729fb467b3b11bf207f8', class: "description", "test-id": "description" }, pagesOnly
260
260
  ? loc('tecton.element.pagination.pages', {
261
261
  current: page,
262
262
  total: totalPages,
@@ -265,10 +265,10 @@ export class Q2Pagination {
265
265
  range: currentRange,
266
266
  recordType: recordType.toLowerCase(),
267
267
  total: total.toLocaleString(),
268
- })), h("div", { key: '24c8e8166dc90238960ae3afad0ff36eac4af66c', class: "btn-group" }, h("q2-btn", { key: '7be7b963cba6c9dd5b45bced73085ff495fd4130', ref: el => (this.firstPageBtn = el), label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: '7d58766f3d7307bcfb193d981c95895b58c2bbfb', type: "chevron-double-left" })), h("q2-btn", { key: 'b016eda2499b36b7fd82b84d39357dfa8c9f8719', ref: el => (this.prevPageBtn = el), label: prevButtonLabel, disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: 'd1bed177625bf672d109fbc8a127961818dd3364', type: "chevron-left" }))), h("div", { key: '62e7fb1e7379d54ace49f4f09f591cae2884479d', class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { key: 'ff7ee6d921a0fe08ab4705714af8a1106eb1e174', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: 'e59bb32e696dfe162099f3efe19f95e7c76cad7b', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: 'ecc4215e2beefd4e099f57a421d0a732cb4e14dc', ref: el => (this.inputField = el), type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => {
268
+ })), h("div", { key: '22e35159ec80fe3cae5ae27e1b56364681439303', class: "btn-group" }, h("q2-btn", { key: '39497ef154acce6d0eef91ef7cebe69640cd1ca3', ref: el => (this.firstPageBtn = el), label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: 'cdeed73aea107a6465bed8fdbd69aec5596d7c38', type: "chevron-double-left" })), h("q2-btn", { key: 'a7808e2d639d1d1df146da9dcc7aa67645d3f5e5', ref: el => (this.prevPageBtn = el), label: prevButtonLabel, disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: '8e5b5dd8dd32c3c935a4d3d14acceabed4aec587', type: "chevron-left" }))), h("div", { key: '61e7ba000e5f6c91bbf9020b79118c449004fc7e', class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { key: 'e39ec5cc162071cc7bbe362a363f2bed3d841cd9', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: 'd686c662fd306dbe86daaa20e49ec1afc9024e94', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: '705f52d758ea9923772a0fb80ccaf9c17ae974e9', ref: el => (this.inputField = el), type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => {
269
269
  event.stopPropagation();
270
270
  this.handlePageChange(event.detail.value);
271
- }, "test-id": "pageInput", current: "page" })), h("span", { key: 'cd543116816cfe374b02fa366d64cade2887b51a', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '98826e8fbbe89ea9c34208ec8066ab47a8a17550', class: "btn-group" }, h("q2-btn", { key: '5066ad089677456d90b660299b0260cc819c3e60', ref: el => (this.nextPageBtn = el), label: nextButtonLabel, disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: 'e3364523c842d9a345fd34c05cbcba87ae14da80', type: "chevron-right" })), h("q2-btn", { key: 'a920ed7346c5fcadbac7c244dc1cabddd8e22b36', ref: el => (this.lastPageBtn = el), label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '49e610ac8459a60eac6ec771fbb3208a4a25ac34', type: "chevron-double-right" }))), h("div", { key: '07bbdd2c0ddef20d8a14152c5977376389246c15', class: "per-page", hidden: isFullViewHidden || !((_a = this.perPageIncrements) === null || _a === void 0 ? void 0 : _a.length) }, showPerPageSelect && this.renderPerPage())));
271
+ }, "test-id": "pageInput", current: "page" })), h("span", { key: '232ec815f1fef6cbda687e55de3ddf8ef1144208', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '3c9445171b060f40ef8dc8d636e87ac0af4095a9', class: "btn-group" }, h("q2-btn", { key: 'e0182356c2b45746e3938c0bac5342028d7cfd30', ref: el => (this.nextPageBtn = el), label: nextButtonLabel, disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: 'cce7fcc00fa60f1eee6eef130d7ebdc8166e2fa6', type: "chevron-right" })), h("q2-btn", { key: '50574b9f6ede9a303503131813f117fa939a50ec', ref: el => (this.lastPageBtn = el), label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '146d414825cad35d7639d90c107b8f885ef45a24', type: "chevron-double-right" }))), h("div", { key: '779f796737fd75d61e3e063a07783c6aeb213ff2', class: "per-page", hidden: isFullViewHidden || !((_a = this.perPageIncrements) === null || _a === void 0 ? void 0 : _a.length) }, showPerPageSelect && this.renderPerPage())));
272
272
  }
273
273
  static get is() { return "q2-pagination"; }
274
274
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-pagination.js","sourceRoot":"","sources":["../../../src/components/q2-pagination/q2-pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\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 isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /** Indicates the horizontal alignment of children elements */\n @Prop()\n alignment: string;\n\n /** Determines whether the component uses the dynamic resizing behavior. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop()\n perPageIncrements: number[];\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ page: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.manageResizeObserver();\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrements.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize && !this.recordsOnly && !this.pagesOnly) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n if (isOverflowing) return;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number) => {\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n this.change.emit({ page });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n this.perPage = event.detail.value * 1;\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.unobserve(this.hostElement);\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n this.perPageIncrements = this.perPageIncrements\n .filter(perPage => !isNaN(perPage))\n .map(perPage => perPage * 1)\n .sort((a, b) => a - b);\n if (this.perPage === undefined) this.perPage = this.perPageIncrements[0];\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onChange={this.handlePerPageChange}\n value={this.perPageIncrements.includes(this.perPage) ? `${this.perPage}` : undefined}\n >\n {this.perPageIncrements.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class=\"container\"\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={onFirstPage}\n hidden={isFullViewHidden}\n onClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={onFirstPage}\n onClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"controls\"\n hidden={isFullViewHidden}\n test-id=\"controls\"\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={onLastPage}\n onClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={onLastPage}\n hidden={isFullViewHidden}\n onClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-pagination.js","sourceRoot":"","sources":["../../../../src/components/q2-pagination/q2-pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,KAAK,EACL,IAAI,EACJ,CAAC,EAED,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG9E,MAAM,OAAO,YAAY;;QAwRrB,cAAS,GAAG,GAAG,EAAE;YACb,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;YAC7B,IAAI,aAAa;gBAAE,OAAO;YAE1B,SAAS,CAAC,GAAG,EAAE;gBACX,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,KAAK,gBAAgB,CAAC,WAAW,CAAC;gBACzF,IAAI,2BAA2B;oBAAE,OAAO;gBACxC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC;gBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC3B,IAAI,GAAG,UAAU,CAAC;YACtB,CAAC;YAED,IAAI,UAAU,CAAC,KAAK,KAAK,GAAG,IAAI,EAAE;gBAAE,UAAU,CAAC,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;YAEjE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,wBAAmB,GAAG,CAAC,KAAkB,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC;;;wBAxRkB,IAAI;;;;;;;;;;IAuDxB,aAAa;IACb,qCAAqC;IAErC,oBAAoB;QAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAExD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;IACb,oBAAoB;IAGpB,kBAAkB,CAAC,KAAK;;QACpB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QACzD,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChE,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAA,gBAAgB,CAAC,aAAa,CAAc,wBAAwB,CAAC,0CAAE,KAAK,EAAE,CAAC;QACnF,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED,aAAa;IACb,6BAA6B;IAE7B;;;;;OAKG;IAEH,KAAK,CAAC,cAAc;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IAEH,KAAK,CAAC,aAAa;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IAEH,KAAK,CAAC,aAAa;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IAEH,KAAK,CAAC,iBAAiB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IAEH,KAAK,CAAC,2BAA2B,CAAC,KAAa;;QAC3C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAC/F,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,MAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC,0CAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IAEH,KAAK,CAAC,YAAY,CAAC,KAAa;;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU;YAAE,OAAO;QACrF,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC;QACnC,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,aAAa;IACb,mBAAmB;IAKnB,oBAAoB;QAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,YAAY;QACZ,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7F,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS;QACT,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS;QACT,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACjC,OAAO,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,6CAA6C,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,iBAAiB;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,IAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU;QACV,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAExF,IAAI,SAAS,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAErE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3B,CAAC;IAsCD,oBAAoB;;QAChB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,aAAa;IACb,yBAAyB;IAEzB,aAAa;QACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;aAC1C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAClC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC;aAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CACH,iBACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EACpC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAClC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,IAEnF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACnC,iBACI,KAAK,EAAE,GAAG,OAAO,EAAE,EACnB,OAAO,EAAE,GAAG,GAAG,CAAC,gCAAgC,CAAC,IAAI,OAAO,EAAE,IAChE,GAAG,GAAG,CAAC,gCAAgC,CAAC,IAAI,OAAO,EAAE,CAAa,CACvE,CAAC,CACM,CACf,CAAC;IACN,CAAC;IAED,MAAM;;QACF,MAAM,EACF,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EAAE,UAAU,EACjC,UAAU,EACV,gBAAgB,EAAE,KAAK,EACvB,eAAe,EAAE,IAAI,EACrB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,iBAAiB,GACpB,GAAG,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;QAEvC,IAAI,eAAe,GAAW,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACxE,IAAI,eAAe,GAAW,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC5E,IAAI,SAAS,EAAE,CAAC;YACZ,eAAe,GAAG,GAAG,CAAC,qCAAqC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACpG,eAAe,GAAG,GAAG,CAAC,qCAAqC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACxG,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACrB,eAAe,GAAG,GAAG,CAAC,uCAAuC,EAAE;gBAC3D,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;gBACpC,KAAK;aACR,CAAC,CAAC;YACH,eAAe,GAAG,GAAG,CAAC,uCAAuC,EAAE;gBAC3D,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;gBACpC,KAAK;aACR,CAAC,CAAC;QACP,CAAC;QAED,OAAO,CACH,4DACI,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAC3B,GAAG,CAAC,iCAAiC,CAAC;YAElD,4DACI,KAAK,EAAC,aAAa,aACX,aAAa,IAEpB,SAAS;gBACN,CAAC,CAAC,GAAG,CAAC,iCAAiC,EAAE;oBACnC,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,UAAU;iBACpB,CAAC;gBACJ,CAAC,CAAC,GAAG,CAAC,uCAAuC,EAAE;oBACzC,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;oBACpC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE;iBAChC,CAAC,CACN;YACN,4DAAK,KAAK,EAAC,WAAW;gBAClB,+DACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACnC,KAAK,EAAE,GAAG,CAAC,yCAAyC,CAAC,EACrD,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAC/B,cAAc;oBAGtB,gEAAS,IAAI,EAAC,qBAAqB,GAAG,CACjC;gBACT,+DACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAClC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,aACtC,aAAa;oBAGrB,gEAAS,IAAI,EAAC,cAAc,GAAG,CAC1B,CACP;YACN,4DACI,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,gBAAgB,aAChB,UAAU;gBAElB,4EAAkB,MAAM,IAAE,GAAG,CAAC,gCAAgC,CAAC,CAAQ;gBACvE,4DACI,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;oBAErE,iEACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EACjC,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,GAAG,IAAI,EAAE,EAChB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,SAAS,QACT,QAAQ,QACR,KAAK,EAAE,GAAG,GAAG,CAAC,gCAAgC,CAAC,KAAK,GAAG,CACnD,mCAAmC,EACnC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAChC,GAAG,EACJ,QAAQ,EAAE,KAAK,CAAC,EAAE;4BACd,KAAK,CAAC,eAAe,EAAE,CAAC;4BACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9C,CAAC,aACO,WAAW,EACnB,OAAO,EAAC,MAAM,GACN,CACV;gBACN,4EAAkB,MAAM,IACnB,GAAG,CAAC,mCAAmC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CACrE,CACL;YACN,4DAAK,KAAK,EAAC,WAAW;gBAClB,+DACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAClC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,aACtC,aAAa;oBAGrB,gEAAS,IAAI,EAAC,eAAe,GAAG,CAC3B;gBACT,+DACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAClC,KAAK,EAAC,wCAAwC,EAC9C,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,aACxC,aAAa;oBAGrB,gEAAS,IAAI,EAAC,sBAAsB,GAAG,CAClC,CACP;YACN,4DACI,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,gBAAgB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CAAA,IAE1D,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE,CACxC,CACJ,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\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 isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /** Indicates the horizontal alignment of children elements */\n @Prop()\n alignment: string;\n\n /** Determines whether the component uses the dynamic resizing behavior. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop()\n perPageIncrements: number[];\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ page: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.manageResizeObserver();\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrements.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize && !this.recordsOnly && !this.pagesOnly) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n if (isOverflowing) return;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number) => {\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n this.change.emit({ page });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n this.perPage = event.detail.value * 1;\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.unobserve(this.hostElement);\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n this.perPageIncrements = this.perPageIncrements\n .filter(perPage => !isNaN(perPage))\n .map(perPage => perPage * 1)\n .sort((a, b) => a - b);\n if (this.perPage === undefined) this.perPage = this.perPageIncrements[0];\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onChange={this.handlePerPageChange}\n value={this.perPageIncrements.includes(this.perPage) ? `${this.perPage}` : undefined}\n >\n {this.perPageIncrements.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class=\"container\"\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={onFirstPage}\n hidden={isFullViewHidden}\n onClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={onFirstPage}\n onClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"controls\"\n hidden={isFullViewHidden}\n test-id=\"controls\"\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={onLastPage}\n onClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={onLastPage}\n hidden={isFullViewHidden}\n onClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"]}
@@ -482,6 +482,7 @@ describe('q2-pagination', () => {
482
482
  await dispatchEvent(page, ['q2-pagination', 'q2-select', 'q2-input'], 'click');
483
483
  const options = await page.findAll('q2-pagination >>> q2-select > q2-option');
484
484
  // click 2nd option (perPage 20)
485
+ options[1].focus();
485
486
  options[1].click();
486
487
  await page.waitForChanges();
487
488
  expect(await pagination.getProperty('perPage')).toBe(20);