q2-tecton-elements 1.67.2 → 1.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/dist/bundle-report.json +22598 -10670
  2. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -1
  3. package/dist/cjs/click-elsewhere_3.cjs.entry.js +46 -32
  4. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -1
  5. package/dist/cjs/{component-DRAntnCA.js → component-iASoq6gx.js} +9 -3
  6. package/dist/cjs/component-iASoq6gx.js.map +1 -0
  7. package/dist/cjs/{index-YvKoRT-t.js → index-DmGkqdX2.js} +3 -3
  8. package/dist/cjs/index-DmGkqdX2.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/q2-action-group.q2-resize-observer.entry.cjs.js.map +1 -1
  11. package/dist/cjs/q2-action-group_2.cjs.entry.js +2 -2
  12. package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-action-sheet.cjs.entry.js +109 -4
  14. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-action-sheet.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  17. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  18. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-badge.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  22. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-calendar.cjs.entry.js +6 -3
  25. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  27. package/dist/cjs/q2-card-image.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-card-image.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-card-image.entry.cjs.js.map +1 -1
  30. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
  33. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  34. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  35. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  36. package/dist/cjs/q2-carousel.cjs.entry.js +162 -29
  37. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  39. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-chart-donut.cjs.entry.js +3 -2
  42. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  43. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  44. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  47. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -1
  48. package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
  49. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
  52. package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
  53. package/dist/cjs/q2-currency.cjs.entry.js +2 -3
  54. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-currency.entry.cjs.js.map +1 -1
  56. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-detail.entry.cjs.js.map +1 -1
  62. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-dropdown-item.entry.cjs.js.map +1 -1
  65. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -5
  66. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  67. package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
  68. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  69. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  70. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  71. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  72. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  73. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-form.cjs.entry.js +2 -2
  76. package/dist/cjs/q2-form.cjs.entry.js.map +1 -1
  77. package/dist/cjs/q2-form.entry.cjs.js.map +1 -1
  78. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-formatted-text.cjs.entry.js.map +1 -1
  80. package/dist/cjs/q2-formatted-text.entry.cjs.js.map +1 -1
  81. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  82. package/dist/cjs/q2-grid.cjs.entry.js +32 -8
  83. package/dist/cjs/q2-grid.cjs.entry.js.map +1 -1
  84. package/dist/cjs/q2-grid.entry.cjs.js.map +1 -1
  85. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  86. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  87. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  88. package/dist/cjs/q2-input.cjs.entry.js +8 -5
  89. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  90. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  91. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  92. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  93. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  94. package/dist/cjs/q2-legend.cjs.entry.js +2 -3
  95. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  96. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  97. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  98. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  99. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  100. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  101. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  102. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  103. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  104. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  105. package/dist/cjs/q2-meter.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-meter.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-modal.cjs.entry.js +3 -3
  108. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  109. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  110. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  111. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  112. package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
  113. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
  114. package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
  115. package/dist/cjs/q2-option.cjs.entry.js +3 -3
  116. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  117. package/dist/cjs/q2-option.entry.cjs.js.map +1 -1
  118. package/dist/cjs/q2-otp.cjs.entry.js +373 -0
  119. package/dist/cjs/q2-otp.cjs.entry.js.map +1 -0
  120. package/dist/cjs/q2-otp.entry.cjs.js.map +1 -0
  121. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  122. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  123. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  124. package/dist/cjs/q2-pill.cjs.entry.js +24 -15
  125. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  126. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  127. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  128. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  129. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  130. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  131. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  132. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  133. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  134. package/dist/cjs/q2-section-container.cjs.entry.js +1 -1
  135. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  136. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  137. package/dist/cjs/q2-section.entry.cjs.js.map +1 -1
  138. package/dist/cjs/q2-select.cjs.entry.js +1 -1
  139. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  140. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  141. package/dist/cjs/q2-stepper-pane.cjs.entry.js +3 -3
  142. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  143. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  144. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  145. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  146. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  147. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  148. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  149. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  150. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  151. package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
  152. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  153. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  154. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  155. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  156. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  157. package/dist/cjs/q2-toast.cjs.entry.js.map +1 -1
  158. package/dist/cjs/q2-toast.entry.cjs.js.map +1 -1
  159. package/dist/cjs/q2-tooltip.cjs.entry.js +124 -5
  160. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  161. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  162. package/dist/cjs/{sanitize-html-string-CW6y5624.js → sanitize-html-string-D17Pr7-c.js} +21 -4
  163. package/dist/cjs/{sanitize-html-string-CW6y5624.js.map → sanitize-html-string-D17Pr7-c.js.map} +1 -1
  164. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  165. package/dist/collection/collection-manifest.json +1 -0
  166. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -0
  167. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  168. package/dist/collection/components/q2-action-group/q2-action-group.css +14 -0
  169. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +16 -0
  170. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +107 -2
  171. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
  172. package/dist/collection/components/q2-avatar/q2-avatar.css +24 -0
  173. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +61 -0
  174. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js.map +1 -0
  175. package/dist/collection/components/q2-badge/q2-badge.css +30 -0
  176. package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js +34 -0
  177. package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js.map +1 -0
  178. package/dist/collection/components/q2-btn/q2-btn.css +279 -0
  179. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +80 -0
  180. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js.map +1 -0
  181. package/dist/collection/components/q2-calendar/q2-calendar.css +36 -0
  182. package/dist/collection/components/q2-calendar/q2-calendar.js +5 -2
  183. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  184. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +170 -0
  185. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js.map +1 -0
  186. package/dist/collection/components/q2-card/q2-card.css +62 -0
  187. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +72 -0
  188. package/dist/collection/components/q2-card/test/q2-card-test.vr.js.map +1 -0
  189. package/dist/collection/components/q2-card-image/q2-card-image.css +74 -13
  190. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +152 -0
  191. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js.map +1 -0
  192. package/dist/collection/components/q2-carousel/q2-carousel.css +78 -13
  193. package/dist/collection/components/q2-carousel/q2-carousel.js +241 -27
  194. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  195. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +104 -0
  196. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js.map +1 -0
  197. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +26 -1
  198. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +126 -0
  199. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js.map +1 -0
  200. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +105 -0
  201. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js.map +1 -0
  202. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +29 -0
  203. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +21 -1
  204. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  205. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +151 -0
  206. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js.map +1 -0
  207. package/dist/collection/components/q2-checkbox/q2-checkbox.css +128 -0
  208. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js +69 -0
  209. package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js.map +1 -0
  210. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +21 -0
  211. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js +61 -0
  212. package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js.map +1 -0
  213. package/dist/collection/components/q2-context/q2-context.css +16 -0
  214. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +95 -0
  215. package/dist/collection/components/q2-context/test/q2-context-test.vr.js.map +1 -0
  216. package/dist/collection/components/q2-currency/q2-currency.css +31 -0
  217. package/dist/collection/components/q2-currency/q2-currency.js +3 -4
  218. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  219. package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js +79 -0
  220. package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js.map +1 -0
  221. package/dist/collection/components/q2-data-table/q2-data-table.css +51 -0
  222. package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
  223. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +79 -0
  224. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js.map +1 -0
  225. package/dist/collection/components/q2-detail/q2-detail.css +42 -0
  226. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  227. package/dist/collection/components/q2-dropdown/q2-dropdown.css +8 -0
  228. package/dist/collection/components/q2-dropdown/q2-dropdown.js +2 -4
  229. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  230. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +11 -0
  231. package/dist/collection/components/q2-editable-field/q2-editable-field.css +5 -0
  232. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js +89 -0
  233. package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js.map +1 -0
  234. package/dist/collection/components/q2-example/q2-example.js +1 -1
  235. package/dist/collection/components/q2-file-picker/q2-file-picker.css +64 -0
  236. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +92 -0
  237. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js.map +1 -0
  238. package/dist/collection/components/q2-form/q2-form.css +34 -20
  239. package/dist/collection/components/q2-form/q2-form.js +1 -1
  240. package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +14 -0
  241. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  242. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js +55 -0
  243. package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js.map +1 -0
  244. package/dist/collection/components/q2-grid/q2-grid.css +13 -0
  245. package/dist/collection/components/q2-grid/q2-grid.js +31 -7
  246. package/dist/collection/components/q2-grid/q2-grid.js.map +1 -1
  247. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  248. package/dist/collection/components/q2-icon/q2-icon.css +15 -0
  249. package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js +55 -0
  250. package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js.map +1 -0
  251. package/dist/collection/components/q2-input/q2-input.css +104 -0
  252. package/dist/collection/components/q2-input/q2-input.js +6 -3
  253. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  254. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +97 -0
  255. package/dist/collection/components/q2-input/test/q2-input-test.vr.js.map +1 -0
  256. package/dist/collection/components/q2-item/q2-item.css +28 -0
  257. package/dist/collection/components/q2-item/q2-item.js +1 -1
  258. package/dist/collection/components/q2-legend/q2-legend.css +16 -0
  259. package/dist/collection/components/q2-legend/q2-legend.js +21 -3
  260. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  261. package/dist/collection/components/q2-link/q2-link.css +20 -0
  262. package/dist/collection/components/q2-link/test/q2-link-test.vr.js +70 -0
  263. package/dist/collection/components/q2-link/test/q2-link-test.vr.js.map +1 -0
  264. package/dist/collection/components/q2-list/q2-list.css +14 -0
  265. package/dist/collection/components/q2-list/q2-list.js +1 -1
  266. package/dist/collection/components/q2-list/test/q2-list-test.vr.js +58 -0
  267. package/dist/collection/components/q2-list/test/q2-list-test.vr.js.map +1 -0
  268. package/dist/collection/components/q2-loading/q2-loading.css +9 -0
  269. package/dist/collection/components/q2-message/q2-message.css +29 -1
  270. package/dist/collection/components/q2-message/q2-message.js +1 -1
  271. package/dist/collection/components/q2-message/test/q2-message-test.vr.js +57 -0
  272. package/dist/collection/components/q2-message/test/q2-message-test.vr.js.map +1 -0
  273. package/dist/collection/components/q2-meter/q2-meter.css +40 -0
  274. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  275. package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js +78 -0
  276. package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js.map +1 -0
  277. package/dist/collection/components/q2-modal/q2-modal.css +21 -0
  278. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  279. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +107 -0
  280. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js.map +1 -0
  281. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  282. package/dist/collection/components/q2-optgroup/q2-optgroup.css +11 -0
  283. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  284. package/dist/collection/components/q2-option/q2-option.css +9 -0
  285. package/dist/collection/components/q2-option/q2-option.js +1 -1
  286. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  287. package/dist/collection/components/q2-option-list/q2-option-list.css +3 -0
  288. package/dist/collection/components/q2-option-list/q2-option-list.js +37 -28
  289. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  290. package/dist/collection/components/q2-otp/q2-otp.css +312 -0
  291. package/dist/collection/components/q2-otp/q2-otp.js +873 -0
  292. package/dist/collection/components/q2-otp/q2-otp.js.map +1 -0
  293. package/dist/collection/components/q2-pagination/q2-pagination.css +22 -0
  294. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  295. package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js +145 -0
  296. package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js.map +1 -0
  297. package/dist/collection/components/q2-pill/q2-pill.css +53 -0
  298. package/dist/collection/components/q2-pill/q2-pill.js +23 -14
  299. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  300. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +110 -0
  301. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js.map +1 -0
  302. package/dist/collection/components/q2-popover/q2-popover.css +20 -0
  303. package/dist/collection/components/q2-popover/q2-popover.js +5 -2
  304. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  305. package/dist/collection/components/q2-radio/q2-radio.css +52 -1
  306. package/dist/collection/components/q2-radio/q2-radio.js +2 -2
  307. package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
  308. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +73 -0
  309. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js.map +1 -0
  310. package/dist/collection/components/q2-radio-group/q2-radio-group.css +22 -0
  311. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +99 -0
  312. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js.map +1 -0
  313. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  314. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  315. package/dist/collection/components/q2-section/q2-section.css +26 -0
  316. package/dist/collection/components/q2-section/q2-section.js +2 -2
  317. package/dist/collection/components/q2-section/test/q2-section-test.vr.js +68 -0
  318. package/dist/collection/components/q2-section/test/q2-section-test.vr.js.map +1 -0
  319. package/dist/collection/components/q2-select/q2-select.css +17 -0
  320. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +107 -0
  321. package/dist/collection/components/q2-select/test/q2-select-test.vr.js.map +1 -0
  322. package/dist/collection/components/q2-stepper/q2-stepper.css +36 -0
  323. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  324. package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js +86 -0
  325. package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js.map +1 -0
  326. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  327. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +31 -0
  328. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  329. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js +97 -0
  330. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js.map +1 -0
  331. package/dist/collection/components/q2-tab-container/q2-tab-container.css +38 -0
  332. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  333. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js +78 -0
  334. package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js.map +1 -0
  335. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  336. package/dist/collection/components/q2-tag/q2-tag.css +30 -1
  337. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  338. package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js +83 -0
  339. package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js.map +1 -0
  340. package/dist/collection/components/q2-textarea/q2-textarea.css +80 -0
  341. package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js +102 -0
  342. package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js.map +1 -0
  343. package/dist/collection/components/q2-toast/q2-toast.css +15 -0
  344. package/dist/collection/components/q2-tooltip/q2-tooltip.css +31 -0
  345. package/dist/collection/components/q2-tooltip/q2-tooltip.js +135 -4
  346. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  347. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +76 -0
  348. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js.map +1 -0
  349. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  350. package/dist/collection/utils/component.js +7 -1
  351. package/dist/collection/utils/component.js.map +1 -1
  352. package/dist/collection/utils/index.js +1 -1
  353. package/dist/collection/utils/index.js.map +1 -1
  354. package/dist/collection/utils/sanitize-html-string.js +19 -2
  355. package/dist/collection/utils/sanitize-html-string.js.map +1 -1
  356. package/dist/collection/utils/test/vr-helpers.js +98 -0
  357. package/dist/collection/utils/test/vr-helpers.js.map +1 -0
  358. package/dist/components/click-elsewhere2.js +2 -0
  359. package/dist/components/click-elsewhere2.js.map +1 -1
  360. package/dist/components/component.js +7 -1
  361. package/dist/components/component.js.map +1 -1
  362. package/dist/components/index.js +2 -0
  363. package/dist/components/index.js.map +1 -1
  364. package/dist/components/index2.js +1 -1
  365. package/dist/components/index2.js.map +1 -1
  366. package/dist/components/q2-action-group2.js.map +1 -1
  367. package/dist/components/q2-action-sheet.js +107 -2
  368. package/dist/components/q2-action-sheet.js.map +1 -1
  369. package/dist/components/q2-avatar2.js.map +1 -1
  370. package/dist/components/q2-badge2.js.map +1 -1
  371. package/dist/components/q2-btn2.js.map +1 -1
  372. package/dist/components/q2-calendar.js +5 -2
  373. package/dist/components/q2-calendar.js.map +1 -1
  374. package/dist/components/q2-card-image.js +1 -1
  375. package/dist/components/q2-card-image.js.map +1 -1
  376. package/dist/components/q2-card.js.map +1 -1
  377. package/dist/components/q2-carousel-pane.js +1 -135
  378. package/dist/components/q2-carousel-pane.js.map +1 -1
  379. package/dist/components/q2-carousel-pane2.js +140 -0
  380. package/dist/components/q2-carousel-pane2.js.map +1 -0
  381. package/dist/components/q2-carousel.js +173 -29
  382. package/dist/components/q2-carousel.js.map +1 -1
  383. package/dist/components/q2-chart-donut.js +3 -1
  384. package/dist/components/q2-chart-donut.js.map +1 -1
  385. package/dist/components/q2-checkbox-group.js.map +1 -1
  386. package/dist/components/q2-checkbox2.js.map +1 -1
  387. package/dist/components/q2-context.js +1 -1
  388. package/dist/components/q2-context.js.map +1 -1
  389. package/dist/components/q2-currency.js +3 -4
  390. package/dist/components/q2-currency.js.map +1 -1
  391. package/dist/components/q2-data-table.js +1 -1
  392. package/dist/components/q2-data-table.js.map +1 -1
  393. package/dist/components/q2-detail.js +1 -1
  394. package/dist/components/q2-detail.js.map +1 -1
  395. package/dist/components/q2-dropdown-item2.js.map +1 -1
  396. package/dist/components/q2-dropdown.js +2 -4
  397. package/dist/components/q2-dropdown.js.map +1 -1
  398. package/dist/components/q2-editable-field.js.map +1 -1
  399. package/dist/components/q2-example.js +1 -1
  400. package/dist/components/q2-file-picker.js.map +1 -1
  401. package/dist/components/q2-form.js +2 -2
  402. package/dist/components/q2-form.js.map +1 -1
  403. package/dist/components/q2-formatted-text.js +1 -1
  404. package/dist/components/q2-formatted-text.js.map +1 -1
  405. package/dist/components/q2-grid.js +32 -8
  406. package/dist/components/q2-grid.js.map +1 -1
  407. package/dist/components/q2-icon2.js.map +1 -1
  408. package/dist/components/q2-input2.js +7 -4
  409. package/dist/components/q2-input2.js.map +1 -1
  410. package/dist/components/q2-item2.js +1 -1
  411. package/dist/components/q2-item2.js.map +1 -1
  412. package/dist/components/q2-legend2.js +3 -3
  413. package/dist/components/q2-legend2.js.map +1 -1
  414. package/dist/components/q2-link2.js.map +1 -1
  415. package/dist/components/q2-list2.js +1 -1
  416. package/dist/components/q2-list2.js.map +1 -1
  417. package/dist/components/q2-loading2.js.map +1 -1
  418. package/dist/components/q2-message2.js +2 -2
  419. package/dist/components/q2-message2.js.map +1 -1
  420. package/dist/components/q2-meter.js +1 -1
  421. package/dist/components/q2-meter.js.map +1 -1
  422. package/dist/components/q2-modal.js +1 -1
  423. package/dist/components/q2-modal.js.map +1 -1
  424. package/dist/components/q2-mutation-observer.js +1 -1
  425. package/dist/components/q2-optgroup2.js +1 -1
  426. package/dist/components/q2-optgroup2.js.map +1 -1
  427. package/dist/components/q2-option-list2.js +37 -28
  428. package/dist/components/q2-option-list2.js.map +1 -1
  429. package/dist/components/q2-option2.js +1 -1
  430. package/dist/components/q2-option2.js.map +1 -1
  431. package/dist/components/q2-otp.d.ts +11 -0
  432. package/dist/components/q2-otp.js +439 -0
  433. package/dist/components/q2-otp.js.map +1 -0
  434. package/dist/components/q2-pagination.js +3 -3
  435. package/dist/components/q2-pagination.js.map +1 -1
  436. package/dist/components/q2-pill.js +23 -14
  437. package/dist/components/q2-pill.js.map +1 -1
  438. package/dist/components/q2-popover2.js +5 -2
  439. package/dist/components/q2-popover2.js.map +1 -1
  440. package/dist/components/q2-radio-group.js.map +1 -1
  441. package/dist/components/q2-radio.js +2 -2
  442. package/dist/components/q2-radio.js.map +1 -1
  443. package/dist/components/q2-relative-time.js +1 -1
  444. package/dist/components/q2-resize-observer2.js +1 -1
  445. package/dist/components/q2-section.js +2 -2
  446. package/dist/components/q2-section.js.map +1 -1
  447. package/dist/components/q2-select2.js.map +1 -1
  448. package/dist/components/q2-stepper-pane.js +1 -1
  449. package/dist/components/q2-stepper-vertical.js +1 -1
  450. package/dist/components/q2-stepper-vertical.js.map +1 -1
  451. package/dist/components/q2-stepper.js +1 -1
  452. package/dist/components/q2-stepper.js.map +1 -1
  453. package/dist/components/q2-tab-container.js +1 -1
  454. package/dist/components/q2-tab-container.js.map +1 -1
  455. package/dist/components/q2-tab-pane.js +1 -1
  456. package/dist/components/q2-tag2.js +2 -2
  457. package/dist/components/q2-tag2.js.map +1 -1
  458. package/dist/components/q2-textarea.js.map +1 -1
  459. package/dist/components/q2-toast.js.map +1 -1
  460. package/dist/components/q2-tooltip2.js +124 -5
  461. package/dist/components/q2-tooltip2.js.map +1 -1
  462. package/dist/components/sanitize-html-string.js +19 -2
  463. package/dist/components/sanitize-html-string.js.map +1 -1
  464. package/dist/components/tecton-tab-pane.js +2 -2
  465. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -1
  466. package/dist/esm/click-elsewhere_3.entry.js +46 -32
  467. package/dist/esm/click-elsewhere_3.entry.js.map +1 -1
  468. package/dist/esm/{component-DVxzK3WH.js → component-DaQM9u3s.js} +9 -3
  469. package/dist/esm/component-DaQM9u3s.js.map +1 -0
  470. package/dist/esm/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
  471. package/dist/esm/index-C5gj0T_3.js.map +1 -0
  472. package/dist/esm/loader.js +1 -1
  473. package/dist/esm/q2-action-group.q2-resize-observer.entry.js.map +1 -1
  474. package/dist/esm/q2-action-group_2.entry.js +2 -2
  475. package/dist/esm/q2-action-group_2.entry.js.map +1 -1
  476. package/dist/esm/q2-action-sheet.entry.js +109 -4
  477. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  478. package/dist/esm/q2-avatar.entry.js.map +1 -1
  479. package/dist/esm/q2-badge.entry.js +1 -1
  480. package/dist/esm/q2-badge.entry.js.map +1 -1
  481. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  482. package/dist/esm/q2-btn_2.entry.js +1 -1
  483. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  484. package/dist/esm/q2-calendar.entry.js +6 -3
  485. package/dist/esm/q2-calendar.entry.js.map +1 -1
  486. package/dist/esm/q2-card-image.entry.js +2 -2
  487. package/dist/esm/q2-card-image.entry.js.map +1 -1
  488. package/dist/esm/q2-card.entry.js +1 -1
  489. package/dist/esm/q2-card.entry.js.map +1 -1
  490. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  491. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  492. package/dist/esm/q2-carousel.entry.js +162 -29
  493. package/dist/esm/q2-carousel.entry.js.map +1 -1
  494. package/dist/esm/q2-chart-area.entry.js +1 -1
  495. package/dist/esm/q2-chart-bar.entry.js +1 -1
  496. package/dist/esm/q2-chart-donut.entry.js +3 -2
  497. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  498. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  499. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  500. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -1
  501. package/dist/esm/q2-checkbox_2.entry.js +3 -3
  502. package/dist/esm/q2-checkbox_2.entry.js.map +1 -1
  503. package/dist/esm/q2-context.entry.js +2 -2
  504. package/dist/esm/q2-context.entry.js.map +1 -1
  505. package/dist/esm/q2-currency.entry.js +3 -4
  506. package/dist/esm/q2-currency.entry.js.map +1 -1
  507. package/dist/esm/q2-data-table.entry.js +2 -2
  508. package/dist/esm/q2-data-table.entry.js.map +1 -1
  509. package/dist/esm/q2-detail.entry.js +2 -2
  510. package/dist/esm/q2-detail.entry.js.map +1 -1
  511. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  512. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  513. package/dist/esm/q2-dropdown.entry.js +3 -5
  514. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  515. package/dist/esm/q2-editable-field.entry.js +1 -1
  516. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  517. package/dist/esm/q2-example.entry.js +1 -1
  518. package/dist/esm/q2-file-picker.entry.js +1 -1
  519. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  520. package/dist/esm/q2-form.entry.js +2 -2
  521. package/dist/esm/q2-form.entry.js.map +1 -1
  522. package/dist/esm/q2-formatted-text.entry.js +1 -1
  523. package/dist/esm/q2-formatted-text.entry.js.map +1 -1
  524. package/dist/esm/q2-grid-area.entry.js +1 -1
  525. package/dist/esm/q2-grid.entry.js +33 -9
  526. package/dist/esm/q2-grid.entry.js.map +1 -1
  527. package/dist/esm/q2-icon.entry.js +1 -1
  528. package/dist/esm/q2-icon.entry.js.map +1 -1
  529. package/dist/esm/q2-input.entry.js +8 -5
  530. package/dist/esm/q2-input.entry.js.map +1 -1
  531. package/dist/esm/q2-item.entry.js +2 -2
  532. package/dist/esm/q2-item.entry.js.map +1 -1
  533. package/dist/esm/q2-legend.entry.js +2 -3
  534. package/dist/esm/q2-legend.entry.js.map +1 -1
  535. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  536. package/dist/esm/q2-link_2.entry.js +2 -2
  537. package/dist/esm/q2-link_2.entry.js.map +1 -1
  538. package/dist/esm/q2-loc.entry.js +1 -1
  539. package/dist/esm/q2-message.entry.js +3 -3
  540. package/dist/esm/q2-message.entry.js.map +1 -1
  541. package/dist/esm/q2-meter.entry.js +2 -2
  542. package/dist/esm/q2-meter.entry.js.map +1 -1
  543. package/dist/esm/q2-modal.entry.js +3 -3
  544. package/dist/esm/q2-modal.entry.js.map +1 -1
  545. package/dist/esm/q2-month-picker.entry.js +1 -1
  546. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  547. package/dist/esm/q2-optgroup.entry.js +3 -3
  548. package/dist/esm/q2-optgroup.entry.js.map +1 -1
  549. package/dist/esm/q2-option.entry.js +3 -3
  550. package/dist/esm/q2-option.entry.js.map +1 -1
  551. package/dist/esm/q2-otp.entry.js +371 -0
  552. package/dist/esm/q2-otp.entry.js.map +1 -0
  553. package/dist/esm/q2-pagination.entry.js +4 -4
  554. package/dist/esm/q2-pagination.entry.js.map +1 -1
  555. package/dist/esm/q2-pill.entry.js +24 -15
  556. package/dist/esm/q2-pill.entry.js.map +1 -1
  557. package/dist/esm/q2-radio-group.entry.js +1 -1
  558. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  559. package/dist/esm/q2-radio.entry.js +3 -3
  560. package/dist/esm/q2-radio.entry.js.map +1 -1
  561. package/dist/esm/q2-relative-time.entry.js +2 -2
  562. package/dist/esm/q2-section-container.entry.js +1 -1
  563. package/dist/esm/q2-section.entry.js +3 -3
  564. package/dist/esm/q2-section.entry.js.map +1 -1
  565. package/dist/esm/q2-select.entry.js +1 -1
  566. package/dist/esm/q2-select.entry.js.map +1 -1
  567. package/dist/esm/q2-stepper-pane.entry.js +3 -3
  568. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  569. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  570. package/dist/esm/q2-stepper.entry.js +2 -2
  571. package/dist/esm/q2-stepper.entry.js.map +1 -1
  572. package/dist/esm/q2-tab-container.entry.js +3 -3
  573. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  574. package/dist/esm/q2-tab-pane.entry.js +2 -2
  575. package/dist/esm/q2-tecton-elements.js +1 -1
  576. package/dist/esm/q2-textarea.entry.js +1 -1
  577. package/dist/esm/q2-textarea.entry.js.map +1 -1
  578. package/dist/esm/q2-toast.entry.js +1 -1
  579. package/dist/esm/q2-toast.entry.js.map +1 -1
  580. package/dist/esm/q2-tooltip.entry.js +124 -5
  581. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  582. package/dist/esm/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +21 -4
  583. package/dist/{q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map → esm/sanitize-html-string-DPHNpMWE.js.map} +1 -1
  584. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  585. package/dist/playwright.config.js +12 -0
  586. package/dist/playwright.config.js.map +1 -0
  587. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  588. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -1
  589. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +44 -35
  590. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -1
  591. package/dist/q2-tecton-elements/component-DaQM9u3s.js +46 -0
  592. package/dist/q2-tecton-elements/component-DaQM9u3s.js.map +1 -0
  593. package/dist/q2-tecton-elements/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
  594. package/dist/q2-tecton-elements/index-C5gj0T_3.js.map +1 -0
  595. package/dist/q2-tecton-elements/q2-action-group.q2-resize-observer.entry.esm.js.map +1 -1
  596. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  597. package/dist/q2-tecton-elements/q2-action-group_2.entry.js.map +1 -1
  598. package/dist/q2-tecton-elements/q2-action-sheet.entry.esm.js.map +1 -1
  599. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +166 -70
  600. package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  602. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-badge.entry.esm.js.map +1 -1
  604. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  605. package/dist/q2-tecton-elements/q2-badge.entry.js.map +1 -1
  606. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  607. package/dist/q2-tecton-elements/q2-btn_2.entry.js +1 -1
  608. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  609. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  610. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  611. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  612. package/dist/q2-tecton-elements/q2-card-image.entry.esm.js.map +1 -1
  613. package/dist/q2-tecton-elements/q2-card-image.entry.js +2 -2
  614. package/dist/q2-tecton-elements/q2-card-image.entry.js.map +1 -1
  615. package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
  616. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  617. package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -1
  618. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  619. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +6 -6
  620. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  621. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  622. package/dist/q2-tecton-elements/q2-carousel.entry.js +402 -271
  623. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  624. package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
  625. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1 -1
  626. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  627. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +18 -16
  628. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  629. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  630. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  631. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  632. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -1
  633. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
  634. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -1
  635. package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
  636. package/dist/q2-tecton-elements/q2-context.entry.js +2 -2
  637. package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
  638. package/dist/q2-tecton-elements/q2-currency.entry.esm.js.map +1 -1
  639. package/dist/q2-tecton-elements/q2-currency.entry.js +34 -33
  640. package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -1
  641. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  642. package/dist/q2-tecton-elements/q2-data-table.entry.js +4 -4
  643. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  644. package/dist/q2-tecton-elements/q2-detail.entry.esm.js.map +1 -1
  645. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  646. package/dist/q2-tecton-elements/q2-detail.entry.js.map +1 -1
  647. package/dist/q2-tecton-elements/q2-dropdown-item.entry.esm.js.map +1 -1
  648. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +2 -2
  649. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
  650. package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
  651. package/dist/q2-tecton-elements/q2-dropdown.entry.js +18 -19
  652. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  653. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  654. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  655. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  656. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  657. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  658. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  659. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  660. package/dist/q2-tecton-elements/q2-form.entry.esm.js.map +1 -1
  661. package/dist/q2-tecton-elements/q2-form.entry.js +9 -9
  662. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -1
  663. package/dist/q2-tecton-elements/q2-formatted-text.entry.esm.js.map +1 -1
  664. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  665. package/dist/q2-tecton-elements/q2-formatted-text.entry.js.map +1 -1
  666. package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
  667. package/dist/q2-tecton-elements/q2-grid.entry.esm.js.map +1 -1
  668. package/dist/q2-tecton-elements/q2-grid.entry.js +39 -14
  669. package/dist/q2-tecton-elements/q2-grid.entry.js.map +1 -1
  670. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  671. package/dist/q2-tecton-elements/q2-icon.entry.js +52 -52
  672. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  673. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  674. package/dist/q2-tecton-elements/q2-input.entry.js +10 -6
  675. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  676. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  677. package/dist/q2-tecton-elements/q2-item.entry.js +14 -14
  678. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  679. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  680. package/dist/q2-tecton-elements/q2-legend.entry.js +4 -5
  681. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  682. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  683. package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
  684. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  685. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  686. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  687. package/dist/q2-tecton-elements/q2-message.entry.js +28 -28
  688. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  689. package/dist/q2-tecton-elements/q2-meter.entry.esm.js.map +1 -1
  690. package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
  691. package/dist/q2-tecton-elements/q2-meter.entry.js.map +1 -1
  692. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  693. package/dist/q2-tecton-elements/q2-modal.entry.js +53 -53
  694. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  695. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  696. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  697. package/dist/q2-tecton-elements/q2-optgroup.entry.esm.js.map +1 -1
  698. package/dist/q2-tecton-elements/q2-optgroup.entry.js +6 -6
  699. package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
  700. package/dist/q2-tecton-elements/q2-option.entry.esm.js.map +1 -1
  701. package/dist/q2-tecton-elements/q2-option.entry.js +3 -3
  702. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
  703. package/dist/q2-tecton-elements/q2-otp.entry.esm.js.map +1 -0
  704. package/dist/q2-tecton-elements/q2-otp.entry.js +453 -0
  705. package/dist/q2-tecton-elements/q2-otp.entry.js.map +1 -0
  706. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  707. package/dist/q2-tecton-elements/q2-pagination.entry.js +29 -29
  708. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  709. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  710. package/dist/q2-tecton-elements/q2-pill.entry.js +43 -28
  711. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  712. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  713. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  714. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  715. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  716. package/dist/q2-tecton-elements/q2-radio.entry.js +10 -10
  717. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  718. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  719. package/dist/q2-tecton-elements/q2-section-container.entry.js +1 -1
  720. package/dist/q2-tecton-elements/q2-section.entry.esm.js.map +1 -1
  721. package/dist/q2-tecton-elements/q2-section.entry.js +21 -21
  722. package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -1
  723. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  724. package/dist/q2-tecton-elements/q2-select.entry.js +1 -1
  725. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  726. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +10 -10
  727. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  728. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  729. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  730. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  731. package/dist/q2-tecton-elements/q2-stepper.entry.js +33 -33
  732. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  733. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  734. package/dist/q2-tecton-elements/q2-tab-container.entry.js +14 -14
  735. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  736. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +6 -6
  737. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  738. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  739. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  740. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  741. package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -1
  742. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  743. package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -1
  744. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  745. package/dist/q2-tecton-elements/q2-tooltip.entry.js +136 -20
  746. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  747. package/dist/q2-tecton-elements/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +147 -142
  748. package/dist/{esm/sanitize-html-string-B35VmRc9.js.map → q2-tecton-elements/sanitize-html-string-DPHNpMWE.js.map} +1 -1
  749. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  750. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/playwright.config.d.ts +2 -0
  751. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +22 -0
  752. package/dist/types/components/q2-avatar/test/q2-avatar-test.vr.d.ts +1 -0
  753. package/dist/types/components/q2-badge/test/q2-badge-test.vr.d.ts +1 -0
  754. package/dist/types/components/q2-btn/test/q2-btn-test.vr.d.ts +1 -0
  755. package/dist/types/components/q2-calendar/test/q2-calendar-test.vr.d.ts +1 -0
  756. package/dist/types/components/q2-card/test/q2-card-test.vr.d.ts +1 -0
  757. package/dist/types/components/q2-card-image/test/q2-card-image-test.vr.d.ts +1 -0
  758. package/dist/types/components/q2-carousel/q2-carousel.d.ts +29 -0
  759. package/dist/types/components/q2-carousel/test/q2-carousel-test.vr.d.ts +1 -0
  760. package/dist/types/components/q2-chart-area/test/q2-chart-area-test.vr.d.ts +1 -0
  761. package/dist/types/components/q2-chart-bar/test/q2-chart-bar-test.vr.d.ts +1 -0
  762. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +2 -0
  763. package/dist/types/components/q2-chart-donut/test/q2-chart-donut-test.vr.d.ts +1 -0
  764. package/dist/types/components/q2-checkbox/test/q2-checkbox-test.vr.d.ts +1 -0
  765. package/dist/types/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.d.ts +1 -0
  766. package/dist/types/components/q2-context/test/q2-context-test.vr.d.ts +1 -0
  767. package/dist/types/components/q2-currency/test/q2-currency-test.vr.d.ts +1 -0
  768. package/dist/types/components/q2-data-table/test/q2-data-table-test.vr.d.ts +1 -0
  769. package/dist/types/components/q2-editable-field/test/q2-editable-field-test.vr.d.ts +1 -0
  770. package/dist/types/components/q2-file-picker/test/q2-file-picker-test.vr.d.ts +1 -0
  771. package/dist/types/components/q2-formatted-text/test/q2-formatted-text-test.vr.d.ts +1 -0
  772. package/dist/types/components/q2-grid/q2-grid.d.ts +10 -0
  773. package/dist/types/components/q2-icon/test/q2-icon-test.vr.d.ts +1 -0
  774. package/dist/types/components/q2-input/test/q2-input-test.vr.d.ts +1 -0
  775. package/dist/types/components/q2-legend/q2-legend.d.ts +2 -0
  776. package/dist/types/components/q2-link/test/q2-link-test.vr.d.ts +1 -0
  777. package/dist/types/components/q2-list/test/q2-list-test.vr.d.ts +1 -0
  778. package/dist/types/components/q2-message/test/q2-message-test.vr.d.ts +1 -0
  779. package/dist/types/components/q2-meter/test/q2-meter-test.vr.d.ts +1 -0
  780. package/dist/types/components/q2-modal/test/q2-modal-test.vr.d.ts +1 -0
  781. package/dist/types/components/q2-otp/q2-otp.d.ts +159 -0
  782. package/dist/types/components/q2-pagination/test/q2-pagination-test.vr.d.ts +1 -0
  783. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -2
  784. package/dist/types/components/q2-pill/test/q2-pill-test.vr.d.ts +1 -0
  785. package/dist/types/components/q2-radio/q2-radio.d.ts +1 -1
  786. package/dist/types/components/q2-radio/test/q2-radio-test.vr.d.ts +1 -0
  787. package/dist/types/components/q2-radio-group/test/q2-radio-group-test.vr.d.ts +1 -0
  788. package/dist/types/components/q2-section/test/q2-section-test.vr.d.ts +1 -0
  789. package/dist/types/components/q2-select/test/q2-select-test.vr.d.ts +1 -0
  790. package/dist/types/components/q2-stepper/test/q2-stepper-test.vr.d.ts +1 -0
  791. package/dist/types/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.d.ts +1 -0
  792. package/dist/types/components/q2-tab-container/test/q2-tab-container-test.vr.d.ts +1 -0
  793. package/dist/types/components/q2-tag/test/q2-tag-test.vr.d.ts +1 -0
  794. package/dist/types/components/q2-textarea/test/q2-textarea-test.vr.d.ts +1 -0
  795. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  796. package/dist/types/components/q2-tooltip/test/q2-tooltip-test.vr.d.ts +1 -0
  797. package/dist/types/components.d.ts +306 -2
  798. package/dist/types/utils/component.d.ts +1 -1
  799. package/dist/types/utils/test/vr-helpers.d.ts +14 -0
  800. package/package.json +12 -3
  801. package/dist/cjs/component-DRAntnCA.js.map +0 -1
  802. package/dist/cjs/index-YvKoRT-t.js.map +0 -1
  803. package/dist/esm/component-DVxzK3WH.js.map +0 -1
  804. package/dist/esm/index-C4PILj1_.js.map +0 -1
  805. package/dist/q2-tecton-elements/component-DVxzK3WH.js +0 -40
  806. package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +0 -1
  807. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { r as e, c as t, h as i, F as n, H as s, g as r } from "./index-CGkHOjh1.js";
2
2
 
3
- import { c as o, l as a, d as l, o as c, i as f } from "./index-C4PILj1_.js";
3
+ import { c as o, l as a, d as l, o as c, i as u, g as f } from "./index-C5gj0T_3.js";
4
4
 
5
- import { m as u } from "./mirror-emit-DUjY_ucm.js";
5
+ import { m as d } from "./mirror-emit-DUjY_ucm.js";
6
6
 
7
- import { h as d, f as p } from "./component-DVxzK3WH.js";
7
+ import { h as p, f as h } from "./component-DaQM9u3s.js";
8
8
 
9
9
  /**
10
10
  * SSR Window 5.0.1
@@ -30,7 +30,7 @@ function extend$1(e = {}, t = {}) {
30
30
  }));
31
31
  }
32
32
 
33
- const h = {
33
+ const g = {
34
34
  body: {},
35
35
  addEventListener() {},
36
36
  removeEventListener() {},
@@ -83,12 +83,12 @@ const h = {
83
83
 
84
84
  function getDocument() {
85
85
  const e = typeof document !== "undefined" ? document : {};
86
- extend$1(e, h);
86
+ extend$1(e, g);
87
87
  return e;
88
88
  }
89
89
 
90
- const g = {
91
- document: h,
90
+ const v = {
91
+ document: g,
92
92
  navigator: {
93
93
  userAgent: ""
94
94
  },
@@ -145,7 +145,7 @@ const g = {
145
145
 
146
146
  function getWindow() {
147
147
  const e = typeof window !== "undefined" ? window : {};
148
- extend$1(e, g);
148
+ extend$1(e, v);
149
149
  return e;
150
150
  }
151
151
 
@@ -295,20 +295,20 @@ function animateCSSModeScroll({swiper: e, targetPosition: t, side: i}) {
295
295
  }
296
296
  const l = Math.max(Math.min((o - r) / a, 1), 0);
297
297
  const c = .5 - Math.cos(l * Math.PI) / 2;
298
- let f = s + c * (t - s);
299
- if (isOutOfBound(f, t)) {
300
- f = t;
298
+ let u = s + c * (t - s);
299
+ if (isOutOfBound(u, t)) {
300
+ u = t;
301
301
  }
302
302
  e.wrapperEl.scrollTo({
303
- [i]: f
303
+ [i]: u
304
304
  });
305
- if (isOutOfBound(f, t)) {
305
+ if (isOutOfBound(u, t)) {
306
306
  e.wrapperEl.style.overflow = "hidden";
307
307
  e.wrapperEl.style.scrollSnapType = "";
308
308
  setTimeout((() => {
309
309
  e.wrapperEl.style.overflow = "";
310
310
  e.wrapperEl.scrollTo({
311
- [i]: f
311
+ [i]: u
312
312
  });
313
313
  }));
314
314
  n.cancelAnimationFrame(e.cssModeFrameID);
@@ -437,7 +437,7 @@ function elementOuterSize(e, t, i) {
437
437
  }
438
438
  }
439
439
 
440
- let v;
440
+ let m;
441
441
 
442
442
  function calcSupport() {
443
443
  const e = getWindow();
@@ -449,13 +449,13 @@ function calcSupport() {
449
449
  }
450
450
 
451
451
  function getSupport() {
452
- if (!v) {
453
- v = calcSupport();
452
+ if (!m) {
453
+ m = calcSupport();
454
454
  }
455
- return v;
455
+ return m;
456
456
  }
457
457
 
458
- let m;
458
+ let w;
459
459
 
460
460
  function calcDevice({userAgent: e} = {}) {
461
461
  const t = getSupport();
@@ -471,8 +471,8 @@ function calcDevice({userAgent: e} = {}) {
471
471
  const l = s.match(/(Android);?[\s\/]+([\d.]+)?/);
472
472
  // eslint-disable-line
473
473
  let c = s.match(/(iPad)(?!\1).*OS\s([\d_]+)/);
474
- const f = s.match(/(iPod)(.*OS\s([\d_]+))?/);
475
- const u = !c && s.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
474
+ const u = s.match(/(iPod)(.*OS\s([\d_]+))?/);
475
+ const f = !c && s.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
476
476
  const d = n === "Win32";
477
477
  let p = n === "MacIntel";
478
478
  // iPadOs 13 fix
@@ -487,7 +487,7 @@ function calcDevice({userAgent: e} = {}) {
487
487
  r.os = "android";
488
488
  r.android = true;
489
489
  }
490
- if (c || u || f) {
490
+ if (c || f || u) {
491
491
  r.os = "ios";
492
492
  r.ios = true;
493
493
  }
@@ -496,13 +496,13 @@ function calcDevice({userAgent: e} = {}) {
496
496
  }
497
497
 
498
498
  function getDevice(e = {}) {
499
- if (!m) {
500
- m = calcDevice(e);
499
+ if (!w) {
500
+ w = calcDevice(e);
501
501
  }
502
- return m;
502
+ return w;
503
503
  }
504
504
 
505
- let w;
505
+ let b;
506
506
 
507
507
  function calcBrowser() {
508
508
  const e = getWindow();
@@ -531,10 +531,10 @@ function calcBrowser() {
531
531
  }
532
532
 
533
533
  function getBrowser() {
534
- if (!w) {
535
- w = calcBrowser();
534
+ if (!b) {
535
+ b = calcBrowser();
536
536
  }
537
- return w;
537
+ return b;
538
538
  }
539
539
 
540
540
  function Resize({swiper: e, on: t, emit: i}) {
@@ -655,7 +655,7 @@ function Observer({swiper: e, extendParams: t, on: i, emit: n}) {
655
655
  i("destroy", destroy);
656
656
  }
657
657
 
658
- /* eslint-disable no-underscore-dangle */ var b = {
658
+ /* eslint-disable no-underscore-dangle */ var y = {
659
659
  on(e, t, i) {
660
660
  const n = this;
661
661
  if (!n.eventsListeners || n.destroyed) return n;
@@ -793,8 +793,8 @@ function updateSlides() {
793
793
  const a = o ? e.virtual.slides.length : e.slides.length;
794
794
  const l = elementChildren(n, `.${e.params.slideClass}, swiper-slide`);
795
795
  const c = o ? e.virtual.slides.length : l.length;
796
- let f = [];
797
- const u = [];
796
+ let u = [];
797
+ const f = [];
798
798
  const d = [];
799
799
  let p = t.slidesOffsetBefore;
800
800
  if (typeof p === "function") {
@@ -921,12 +921,12 @@ function updateSlides() {
921
921
  if (i === 0) b = b - m / 2 - w;
922
922
  if (Math.abs(b) < 1 / 1e3) b = 0;
923
923
  if (t.roundLengths) b = Math.floor(b);
924
- if (x % t.slidesPerGroup === 0) f.push(b);
925
- u.push(b);
924
+ if (x % t.slidesPerGroup === 0) u.push(b);
925
+ f.push(b);
926
926
  } else {
927
927
  if (t.roundLengths) b = Math.floor(b);
928
- if ((x - Math.min(e.params.slidesPerGroupSkip, x)) % e.params.slidesPerGroup === 0) f.push(b);
929
- u.push(b);
928
+ if ((x - Math.min(e.params.slidesPerGroupSkip, x)) % e.params.slidesPerGroup === 0) u.push(b);
929
+ f.push(b);
930
930
  b = b + C + w;
931
931
  }
932
932
  e.virtualSize += C + w;
@@ -941,7 +941,7 @@ function updateSlides() {
941
941
  i.style[e.getDirectionLabel("width")] = `${e.virtualSize + w}px`;
942
942
  }
943
943
  if (S) {
944
- e.grid.updateWrapperSize(C, f);
944
+ e.grid.updateWrapperSize(C, u);
945
945
  }
946
946
  // Remove last grid elements depending on width
947
947
  if (!t.centeredSlides) {
@@ -950,7 +950,7 @@ function updateSlides() {
950
950
  const n = t.snapToSlideEdge && !t.loop && (t.slidesPerView === "auto" || i);
951
951
  // Calculate the last allowed snap index when snapToSlideEdge is enabled
952
952
  // This ensures minimum slides are visible at the end
953
- let s = f.length;
953
+ let s = u.length;
954
954
  if (n) {
955
955
  let e;
956
956
  if (t.slidesPerView === "auto") {
@@ -971,24 +971,24 @@ function updateSlides() {
971
971
  s = Math.max(c - e, 0);
972
972
  }
973
973
  const r = [];
974
- for (let i = 0; i < f.length; i += 1) {
975
- let o = f[i];
974
+ for (let i = 0; i < u.length; i += 1) {
975
+ let o = u[i];
976
976
  if (t.roundLengths) o = Math.floor(o);
977
977
  if (n) {
978
978
  // When snapToSlideEdge is enabled, only keep snaps up to lastAllowedSnapIndex
979
979
  if (i <= s) {
980
980
  r.push(o);
981
981
  }
982
- } else if (f[i] <= e.virtualSize - m) {
982
+ } else if (u[i] <= e.virtualSize - m) {
983
983
  // When snapToSlideEdge is disabled, keep snaps that fit within scrollable area
984
984
  r.push(o);
985
985
  }
986
986
  }
987
- f = r;
988
- if (Math.floor(e.virtualSize - m) - Math.floor(f[f.length - 1]) > 1) {
987
+ u = r;
988
+ if (Math.floor(e.virtualSize - m) - Math.floor(u[u.length - 1]) > 1) {
989
989
  // Only add edge-aligned snap if snapToSlideEdge is not enabled
990
990
  if (!n) {
991
- f.push(e.virtualSize - m);
991
+ u.push(e.virtualSize - m);
992
992
  }
993
993
  }
994
994
  }
@@ -998,18 +998,18 @@ function updateSlides() {
998
998
  const n = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / t.slidesPerGroup);
999
999
  const s = i * t.slidesPerGroup;
1000
1000
  for (let e = 0; e < n; e += 1) {
1001
- f.push(f[f.length - 1] + s);
1001
+ u.push(u[u.length - 1] + s);
1002
1002
  }
1003
1003
  }
1004
1004
  for (let n = 0; n < e.virtual.slidesBefore + e.virtual.slidesAfter; n += 1) {
1005
1005
  if (t.slidesPerGroup === 1) {
1006
- f.push(f[f.length - 1] + i);
1006
+ u.push(u[u.length - 1] + i);
1007
1007
  }
1008
- u.push(u[u.length - 1] + i);
1008
+ f.push(f[f.length - 1] + i);
1009
1009
  e.virtualSize += i;
1010
1010
  }
1011
1011
  }
1012
- if (f.length === 0) f = [ 0 ];
1012
+ if (u.length === 0) u = [ 0 ];
1013
1013
  if (w !== 0) {
1014
1014
  const i = e.isHorizontal() && s ? "marginLeft" : e.getDirectionLabel("marginRight");
1015
1015
  l.filter(((e, i) => {
@@ -1029,7 +1029,7 @@ function updateSlides() {
1029
1029
  }));
1030
1030
  e -= w;
1031
1031
  const t = e > m ? e - m : 0;
1032
- f = f.map((e => {
1032
+ u = u.map((e => {
1033
1033
  if (e <= 0) return -p;
1034
1034
  if (e > t) return t + h;
1035
1035
  return e;
@@ -1043,22 +1043,22 @@ function updateSlides() {
1043
1043
  e -= w;
1044
1044
  if (e < m) {
1045
1045
  const t = (m - e) / 2;
1046
- f.forEach(((e, i) => {
1047
- f[i] = e - t;
1048
- }));
1049
1046
  u.forEach(((e, i) => {
1050
- u[i] = e + t;
1047
+ u[i] = e - t;
1048
+ }));
1049
+ f.forEach(((e, i) => {
1050
+ f[i] = e + t;
1051
1051
  }));
1052
1052
  }
1053
1053
  }
1054
1054
  Object.assign(e, {
1055
1055
  slides: l,
1056
- snapGrid: f,
1057
- slidesGrid: u,
1056
+ snapGrid: u,
1057
+ slidesGrid: f,
1058
1058
  slidesSizesGrid: d
1059
1059
  });
1060
1060
  if (t.centeredSlides && t.cssMode && !t.centeredSlidesBounds) {
1061
- setCSSProperty(i, "--swiper-centered-offset-before", `${-f[0]}px`);
1061
+ setCSSProperty(i, "--swiper-centered-offset-before", `${-u[0]}px`);
1062
1062
  setCSSProperty(i, "--swiper-centered-offset-after", `${e.size / 2 - d[d.length - 1] / 2}px`);
1063
1063
  const t = -e.snapGrid[0];
1064
1064
  const n = -e.slidesGrid[0];
@@ -1068,11 +1068,11 @@ function updateSlides() {
1068
1068
  if (c !== a) {
1069
1069
  e.emit("slidesLengthChange");
1070
1070
  }
1071
- if (f.length !== g) {
1071
+ if (u.length !== g) {
1072
1072
  if (e.params.watchOverflow) e.checkOverflow();
1073
1073
  e.emit("snapGridLengthChange");
1074
1074
  }
1075
- if (u.length !== v) {
1075
+ if (f.length !== v) {
1076
1076
  e.emit("slidesGridLengthChange");
1077
1077
  }
1078
1078
  if (t.watchSlidesProgress) {
@@ -1174,8 +1174,8 @@ function updateSlidesProgress(e = this && this.translate || 0) {
1174
1174
  if (i.cssMode && i.centeredSlides) {
1175
1175
  c -= n[0].swiperSlideOffset;
1176
1176
  }
1177
- const f = (o + (i.centeredSlides ? t.minTranslate() : 0) - c) / (l.swiperSlideSize + a);
1178
- const u = (o - r[0] + (i.centeredSlides ? t.minTranslate() : 0) - c) / (l.swiperSlideSize + a);
1177
+ const u = (o + (i.centeredSlides ? t.minTranslate() : 0) - c) / (l.swiperSlideSize + a);
1178
+ const f = (o - r[0] + (i.centeredSlides ? t.minTranslate() : 0) - c) / (l.swiperSlideSize + a);
1179
1179
  const d = -(o - c);
1180
1180
  const p = d + t.slidesSizesGrid[e];
1181
1181
  const h = d >= 0 && d <= t.size - t.slidesSizesGrid[e];
@@ -1186,8 +1186,8 @@ function updateSlidesProgress(e = this && this.translate || 0) {
1186
1186
  }
1187
1187
  toggleSlideClasses$1(l, g, i.slideVisibleClass);
1188
1188
  toggleSlideClasses$1(l, h, i.slideFullyVisibleClass);
1189
- l.progress = s ? -f : f;
1190
- l.originalProgress = s ? -u : u;
1189
+ l.progress = s ? -u : u;
1190
+ l.originalProgress = s ? -f : f;
1191
1191
  }
1192
1192
  }
1193
1193
 
@@ -1429,37 +1429,37 @@ function updateActiveIndex(e) {
1429
1429
  t.realIndex = getVirtualRealIndex(l);
1430
1430
  return;
1431
1431
  }
1432
- const f = t.grid && s.grid && s.grid.rows > 1;
1432
+ const u = t.grid && s.grid && s.grid.rows > 1;
1433
1433
  // Get real index
1434
- let u;
1434
+ let f;
1435
1435
  if (t.virtual && s.virtual.enabled) {
1436
1436
  if (s.loop) {
1437
- u = getVirtualRealIndex(l);
1437
+ f = getVirtualRealIndex(l);
1438
1438
  } else {
1439
- u = l;
1439
+ f = l;
1440
1440
  }
1441
- } else if (f) {
1441
+ } else if (u) {
1442
1442
  const e = t.slides.find((e => e.column === l));
1443
1443
  let i = parseInt(e.getAttribute("data-swiper-slide-index"), 10);
1444
1444
  if (Number.isNaN(i)) {
1445
1445
  i = Math.max(t.slides.indexOf(e), 0);
1446
1446
  }
1447
- u = Math.floor(i / s.grid.rows);
1447
+ f = Math.floor(i / s.grid.rows);
1448
1448
  } else if (t.slides[l]) {
1449
1449
  const e = t.slides[l].getAttribute("data-swiper-slide-index");
1450
1450
  if (e) {
1451
- u = parseInt(e, 10);
1451
+ f = parseInt(e, 10);
1452
1452
  } else {
1453
- u = l;
1453
+ f = l;
1454
1454
  }
1455
1455
  } else {
1456
- u = l;
1456
+ f = l;
1457
1457
  }
1458
1458
  Object.assign(t, {
1459
1459
  previousSnapIndex: a,
1460
1460
  snapIndex: c,
1461
1461
  previousRealIndex: o,
1462
- realIndex: u,
1462
+ realIndex: f,
1463
1463
  previousIndex: r,
1464
1464
  activeIndex: l
1465
1465
  });
@@ -1469,7 +1469,7 @@ function updateActiveIndex(e) {
1469
1469
  t.emit("activeIndexChange");
1470
1470
  t.emit("snapIndexChange");
1471
1471
  if (t.initialized || t.params.runCallbacksOnInit) {
1472
- if (o !== u) {
1472
+ if (o !== f) {
1473
1473
  t.emit("realIndexChange");
1474
1474
  }
1475
1475
  t.emit("slideChange");
@@ -1515,7 +1515,7 @@ function updateClickedSlide(e, t) {
1515
1515
  }
1516
1516
  }
1517
1517
 
1518
- var y = {
1518
+ var x = {
1519
1519
  updateSize,
1520
1520
  updateSlides,
1521
1521
  updateAutoHeight,
@@ -1570,14 +1570,14 @@ function setTranslate(e, t) {
1570
1570
  r.style.transform = `translate3d(${a}px, ${l}px, ${c}px)`;
1571
1571
  }
1572
1572
  // Check if we need to update progress
1573
- let f;
1574
- const u = i.maxTranslate() - i.minTranslate();
1575
- if (u === 0) {
1576
- f = 0;
1573
+ let u;
1574
+ const f = i.maxTranslate() - i.minTranslate();
1575
+ if (f === 0) {
1576
+ u = 0;
1577
1577
  } else {
1578
- f = (e - i.minTranslate()) / u;
1578
+ u = (e - i.minTranslate()) / f;
1579
1579
  }
1580
- if (f !== o) {
1580
+ if (u !== o) {
1581
1581
  i.updateProgress(e);
1582
1582
  }
1583
1583
  i.emit("setTranslate", i.translate, t);
@@ -1599,25 +1599,25 @@ function translateTo(e = 0, t = this.params.speed, i = true, n = true, s) {
1599
1599
  }
1600
1600
  const l = r.minTranslate();
1601
1601
  const c = r.maxTranslate();
1602
- let f;
1603
- if (n && e > l) f = l; else if (n && e < c) f = c; else f = e;
1602
+ let u;
1603
+ if (n && e > l) u = l; else if (n && e < c) u = c; else u = e;
1604
1604
  // Update progress
1605
- r.updateProgress(f);
1605
+ r.updateProgress(u);
1606
1606
  if (o.cssMode) {
1607
1607
  const e = r.isHorizontal();
1608
1608
  if (t === 0) {
1609
- a[e ? "scrollLeft" : "scrollTop"] = -f;
1609
+ a[e ? "scrollLeft" : "scrollTop"] = -u;
1610
1610
  } else {
1611
1611
  if (!r.support.smoothScroll) {
1612
1612
  animateCSSModeScroll({
1613
1613
  swiper: r,
1614
- targetPosition: -f,
1614
+ targetPosition: -u,
1615
1615
  side: e ? "left" : "top"
1616
1616
  });
1617
1617
  return true;
1618
1618
  }
1619
1619
  a.scrollTo({
1620
- [e ? "left" : "top"]: -f,
1620
+ [e ? "left" : "top"]: -u,
1621
1621
  behavior: "smooth"
1622
1622
  });
1623
1623
  }
@@ -1625,14 +1625,14 @@ function translateTo(e = 0, t = this.params.speed, i = true, n = true, s) {
1625
1625
  }
1626
1626
  if (t === 0) {
1627
1627
  r.setTransition(0);
1628
- r.setTranslate(f);
1628
+ r.setTranslate(u);
1629
1629
  if (i) {
1630
1630
  r.emit("beforeTransitionStart", t, s);
1631
1631
  r.emit("transitionEnd");
1632
1632
  }
1633
1633
  } else {
1634
1634
  r.setTransition(t);
1635
- r.setTranslate(f);
1635
+ r.setTranslate(u);
1636
1636
  if (i) {
1637
1637
  r.emit("beforeTransitionStart", t, s);
1638
1638
  r.emit("transitionStart");
@@ -1658,7 +1658,7 @@ function translateTo(e = 0, t = this.params.speed, i = true, n = true, s) {
1658
1658
  return true;
1659
1659
  }
1660
1660
 
1661
- var x = {
1661
+ var S = {
1662
1662
  getTranslate: getSwiperTranslate,
1663
1663
  setTranslate,
1664
1664
  minTranslate,
@@ -1723,7 +1723,7 @@ function transitionEnd(e = true, t) {
1723
1723
  });
1724
1724
  }
1725
1725
 
1726
- var S = {
1726
+ var C = {
1727
1727
  setTransition,
1728
1728
  transitionStart,
1729
1729
  transitionEnd
@@ -1736,7 +1736,7 @@ function slideTo(e = 0, t, i = true, n, s) {
1736
1736
  const r = this;
1737
1737
  let o = e;
1738
1738
  if (o < 0) o = 0;
1739
- const {params: a, snapGrid: l, slidesGrid: c, previousIndex: f, activeIndex: u, rtlTranslate: d, wrapperEl: p, enabled: h} = r;
1739
+ const {params: a, snapGrid: l, slidesGrid: c, previousIndex: u, activeIndex: f, rtlTranslate: d, wrapperEl: p, enabled: h} = r;
1740
1740
  if (!h && !n && !s || r.destroyed || r.animating && a.preventInteractionOnTransition) {
1741
1741
  return false;
1742
1742
  }
@@ -1765,23 +1765,23 @@ function slideTo(e = 0, t, i = true, n, s) {
1765
1765
  }
1766
1766
  }
1767
1767
  // Directions locks
1768
- if (r.initialized && o !== u) {
1768
+ if (r.initialized && o !== f) {
1769
1769
  if (!r.allowSlideNext && (d ? m > r.translate && m > r.minTranslate() : m < r.translate && m < r.minTranslate())) {
1770
1770
  return false;
1771
1771
  }
1772
1772
  if (!r.allowSlidePrev && m > r.translate && m > r.maxTranslate()) {
1773
- if ((u || 0) !== o) {
1773
+ if ((f || 0) !== o) {
1774
1774
  return false;
1775
1775
  }
1776
1776
  }
1777
1777
  }
1778
- if (o !== (f || 0) && i) {
1778
+ if (o !== (u || 0) && i) {
1779
1779
  r.emit("beforeSlideChangeStart");
1780
1780
  }
1781
1781
  // Update progress
1782
1782
  r.updateProgress(m);
1783
1783
  let w;
1784
- if (o > u) w = "next"; else if (o < u) w = "prev"; else w = "reset";
1784
+ if (o > f) w = "next"; else if (o < f) w = "prev"; else w = "reset";
1785
1785
  // initial virtual
1786
1786
  const b = r.virtual && r.params.virtual.enabled;
1787
1787
  const y = b && s;
@@ -1897,23 +1897,23 @@ function slideToLoop(e = 0, t, i = true, n) {
1897
1897
  const t = r ? Math.ceil(s.slides.length / s.params.grid.rows) : s.slides.length;
1898
1898
  const {centeredSlides: i, slidesOffsetBefore: a, slidesOffsetAfter: l} = s.params;
1899
1899
  const c = i || !!a || !!l;
1900
- let f = s.params.slidesPerView;
1901
- if (f === "auto") {
1902
- f = s.slidesPerViewDynamic();
1900
+ let u = s.params.slidesPerView;
1901
+ if (u === "auto") {
1902
+ u = s.slidesPerViewDynamic();
1903
1903
  } else {
1904
- f = Math.ceil(parseFloat(s.params.slidesPerView, 10));
1905
- if (c && f % 2 === 0) {
1906
- f = f + 1;
1904
+ u = Math.ceil(parseFloat(s.params.slidesPerView, 10));
1905
+ if (c && u % 2 === 0) {
1906
+ u = u + 1;
1907
1907
  }
1908
1908
  }
1909
- let u = t - e < f;
1909
+ let f = t - e < u;
1910
1910
  if (c) {
1911
- u = u || e < Math.ceil(f / 2);
1911
+ f = f || e < Math.ceil(u / 2);
1912
1912
  }
1913
1913
  if (n && c && s.params.slidesPerView !== "auto" && !r) {
1914
- u = false;
1914
+ f = false;
1915
1915
  }
1916
- if (u) {
1916
+ if (f) {
1917
1917
  const i = c ? e < s.activeIndex ? "prev" : "next" : e - s.activeIndex - 1 < s.params.slidesPerView ? "next" : "prev";
1918
1918
  s.loopFix({
1919
1919
  direction: i,
@@ -1976,21 +1976,21 @@ function slideToLoop(e = 0, t, i = true, n) {
1976
1976
  if (typeof e === "undefined") {
1977
1977
  e = n.params.speed;
1978
1978
  }
1979
- const f = n.virtual && s.virtual.enabled;
1979
+ const u = n.virtual && s.virtual.enabled;
1980
1980
  if (s.loop) {
1981
- if (c && !f && s.loopPreventsSliding) return false;
1981
+ if (c && !u && s.loopPreventsSliding) return false;
1982
1982
  n.loopFix({
1983
1983
  direction: "prev"
1984
1984
  });
1985
1985
  // eslint-disable-next-line
1986
1986
  n._clientLeft = n.wrapperEl.clientLeft;
1987
1987
  }
1988
- const u = a ? n.translate : -n.translate;
1988
+ const f = a ? n.translate : -n.translate;
1989
1989
  function normalize(e) {
1990
1990
  if (e < 0) return -Math.floor(Math.abs(e));
1991
1991
  return Math.floor(e);
1992
1992
  }
1993
- const d = normalize(u);
1993
+ const d = normalize(f);
1994
1994
  const p = r.map((e => normalize(e)));
1995
1995
  const h = s.freeMode && s.freeMode.enabled;
1996
1996
  let g = r[p.indexOf(d) - 1];
@@ -2096,7 +2096,7 @@ function slideToClickedSlide() {
2096
2096
  }
2097
2097
  }
2098
2098
 
2099
- var C = {
2099
+ var T = {
2100
2100
  slideTo,
2101
2101
  slideToLoop,
2102
2102
  slideNext,
@@ -2174,7 +2174,7 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2174
2174
  const l = this;
2175
2175
  if (!l.params.loop) return;
2176
2176
  l.emit("beforeLoopFix");
2177
- const {slides: c, allowSlidePrev: f, allowSlideNext: u, slidesEl: d, params: p} = l;
2177
+ const {slides: c, allowSlidePrev: u, allowSlideNext: f, slidesEl: d, params: p} = l;
2178
2178
  const {centeredSlides: h, slidesOffsetBefore: g, slidesOffsetAfter: v, initialSlide: m} = p;
2179
2179
  const w = h || !!g || !!v;
2180
2180
  l.allowSlidePrev = true;
@@ -2189,8 +2189,8 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2189
2189
  l.slideTo(l.virtual.slidesBefore, 0, false, true);
2190
2190
  }
2191
2191
  }
2192
- l.allowSlidePrev = f;
2193
- l.allowSlideNext = u;
2192
+ l.allowSlidePrev = u;
2193
+ l.allowSlideNext = f;
2194
2194
  l.emit("loopFix");
2195
2195
  return;
2196
2196
  }
@@ -2218,27 +2218,27 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2218
2218
  }
2219
2219
  const C = [];
2220
2220
  const T = [];
2221
- const M = S ? Math.ceil(c.length / p.grid.rows) : c.length;
2222
- const k = r && M - m < b && !w;
2223
- let E = k ? m : l.activeIndex;
2221
+ const q = S ? Math.ceil(c.length / p.grid.rows) : c.length;
2222
+ const M = r && q - m < b && !w;
2223
+ let k = M ? m : l.activeIndex;
2224
2224
  if (typeof s === "undefined") {
2225
2225
  s = l.getSlideIndex(c.find((e => e.classList.contains(p.slideActiveClass))));
2226
2226
  } else {
2227
- E = s;
2227
+ k = s;
2228
2228
  }
2229
- const P = i === "next" || !i;
2230
- const q = i === "prev" || !i;
2229
+ const E = i === "next" || !i;
2230
+ const P = i === "prev" || !i;
2231
2231
  let O = 0;
2232
2232
  let I = 0;
2233
- const $ = S ? c[s].column : s;
2234
- const A = $ + (w && typeof n === "undefined" ? -b / 2 + .5 : 0);
2233
+ const A = S ? c[s].column : s;
2234
+ const F = A + (w && typeof n === "undefined" ? -b / 2 + .5 : 0);
2235
2235
  // prepend last slides before start
2236
- if (A < x) {
2237
- O = Math.max(x - A, y);
2238
- for (let e = 0; e < x - A; e += 1) {
2239
- const t = e - Math.floor(e / M) * M;
2236
+ if (F < x) {
2237
+ O = Math.max(x - F, y);
2238
+ for (let e = 0; e < x - F; e += 1) {
2239
+ const t = e - Math.floor(e / q) * q;
2240
2240
  if (S) {
2241
- const e = M - t - 1;
2241
+ const e = q - t - 1;
2242
2242
  for (let t = c.length - 1; t >= 0; t -= 1) {
2243
2243
  if (c[t].column === e) C.push(t);
2244
2244
  }
@@ -2246,16 +2246,16 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2246
2246
  // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);
2247
2247
  // });
2248
2248
  } else {
2249
- C.push(M - t - 1);
2249
+ C.push(q - t - 1);
2250
2250
  }
2251
2251
  }
2252
- } else if (A + b > M - x) {
2253
- I = Math.max(A - (M - x * 2), y);
2254
- if (k) {
2255
- I = Math.max(I, b - M + m + 1);
2252
+ } else if (F + b > q - x) {
2253
+ I = Math.max(F - (q - x * 2), y);
2254
+ if (M) {
2255
+ I = Math.max(I, b - q + m + 1);
2256
2256
  }
2257
2257
  for (let e = 0; e < I; e += 1) {
2258
- const t = e - Math.floor(e / M) * M;
2258
+ const t = e - Math.floor(e / q) * q;
2259
2259
  if (S) {
2260
2260
  c.forEach(((e, i) => {
2261
2261
  if (e.column === t) T.push(i);
@@ -2277,14 +2277,14 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2277
2277
  C.splice(C.indexOf(s), 1);
2278
2278
  }
2279
2279
  }
2280
- if (q) {
2280
+ if (P) {
2281
2281
  C.forEach((e => {
2282
2282
  c[e].swiperLoopMoveDOM = true;
2283
2283
  d.prepend(c[e]);
2284
2284
  c[e].swiperLoopMoveDOM = false;
2285
2285
  }));
2286
2286
  }
2287
- if (P) {
2287
+ if (E) {
2288
2288
  T.forEach((e => {
2289
2289
  c[e].swiperLoopMoveDOM = true;
2290
2290
  d.append(c[e]);
@@ -2294,7 +2294,7 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2294
2294
  l.recalcSlides();
2295
2295
  if (p.slidesPerView === "auto") {
2296
2296
  l.updateSlides();
2297
- } else if (S && (C.length > 0 && q || T.length > 0 && P)) {
2297
+ } else if (S && (C.length > 0 && P || T.length > 0 && E)) {
2298
2298
  l.slides.forEach(((e, t) => {
2299
2299
  l.grid.updateSlide(t, e, l.slides);
2300
2300
  }));
@@ -2303,15 +2303,15 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2303
2303
  l.updateSlidesOffset();
2304
2304
  }
2305
2305
  if (t) {
2306
- if (C.length > 0 && q) {
2306
+ if (C.length > 0 && P) {
2307
2307
  if (typeof e === "undefined") {
2308
- const e = l.slidesGrid[E];
2309
- const t = l.slidesGrid[E + O];
2308
+ const e = l.slidesGrid[k];
2309
+ const t = l.slidesGrid[k + O];
2310
2310
  const i = t - e;
2311
2311
  if (a) {
2312
2312
  l.setTranslate(l.translate - i);
2313
2313
  } else {
2314
- l.slideTo(E + Math.ceil(O), 0, false, true);
2314
+ l.slideTo(k + Math.ceil(O), 0, false, true);
2315
2315
  if (n) {
2316
2316
  l.touchEventsData.startTranslate = l.touchEventsData.startTranslate - i;
2317
2317
  l.touchEventsData.currentTranslate = l.touchEventsData.currentTranslate - i;
@@ -2324,15 +2324,15 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2324
2324
  l.touchEventsData.currentTranslate = l.translate;
2325
2325
  }
2326
2326
  }
2327
- } else if (T.length > 0 && P) {
2327
+ } else if (T.length > 0 && E) {
2328
2328
  if (typeof e === "undefined") {
2329
- const e = l.slidesGrid[E];
2330
- const t = l.slidesGrid[E - I];
2329
+ const e = l.slidesGrid[k];
2330
+ const t = l.slidesGrid[k - I];
2331
2331
  const i = t - e;
2332
2332
  if (a) {
2333
2333
  l.setTranslate(l.translate - i);
2334
2334
  } else {
2335
- l.slideTo(E - I, 0, false, true);
2335
+ l.slideTo(k - I, 0, false, true);
2336
2336
  if (n) {
2337
2337
  l.touchEventsData.startTranslate = l.touchEventsData.startTranslate - i;
2338
2338
  l.touchEventsData.currentTranslate = l.touchEventsData.currentTranslate - i;
@@ -2344,8 +2344,8 @@ function loopFix({slideRealIndex: e, slideTo: t = true, direction: i, setTransla
2344
2344
  }
2345
2345
  }
2346
2346
  }
2347
- l.allowSlidePrev = f;
2348
- l.allowSlideNext = u;
2347
+ l.allowSlidePrev = u;
2348
+ l.allowSlideNext = f;
2349
2349
  if (l.controller && l.controller.control && !o) {
2350
2350
  const r = {
2351
2351
  slideRealIndex: e,
@@ -2391,7 +2391,7 @@ function loopDestroy() {
2391
2391
  e.slideTo(e.realIndex, 0);
2392
2392
  }
2393
2393
 
2394
- var T = {
2394
+ var q = {
2395
2395
  loopCreate,
2396
2396
  loopFix,
2397
2397
  loopDestroy
@@ -2501,14 +2501,14 @@ function onTouchStart(e) {
2501
2501
  // change target el for shadow root component
2502
2502
  const c = !!r.noSwipingClass && r.noSwipingClass !== "";
2503
2503
  // eslint-disable-next-line
2504
- const f = n.composedPath ? n.composedPath() : n.path;
2505
- if (c && n.target && n.target.shadowRoot && f) {
2506
- l = f[0];
2504
+ const u = n.composedPath ? n.composedPath() : n.path;
2505
+ if (c && n.target && n.target.shadowRoot && u) {
2506
+ l = u[0];
2507
2507
  }
2508
- const u = r.noSwipingSelector ? r.noSwipingSelector : `.${r.noSwipingClass}`;
2508
+ const f = r.noSwipingSelector ? r.noSwipingSelector : `.${r.noSwipingClass}`;
2509
2509
  const d = !!(n.target && n.target.shadowRoot);
2510
2510
  // use closestElement for shadow root element to get the actual closest for nested shadow root element
2511
- if (r.noSwiping && (d ? closestElement(u, l) : l.closest(u))) {
2511
+ if (r.noSwiping && (d ? closestElement(f, l) : l.closest(f))) {
2512
2512
  t.allowClick = true;
2513
2513
  return;
2514
2514
  }
@@ -2585,11 +2585,11 @@ function onTouchMove(e) {
2585
2585
  }
2586
2586
  return;
2587
2587
  }
2588
- const f = c.pageX;
2589
- const u = c.pageY;
2588
+ const u = c.pageX;
2589
+ const f = c.pageY;
2590
2590
  if (l.preventedByNestedSwiper) {
2591
- r.startX = f;
2592
- r.startY = u;
2591
+ r.startX = u;
2592
+ r.startY = f;
2593
2593
  return;
2594
2594
  }
2595
2595
  if (!i.allowTouchMove) {
@@ -2598,10 +2598,10 @@ function onTouchMove(e) {
2598
2598
  }
2599
2599
  if (n.isTouched) {
2600
2600
  Object.assign(r, {
2601
- startX: f,
2602
- startY: u,
2603
- currentX: f,
2604
- currentY: u
2601
+ startX: u,
2602
+ startY: f,
2603
+ currentX: u,
2604
+ currentY: f
2605
2605
  });
2606
2606
  n.touchStartTime = now();
2607
2607
  }
@@ -2610,14 +2610,14 @@ function onTouchMove(e) {
2610
2610
  if (s.touchReleaseOnEdges && !s.loop) {
2611
2611
  if (i.isVertical()) {
2612
2612
  // Vertical
2613
- if (u < r.startY && i.translate <= i.maxTranslate() || u > r.startY && i.translate >= i.minTranslate()) {
2613
+ if (f < r.startY && i.translate <= i.maxTranslate() || f > r.startY && i.translate >= i.minTranslate()) {
2614
2614
  n.isTouched = false;
2615
2615
  n.isMoved = false;
2616
2616
  return;
2617
2617
  }
2618
- } else if (o && (f > r.startX && -i.translate <= i.maxTranslate() || f < r.startX && -i.translate >= i.minTranslate())) {
2618
+ } else if (o && (u > r.startX && -i.translate <= i.maxTranslate() || u < r.startX && -i.translate >= i.minTranslate())) {
2619
2619
  return;
2620
- } else if (!o && (f < r.startX && i.translate <= i.maxTranslate() || f > r.startX && i.translate >= i.minTranslate())) {
2620
+ } else if (!o && (u < r.startX && i.translate <= i.maxTranslate() || u > r.startX && i.translate >= i.minTranslate())) {
2621
2621
  return;
2622
2622
  }
2623
2623
  }
@@ -2636,8 +2636,8 @@ function onTouchMove(e) {
2636
2636
  }
2637
2637
  r.previousX = r.currentX;
2638
2638
  r.previousY = r.currentY;
2639
- r.currentX = f;
2640
- r.currentY = u;
2639
+ r.currentX = u;
2640
+ r.currentY = f;
2641
2641
  const d = r.currentX - r.startX;
2642
2642
  const p = r.currentY - r.startY;
2643
2643
  if (i.params.threshold && Math.sqrt(d ** 2 + p ** 2) < i.params.threshold) return;
@@ -2720,10 +2720,10 @@ function onTouchMove(e) {
2720
2720
  (new Date).getTime();
2721
2721
  if (s._loopSwapReset !== false && n.isMoved && n.allowThresholdMove && v !== i.touchesDirection && m && w && Math.abs(h) >= 1) {
2722
2722
  Object.assign(r, {
2723
- startX: f,
2724
- startY: u,
2725
- currentX: f,
2726
- currentY: u,
2723
+ startX: u,
2724
+ startY: f,
2725
+ currentX: u,
2726
+ currentY: f,
2727
2727
  startTranslate: n.currentTranslate
2728
2728
  });
2729
2729
  n.loopSwapReset = true;
@@ -2835,8 +2835,8 @@ function onTouchEnd(e) {
2835
2835
  }
2836
2836
  i.pointerId = null;
2837
2837
  i.touchId = null;
2838
- const {params: o, touches: a, rtlTranslate: l, slidesGrid: c, enabled: f} = t;
2839
- if (!f) return;
2838
+ const {params: o, touches: a, rtlTranslate: l, slidesGrid: c, enabled: u} = t;
2839
+ if (!u) return;
2840
2840
  if (!o.simulateTouch && n.pointerType === "mouse") return;
2841
2841
  if (i.allowTouchCallbacks) {
2842
2842
  t.emit("touchEnd", n);
@@ -2855,14 +2855,14 @@ function onTouchEnd(e) {
2855
2855
  t.setGrabCursor(false);
2856
2856
  }
2857
2857
  // Time diff
2858
- const u = now();
2859
- const d = u - i.touchStartTime;
2858
+ const f = now();
2859
+ const d = f - i.touchStartTime;
2860
2860
  // Tap, doubleTap, Click
2861
2861
  if (t.allowClick) {
2862
2862
  const e = n.path || n.composedPath && n.composedPath();
2863
2863
  t.updateClickedSlide(e && e[0] || n.target, e);
2864
2864
  t.emit("tap click", n);
2865
- if (d < 300 && u - i.lastClickTime < 300) {
2865
+ if (d < 300 && f - i.lastClickTime < 300) {
2866
2866
  t.emit("doubleTap doubleClick", n);
2867
2867
  }
2868
2868
  }
@@ -3166,19 +3166,19 @@ function setBreakpoint() {
3166
3166
  const l = [ "window", "container" ].includes(n.breakpointsBase) || !n.breakpointsBase ? e.el : o.querySelector(n.breakpointsBase);
3167
3167
  const c = e.getBreakpoint(r, a, l);
3168
3168
  if (!c || e.currentBreakpoint === c) return;
3169
- const f = c in r ? r[c] : undefined;
3170
- const u = f || e.originalParams;
3169
+ const u = c in r ? r[c] : undefined;
3170
+ const f = u || e.originalParams;
3171
3171
  const d = isGridEnabled(e, n);
3172
- const p = isGridEnabled(e, u);
3172
+ const p = isGridEnabled(e, f);
3173
3173
  const h = e.params.grabCursor;
3174
- const g = u.grabCursor;
3174
+ const g = f.grabCursor;
3175
3175
  const v = n.enabled;
3176
3176
  if (d && !p) {
3177
3177
  s.classList.remove(`${n.containerModifierClass}grid`, `${n.containerModifierClass}grid-column`);
3178
3178
  e.emitContainerClasses();
3179
3179
  } else if (!d && p) {
3180
3180
  s.classList.add(`${n.containerModifierClass}grid`);
3181
- if (u.grid.fill && u.grid.fill === "column" || !u.grid.fill && n.grid.fill === "column") {
3181
+ if (f.grid.fill && f.grid.fill === "column" || !f.grid.fill && n.grid.fill === "column") {
3182
3182
  s.classList.add(`${n.containerModifierClass}grid-column`);
3183
3183
  }
3184
3184
  e.emitContainerClasses();
@@ -3190,9 +3190,9 @@ function setBreakpoint() {
3190
3190
  }
3191
3191
  // Toggle navigation, pagination, scrollbar
3192
3192
  [ "navigation", "pagination", "scrollbar" ].forEach((t => {
3193
- if (typeof u[t] === "undefined") return;
3193
+ if (typeof f[t] === "undefined") return;
3194
3194
  const i = n[t] && n[t].enabled;
3195
- const s = u[t] && u[t].enabled;
3195
+ const s = f[t] && f[t].enabled;
3196
3196
  if (i && !s) {
3197
3197
  e[t].disable();
3198
3198
  }
@@ -3200,13 +3200,13 @@ function setBreakpoint() {
3200
3200
  e[t].enable();
3201
3201
  }
3202
3202
  }));
3203
- const m = u.direction && u.direction !== n.direction;
3204
- const w = n.loop && (u.slidesPerView !== n.slidesPerView || m);
3203
+ const m = f.direction && f.direction !== n.direction;
3204
+ const w = n.loop && (f.slidesPerView !== n.slidesPerView || m);
3205
3205
  const b = n.loop;
3206
3206
  if (m && i) {
3207
3207
  e.changeDirection();
3208
3208
  }
3209
- extend(e.params, u);
3209
+ extend(e.params, f);
3210
3210
  const y = e.params.enabled;
3211
3211
  const x = e.params.loop;
3212
3212
  Object.assign(e, {
@@ -3220,7 +3220,7 @@ function setBreakpoint() {
3220
3220
  e.enable();
3221
3221
  }
3222
3222
  e.currentBreakpoint = c;
3223
- e.emit("_beforeBreakpoint", u);
3223
+ e.emit("_beforeBreakpoint", f);
3224
3224
  if (i) {
3225
3225
  if (w) {
3226
3226
  e.loopDestroy();
@@ -3233,7 +3233,7 @@ function setBreakpoint() {
3233
3233
  e.loopDestroy();
3234
3234
  }
3235
3235
  }
3236
- e.emit("breakpoint", u);
3236
+ e.emit("breakpoint", f);
3237
3237
  }
3238
3238
 
3239
3239
  function getBreakpoint(e, t = "window", i) {
@@ -3358,11 +3358,11 @@ function checkOverflow() {
3358
3358
  }
3359
3359
  }
3360
3360
 
3361
- var q = {
3361
+ var O = {
3362
3362
  checkOverflow
3363
3363
  };
3364
3364
 
3365
- var O = {
3365
+ var I = {
3366
3366
  init: true,
3367
3367
  direction: "horizontal",
3368
3368
  oneWayMovement: false,
@@ -3517,23 +3517,23 @@ function moduleExtendParams(e, t) {
3517
3517
  };
3518
3518
  }
3519
3519
 
3520
- /* eslint no-param-reassign: "off" */ const I = {
3521
- eventsEmitter: b,
3522
- update: y,
3523
- translate: x,
3524
- transition: S,
3525
- slide: C,
3526
- loop: T,
3520
+ /* eslint no-param-reassign: "off" */ const A = {
3521
+ eventsEmitter: y,
3522
+ update: x,
3523
+ translate: S,
3524
+ transition: C,
3525
+ slide: T,
3526
+ loop: q,
3527
3527
  grabCursor: M,
3528
3528
  events: k,
3529
3529
  breakpoints: E,
3530
- checkOverflow: q,
3530
+ checkOverflow: O,
3531
3531
  classes: P
3532
3532
  };
3533
3533
 
3534
- const $ = {};
3534
+ const F = {};
3535
3535
 
3536
- class A {
3536
+ class $ {
3537
3537
  constructor(...e) {
3538
3538
  let t;
3539
3539
  let i;
@@ -3552,7 +3552,7 @@ class A {
3552
3552
  const n = extend({}, i, {
3553
3553
  el: t
3554
3554
  });
3555
- e.push(new A(n));
3555
+ e.push(new $(n));
3556
3556
  }));
3557
3557
  // eslint-disable-next-line no-constructor-return
3558
3558
  return e;
@@ -3588,9 +3588,9 @@ class A {
3588
3588
  });
3589
3589
  }));
3590
3590
  // Extend defaults with modules params
3591
- const o = extend({}, O, r);
3591
+ const o = extend({}, I, r);
3592
3592
  // Extend defaults with passed params
3593
- s.params = extend({}, o, $, i);
3593
+ s.params = extend({}, o, F, i);
3594
3594
  s.originalParams = extend({}, s.params);
3595
3595
  s.passedParams = extend({}, i);
3596
3596
  // add event listeners
@@ -4056,38 +4056,38 @@ class A {
4056
4056
  return null;
4057
4057
  }
4058
4058
  static extendDefaults(e) {
4059
- extend($, e);
4059
+ extend(F, e);
4060
4060
  }
4061
4061
  static get extendedDefaults() {
4062
- return $;
4062
+ return F;
4063
4063
  }
4064
4064
  static get defaults() {
4065
- return O;
4065
+ return I;
4066
4066
  }
4067
4067
  static installModule(e) {
4068
- if (!A.prototype.__modules__) A.prototype.__modules__ = [];
4069
- const t = A.prototype.__modules__;
4068
+ if (!$.prototype.__modules__) $.prototype.__modules__ = [];
4069
+ const t = $.prototype.__modules__;
4070
4070
  if (typeof e === "function" && t.indexOf(e) < 0) {
4071
4071
  t.push(e);
4072
4072
  }
4073
4073
  }
4074
4074
  static use(e) {
4075
4075
  if (Array.isArray(e)) {
4076
- e.forEach((e => A.installModule(e)));
4077
- return A;
4076
+ e.forEach((e => $.installModule(e)));
4077
+ return $;
4078
4078
  }
4079
- A.installModule(e);
4080
- return A;
4079
+ $.installModule(e);
4080
+ return $;
4081
4081
  }
4082
4082
  }
4083
4083
 
4084
- Object.keys(I).forEach((e => {
4085
- Object.keys(I[e]).forEach((t => {
4086
- A.prototype[t] = I[e][t];
4084
+ Object.keys(A).forEach((e => {
4085
+ Object.keys(A[e]).forEach((t => {
4086
+ $.prototype[t] = A[e][t];
4087
4087
  }));
4088
4088
  }));
4089
4089
 
4090
- A.use([ Resize, Observer ]);
4090
+ $.use([ Resize, Observer ]);
4091
4091
 
4092
4092
  /* eslint no-underscore-dangle: "off" */
4093
4093
  /* eslint no-use-before-define: "off" */ function Autoplay({swiper: e, extendParams: t, on: i, emit: n, params: s}) {
@@ -4112,8 +4112,8 @@ A.use([ Resize, Observer ]);
4112
4112
  let a = s && s.autoplay ? s.autoplay.delay : 3e3;
4113
4113
  let l = s && s.autoplay ? s.autoplay.delay : 3e3;
4114
4114
  let c;
4115
- let f = (new Date).getTime();
4116
- let u;
4115
+ let u = (new Date).getTime();
4116
+ let f;
4117
4117
  let d;
4118
4118
  let p;
4119
4119
  let h;
@@ -4131,12 +4131,12 @@ A.use([ Resize, Observer ]);
4131
4131
  const calcTimeLeft = () => {
4132
4132
  if (e.destroyed || !e.autoplay.running) return;
4133
4133
  if (e.autoplay.paused) {
4134
- u = true;
4135
- } else if (u) {
4134
+ f = true;
4135
+ } else if (f) {
4136
4136
  l = c;
4137
- u = false;
4137
+ f = false;
4138
4138
  }
4139
- const t = e.autoplay.paused ? c : f + l - (new Date).getTime();
4139
+ const t = e.autoplay.paused ? c : u + l - (new Date).getTime();
4140
4140
  e.autoplay.timeLeft = t;
4141
4141
  n("autoplayTimeLeft", t, t / a);
4142
4142
  o = requestAnimationFrame((() => {
@@ -4194,7 +4194,7 @@ A.use([ Resize, Observer ]);
4194
4194
  }
4195
4195
  }
4196
4196
  if (e.params.cssMode) {
4197
- f = (new Date).getTime();
4197
+ u = (new Date).getTime();
4198
4198
  requestAnimationFrame((() => {
4199
4199
  run();
4200
4200
  }));
@@ -4214,7 +4214,7 @@ A.use([ Resize, Observer ]);
4214
4214
  return i;
4215
4215
  };
4216
4216
  const start = () => {
4217
- f = (new Date).getTime();
4217
+ u = (new Date).getTime();
4218
4218
  e.autoplay.running = true;
4219
4219
  run();
4220
4220
  n("autoplayStart");
@@ -4245,14 +4245,14 @@ A.use([ Resize, Observer ]);
4245
4245
  return;
4246
4246
  }
4247
4247
  const s = c || e.params.autoplay.delay;
4248
- c = s - ((new Date).getTime() - f);
4248
+ c = s - ((new Date).getTime() - u);
4249
4249
  if (e.isEnd && c < 0 && !e.params.loop) return;
4250
4250
  if (c < 0) c = 0;
4251
4251
  proceed();
4252
4252
  };
4253
4253
  const resume = () => {
4254
4254
  if (e.isEnd && c < 0 && !e.params.loop || e.destroyed || !e.autoplay.running) return;
4255
- f = (new Date).getTime();
4255
+ u = (new Date).getTime();
4256
4256
  if (g) {
4257
4257
  g = false;
4258
4258
  run(c);
@@ -4384,13 +4384,11 @@ A.use([ Resize, Observer ]);
4384
4384
  });
4385
4385
  }
4386
4386
 
4387
- const j = '*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}q2-carousel{display:grid;grid-template-rows:repeat(2, auto);gap:var(--tct-carousel-gap, var(--app-scale-2x, 10px))}.swiper{--comp-container-padding:var(--app-scale-1x, 5px) 0 var(--app-scale-2x, 10px);display:block;width:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;padding:var(--tct-carousel-container-padding, var(--t-carousel-container-padding, var(--comp-container-padding, 5px 0 10px)))}.insufficient-pane-feedback{text-align:center;box-shadow:var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14));background:var(--tct-carousel-background, var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)))));border:var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));border-radius:var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));padding:var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 7px))}.insufficient-pane-feedback.content-peek-display{max-width:395px;margin:0 auto}.insufficient-pane-feedback .insufficient-panes-header,.insufficient-pane-feedback .insufficient-panes-body{text-align:center}.insufficient-pane-feedback .insufficient-panes-header strong{font-weight:600}.insufficient-pane-feedback .insufficient-panes-body{margin:0 auto 2rem auto;max-width:75%}.insufficient-pane-feedback .insufficient-panes-icon-wrapper{display:flex;justify-content:center;margin:1rem 0 2rem 0}.insufficient-pane-feedback .insufficient-panes-icon-wrapper q2-icon{width:38px}.q2-carousel-pagination-navigation-wrapper{grid-row:2;display:flex;justify-content:center;align-items:center;min-height:44px}.q2-carousel-pagination-navigation-wrapper.evenly-space{justify-content:space-between}.q2-carousel-pagination-navigation-wrapper.center-space{justify-content:center}.q2-carousel-pagination-navigation-wrapper.center-space .q2-carousel-control-center-tray{margin:var(--tct-carouse-pagination-center-tray-margin, 0 24px)}.q2-carousel-floating-arrow-wrapper{--comp-pagination-arrow-height:var(--tct-carousel-floating-nav-arrow-height, 44px);width:auto;z-index:2;display:flex;position:absolute;left:10px;right:10px;top:calc(50% - var(--comp-pagination-arrow-height) / 2);height:var(--comp-pagination-arrow-height);justify-content:space-between;align-items:center}.q2-carousel-control-center-tray{display:flex;align-items:center;gap:var(--tct-carousel-control-gap, 16px)}.q2-carousel-swiper-wrapper.compact{overflow:visible}.q2-carousel-swiper-wrapper.compact q2-btn{margin-top:4px}.q2-carousel-pagination{height:var(--tct-carousel-pagination-height, 12px);display:flex;align-content:center;justify-content:center;gap:0.5rem}.q2-carousel-pagination .q2-carousel-page-indicator{display:inline-block;height:var(--tct-carousel-page-indicator-size, 8px);width:var(--tct-carousel-page-indicator-size, 8px);border-radius:50%;background-color:var(--tct-carousel-page-indicator-inactive-color, var(--t-gray11, #CCCCCC));padding:0;border:0;transition:var(--tct-carouse-pagination-transition, all 0.5s)}.q2-carousel-pagination .q2-carousel-page-indicator:hover,.q2-carousel-pagination .q2-carousel-page-indicator.active-page{display:inline-block;background-color:var(--tct-carousel-indicator-active, var(--t-primary, #6A4A9E))}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator{display:none}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-page,.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent{display:inline-block;height:10px;width:10px}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent-adjacent{display:inline-block;height:8px;width:8px}.q2-carousel-pagination.autoplay{align-items:center;gap:var(--tct-carousel-pagination-gap, var(--app-scale-2x, 8px))}.q2-carousel-pagination.autoplay.autoplay-on{--comp-carousel-indicator-grow-animation:autoplay-progress 3s linear forwards}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator{height:var(--tct-carousel-page-indicator-height, 8px);width:var(--tct-carousel-page-indicator-width, 8px);transition:none}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator.active-page{width:var(--tct-carousel-active-page-indicator-width, 24px);border-radius:var(--tct-carousel-active-page-border-radius, 4px);background-color:var(--tct-carousel-indicator-inactive, var(--t-gray11, #CCCCCC));position:relative;overflow:hidden}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator.active-page::after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;border-radius:var(--tct-carousel-active-page-border-radius-pseudo, 4px);background-color:var(--tct-carousel-indicator-active, var(--t-primary, #6A4A9E));transform-origin:left;animation:var(--comp-carousel-indicator-grow-animation, none)}@keyframes autoplay-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.q2-carousel-swiper-container{grid-row:1;}.q2-carousel-swiper-container .swiper-wrapper{position:relative;width:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.q2-carousel-swiper-container.content-peek-display .q2-carousel-pane:not(.swiper-slide-active){transform:scale(var(--tct-carousel-neighbor-pane-scale, 1))}.q2-carousel-swiper-container.frameless-display{padding:var(--tct-carousel-frameless-container-padding, var(--t-carousel-frameless-container-padding, 0))}.q2-carousel-swiper-container.full-width-display{--comp-container-padding:var(--app-scale-1x, 5px) var(--app-scale-2x, 10px) var(--app-scale-2x, 10px);padding:var(--tct-carousel-full-width-container-padding, var(--t-carousel-full-width-container-padding, var(--comp-container-padding, 5px 10px 10px)))}.q2-carousel-navigation-button{display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;opacity:var(--tct-carousel-navigation-arrow-opacity, 1);-webkit-tap-highlight-color:transparent}.q2-carousel-navigation-button::before{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background-color:var(--tct-carousel-navigation-arrow-background-color, var(--t-primary, #6A4A9E));transition:background-color var(--t-tween-time-in-2, 200ms) var(--t-tween-ease-inout, cubic-bezier(0.4, 0, 0.2, 1))}.q2-carousel-navigation-button:hover::before,.q2-carousel-navigation-button:focus-visible::before{background-color:var(--tct-carousel-btn-hover-background, var(--t-primary-d1, #5F438E))}.q2-carousel-navigation-button:focus-visible{outline:none}.q2-carousel-navigation-button:focus-visible::before{outline:2px solid var(--const-focus-color, #1a73e8);outline-offset:2px}.q2-carousel-navigation-button q2-icon{position:relative;--tct-icon-size:16px;--tct-icon-stroke-primary:var(--tct-carousel-btn-icon-stroke-primary, var(--t-base));--tct-icon-stroke-secondary:var(--tct-carousel-btn-icon-stroke-secondary, var(--app-gray, #747474))}.q2-carousel-autoplay-control{display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.q2-carousel-autoplay-control::before{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background:transparent;transition:background-color var(--t-tween-time-in-2, 200ms) var(--t-tween-ease-inout, cubic-bezier(0.4, 0, 0.2, 1))}.q2-carousel-autoplay-control:hover::before,.q2-carousel-autoplay-control:focus-visible::before{background-color:var(--tct-carousel-autoplay-hover-background, var(--t-gray13, #E6E6E6))}.q2-carousel-autoplay-control:focus-visible{outline:none}.q2-carousel-autoplay-control:focus-visible::before{outline:2px solid var(--const-focus-color, #1a73e8);outline-offset:2px}.q2-carousel-autoplay-control .autoplay-icon{position:relative;width:var(--tct-carousel-autoplay-icon-width, 16px);height:var(--tct-carousel-autoplay-icon-height, 16px);color:var(--tct-carousel-autoplay-icon-color, var(--t-gray6, #4D4D4D))}';
4387
+ const j = '*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}q2-carousel{display:grid;grid-template-rows:repeat(2, auto);gap:var(--tct-carousel-gap, var(--app-scale-2x, 10px))}.swiper{--comp-container-padding:var(--app-scale-1x, 5px) 0 var(--app-scale-2x, 10px);display:block;width:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;padding:var(--tct-carousel-container-padding, var(--t-carousel-container-padding, var(--comp-container-padding, 5px 0 10px)))}.insufficient-pane-feedback{text-align:center;box-shadow:var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14));background:var(--tct-carousel-background, var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)))));border:var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));border-radius:var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));padding:var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 7px))}.insufficient-pane-feedback.content-peek-display{max-width:395px;margin:0 auto}.insufficient-pane-feedback .insufficient-panes-header,.insufficient-pane-feedback .insufficient-panes-body{text-align:center}.insufficient-pane-feedback .insufficient-panes-header strong{font-weight:600}.insufficient-pane-feedback .insufficient-panes-body{margin:0 auto 2rem auto;max-width:75%}.insufficient-pane-feedback .insufficient-panes-icon-wrapper{display:flex;justify-content:center;margin:1rem 0 2rem 0}.insufficient-pane-feedback .insufficient-panes-icon-wrapper q2-icon{width:38px}.q2-carousel-pagination-navigation-wrapper{grid-row:2;display:flex;justify-content:center;align-items:center;min-height:44px}.q2-carousel-pagination-navigation-wrapper.evenly-space{justify-content:space-between}.q2-carousel-pagination-navigation-wrapper.center-space{justify-content:center}.q2-carousel-pagination-navigation-wrapper.center-space .q2-carousel-control-center-tray{margin:var(--tct-carousel-pagination-center-tray-margin, 0 24px)}.q2-carousel-floating-arrow-wrapper{--comp-pagination-arrow-height:var(--tct-carousel-floating-nav-arrow-height, 44px);width:auto;z-index:2;display:flex;position:absolute;left:10px;right:10px;top:calc(50% - var(--comp-pagination-arrow-height) / 2);height:var(--comp-pagination-arrow-height);justify-content:space-between;align-items:center}.q2-carousel-control-center-tray{display:flex;align-items:center;gap:var(--tct-carousel-control-gap, 16px)}.q2-carousel-swiper-wrapper.compact{overflow:visible}.q2-carousel-swiper-wrapper.compact q2-btn{margin-top:4px}.q2-carousel-pagination{height:var(--tct-carousel-pagination-height, 12px);display:flex;align-content:center;justify-content:center;gap:0.5rem;--comp-carousel-page-transition-duration:var(--tct-carousel-page-transition-duration, 0.3s)}.q2-carousel-pagination .q2-carousel-page-indicator{display:inline-block;height:var(--tct-carousel-indicator-size, 8px);width:var(--tct-carousel-indicator-size, 8px);border-radius:var(--tct-carousel-active-page-border-radius, 4px);background-color:var(--tct-carousel-page-indicator-inactive-color, var(--t-gray11, #CCCCCC));padding:0;border:0;transition:width 0.3s ease, background-color 0.3s ease 0.3s;transition-duration:var(--comp-carousel-page-transition-duration)}.q2-carousel-pagination .q2-carousel-page-indicator:hover{background-color:var(--tct-carousel-indicator-active, var(--t-primary, #6A4A9E));transition:background-color 0.3s ease;transition-duration:var(--comp-carousel-page-transition-duration)}.q2-carousel-pagination .q2-carousel-page-indicator.active-page{width:var(--tct-carousel-indicator-active-width, 24px);border-radius:var(--tct-carousel-active-page-border-radius, 4px);background-color:var(--tct-carousel-indicator-active, var(--t-primary, #6A4A9E))}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator{display:none}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-page,.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent{display:inline-block;height:10px;width:10px}.q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent-adjacent{display:inline-block;height:8px;width:8px}.q2-carousel-pagination.autoplay{align-items:center;gap:var(--tct-carousel-pagination-gap, var(--app-scale-2x, 8px))}.q2-carousel-pagination.autoplay.autoplay-on{--comp-carousel-indicator-grow-animation:autoplay-progress 3s linear forwards}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator{height:var(--tct-carousel-page-indicator-height, 8px);width:var(--tct-carousel-page-indicator-width, 8px);transition:width 0.3s ease;transition-duration:var(--comp-carousel-page-transition-duration)}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator.active-page{width:var(--tct-carousel-indicator-active-width, 24px);border-radius:var(--tct-carousel-active-page-border-radius, 4px);background-color:var(--tct-carousel-indicator-inactive, var(--t-gray11, #CCCCCC));position:relative;overflow:hidden}.q2-carousel-pagination.autoplay .q2-carousel-page-indicator.active-page::after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;border-radius:var(--tct-carousel-active-page-border-radius-pseudo, 4px);background-color:var(--tct-carousel-indicator-active, var(--t-primary, #6A4A9E));transform-origin:left;animation:var(--comp-carousel-indicator-grow-animation, none)}@keyframes autoplay-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.q2-carousel-section-wrapper{position:relative;grid-row:1;overflow:hidden}.q2-carousel-edge-fade{position:absolute;top:0;bottom:0;width:var(--tct-carousel-edge-fade-width, 64px);z-index:10;pointer-events:none}.q2-carousel-edge-fade-left{left:0;background:linear-gradient(to right, var(--tct-carousel-edge-fade-color, #FFFFFF), transparent)}.q2-carousel-edge-fade-right{right:0;background:linear-gradient(to left, var(--tct-carousel-edge-fade-color, #FFFFFF), transparent)}.q2-carousel-swiper-container{}.q2-carousel-swiper-container .swiper-wrapper{position:relative;width:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.q2-carousel-swiper-container.content-peek-display .q2-carousel-pane:not(.swiper-slide-active){transform:scale(var(--tct-carousel-neighbor-pane-scale, 1))}.q2-carousel-swiper-container.frameless-display{padding:var(--tct-carousel-frameless-container-padding, var(--t-carousel-frameless-container-padding, 0))}.q2-carousel-swiper-container.full-width-display{--comp-container-padding:var(--app-scale-1x, 5px) var(--app-scale-2x, 10px) var(--app-scale-2x, 10px);padding:var(--tct-carousel-full-width-container-padding, var(--t-carousel-full-width-container-padding, var(--comp-container-padding, 5px 10px 10px)))}.q2-carousel-navigation-button{display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;opacity:var(--tct-carousel-navigation-arrow-opacity, 1);-webkit-tap-highlight-color:transparent}.q2-carousel-navigation-button::before{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background-color:var(--tct-carousel-arrow-background, var(--t-primary, #6A4A9E));transition:background-color var(--t-tween-time-in-2, 200ms) var(--t-tween-ease-inout, cubic-bezier(0.4, 0, 0.2, 1))}.q2-carousel-navigation-button:hover::before,.q2-carousel-navigation-button:focus-visible::before{background-color:var(--tct-carousel-arrow-hover-background, var(--t-primary-d1, #5F438E))}.q2-carousel-navigation-button:focus-visible{outline:none}.q2-carousel-navigation-button:focus-visible::before{outline:2px solid var(--const-focus-color, #1a73e8);outline-offset:2px}.q2-carousel-navigation-button q2-icon{position:relative;--tct-icon-size:16px;--tct-icon-stroke-primary:var(--tct-carousel-arrow-font-color, var(--t-base, #FFFFFF));--tct-icon-stroke-secondary:var(--tct-carousel-btn-icon-stroke-secondary, var(--app-gray, #747474))}.q2-carousel-autoplay-control{display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.q2-carousel-autoplay-control::before{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background:transparent;transition:background-color var(--t-tween-time-in-2, 200ms) var(--t-tween-ease-inout, cubic-bezier(0.4, 0, 0.2, 1))}.q2-carousel-autoplay-control:hover::before,.q2-carousel-autoplay-control:focus-visible::before{background-color:var(--tct-carousel-autoplay-hover-background, var(--t-gray13, #E6E6E6))}.q2-carousel-autoplay-control:focus-visible{outline:none}.q2-carousel-autoplay-control:focus-visible::before{outline:2px solid var(--const-focus-color, #1a73e8);outline-offset:2px}.q2-carousel-autoplay-control .autoplay-icon{position:relative;width:var(--tct-carousel-autoplay-icon-width, 16px);height:var(--tct-carousel-autoplay-icon-height, 16px);color:var(--tct-carousel-autoplay-icon-color, var(--t-gray6, #4D4D4D))}';
4388
4388
 
4389
- const D = 500;
4389
+ const D = 1024;
4390
4390
 
4391
- /* width in px of this host element where the layout starts to get unruly */ const z = 1024;
4392
-
4393
- /* viewport width where we show 3 full panes */ const L = class {
4391
+ /* viewport width where we show 3 full panes */ const z = class {
4394
4392
  constructor(n) {
4395
4393
  e(this, n);
4396
4394
  this.change = t(this, "change", 7);
@@ -4404,7 +4402,10 @@ const D = 500;
4404
4402
  /** Manages re-rendering the component when resize event is consumed. */ this.carouselWrapperWidth = 0;
4405
4403
  /** Manages sizing the component based on changes in `carouselWrapperWidth`. */ this.compactMode = false;
4406
4404
  /** Manages re-rendering the component when panes are added or removed. */ this.currentPaneCount = this.paneCount;
4405
+ /** Keeps all carousel panes at the height of the tallest pane. */ this.autoHeight = false;
4407
4406
  /** Enables the auto-play feature and starts the carousel without user input. */ this.autoPlay = false;
4407
+ /** Adjusts width of active pane automatically in compact screen based on the carousel width. */ this.autoWidth = false;
4408
+ /** Breakpoint pixel number for switching to compact mode when autoWIdth is enabled, default is 500.*/ this.compactBreakpoint = 500;
4408
4409
  /** Display the carousel panes as frameless with no container or shadow. */ this.framelessPanes = false;
4409
4410
  /** Display the carousel panes full-width rather than with peeking content. */ this.fullWidthPanes = false;
4410
4411
  /** Hide the dots below the carousel that provide navigation control and indicate which page is currently active. */ this.hidePagination = false;
@@ -4422,14 +4423,19 @@ const D = 500;
4422
4423
  this.tearDownCarousel();
4423
4424
  }
4424
4425
  this.autoPlayInProgress = this.autoPlay;
4426
+ // Pad the DOM with duplicate panes before Swiper initializes so small carousels have
4427
+ // enough slides for loop mode to rearrange neighbors without leaving empty slots.
4428
+ this.syncPaneDuplicates();
4429
+ this.updateCarouselPaneProps();
4425
4430
  // Save the target index before Swiper init — the realIndexChange callback
4426
4431
  // fires during construction and may overwrite this.index
4427
4432
  const o = this.realIndex;
4428
- new A(e, t);
4433
+ new $(e, t);
4429
4434
  (n = this.swiper) === null || n === void 0 ? void 0 : n.slideToLoop(o, 0);
4430
4435
  // Ensure popover listener is on the active pane after initial positioning
4431
4436
  (s = this.activePane) === null || s === void 0 ? void 0 : s.addEventListener("popoverStateChanged", this.handlePopovers);
4432
4437
  if (this.autoPlayInProgress) (r = this.swiper) === null || r === void 0 ? void 0 : r.autoplay.start();
4438
+ this.managePaneHeightObserver();
4433
4439
  // Re-observe after Swiper's DOM changes have settled
4434
4440
  requestAnimationFrame((() => {
4435
4441
  var e;
@@ -4491,31 +4497,126 @@ const D = 500;
4491
4497
  break;
4492
4498
  }
4493
4499
  };
4500
+ this.managePaneHeightObserver = () => {
4501
+ var e, t, i;
4502
+ if (this.autoHeight) {
4503
+ this.observePaneHeights();
4504
+ return;
4505
+ }
4506
+ (e = this.paneResizeObserver) === null || e === void 0 ? void 0 : e.disconnect();
4507
+ if (this.syncPaneHeightFrame !== undefined) {
4508
+ cancelAnimationFrame(this.syncPaneHeightFrame);
4509
+ this.syncPaneHeightFrame = undefined;
4510
+ }
4511
+ this.hostElement.style.removeProperty("--q2-carousel-equal-pane-height");
4512
+ (i = (t = this.swiper) === null || t === void 0 ? void 0 : t.update) === null || i === void 0 ? void 0 : i.call(t);
4513
+ };
4514
+ this.observePaneHeights = () => {
4515
+ var e;
4516
+ (e = this.paneResizeObserver) === null || e === void 0 ? void 0 : e.disconnect();
4517
+ if (typeof ResizeObserver === "undefined") {
4518
+ this.schedulePaneHeightSync();
4519
+ return;
4520
+ }
4521
+ this.paneResizeObserver = new ResizeObserver(this.schedulePaneHeightSync);
4522
+ this.hostElement.querySelectorAll(".q2-carousel-pane-main-content").forEach((e => {
4523
+ this.paneResizeObserver.observe(e);
4524
+ }));
4525
+ this.schedulePaneHeightSync();
4526
+ };
4494
4527
  this.onMutationObserved = () => {
4495
4528
  if (this.paneCount !== this.currentPaneCount) {
4496
4529
  this.updateCarouselPaneProps();
4497
4530
  this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);
4531
+ } else if (this.autoHeight) {
4532
+ this.schedulePaneHeightSync();
4533
+ }
4534
+ };
4535
+ this.schedulePaneHeightSync = () => {
4536
+ if (this.syncPaneHeightFrame !== undefined) {
4537
+ cancelAnimationFrame(this.syncPaneHeightFrame);
4498
4538
  }
4539
+ this.syncPaneHeightFrame = requestAnimationFrame((() => {
4540
+ this.syncPaneHeightFrame = undefined;
4541
+ this.syncPaneHeights();
4542
+ }));
4499
4543
  };
4500
4544
  this.setCarouselWrapperWidth = () => {
4501
4545
  if (this.insufficientPanes) return;
4502
4546
  this.carouselWrapperWidth = this.carouselWrapper.clientWidth;
4503
4547
  };
4548
+ /**
4549
+ * Swiper's loop mode needs enough DOM slides on both sides of a centered active slide. For
4550
+ * two-pane full-width carousels and 3 to 5 pane peek carousels, we double the pane set in the
4551
+ * DOM by cloning each real pane once, giving Swiper 4 to 10 slides to loop through. Duplicates are tagged with
4552
+ * `data-q2-pane-duplicate`; they're excluded from `paneArray` / `paneCount` / pagination, and
4553
+ * logical index changes are mapped back to the real-pane range via `modulo paneCount`.
4554
+ */ this.syncPaneDuplicates = () => {
4555
+ const e = this.paneArray;
4556
+ const t = e.length;
4557
+ const i = t === 2 || !this.useFullWidthPanes && t >= 3 && t <= 5;
4558
+ const n = Array.from(this.hostElement.querySelectorAll("q2-carousel-pane[data-q2-pane-duplicate]"));
4559
+ n.forEach((e => e.remove()));
4560
+ if (!i || t === 0) return;
4561
+ const s = e[0].parentElement;
4562
+ for (let i = 0; i < t; i += 1) {
4563
+ // Build a fresh pane and clone only the user-authored slot content. Cloning the
4564
+ // hydrated real pane would copy Stencil's rendered `<article class="...main-content">`
4565
+ // wrapper, so when the duplicate hydrates it re-wraps → nested articles.
4566
+ const t = document.createElement("q2-carousel-pane");
4567
+ t.setAttribute("data-q2-pane-duplicate", "true");
4568
+ t.setAttribute("aria-hidden", "true");
4569
+ // Apply the same classes Stencil will add on hydration so Swiper recognizes the
4570
+ // duplicates as slides during initialization (which happens before Stencil runs).
4571
+ t.classList.add("q2-carousel-pane", "swiper-slide", `q2-carousel-pane-${i}`);
4572
+ const n = e[i].querySelector(":scope > article.q2-carousel-pane-main-content") || e[i];
4573
+ Array.from(n.children).forEach((e => {
4574
+ t.appendChild(e.cloneNode(true));
4575
+ }));
4576
+ s.appendChild(t);
4577
+ }
4578
+ };
4579
+ this.syncPaneHeights = () => {
4580
+ var e, t;
4581
+ this.hostElement.style.removeProperty("--q2-carousel-equal-pane-height");
4582
+ const i = Array.from(this.hostElement.querySelectorAll(".q2-carousel-pane-main-content"));
4583
+ const n = Math.max(...i.map((e => e.offsetHeight)), 0);
4584
+ if (n) {
4585
+ this.hostElement.style.setProperty("--q2-carousel-equal-pane-height", `${n}px`);
4586
+ }
4587
+ (t = (e = this.swiper) === null || e === void 0 ? void 0 : e.update) === null || t === void 0 ? void 0 : t.call(e);
4588
+ };
4504
4589
  this.tearDownCarousel = () => {
4505
4590
  this.swiper.destroy();
4506
4591
  this.swiper = null;
4507
4592
  };
4508
4593
  this.updateCarouselPaneProps = () => {
4509
- const {framelessPanes: e, paneCount: t, paneArray: i} = this;
4510
- i.forEach(((i, n) => {
4511
- const s = i.getAttribute("data-swiper-slide-index");
4594
+ const {framelessPanes: e, paneArray: t, paneCount: i} = this;
4595
+ // Swiper's loop mode reorders slide DOM nodes, so DOM order no longer matches pane identity.
4596
+ // When Swiper has tagged a slide, use its data-swiper-slide-index as the authoritative index.
4597
+ t.forEach(((t, n) => {
4598
+ const s = t.getAttribute("data-swiper-slide-index");
4512
4599
  const r = s !== null ? parseInt(s, 10) : n;
4513
- i.index = r;
4514
- i.siblingCount = t;
4515
- i.isActivePane = r === this.realIndex;
4516
- i.slotFrameless = e || undefined;
4600
+ const o = i > 0 ? r % i : r;
4601
+ t.index = o;
4602
+ t.siblingCount = i;
4603
+ t.isActivePane = o === this.realIndex;
4604
+ t.slotFrameless = e || undefined;
4605
+ }));
4606
+ // Duplicate panes mirror real panes visually but never own "active" — active stays unique
4607
+ // on the real DOM pane. Their `index` maps clicks back to the source via `slideToLoop` in
4608
+ // `carouselPaneClicked`.
4609
+ const n = Array.from(this.hostElement.querySelectorAll("q2-carousel-pane[data-q2-pane-duplicate]"));
4610
+ n.forEach(((t, n) => {
4611
+ const s = t.getAttribute("data-swiper-slide-index");
4612
+ const r = s !== null ? parseInt(s, 10) : n + i;
4613
+ const o = i > 0 ? r % i : r;
4614
+ t.index = o;
4615
+ t.siblingCount = i;
4616
+ t.isActivePane = false;
4617
+ t.slotFrameless = e || undefined;
4517
4618
  }));
4518
- this.currentPaneCount = t;
4619
+ this.currentPaneCount = i;
4519
4620
  };
4520
4621
  // #endregion
4521
4622
  // #region Render Methods
@@ -4539,7 +4640,7 @@ const D = 500;
4539
4640
  })));
4540
4641
  };
4541
4642
  this.renderInsufficientPanesDisplay = () => {
4542
- let e = [ "insufficient-pane-feedback", this.fullWidthPanes ? "full-width-display" : "content-peek-display" ];
4643
+ let e = [ "insufficient-pane-feedback", this.useFullWidthPanes ? "full-width-display" : "content-peek-display" ];
4543
4644
  if (this.compactMode) e = [ ...e, "compact" ];
4544
4645
  return i("div", {
4545
4646
  class: e.join(" ")
@@ -4618,10 +4719,15 @@ const D = 500;
4618
4719
  // #endregion
4619
4720
  // #region Component Lifecycle Events
4620
4721
  disconnectedCallback() {
4722
+ var e;
4621
4723
  if (this.mutationObserver) {
4622
4724
  this.mutationObserver.disconnect();
4623
4725
  this.mutationObserver = null;
4624
4726
  }
4727
+ (e = this.paneResizeObserver) === null || e === void 0 ? void 0 : e.disconnect();
4728
+ if (this.syncPaneHeightFrame !== undefined) {
4729
+ cancelAnimationFrame(this.syncPaneHeightFrame);
4730
+ }
4625
4731
  if (!!this.swiper) {
4626
4732
  this.tearDownCarousel();
4627
4733
  }
@@ -4631,8 +4737,8 @@ const D = 500;
4631
4737
  l(this);
4632
4738
  this.updateCarouselPaneProps();
4633
4739
  window.addEventListener("resize", this.setCarouselWrapperWidth);
4634
- if (!d(this.hostElement, "q2-carousel-pane")) {
4635
- p(this.hostElement, "q2-carousel-pane");
4740
+ if (!p(this.hostElement, "q2-carousel-pane")) {
4741
+ h(this.hostElement, "q2-carousel-pane");
4636
4742
  }
4637
4743
  this.universalCarouselOptions = {
4638
4744
  centeredSlides: true,
@@ -4642,20 +4748,24 @@ const D = 500;
4642
4748
  modules: [ Autoplay ],
4643
4749
  on: {
4644
4750
  realIndexChange: e => {
4645
- this.index = e.realIndex + 1;
4751
+ // When peek mode pads the DOM with duplicates (3- or 4-pane carousels),
4752
+ // `swiper.realIndex` can point at a duplicate; map it back to the 0..paneCount-1
4753
+ // range so `this.index`, pagination dots, and emitted events stay logical.
4754
+ const t = this.paneCount > 0 ? e.realIndex % this.paneCount : e.realIndex;
4755
+ this.index = t + 1;
4646
4756
  this.updateCarouselPaneProps();
4647
- const t = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4648
- const i = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
4649
- const n = t || i;
4650
- this.handleAriaLive(n);
4651
- u(this, [ "change", "tctChange" ], {
4652
- index: e.realIndex + 1
4757
+ const i = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4758
+ const n = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
4759
+ const s = i || n;
4760
+ this.handleAriaLive(s);
4761
+ d(this, [ "change", "tctChange" ], {
4762
+ index: t + 1
4653
4763
  });
4654
- if (t) {
4655
- this.paginationBtns[e.realIndex].focus({
4764
+ if (i) {
4765
+ this.paginationBtns[t].focus({
4656
4766
  preventScroll: true
4657
4767
  });
4658
- } else if (i) e.slides[e.activeIndex].focus({
4768
+ } else if (n) e.slides[e.activeIndex].focus({
4659
4769
  preventScroll: true
4660
4770
  });
4661
4771
  },
@@ -4702,7 +4812,7 @@ const D = 500;
4702
4812
  delegateFocus(e) {
4703
4813
  var t, i;
4704
4814
  const n = (t = this.swiper) === null || t === void 0 ? void 0 : t.slides[(i = this.swiper) === null || i === void 0 ? void 0 : i.realIndex];
4705
- if (!f(e, this.hostElement) || !n) return;
4815
+ if (!u(e, this.hostElement) || !n) return;
4706
4816
  n.focus({
4707
4817
  preventScroll: true
4708
4818
  });
@@ -4741,8 +4851,11 @@ const D = 500;
4741
4851
  ariaLabelObserver() {
4742
4852
  l(this);
4743
4853
  }
4854
+ autoHeightChanged() {
4855
+ this.managePaneHeightObserver();
4856
+ }
4744
4857
  carouselWrapperWidthChanged() {
4745
- this.compactMode = this.carouselWrapperWidth < D;
4858
+ this.compactMode = this.carouselWrapperWidth < this.compactBreakpoint;
4746
4859
  }
4747
4860
  framelessPanesChanged() {
4748
4861
  this.updateCarouselPaneProps();
@@ -4752,17 +4865,20 @@ const D = 500;
4752
4865
  this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);
4753
4866
  }
4754
4867
  indexChanged(e) {
4755
- var t, i;
4756
4868
  // this allows the carousel to be swiped programmatically via the index prop
4757
- if (e !== ((t = this.swiper) === null || t === void 0 ? void 0 : t.realIndex) + 1) {
4758
- (i = this.swiper) === null || i === void 0 ? void 0 : i.slideToLoop(this.realIndex);
4759
- // this.swiper?.slideTo(this.realIndex);
4760
- }
4869
+ if (!this.swiper) return;
4870
+ // Small looped carousels duplicate the pane set, so `swiper.realIndex` may point
4871
+ // at a duplicate. Compare against its logical (mod paneCount) equivalent before deciding
4872
+ // to programmatically slide — otherwise the watcher fights our own realIndexChange mapping.
4873
+ const t = this.paneCount > 0 ? this.swiper.realIndex % this.paneCount : this.swiper.realIndex;
4874
+ if (e !== t + 1) {
4875
+ this.swiper.slideToLoop(this.realIndex);
4876
+ }
4761
4877
  }
4762
4878
  // #endregion
4763
4879
  // #region Local Methods
4764
4880
  get activeCarouselOptions() {
4765
- return this.fullWidthPanes || this.framelessPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;
4881
+ return this.useFullWidthPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;
4766
4882
  }
4767
4883
  get activePane() {
4768
4884
  var e, t, i;
@@ -4776,19 +4892,20 @@ const D = 500;
4776
4892
  return this.hostElement.querySelectorAll(".q2-carousel-page-indicator");
4777
4893
  }
4778
4894
  get paneArray() {
4779
- return Array.from(this.hostElement.querySelectorAll("q2-carousel-pane"));
4895
+ return Array.from(this.hostElement.querySelectorAll("q2-carousel-pane:not([data-q2-pane-duplicate])"));
4780
4896
  }
4781
4897
  get paneCount() {
4782
4898
  return this.paneArray.length;
4783
4899
  }
4784
4900
  get peekContentDisplayOptions() {
4901
+ const e = this.autoWidth && this.compactMode || f() ? 1.2 : 2;
4785
4902
  return {
4786
- slidesPerView: 2,
4787
- spaceBetween: this.compactMode ? 0 : 10,
4903
+ slidesPerView: e,
4904
+ spaceBetween: 10,
4788
4905
  centerInsufficientSlides: false,
4789
4906
  breakpoints: {
4790
- [z]: {
4791
- slidesPerView: 2
4907
+ [D]: {
4908
+ slidesPerView: e
4792
4909
  }
4793
4910
  },
4794
4911
  ...this.universalCarouselOptions
@@ -4801,6 +4918,13 @@ const D = 500;
4801
4918
  get useDynamicPaginationDots() {
4802
4919
  return this.paneCount && this.paneCount > 5;
4803
4920
  }
4921
+ /**
4922
+ * Swiper's loop mode rearranges existing DOM slides rather than cloning them. Small pane sets
4923
+ * are padded in `syncPaneDuplicates` so Swiper has enough slides while Pane N still visually
4924
+ * loops back to Pane 1.
4925
+ */ get useFullWidthPanes() {
4926
+ return this.fullWidthPanes || this.paneCount < 3;
4927
+ }
4804
4928
  handleAriaLive(e) {
4805
4929
  if (this.autoPlayInProgress && !e) {
4806
4930
  this.ariaLiveValue = "off";
@@ -4809,24 +4933,30 @@ const D = 500;
4809
4933
  }
4810
4934
  }
4811
4935
  render() {
4812
- const {paneCount: e, fullWidthPanes: t, framelessPanes: r, compactMode: o, showNavigationArrows: l, arrowPosition: c = "bottom", insufficientPanes: f, autoPlay: u, hidePagination: d, ariaLiveValue: p, label: h} = this;
4936
+ const {paneCount: e, useFullWidthPanes: t, framelessPanes: r, compactMode: o, showNavigationArrows: l, arrowPosition: c = "bottom", insufficientPanes: u, autoPlay: f, hidePagination: d, ariaLiveValue: p, label: h} = this;
4813
4937
  let g = [ "q2-carousel-swiper-container", "swiper" ];
4814
4938
  if (t) g = [ ...g, "full-width-display" ];
4815
4939
  if (r) g = [ ...g, "frameless-display" ];
4816
- if (!t && !r) g = [ ...g, "content-peek-display" ];
4940
+ if (!t) g = [ ...g, "content-peek-display" ];
4817
4941
  if (o) g = [ ...g, "compact" ];
4818
4942
  const v = [ "q2-carousel-pagination-navigation-wrapper" ];
4819
4943
  if (l && c === "bottom") v.push("evenly-space");
4820
4944
  if (l && c === "hug") v.push("center-space");
4821
4945
  return i(s, {
4822
- key: "7c8a2c87c41d8621971bff9a22ab8de2439276c5",
4946
+ key: "585ada42e719c5fe7f715ea98e266d406e166511",
4823
4947
  id: `q2-carousel-${this.guid}`,
4824
4948
  class: "q2-carousel-instance"
4825
- }, f ? this.renderInsufficientPanesDisplay() : i(n, null, e > 1 && i("div", {
4949
+ }, u ? this.renderInsufficientPanesDisplay() : i(n, null, e > 1 && i("div", {
4826
4950
  class: v.join(" ")
4827
4951
  }, l && [ "bottom", "hug" ].includes(c) && this.renderPrevNavBtn(), i("div", {
4828
4952
  class: "q2-carousel-control-center-tray"
4829
- }, !d && this.renderPaginationArea(), u && this.renderAutoPlayBtn()), l && [ "bottom", "hug" ].includes(c) && this.renderNextNavBtn()), i("section", {
4953
+ }, !d && this.renderPaginationArea(), f && this.renderAutoPlayBtn()), l && [ "bottom", "hug" ].includes(c) && this.renderNextNavBtn()), i("div", {
4954
+ class: "q2-carousel-section-wrapper"
4955
+ }, this.edgeFade && i("div", {
4956
+ class: "q2-carousel-edge-fade q2-carousel-edge-fade-left"
4957
+ }), this.edgeFade && i("div", {
4958
+ class: "q2-carousel-edge-fade q2-carousel-edge-fade-right"
4959
+ }), i("section", {
4830
4960
  class: g.join(" "),
4831
4961
  ref: e => this.carouselWrapper = e,
4832
4962
  "aria-roledescription": "carousel",
@@ -4838,7 +4968,7 @@ const D = 500;
4838
4968
  onKeyDown: this.keydownHandler
4839
4969
  }, i("slot", null)), l && c === "float" && i("div", {
4840
4970
  class: "q2-carousel-floating-arrow-wrapper"
4841
- }, this.renderPrevNavBtn(), this.renderNextNavBtn()))));
4971
+ }, this.renderPrevNavBtn(), this.renderNextNavBtn())))));
4842
4972
  }
4843
4973
  get hostElement() {
4844
4974
  return r(this);
@@ -4846,6 +4976,7 @@ const D = 500;
4846
4976
  static get watchers() {
4847
4977
  return {
4848
4978
  ariaLabel: [ "ariaLabelObserver" ],
4979
+ autoHeight: [ "autoHeightChanged" ],
4849
4980
  carouselWrapperWidth: [ "carouselWrapperWidthChanged" ],
4850
4981
  framelessPanes: [ "framelessPanesChanged", "revampCarousel" ],
4851
4982
  fullWidthPanes: [ "revampCarousel" ],
@@ -4856,8 +4987,8 @@ const D = 500;
4856
4987
  }
4857
4988
  };
4858
4989
 
4859
- L.style = j;
4990
+ z.style = j;
4860
4991
 
4861
- export { L as q2_carousel };
4992
+ export { z as q2_carousel };
4862
4993
  //# sourceMappingURL=q2-carousel.entry.esm.js.map
4863
4994
  //# sourceMappingURL=q2-carousel.entry.js.map