q2-tecton-elements 1.45.2 → 1.46.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 (310) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +36 -4
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0430339e.js → index-c385e32f.js} +1 -1
  4. package/dist/cjs/{index-0430339e.js.map → index-c385e32f.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +5 -4
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-carousel.cjs.entry.js +33 -2
  11. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -1
  15. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-icon.cjs.entry.js +5 -3
  17. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  19. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-item.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-list.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-optgroup.cjs.entry.js +59 -0
  25. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -0
  26. package/dist/cjs/{q2-optgroup_2.cjs.entry.js → q2-option.cjs.entry.js} +1 -52
  27. package/dist/cjs/q2-option.cjs.entry.js.map +1 -0
  28. package/dist/cjs/q2-pagination.cjs.entry.js +22 -3
  29. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  32. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-select.cjs.entry.js +6 -6
  35. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +6 -6
  39. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  45. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  47. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  49. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  50. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  51. package/dist/collection/components/q2-btn/q2-btn.js +29 -5
  52. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  53. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  54. package/dist/collection/components/q2-calendar/q2-calendar.js +24 -2
  55. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  56. package/dist/collection/components/q2-carousel/q2-carousel.js +33 -2
  57. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  58. package/dist/collection/components/q2-currency/q2-currency.css +4 -0
  59. package/dist/collection/components/q2-data-table/q2-data-table.js +6 -6
  60. package/dist/collection/components/q2-dropdown/q2-dropdown.js +23 -1
  61. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  62. package/dist/collection/components/q2-icon/q2-icon.js +6 -4
  63. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  64. package/dist/collection/components/q2-input/q2-input.js +43 -15
  65. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  66. package/dist/collection/components/q2-item/q2-item.css +11 -11
  67. package/dist/collection/components/q2-list/q2-list.css +8 -5
  68. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
  69. package/dist/collection/components/q2-pagination/q2-pagination.css +17 -2
  70. package/dist/collection/components/q2-pagination/q2-pagination.js +53 -2
  71. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  72. package/dist/collection/components/q2-pill/q2-pill.js +2 -2
  73. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  74. package/dist/collection/components/q2-popover/q2-popover.css +3 -0
  75. package/dist/collection/components/q2-popover/q2-popover.js +53 -3
  76. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  77. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  78. package/dist/collection/components/q2-section/q2-section.js +2 -2
  79. package/dist/collection/components/q2-select/q2-select.js +44 -6
  80. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  81. package/dist/collection/components/q2-stepper/q2-stepper.js +2 -2
  82. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  83. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +4 -4
  84. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  85. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +6 -6
  86. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  87. package/dist/collection/components/q2-tab-container/q2-tab-container.js +2 -2
  88. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  89. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  90. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  91. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  92. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  93. package/dist/components/click-elsewhere2.js.map +1 -1
  94. package/dist/components/index2.js +1 -1
  95. package/dist/components/q2-btn2.js +4 -2
  96. package/dist/components/q2-btn2.js.map +1 -1
  97. package/dist/components/q2-calendar.js +5 -3
  98. package/dist/components/q2-calendar.js.map +1 -1
  99. package/dist/components/q2-carousel.js +33 -2
  100. package/dist/components/q2-carousel.js.map +1 -1
  101. package/dist/components/q2-currency.js +1 -1
  102. package/dist/components/q2-currency.js.map +1 -1
  103. package/dist/components/q2-dropdown.js +3 -1
  104. package/dist/components/q2-dropdown.js.map +1 -1
  105. package/dist/components/q2-icon2.js +6 -4
  106. package/dist/components/q2-icon2.js.map +1 -1
  107. package/dist/components/q2-input2.js +20 -12
  108. package/dist/components/q2-input2.js.map +1 -1
  109. package/dist/components/q2-item.js +1 -1
  110. package/dist/components/q2-item.js.map +1 -1
  111. package/dist/components/q2-list.js +1 -1
  112. package/dist/components/q2-list.js.map +1 -1
  113. package/dist/components/q2-message2.js +1 -1
  114. package/dist/components/q2-option-list2.js +1 -1
  115. package/dist/components/q2-pagination.js +64 -13
  116. package/dist/components/q2-pagination.js.map +1 -1
  117. package/dist/components/q2-pill.js +2 -2
  118. package/dist/components/q2-pill.js.map +1 -1
  119. package/dist/components/q2-popover2.js +38 -5
  120. package/dist/components/q2-popover2.js.map +1 -1
  121. package/dist/components/q2-relative-time.js +1 -1
  122. package/dist/components/q2-section.js +2 -2
  123. package/dist/components/q2-select.js +1 -709
  124. package/dist/components/q2-select.js.map +1 -1
  125. package/dist/components/q2-select2.js +715 -0
  126. package/dist/components/q2-select2.js.map +1 -0
  127. package/dist/components/q2-stepper-pane.js +2 -2
  128. package/dist/components/q2-stepper-pane.js.map +1 -1
  129. package/dist/components/q2-stepper-vertical.js +6 -6
  130. package/dist/components/q2-stepper-vertical.js.map +1 -1
  131. package/dist/components/q2-stepper.js +2 -2
  132. package/dist/components/q2-stepper.js.map +1 -1
  133. package/dist/components/q2-tab-container.js +2 -2
  134. package/dist/components/q2-tab-container.js.map +1 -1
  135. package/dist/components/q2-tab-pane.js +1 -1
  136. package/dist/components/q2-tag.js +1 -1
  137. package/dist/components/q2-textarea.js +1 -1
  138. package/dist/components/q2-textarea.js.map +1 -1
  139. package/dist/components/tecton-tab-pane.js +2 -2
  140. package/dist/esm/click-elsewhere_2.entry.js +36 -4
  141. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  142. package/dist/esm/{index-e940b40e.js → index-f0dfb099.js} +1 -1
  143. package/dist/esm/{index-e940b40e.js.map → index-f0dfb099.js.map} +1 -1
  144. package/dist/esm/loader.js +1 -1
  145. package/dist/esm/q2-btn_2.entry.js +2 -1
  146. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  147. package/dist/esm/q2-calendar.entry.js +5 -4
  148. package/dist/esm/q2-calendar.entry.js.map +1 -1
  149. package/dist/esm/q2-carousel.entry.js +33 -2
  150. package/dist/esm/q2-carousel.entry.js.map +1 -1
  151. package/dist/esm/q2-currency.entry.js +1 -1
  152. package/dist/esm/q2-currency.entry.js.map +1 -1
  153. package/dist/esm/q2-dropdown.entry.js +2 -1
  154. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  155. package/dist/esm/q2-icon.entry.js +6 -4
  156. package/dist/esm/q2-icon.entry.js.map +1 -1
  157. package/dist/esm/q2-input.entry.js +17 -10
  158. package/dist/esm/q2-input.entry.js.map +1 -1
  159. package/dist/esm/q2-item.entry.js +1 -1
  160. package/dist/esm/q2-item.entry.js.map +1 -1
  161. package/dist/esm/q2-list.entry.js +1 -1
  162. package/dist/esm/q2-list.entry.js.map +1 -1
  163. package/dist/esm/q2-optgroup.entry.js +55 -0
  164. package/dist/esm/q2-optgroup.entry.js.map +1 -0
  165. package/dist/esm/{q2-optgroup_2.entry.js → q2-option.entry.js} +3 -53
  166. package/dist/esm/q2-option.entry.js.map +1 -0
  167. package/dist/esm/q2-pagination.entry.js +22 -3
  168. package/dist/esm/q2-pagination.entry.js.map +1 -1
  169. package/dist/esm/q2-pill.entry.js +2 -2
  170. package/dist/esm/q2-pill.entry.js.map +1 -1
  171. package/dist/esm/q2-relative-time.entry.js +2 -2
  172. package/dist/esm/q2-section.entry.js +2 -2
  173. package/dist/esm/q2-select.entry.js +6 -6
  174. package/dist/esm/q2-select.entry.js.map +1 -1
  175. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  176. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  177. package/dist/esm/q2-stepper-vertical.entry.js +6 -6
  178. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  179. package/dist/esm/q2-stepper.entry.js +2 -2
  180. package/dist/esm/q2-stepper.entry.js.map +1 -1
  181. package/dist/esm/q2-tab-container.entry.js +2 -2
  182. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  183. package/dist/esm/q2-tab-pane.entry.js +1 -1
  184. package/dist/esm/q2-tag.entry.js +1 -1
  185. package/dist/esm/q2-tecton-elements.js +1 -1
  186. package/dist/esm/q2-textarea.entry.js +1 -1
  187. package/dist/esm/q2-textarea.entry.js.map +1 -1
  188. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  189. package/dist/q2-tecton-elements/{p-685b821c.entry.js → p-0eff37c6.entry.js} +2 -2
  190. package/dist/q2-tecton-elements/{p-fcc84527.entry.js → p-12326313.entry.js} +2 -2
  191. package/dist/q2-tecton-elements/p-12326313.entry.js.map +1 -0
  192. package/dist/q2-tecton-elements/p-176ad382.entry.js +2 -0
  193. package/dist/q2-tecton-elements/p-176ad382.entry.js.map +1 -0
  194. package/dist/q2-tecton-elements/{p-f4d77672.entry.js → p-195a133c.entry.js} +2 -2
  195. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js +2 -0
  196. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js.map +1 -0
  197. package/dist/q2-tecton-elements/p-1c4aa7e3.entry.js +2 -0
  198. package/dist/q2-tecton-elements/p-1c4aa7e3.entry.js.map +1 -0
  199. package/dist/q2-tecton-elements/p-1e927478.entry.js +2 -0
  200. package/dist/q2-tecton-elements/p-1e927478.entry.js.map +1 -0
  201. package/dist/q2-tecton-elements/p-36398b59.entry.js +2 -0
  202. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +1 -0
  203. package/dist/q2-tecton-elements/{p-7ce6e587.js → p-3c42c90f.js} +1 -1
  204. package/dist/q2-tecton-elements/p-66af375f.entry.js +2 -0
  205. package/dist/q2-tecton-elements/p-66af375f.entry.js.map +1 -0
  206. package/dist/q2-tecton-elements/p-6ebe37ea.entry.js +2 -0
  207. package/dist/q2-tecton-elements/p-6ebe37ea.entry.js.map +1 -0
  208. package/dist/q2-tecton-elements/p-79df783e.entry.js +2 -0
  209. package/dist/q2-tecton-elements/p-79df783e.entry.js.map +1 -0
  210. package/dist/q2-tecton-elements/p-7e1dc7e8.entry.js +2 -0
  211. package/dist/q2-tecton-elements/p-7e1dc7e8.entry.js.map +1 -0
  212. package/dist/q2-tecton-elements/{p-05b015a8.entry.js → p-87bbeb9c.entry.js} +2 -2
  213. package/dist/q2-tecton-elements/{p-05b015a8.entry.js.map → p-87bbeb9c.entry.js.map} +1 -1
  214. package/dist/q2-tecton-elements/p-89305707.entry.js +2 -0
  215. package/dist/q2-tecton-elements/p-89305707.entry.js.map +1 -0
  216. package/dist/q2-tecton-elements/{p-debd5249.entry.js → p-ad274c67.entry.js} +2 -2
  217. package/dist/q2-tecton-elements/{p-debd5249.entry.js.map → p-ad274c67.entry.js.map} +1 -1
  218. package/dist/q2-tecton-elements/p-c56b58e9.entry.js +2 -0
  219. package/dist/q2-tecton-elements/p-c56b58e9.entry.js.map +1 -0
  220. package/dist/q2-tecton-elements/{p-2436c843.entry.js → p-cb4f9b33.entry.js} +2 -2
  221. package/dist/q2-tecton-elements/p-cb4f9b33.entry.js.map +1 -0
  222. package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js → p-d013e05d.entry.js} +2 -2
  223. package/dist/q2-tecton-elements/p-d013e05d.entry.js.map +1 -0
  224. package/dist/q2-tecton-elements/p-d1522382.entry.js +2 -0
  225. package/dist/q2-tecton-elements/p-d1522382.entry.js.map +1 -0
  226. package/dist/q2-tecton-elements/{p-63192fac.entry.js → p-da7fc914.entry.js} +2 -2
  227. package/dist/q2-tecton-elements/p-e3230823.entry.js +2 -0
  228. package/dist/q2-tecton-elements/p-e3230823.entry.js.map +1 -0
  229. package/dist/q2-tecton-elements/{p-b376c111.entry.js → p-e47dbfbe.entry.js} +2 -2
  230. package/dist/q2-tecton-elements/{p-a214077c.entry.js → p-e4a2469f.entry.js} +2 -2
  231. package/dist/q2-tecton-elements/p-f0813fb4.entry.js +2 -0
  232. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +1 -0
  233. package/dist/q2-tecton-elements/p-fc9f43f8.entry.js +2 -0
  234. package/dist/q2-tecton-elements/p-fc9f43f8.entry.js.map +1 -0
  235. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  236. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  237. package/dist/test/elements/q2-calendar-test.e2e.js +21 -1
  238. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  239. package/dist/test/elements/q2-carousel-test.e2e.js +67 -1
  240. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  241. package/dist/test/elements/q2-detail/q2-list-test.e2e.js +1 -1
  242. package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -1
  243. package/dist/test/elements/q2-dropdown-test.e2e.js +30 -0
  244. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  245. package/dist/test/elements/q2-icon-test.e2e.js +17 -0
  246. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  247. package/dist/test/elements/q2-input-test.e2e.js +25 -2
  248. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  249. package/dist/test/elements/q2-pagination-test.e2e.js +22 -0
  250. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  251. package/dist/test/elements/q2-pill-test.e2e.js +21 -2
  252. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  253. package/dist/test/elements/q2-popover-test.spec.js +99 -13
  254. package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
  255. package/dist/test/elements/q2-select-test.e2e.js +50 -8
  256. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  257. package/dist/test/elements/q2-stepper-test.e2e.js +10 -17
  258. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  259. package/dist/test/elements/q2-stepper-vertical-test.e2e.js +20 -4
  260. package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
  261. package/dist/test/elements/q2-tab-container-test.e2e.js +10 -4
  262. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  263. package/dist/types/components/q2-btn/q2-btn.d.ts +14 -3
  264. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -0
  265. package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
  266. package/dist/types/components/q2-input/q2-input.d.ts +10 -3
  267. package/dist/types/components/q2-popover/q2-popover.d.ts +3 -1
  268. package/dist/types/components.d.ts +82 -4
  269. package/package.json +3 -3
  270. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +0 -1
  271. package/dist/esm/q2-optgroup_2.entry.js.map +0 -1
  272. package/dist/q2-tecton-elements/p-1c17d118.entry.js +0 -2
  273. package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +0 -1
  274. package/dist/q2-tecton-elements/p-2436c843.entry.js.map +0 -1
  275. package/dist/q2-tecton-elements/p-3b1ea100.entry.js +0 -2
  276. package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +0 -1
  277. package/dist/q2-tecton-elements/p-445990a8.entry.js +0 -2
  278. package/dist/q2-tecton-elements/p-445990a8.entry.js.map +0 -1
  279. package/dist/q2-tecton-elements/p-4a332c2a.entry.js +0 -2
  280. package/dist/q2-tecton-elements/p-4a332c2a.entry.js.map +0 -1
  281. package/dist/q2-tecton-elements/p-4b81a121.entry.js +0 -2
  282. package/dist/q2-tecton-elements/p-4b81a121.entry.js.map +0 -1
  283. package/dist/q2-tecton-elements/p-50bd4437.entry.js +0 -2
  284. package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +0 -1
  285. package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +0 -1
  286. package/dist/q2-tecton-elements/p-7c12ba02.entry.js +0 -2
  287. package/dist/q2-tecton-elements/p-7c12ba02.entry.js.map +0 -1
  288. package/dist/q2-tecton-elements/p-7f663376.entry.js +0 -2
  289. package/dist/q2-tecton-elements/p-7f663376.entry.js.map +0 -1
  290. package/dist/q2-tecton-elements/p-a977e723.entry.js +0 -2
  291. package/dist/q2-tecton-elements/p-a977e723.entry.js.map +0 -1
  292. package/dist/q2-tecton-elements/p-b3d10d52.entry.js +0 -2
  293. package/dist/q2-tecton-elements/p-b3d10d52.entry.js.map +0 -1
  294. package/dist/q2-tecton-elements/p-c4c458b7.entry.js +0 -2
  295. package/dist/q2-tecton-elements/p-c4c458b7.entry.js.map +0 -1
  296. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +0 -2
  297. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +0 -1
  298. package/dist/q2-tecton-elements/p-f1281e3f.entry.js +0 -2
  299. package/dist/q2-tecton-elements/p-f1281e3f.entry.js.map +0 -1
  300. package/dist/q2-tecton-elements/p-f162c670.entry.js +0 -2
  301. package/dist/q2-tecton-elements/p-f162c670.entry.js.map +0 -1
  302. package/dist/q2-tecton-elements/p-fcc84527.entry.js.map +0 -1
  303. /package/dist/q2-tecton-elements/{p-685b821c.entry.js.map → p-0eff37c6.entry.js.map} +0 -0
  304. /package/dist/q2-tecton-elements/{p-f4d77672.entry.js.map → p-195a133c.entry.js.map} +0 -0
  305. /package/dist/q2-tecton-elements/{p-7ce6e587.js.map → p-3c42c90f.js.map} +0 -0
  306. /package/dist/q2-tecton-elements/{p-63192fac.entry.js.map → p-da7fc914.entry.js.map} +0 -0
  307. /package/dist/q2-tecton-elements/{p-b376c111.entry.js.map → p-e47dbfbe.entry.js.map} +0 -0
  308. /package/dist/q2-tecton-elements/{p-a214077c.entry.js.map → p-e4a2469f.entry.js.map} +0 -0
  309. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  310. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"q2-stepper-pane.entry.js","mappings":";;;AAAA,MAAM,gBAAgB,GAAG,+rBAA+rB,CAAC;AACztB,4BAAe,gBAAgB;;MCsBlB,aAAa;;;;;;;;;;;6BA6BY,KAAK;;;IAuBvC,iBAAiB;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAAE,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAC;KAC1E;IAED,iBAAiB;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IAED,gBAAgB;QACZ,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;KACpC;IAED,oBAAoB;QAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAChC;;IAKD,yBAAyB;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAGD,aAAa,CAAC,MAAM;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,MAAM;YACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC,CAAC;KACN;IAGD,eAAe,CAAC,QAAQ;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,QAAQ;YACR,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC,CAAC;KACN;IAID,sBAAsB;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,SAAS,CAAC;YACN,UAAU,CAAC;gBACP,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CACjD,gDAAgD,CACnD,CAAC;aACL,CAAC,CAAC;SACN,CAAC,CAAC;KACN;;IAGD,MAAM;QACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACjC,QACI,EAAC,QAAQ,uDACL,4DACI,IAAI,EAAC,UAAU,gBACH,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAC/B,QAAQ,EAAC,GAAG,EACZ,MAAM,EAAE,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAEnE,8DAAQ,CACN,EACN,4DAAK,MAAM,UACP,6DACI,IAAI,EAAC,OAAO,EACZ,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GACzC,EACR,6DACI,IAAI,EAAC,aAAa,EAClB,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GACzC,CACN,EACN,6DAAM,IAAI,EAAC,UAAU,GAAQ,CACtB,EACb;KACL;;;;;;;;;;;;;;","names":[],"sources":["src/components/q2-stepper-pane/q2-stepper-pane.scss?tag=q2-stepper-pane&encapsulation=shadow","src/components/q2-stepper-pane/q2-stepper-pane.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n Fragment,\n Event,\n Watch,\n EventEmitter,\n Listen,\n State,\n} from '@stencil/core';\nimport { createGuid, loc, nextPaint } from 'src/utils';\n\nexport interface IStepperPaneEvent {\n status: string;\n isActive: boolean;\n id: string;\n host: HTMLElement;\n}\n\n@Component({ tag: 'q2-stepper-pane', shadow: true, styleUrl: 'q2-stepper-pane.scss' })\nexport class Q2StepperPane implements ComponentInterface {\n /**\n * The description for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) description: string;\n\n /**\n * Used by q2-stepper and q2-stepper-vertical to determine which pane is active\n * @private\n */\n @Prop({ reflect: true }) isActive: boolean;\n\n /**\n * The label for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Indicates to display the content of the pane when one of its children is selected.\n * @info\n * Currently only supported in the `<q2-stepper-vertical>` component.\n */\n @Prop({ reflect: true }) showWithChildren: boolean;\n\n /** The status of the pane. */\n @Prop({ reflect: true }) status: 'complete' | 'error' | 'locked';\n\n @State() isChildActive: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the status of the pane changes.\n */\n @Event() statusChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the active state of the pane changes.\n */\n @Event() activeChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the content of the pane changes.\n * @private\n */\n @Event({ bubbles: true }) contentChange: EventEmitter<undefined>;\n\n mutationObserver: MutationObserver;\n\n /// LifeCycle Hooks ///\n connectedCallback() {\n if (!this.hostElement.id) this.hostElement.id = `step-${createGuid()}`;\n }\n\n componentWillLoad() {\n this.checkForActiveChildren();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(() => {\n this.contentChange.emit();\n });\n observer.observe(this.hostElement, { childList: true, subtree: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Watchers and Listeners ///\n @Watch('label')\n @Watch('description')\n labelOrDescriptionChanged() {\n this.contentChange.emit();\n }\n\n @Watch('status')\n statusChanged(status) {\n this.statusChange.emit({\n status,\n isActive: !!this.isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('isActive')\n isActiveChanged(isActive) {\n this.activeChange.emit({\n status: this.status || '',\n isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('showWithChildren')\n @Listen('activeChange')\n checkForActiveChildren() {\n if (!this.showWithChildren) return;\n nextPaint(() => {\n setTimeout(() => {\n this.isChildActive = !!this.hostElement.querySelector<HTMLQ2StepperPaneElement>(\n \"[slot='children'] > q2-stepper-pane[is-active]\"\n );\n });\n });\n }\n\n /// DOM ///\n render() {\n const { label, isActive } = this;\n return (\n <Fragment>\n <div\n role=\"tabpanel\"\n aria-label={label && loc(label)}\n tabindex=\"0\"\n hidden={!isActive && !(this.isChildActive && this.showWithChildren)}\n >\n <slot />\n </div>\n <div hidden>\n <slot\n name=\"label\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n <slot\n name=\"description\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n </div>\n <slot name=\"children\"></slot>\n </Fragment>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-stepper-pane.entry.js","mappings":";;;AAAA,MAAM,gBAAgB,GAAG,+rBAA+rB,CAAC;AACztB,4BAAe,gBAAgB;;MCuBlB,aAAa;;;;;;;;;;;6BA6BY,KAAK;;;IAuBvC,iBAAiB;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAAE,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAC;KAC1E;IAED,iBAAiB;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IAED,gBAAgB;QACZ,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;KACpC;IAED,oBAAoB;QAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAChC;;IAKD,yBAAyB;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAGD,aAAa,CAAC,MAAM;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,MAAM;YACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC,CAAC;KACN;IAGD,eAAe,CAAC,QAAQ;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,QAAQ;YACR,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC,CAAC;KACN;IAID,sBAAsB;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,SAAS,CAAC;YACN,UAAU,CAAC;gBACP,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CACjD,gDAAgD,CACnD,CAAC;aACL,CAAC,CAAC;SACN,CAAC,CAAC;KACN;;IAGD,MAAM;QACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACjC,QACI,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU,IACjB,EAAC,QAAQ,uDACL,4DACI,IAAI,EAAC,UAAU,gBACH,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAC/B,QAAQ,EAAC,GAAG,EACZ,MAAM,EAAE,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAEnE,8DAAQ,CACN,EACN,4DAAK,MAAM,UACP,6DACI,IAAI,EAAC,OAAO,EACZ,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GACzC,EACR,6DACI,IAAI,EAAC,aAAa,EAClB,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GACzC,CACN,EACN,6DAAM,IAAI,EAAC,UAAU,GAAQ,CACtB,CACR,EACT;KACL;;;;;;;;;;;;;;","names":[],"sources":["src/components/q2-stepper-pane/q2-stepper-pane.scss?tag=q2-stepper-pane&encapsulation=shadow","src/components/q2-stepper-pane/q2-stepper-pane.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n Fragment,\n Event,\n Host,\n Watch,\n EventEmitter,\n Listen,\n State,\n} from '@stencil/core';\nimport { createGuid, loc, nextPaint } from 'src/utils';\n\nexport interface IStepperPaneEvent {\n status: string;\n isActive: boolean;\n id: string;\n host: HTMLElement;\n}\n\n@Component({ tag: 'q2-stepper-pane', shadow: true, styleUrl: 'q2-stepper-pane.scss' })\nexport class Q2StepperPane implements ComponentInterface {\n /**\n * The description for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) description: string;\n\n /**\n * Used by q2-stepper and q2-stepper-vertical to determine which pane is active\n * @private\n */\n @Prop({ reflect: true }) isActive: boolean;\n\n /**\n * The label for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Indicates to display the content of the pane when one of its children is selected.\n * @info\n * Currently only supported in the `<q2-stepper-vertical>` component.\n */\n @Prop({ reflect: true }) showWithChildren: boolean;\n\n /** The status of the pane. */\n @Prop({ reflect: true }) status: 'complete' | 'error' | 'locked';\n\n @State() isChildActive: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the status of the pane changes.\n */\n @Event() statusChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the active state of the pane changes.\n */\n @Event() activeChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the content of the pane changes.\n * @private\n */\n @Event({ bubbles: true }) contentChange: EventEmitter<undefined>;\n\n mutationObserver: MutationObserver;\n\n /// LifeCycle Hooks ///\n connectedCallback() {\n if (!this.hostElement.id) this.hostElement.id = `step-${createGuid()}`;\n }\n\n componentWillLoad() {\n this.checkForActiveChildren();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(() => {\n this.contentChange.emit();\n });\n observer.observe(this.hostElement, { childList: true, subtree: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Watchers and Listeners ///\n @Watch('label')\n @Watch('description')\n labelOrDescriptionChanged() {\n this.contentChange.emit();\n }\n\n @Watch('status')\n statusChanged(status) {\n this.statusChange.emit({\n status,\n isActive: !!this.isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('isActive')\n isActiveChanged(isActive) {\n this.activeChange.emit({\n status: this.status || '',\n isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('showWithChildren')\n @Listen('activeChange')\n checkForActiveChildren() {\n if (!this.showWithChildren) return;\n nextPaint(() => {\n setTimeout(() => {\n this.isChildActive = !!this.hostElement.querySelector<HTMLQ2StepperPaneElement>(\n \"[slot='children'] > q2-stepper-pane[is-active]\"\n );\n });\n });\n }\n\n /// DOM ///\n render() {\n const { label, isActive } = this;\n return (\n <Host role=\"listitem\">\n <Fragment>\n <div\n role=\"tabpanel\"\n aria-label={label && loc(label)}\n tabindex=\"0\"\n hidden={!isActive && !(this.isChildActive && this.showWithChildren)}\n >\n <slot />\n </div>\n <div hidden>\n <slot\n name=\"label\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n <slot\n name=\"description\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n </div>\n <slot name=\"children\"></slot>\n </Fragment>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -130,7 +130,7 @@ const Q2StepperVertical = class {
130
130
  }
131
131
  getStepId(currentStepId, goTo) {
132
132
  const allEnabledStepBtns = Array.from(this.hostElement.shadowRoot.querySelectorAll('ul:not([aria-hidden="true"]) > li > button:not([aria-disabled="true"])'));
133
- const currentStepIndex = allEnabledStepBtns.findIndex(btn => btn.getAttribute('aria-controls') === currentStepId);
133
+ const currentStepIndex = allEnabledStepBtns.findIndex(btn => btn.getAttribute('id') === currentStepId);
134
134
  let nextStepIndex;
135
135
  switch (goTo) {
136
136
  case 'prev':
@@ -146,7 +146,7 @@ const Q2StepperVertical = class {
146
146
  nextStepIndex = allEnabledStepBtns.length - 1;
147
147
  break;
148
148
  }
149
- return allEnabledStepBtns[nextStepIndex].getAttribute('aria-controls');
149
+ return allEnabledStepBtns[nextStepIndex].getAttribute('id');
150
150
  }
151
151
  showStep(stepId) {
152
152
  this.scheduledAfterRender.push(this.resizeIframe);
@@ -197,7 +197,7 @@ const Q2StepperVertical = class {
197
197
  });
198
198
  }
199
199
  focusStepBtn(stepId, forceFocus) {
200
- const stepBtn = this.hostElement.shadowRoot.querySelector(`button[aria-controls="${stepId}"]`);
200
+ const stepBtn = this.hostElement.shadowRoot.querySelector(`button[id="${stepId}"]`);
201
201
  const isComponentActive = document.activeElement === this.hostElement;
202
202
  if (!stepBtn)
203
203
  return;
@@ -246,7 +246,7 @@ const Q2StepperVertical = class {
246
246
  stepClasses.push(`status-${status}`);
247
247
  const childIds = pane.children.map(child => child.id);
248
248
  const isExpanded = isCurrentStep || childIds.includes(currentStepId);
249
- return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, "aria-expanded": !!pane.children.length ? `${isExpanded}` : null, "aria-controls": id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isLocked && this.onStepClick(ev, id) }, statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), label && (h("div", null, h("div", { class: "step-label", id: labelId }, stepLabel), description && (h("div", { class: "step-description", id: descriptionId }, loc(description)))))), this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)));
249
+ return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, "aria-expanded": !!pane.children.length ? `${isExpanded}` : null, id: id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isLocked && this.onStepClick(ev, id) }, statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), label && (h("div", null, h("div", { class: "step-label", id: labelId }, stepLabel), description && (h("div", { class: "step-description", id: descriptionId }, loc(description)))))), this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)));
250
250
  }
251
251
  renderSpacer(pane, stepLabel, isExpanded, isLastStep) {
252
252
  const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;
@@ -269,10 +269,10 @@ const Q2StepperVertical = class {
269
269
  const stepClasses = ['step-child-btn'];
270
270
  if (status)
271
271
  stepClasses.push(`status-${status}`);
272
- return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, "aria-controls": id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isLocked && this.onStepClick(ev, id) }, statusIcon && (h("div", { class: "step-child-icon" }, h("q2-icon", { type: statusIcon }))), label && (h("div", { class: "step-child-label", id: labelId }, loc(label))))));
272
+ return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, id: id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isLocked && this.onStepClick(ev, id) }, statusIcon && (h("div", { class: "step-child-icon" }, h("q2-icon", { type: statusIcon }))), label && (h("div", { class: "step-child-label", id: labelId }, loc(label))))));
273
273
  }
274
274
  render() {
275
- return (h(Fragment, { key: '111b2d1fde499840f0bfc3bc7e15aa031ca48352' }, h("ul", { key: 'cb06c9ee1ce93cc160b07819062cf4f4010be2a7', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), h("div", { key: '993998a6cc4bedb69065f318c59c729896671947' }, h("slot", { key: '12527fc15e44c8ca0c189e797a9e3694143789d0' }))));
275
+ return (h(Fragment, { key: '954a86201a2100af649cc3c8a42971e1a42e929f' }, h("ul", { key: '62689657c58e9d09e22709a6de5852b849db2315', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), h("div", { key: '8e88f8a10693b13b48b10db9f333a242d7e2792d', role: "list" }, h("slot", { key: '21e403a9f85d162de60f9e0840d2619c46d67392' }))));
276
276
  }
277
277
  get hostElement() { return getElement(this); }
278
278
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-stepper-vertical.entry.js","mappings":"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","names":[],"sources":["src/components/q2-stepper-vertical/q2-stepper-vertical.scss?tag=q2-stepper-vertical&encapsulation=shadow","src/components/q2-stepper-vertical/q2-stepper-vertical.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: grid;\n grid-template-columns: var-list(--tct-stepper-vertical-list-width, var-prefixer(advanced-stepper-list-width), 180px) 1fr;\n gap: var-list(--tct-stepper-vertical-layout-gap, var-prefixer(advanced-stepper-layout-gap), 120px);\n}\n\n.step-label,\n.step-child-label {\n color: var(--comp-btn-label-color);\n font-size: var(--comp-btn-label-font-size);\n font-weight: var(--comp-label-font-weight, 400);\n min-height: 1.5em;\n}\n\n.step-label {\n @include line-clamp(var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 2));\n\n [aria-selected='true'] & {\n font-weight: var-list(\n --tct-stepper-vertical-btn-active-font-weight,\n var-prefixer(advanced-stepper-btn-active-font-weight),\n 600\n );\n }\n\n [aria-describedby] & {\n @include line-clamp(\n var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 1)\n );\n }\n}\n\n.step-child-label {\n grid-area: content;\n color: var(--comp-btn-label-color);\n}\n\n.step-description {\n color: var-list(\n --tct-stepper-vertical-description-color,\n var-prefixer(advanced-stepper-description-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(\n --tct-stepper-vertical-description-font-size,\n var-prefixer(advanced-stepper-description-font-size),\n --app-font-size-small,\n 12px\n );\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n}\n\nul {\n --comp-top-btn-icon-size: #{var-list(\n --tct-stepper-vertical-btn-icon-size,\n var-prefixer(advanced-stepper-btn-icon-size),\n 24px\n )};\n --comp-btn-icon-size: #{var(--comp-top-btn-icon-size)};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-3x,\n 15px\n )};\n --comp-btn-label-font-size: #{var-list(\n --tct-stepper-vertical-btn-label-font-size,\n var-prefixer(advanced-stepper-btn-label-font-size),\n 16px\n )};\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-label-color,\n var-prefixer(advanced-stepper-label-color),\n --t-text,\n #4d4d4d\n )};\n --comp-tween: #{var-list(\n --tct-stepper-vertical-tween,\n var-prefixer(advanced-stepper-tween),\n --app-tween-1,\n unquote('0.2s ease')\n )};\n --comp-bullet-bg: #{var-list(\n --tct-stepper-vertical-bullet-active-background,\n var-prefixer(advanced-stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n\n list-style: none;\n margin: 0;\n padding: 0;\n\n ul {\n --comp-btn-icon-size: #{var-list(\n --tct-stepper-vertical-child-btn-icon-size,\n var-prefixer(advanced-stepper-child-btn-icon-size),\n 12px\n )};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-2x,\n 10px\n )};\n --comp-btn-label-font-size: #{var-list(\n --tct-stepper-vertical-child-btn-label-font-size,\n var-prefixer(advanced-stepper-child-btn-label-font-size),\n --app-font-size-small,\n 12px\n )};\n\n &[aria-hidden='true'] {\n display: none;\n }\n }\n}\n\n.step-btn,\n.step-child-btn {\n display: grid;\n grid-template-columns: var(--comp-btn-icon-size) 1fr;\n gap: var(--comp-btn-content-gap);\n text-align: var-list(--tct-stepper-vertical-btn-text-align, var-prefixer(advanced-stepper-btn-text-align), start);\n grid-template-areas: 'icon content';\n align-items: center;\n width: 100%;\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n\n &[aria-disabled] {\n cursor: default;\n --comp-label-font-weight: 300;\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-btn-locked-color,\n var-prefixer(advanced-stepper-btn-locked-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n )};\n }\n\n &[aria-selected='true'] {\n --comp-label-font-weight: 600;\n }\n}\n\n.step-btn {\n min-height: var-list(--tct-stepper-vertical-btn-height, var-prefixer(advanced-stepper-btn-height), 40px);\n font-size: var-list(--tct-stepper-vertical-btn-font-size, var-prefixer(advanced-stepper-btn-font-size), 16px);\n\n --comp-active-color: var(--comp-bullet-bg);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n --tct-stoplight-success: var(--comp-active-color);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-child-btn {\n --comp-active-color: var(--comp-bullet-bg);\n\n min-height: var-list(\n --tct-stepper-vertical-child-btn-height,\n var-prefixer(advanced-stepper-child-btn-height),\n 30px\n );\n padding-left: var-list(\n --tct-stepper-vertical-child-btn-left-padding,\n var-prefixer(advanced-stepper-child-btn-left-padding),\n --app-scale-2x,\n 10px\n );\n font-size: var-list(\n --tct-stepper-vertical-child-btn-font-size,\n var-prefixer(advanced-stepper-child-btn-font-size),\n 12px\n );\n border-left-width: var-list(\n --tct-stepper-vertical-child-btn-left-border-width,\n var-prefixer(advanced-stepper-child-btn-left-border-width),\n 3px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-btn-left-border-style,\n var-prefixer(advanced-stepper-child-btn-left-border-style),\n solid\n );\n border-left-color: transparent;\n\n &[aria-selected='true'] {\n --comp-btn-label-color: var(--comp-active-color);\n border-left-color: var(--comp-active-color);\n }\n\n &.status-error {\n --comp-btn-label-color: var(--const-stoplight-alert, #d20a0a);\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n }\n\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-content {\n grid-area: content;\n}\n\n.step-icon,\n.step-bubble,\n.step-child-icon {\n grid-area: icon;\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n line-height: 0;\n\n q2-icon {\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n}\n\n.step-icon,\n.step-bubble {\n background: var(--comp-active-color);\n color: var(--t-base, #ffffff);\n border-radius: 50%;\n\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n\n q2-icon {\n &:before {\n content: '';\n display: block;\n background: var(--t-base, #ffffff);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n\n // Text-based statuses\n .status-locked & {\n background: var(--t-gray-12, #d9d9d9);\n color: var(--t-text, #4d4d4d);\n }\n\n [aria-selected='true'] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n }\n}\n\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n}\n\n.step-child-icon {\n q2-icon {\n --tct-icon-stroke-primary: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--comp-active-color);\n }\n [aria-selected='true'] & {\n q2-icon {\n fill: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--t-base, #ffffff);\n }\n }\n}\n\n.spacer {\n height: 0;\n border-left-width: var-list(\n --tct-stepper-vertical-child-border-width,\n var-prefixer(advanced-stepaer-child-border-width),\n 1px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-border-style,\n var-prefixer(advanced-stepper-child-border-style),\n solid\n );\n border-left-color: var-list(\n --tct-stepper-vertical-child-border-color,\n var-prefixer(advanced-stepper-child-border-color),\n --t-gray-12,\n #d9d9d9\n );\n overflow: hidden;\n margin-left: calc(var(--comp-top-btn-icon-size) / 2);\n transition: height var(--comp-tween);\n\n &.has-sibling {\n height: var-list(\n --tct-stepper-vertical-spacer-height,\n var-prefixer(advanced-stepper-spacer-height),\n --app-scale-6x,\n 30px\n );\n }\n\n ul {\n opacity: 0;\n transition: opacity var(--comp-tween);\n }\n\n &.is-opening,\n &.is-open {\n ul {\n display: block;\n opacity: 1 !important;\n }\n }\n\n &.is-open {\n overflow: visible;\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\n\ninterface IBaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n}\n\ninterface IStructuredPane extends IBaseStructuredPane {\n children: IBaseStructuredPane[];\n}\n\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true }) currentStepId: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n @State() structuredPanes: IStructuredPane[] = [];\n mutationObserver: MutationObserver;\n expandedStepChildrenList: HTMLUListElement;\n scheduledAfterRender: (() => void)[] = [];\n\n /// LifeCycle Hooks ///\n componentWillLoad() {\n this.setDefaultPane();\n this.buildPaneList();\n const observer = new MutationObserver(this.determinePaneChanges);\n const observerOptions = {\n childList: true,\n };\n observer.observe(this.hostElement, observerOptions);\n this.allRootPanes.forEach(pane => {\n const childrenSlot = pane.querySelector('[slot=children]');\n if (childrenSlot) observer.observe(childrenSlot, observerOptions);\n });\n this.mutationObserver = observer;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStepId), 0);\n }\n\n componentWillUpdate() {\n this.expandedStepChildrenList = null;\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n\n this.openCurrentStepChildren();\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Getters ///\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\n }\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n /// Helpers ///\n setDefaultPane() {\n if (this.currentStepId) return;\n const firstEnabledStep = this.hostElement.querySelector('q2-stepper-pane');\n if (!firstEnabledStep) return;\n if (!firstEnabledStep.id) firstEnabledStep.id = `step-${createGuid()}`;\n this.currentStepId = firstEnabledStep.id;\n }\n\n determinePaneChanges = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type !== 'childList') return;\n if (!mutation.addedNodes.length && !mutation.removedNodes.length) return;\n if (\n mutation.addedNodes[0]?.nodeType !== Node.ELEMENT_NODE &&\n mutation.removedNodes[0]?.nodeType !== Node.ELEMENT_NODE\n )\n return;\n this.buildPaneList();\n });\n };\n\n getStepId(currentStepId: string, goTo: string) {\n const allEnabledStepBtns = Array.from(\n this.hostElement.shadowRoot.querySelectorAll<HTMLQ2StepperPaneElement>(\n 'ul:not([aria-hidden=\"true\"]) > li > button:not([aria-disabled=\"true\"])'\n )\n );\n const currentStepIndex = allEnabledStepBtns.findIndex(\n btn => btn.getAttribute('aria-controls') === currentStepId\n );\n\n let nextStepIndex;\n switch (goTo) {\n case 'prev':\n nextStepIndex = Math.max(currentStepIndex - 1, 0);\n break;\n\n case 'next':\n nextStepIndex = Math.min(currentStepIndex + 1, allEnabledStepBtns.length - 1);\n break;\n\n case 'first':\n nextStepIndex = 0;\n break;\n\n case 'last':\n nextStepIndex = allEnabledStepBtns.length - 1;\n break;\n }\n\n return allEnabledStepBtns[nextStepIndex].getAttribute('aria-controls');\n }\n\n showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\n }\n\n extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n };\n }\n\n buildPaneList = () => {\n const { allRootPanes } = this;\n if (!allRootPanes.length) return;\n\n this.structuredPanes = Array.from(allRootPanes).reduce((accum, pane) => {\n const children = Array.from(pane.querySelector('[slot=children]')?.children ?? [])\n .filter(({ tagName }) => tagName === 'Q2-STEPPER-PANE')\n .map(this.extractDetails);\n\n accum.push({ ...this.extractDetails(pane), children });\n return accum;\n }, []);\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n openCurrentStepChildren() {\n const { expandedStepChildrenList } = this;\n const allSpacers = this.hostElement.shadowRoot.querySelectorAll<HTMLDivElement>('.spacer');\n allSpacers.forEach(spacer => {\n if (expandedStepChildrenList && spacer.contains(expandedStepChildrenList)) {\n spacer.style.height = `${expandedStepChildrenList.clientHeight}px`;\n if (spacer.classList.contains('is-open')) return;\n spacer.classList.add('is-opening');\n spacer.addEventListener(\n 'transitionend',\n () => {\n spacer.classList.remove('is-opening');\n spacer.classList.add('is-open');\n this.resizeIframe();\n },\n { once: true }\n );\n } else {\n spacer.removeAttribute('style');\n spacer.classList.remove('is-open', 'is-opening');\n }\n });\n }\n\n showStepPane(stepId: string) {\n this.allPanes.forEach(pane => {\n if (pane.isActive || pane.id === stepId) {\n pane.isActive = stepId === pane.id;\n }\n });\n }\n\n focusStepBtn(stepId: string, forceFocus?: boolean) {\n const stepBtn = this.hostElement.shadowRoot.querySelector<HTMLElement>(`button[aria-controls=\"${stepId}\"]`);\n const isComponentActive = document.activeElement === this.hostElement;\n if (!stepBtn) return;\n if (isComponentActive || forceFocus) {\n stepBtn.focus();\n }\n }\n\n /// Listeners ///\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStepId = event.detail.selectedStepId;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStepBtn(this.currentStepId, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler() {\n this.buildPaneList();\n }\n\n /// Watchers ///\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n /// Event Handlers ///\n onStepClick = (event, stepId: string) => {\n event.stopPropagation();\n const { currentStepId } = this;\n if (stepId === currentStepId) return;\n const selectedStep = this.allPanes.find(pane => pane.id === stepId);\n\n this.change.emit({\n selectedStep,\n selectedStepId: stepId,\n currentStepId,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepId: string) => {\n const { key } = event;\n\n let selectedStepId;\n switch (key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'prev');\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'next');\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'last');\n break;\n }\n\n if (!selectedStepId) return;\n this.focusStepBtn(selectedStepId, true);\n };\n\n /// DOM ///\n renderStepBtn(pane: IStructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status } = pane;\n const stepNumber = index + 1;\n const isCurrentStep = id === currentStepId;\n const labelId = label && `label-${id}`;\n const isLocked = status === 'locked';\n const stepLabel = label && loc(label);\n const descriptionId = label && description && `description-${id}`;\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.number', [`${stepNumber}`, `${structuredPanes.length}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n const childIds = pane.children.map(child => child.id);\n const isExpanded = isCurrentStep || childIds.includes(currentStepId);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-expanded={!!pane.children.length ? `${isExpanded}` : null}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n\n {label && (\n <div>\n <div\n class=\"step-label\"\n id={labelId}\n >\n {stepLabel}\n </div>\n {description && (\n <div\n class=\"step-description\"\n id={descriptionId}\n >\n {loc(description)}\n </div>\n )}\n </div>\n )}\n </button>\n {this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)}\n </li>\n );\n }\n\n renderSpacer(pane: IStructuredPane, stepLabel: string, isExpanded: boolean, isLastStep: boolean) {\n const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;\n const spacerClasses = ['spacer'];\n if (!isLastStep) spacerClasses.push('has-sibling');\n return (\n shouldRender && (\n <div class={spacerClasses.join(' ')}>\n {!!pane.children.length && (\n <ul\n ref={el => isExpanded && (this.expandedStepChildrenList = el)}\n aria-hidden={`${!isExpanded}`}\n >\n {pane.children.map((child, index, children) =>\n this.renderChildStepBtn(child, index, children.length, stepLabel)\n )}\n </ul>\n )}\n </div>\n )\n );\n }\n\n renderChildStepBtn(pane: IBaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status } = pane;\n const stepNumber = index + 1;\n const labelId = label && `label-${id}`;\n const isCurrentStep = id === currentStepId;\n const isLocked = status === 'locked';\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.childNumber', [`${stepNumber}`, `${children}`, parentLabel]);\n\n let statusIcon;\n if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-child-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon && (\n <div class=\"step-child-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n )}\n {label && (\n <div\n class=\"step-child-label\"\n id={labelId}\n >\n {loc(label)}\n </div>\n )}\n </button>\n </li>\n );\n }\n\n render() {\n return (\n <Fragment>\n <ul role=\"tablist\">{this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))}</ul>\n <div>\n <slot />\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-stepper-vertical.entry.js","mappings":"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","names":[],"sources":["src/components/q2-stepper-vertical/q2-stepper-vertical.scss?tag=q2-stepper-vertical&encapsulation=shadow","src/components/q2-stepper-vertical/q2-stepper-vertical.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: grid;\n grid-template-columns: var-list(--tct-stepper-vertical-list-width, var-prefixer(advanced-stepper-list-width), 180px) 1fr;\n gap: var-list(--tct-stepper-vertical-layout-gap, var-prefixer(advanced-stepper-layout-gap), 120px);\n}\n\n.step-label,\n.step-child-label {\n color: var(--comp-btn-label-color);\n font-size: var(--comp-btn-label-font-size);\n font-weight: var(--comp-label-font-weight, 400);\n min-height: 1.5em;\n}\n\n.step-label {\n @include line-clamp(var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 2));\n\n [aria-selected='true'] & {\n font-weight: var-list(\n --tct-stepper-vertical-btn-active-font-weight,\n var-prefixer(advanced-stepper-btn-active-font-weight),\n 600\n );\n }\n\n [aria-describedby] & {\n @include line-clamp(\n var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 1)\n );\n }\n}\n\n.step-child-label {\n grid-area: content;\n color: var(--comp-btn-label-color);\n}\n\n.step-description {\n color: var-list(\n --tct-stepper-vertical-description-color,\n var-prefixer(advanced-stepper-description-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(\n --tct-stepper-vertical-description-font-size,\n var-prefixer(advanced-stepper-description-font-size),\n --app-font-size-small,\n 12px\n );\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n}\n\nul {\n --comp-top-btn-icon-size: #{var-list(\n --tct-stepper-vertical-btn-icon-size,\n var-prefixer(advanced-stepper-btn-icon-size),\n 24px\n )};\n --comp-btn-icon-size: #{var(--comp-top-btn-icon-size)};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-3x,\n 15px\n )};\n --comp-btn-label-font-size: #{var-list(\n --tct-stepper-vertical-btn-label-font-size,\n var-prefixer(advanced-stepper-btn-label-font-size),\n 16px\n )};\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-label-color,\n var-prefixer(advanced-stepper-label-color),\n --t-text,\n #4d4d4d\n )};\n --comp-tween: #{var-list(\n --tct-stepper-vertical-tween,\n var-prefixer(advanced-stepper-tween),\n --app-tween-1,\n unquote('0.2s ease')\n )};\n --comp-bullet-bg: #{var-list(\n --tct-stepper-vertical-bullet-active-background,\n var-prefixer(advanced-stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n\n list-style: none;\n margin: 0;\n padding: 0;\n\n ul {\n --comp-btn-icon-size: #{var-list(\n --tct-stepper-vertical-child-btn-icon-size,\n var-prefixer(advanced-stepper-child-btn-icon-size),\n 12px\n )};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-2x,\n 10px\n )};\n --comp-btn-label-font-size: #{var-list(\n --tct-stepper-vertical-child-btn-label-font-size,\n var-prefixer(advanced-stepper-child-btn-label-font-size),\n --app-font-size-small,\n 12px\n )};\n\n &[aria-hidden='true'] {\n display: none;\n }\n }\n}\n\n.step-btn,\n.step-child-btn {\n display: grid;\n grid-template-columns: var(--comp-btn-icon-size) 1fr;\n gap: var(--comp-btn-content-gap);\n text-align: var-list(--tct-stepper-vertical-btn-text-align, var-prefixer(advanced-stepper-btn-text-align), start);\n grid-template-areas: 'icon content';\n align-items: center;\n width: 100%;\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n\n &[aria-disabled] {\n cursor: default;\n --comp-label-font-weight: 300;\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-btn-locked-color,\n var-prefixer(advanced-stepper-btn-locked-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n )};\n }\n\n &[aria-selected='true'] {\n --comp-label-font-weight: 600;\n }\n}\n\n.step-btn {\n min-height: var-list(--tct-stepper-vertical-btn-height, var-prefixer(advanced-stepper-btn-height), 40px);\n font-size: var-list(--tct-stepper-vertical-btn-font-size, var-prefixer(advanced-stepper-btn-font-size), 16px);\n\n --comp-active-color: var(--comp-bullet-bg);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n --tct-stoplight-success: var(--comp-active-color);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-child-btn {\n --comp-active-color: var(--comp-bullet-bg);\n\n min-height: var-list(\n --tct-stepper-vertical-child-btn-height,\n var-prefixer(advanced-stepper-child-btn-height),\n 30px\n );\n padding-left: var-list(\n --tct-stepper-vertical-child-btn-left-padding,\n var-prefixer(advanced-stepper-child-btn-left-padding),\n --app-scale-2x,\n 10px\n );\n font-size: var-list(\n --tct-stepper-vertical-child-btn-font-size,\n var-prefixer(advanced-stepper-child-btn-font-size),\n 12px\n );\n border-left-width: var-list(\n --tct-stepper-vertical-child-btn-left-border-width,\n var-prefixer(advanced-stepper-child-btn-left-border-width),\n 3px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-btn-left-border-style,\n var-prefixer(advanced-stepper-child-btn-left-border-style),\n solid\n );\n border-left-color: transparent;\n\n &[aria-selected='true'] {\n --comp-btn-label-color: var(--comp-active-color);\n border-left-color: var(--comp-active-color);\n }\n\n &.status-error {\n --comp-btn-label-color: var(--const-stoplight-alert, #d20a0a);\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n }\n\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-content {\n grid-area: content;\n}\n\n.step-icon,\n.step-bubble,\n.step-child-icon {\n grid-area: icon;\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n line-height: 0;\n\n q2-icon {\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n}\n\n.step-icon,\n.step-bubble {\n background: var(--comp-active-color);\n color: var(--t-base, #ffffff);\n border-radius: 50%;\n\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n\n q2-icon {\n &:before {\n content: '';\n display: block;\n background: var(--t-base, #ffffff);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n\n // Text-based statuses\n .status-locked & {\n background: var(--t-gray-12, #d9d9d9);\n color: var(--t-text, #4d4d4d);\n }\n\n [aria-selected='true'] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n }\n}\n\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n}\n\n.step-child-icon {\n q2-icon {\n --tct-icon-stroke-primary: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--comp-active-color);\n }\n [aria-selected='true'] & {\n q2-icon {\n fill: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--t-base, #ffffff);\n }\n }\n}\n\n.spacer {\n height: 0;\n border-left-width: var-list(\n --tct-stepper-vertical-child-border-width,\n var-prefixer(advanced-stepaer-child-border-width),\n 1px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-border-style,\n var-prefixer(advanced-stepper-child-border-style),\n solid\n );\n border-left-color: var-list(\n --tct-stepper-vertical-child-border-color,\n var-prefixer(advanced-stepper-child-border-color),\n --t-gray-12,\n #d9d9d9\n );\n overflow: hidden;\n margin-left: calc(var(--comp-top-btn-icon-size) / 2);\n transition: height var(--comp-tween);\n\n &.has-sibling {\n height: var-list(\n --tct-stepper-vertical-spacer-height,\n var-prefixer(advanced-stepper-spacer-height),\n --app-scale-6x,\n 30px\n );\n }\n\n ul {\n opacity: 0;\n transition: opacity var(--comp-tween);\n }\n\n &.is-opening,\n &.is-open {\n ul {\n display: block;\n opacity: 1 !important;\n }\n }\n\n &.is-open {\n overflow: visible;\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\n\ninterface IBaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n}\n\ninterface IStructuredPane extends IBaseStructuredPane {\n children: IBaseStructuredPane[];\n}\n\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true }) currentStepId: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n @State() structuredPanes: IStructuredPane[] = [];\n mutationObserver: MutationObserver;\n expandedStepChildrenList: HTMLUListElement;\n scheduledAfterRender: (() => void)[] = [];\n\n /// LifeCycle Hooks ///\n componentWillLoad() {\n this.setDefaultPane();\n this.buildPaneList();\n const observer = new MutationObserver(this.determinePaneChanges);\n const observerOptions = {\n childList: true,\n };\n observer.observe(this.hostElement, observerOptions);\n this.allRootPanes.forEach(pane => {\n const childrenSlot = pane.querySelector('[slot=children]');\n if (childrenSlot) observer.observe(childrenSlot, observerOptions);\n });\n this.mutationObserver = observer;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStepId), 0);\n }\n\n componentWillUpdate() {\n this.expandedStepChildrenList = null;\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n\n this.openCurrentStepChildren();\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Getters ///\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\n }\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n /// Helpers ///\n setDefaultPane() {\n if (this.currentStepId) return;\n const firstEnabledStep = this.hostElement.querySelector('q2-stepper-pane');\n if (!firstEnabledStep) return;\n if (!firstEnabledStep.id) firstEnabledStep.id = `step-${createGuid()}`;\n this.currentStepId = firstEnabledStep.id;\n }\n\n determinePaneChanges = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type !== 'childList') return;\n if (!mutation.addedNodes.length && !mutation.removedNodes.length) return;\n if (\n mutation.addedNodes[0]?.nodeType !== Node.ELEMENT_NODE &&\n mutation.removedNodes[0]?.nodeType !== Node.ELEMENT_NODE\n )\n return;\n this.buildPaneList();\n });\n };\n\n getStepId(currentStepId: string, goTo: string) {\n const allEnabledStepBtns = Array.from(\n this.hostElement.shadowRoot.querySelectorAll<HTMLQ2StepperPaneElement>(\n 'ul:not([aria-hidden=\"true\"]) > li > button:not([aria-disabled=\"true\"])'\n )\n );\n const currentStepIndex = allEnabledStepBtns.findIndex(btn => btn.getAttribute('id') === currentStepId);\n\n let nextStepIndex;\n switch (goTo) {\n case 'prev':\n nextStepIndex = Math.max(currentStepIndex - 1, 0);\n break;\n\n case 'next':\n nextStepIndex = Math.min(currentStepIndex + 1, allEnabledStepBtns.length - 1);\n break;\n\n case 'first':\n nextStepIndex = 0;\n break;\n\n case 'last':\n nextStepIndex = allEnabledStepBtns.length - 1;\n break;\n }\n\n return allEnabledStepBtns[nextStepIndex].getAttribute('id');\n }\n\n showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\n }\n\n extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n };\n }\n\n buildPaneList = () => {\n const { allRootPanes } = this;\n if (!allRootPanes.length) return;\n\n this.structuredPanes = Array.from(allRootPanes).reduce((accum, pane) => {\n const children = Array.from(pane.querySelector('[slot=children]')?.children ?? [])\n .filter(({ tagName }) => tagName === 'Q2-STEPPER-PANE')\n .map(this.extractDetails);\n\n accum.push({ ...this.extractDetails(pane), children });\n return accum;\n }, []);\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n openCurrentStepChildren() {\n const { expandedStepChildrenList } = this;\n const allSpacers = this.hostElement.shadowRoot.querySelectorAll<HTMLDivElement>('.spacer');\n allSpacers.forEach(spacer => {\n if (expandedStepChildrenList && spacer.contains(expandedStepChildrenList)) {\n spacer.style.height = `${expandedStepChildrenList.clientHeight}px`;\n if (spacer.classList.contains('is-open')) return;\n spacer.classList.add('is-opening');\n spacer.addEventListener(\n 'transitionend',\n () => {\n spacer.classList.remove('is-opening');\n spacer.classList.add('is-open');\n this.resizeIframe();\n },\n { once: true }\n );\n } else {\n spacer.removeAttribute('style');\n spacer.classList.remove('is-open', 'is-opening');\n }\n });\n }\n\n showStepPane(stepId: string) {\n this.allPanes.forEach(pane => {\n if (pane.isActive || pane.id === stepId) {\n pane.isActive = stepId === pane.id;\n }\n });\n }\n\n focusStepBtn(stepId: string, forceFocus?: boolean) {\n const stepBtn = this.hostElement.shadowRoot.querySelector<HTMLElement>(`button[id=\"${stepId}\"]`);\n const isComponentActive = document.activeElement === this.hostElement;\n if (!stepBtn) return;\n if (isComponentActive || forceFocus) {\n stepBtn.focus();\n }\n }\n\n /// Listeners ///\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStepId = event.detail.selectedStepId;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStepBtn(this.currentStepId, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler() {\n this.buildPaneList();\n }\n\n /// Watchers ///\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n /// Event Handlers ///\n onStepClick = (event, stepId: string) => {\n event.stopPropagation();\n const { currentStepId } = this;\n if (stepId === currentStepId) return;\n const selectedStep = this.allPanes.find(pane => pane.id === stepId);\n\n this.change.emit({\n selectedStep,\n selectedStepId: stepId,\n currentStepId,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepId: string) => {\n const { key } = event;\n\n let selectedStepId;\n switch (key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'prev');\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'next');\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'last');\n break;\n }\n\n if (!selectedStepId) return;\n this.focusStepBtn(selectedStepId, true);\n };\n\n /// DOM ///\n renderStepBtn(pane: IStructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status } = pane;\n const stepNumber = index + 1;\n const isCurrentStep = id === currentStepId;\n const labelId = label && `label-${id}`;\n const isLocked = status === 'locked';\n const stepLabel = label && loc(label);\n const descriptionId = label && description && `description-${id}`;\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.number', [`${stepNumber}`, `${structuredPanes.length}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n const childIds = pane.children.map(child => child.id);\n const isExpanded = isCurrentStep || childIds.includes(currentStepId);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-expanded={!!pane.children.length ? `${isExpanded}` : null}\n id={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n\n {label && (\n <div>\n <div\n class=\"step-label\"\n id={labelId}\n >\n {stepLabel}\n </div>\n {description && (\n <div\n class=\"step-description\"\n id={descriptionId}\n >\n {loc(description)}\n </div>\n )}\n </div>\n )}\n </button>\n {this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)}\n </li>\n );\n }\n\n renderSpacer(pane: IStructuredPane, stepLabel: string, isExpanded: boolean, isLastStep: boolean) {\n const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;\n const spacerClasses = ['spacer'];\n if (!isLastStep) spacerClasses.push('has-sibling');\n return (\n shouldRender && (\n <div class={spacerClasses.join(' ')}>\n {!!pane.children.length && (\n <ul\n ref={el => isExpanded && (this.expandedStepChildrenList = el)}\n aria-hidden={`${!isExpanded}`}\n >\n {pane.children.map((child, index, children) =>\n this.renderChildStepBtn(child, index, children.length, stepLabel)\n )}\n </ul>\n )}\n </div>\n )\n );\n }\n\n renderChildStepBtn(pane: IBaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status } = pane;\n const stepNumber = index + 1;\n const labelId = label && `label-${id}`;\n const isCurrentStep = id === currentStepId;\n const isLocked = status === 'locked';\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.childNumber', [`${stepNumber}`, `${children}`, parentLabel]);\n\n let statusIcon;\n if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-child-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n id={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon && (\n <div class=\"step-child-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n )}\n {label && (\n <div\n class=\"step-child-label\"\n id={labelId}\n >\n {loc(label)}\n </div>\n )}\n </button>\n </li>\n );\n }\n\n render() {\n return (\n <Fragment>\n <ul role=\"tablist\">{this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))}</ul>\n <div role=\"list\">\n <slot />\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
@@ -201,14 +201,14 @@ const Q2Stepper = class {
201
201
  stepClasses.push(`status-${status}`);
202
202
  const isLocked = status === 'locked';
203
203
  const disabled = isLocked || stepNumber > lastEnabledStep;
204
- return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": isCurrentStep, "aria-controls": id, "aria-disabled": disabled ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => this.onStepKeyDown(ev, stepNumber), onClick: ev => !isLocked && this.onStepClick(ev, stepNumber) }, h(Fragment, null, statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), labelId && (h("div", { class: "step-label", id: labelId, innerHTML: label })), labelId && descriptionId && (h("div", { class: "step-description", id: descriptionId, innerHTML: description })))), stepIndex ? h("div", { class: "step-divider" }) : ''));
204
+ return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": isCurrentStep, "aria-disabled": disabled ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => this.onStepKeyDown(ev, stepNumber), onClick: ev => !isLocked && this.onStepClick(ev, stepNumber) }, h(Fragment, null, statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), labelId && (h("div", { class: "step-label", id: labelId, innerHTML: label })), labelId && descriptionId && (h("div", { class: "step-description", id: descriptionId, innerHTML: description })))), stepIndex ? h("div", { class: "step-divider" }) : ''));
205
205
  }
206
206
  render() {
207
207
  const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;
208
208
  const containerClasses = ['step-container'];
209
209
  if (scrollEnabled)
210
210
  containerClasses.push('has-scroll');
211
- return (h(Fragment, { key: '0725d44fe3643cf8cfa22615c2e84c1b2d94c73a' }, h("div", { key: 'cce4ed1010c247e4a73a9875fd3ca3d2aff40308', class: containerClasses.join(' ') }, scrollEnabled && (h(Fragment, { key: '3308619f909ba2d72587e285502c1e5bde37eec1' }, h("div", { key: 'd41c11095e7710bd23a59dba23d1730c9a129782', class: "gradient-left", hidden: !showScrollLeft }), h("div", { key: '9537b4b2b45e388be063e623b01b271e6b6f952c', class: "gradient-right", hidden: !showScrollRight }), h("q2-btn", { key: '4d6cc7e82d6ead7bcd5ec2a9cadb6c224bf54644', class: "btn-left", hidden: !this.showScrollLeft, onClick: () => this.onScrollBtnClick('left') }, h("q2-icon", { key: 'cd9eb6d9868eafd32c84d3b60b6f798d3327e3f8', type: "chevron-left" })), h("q2-btn", { key: '61ef838d8648d998e5d69ee1b2b4d14659dcd43c', class: "btn-right", hidden: !this.showScrollRight, onClick: () => this.onScrollBtnClick('right') }, h("q2-icon", { key: 'b6542d47f5eeb4c1208c1405d03b49199d7245f6', type: "chevron-right" })))), h("ul", { key: '3065e3524afc7071ec57260511c30bb769218998', onScroll: this.checkScrollState, ref: el => (this.listElement = el), role: "tablist" }, stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex)))), h("div", { key: '66838a87e2dcebe837fccc32557e1639a1f961fc' }, h("slot", { key: 'bdda7acf5353fd55e3f643826e30619f0b6f9bdf', onSlotchange: () => this.onSlotChange() }))));
211
+ return (h(Fragment, { key: 'cedbc06ff7c6c583cda6d4b366d21e22ad03912c' }, h("div", { key: '91759ac7189c510ebe5418e2621117a74ea17778', class: containerClasses.join(' ') }, scrollEnabled && (h(Fragment, { key: '9c3ad809053e772d978d9eba6a1f514ec15ef8a1' }, h("div", { key: '1dc29c3875d3bab171fb907370cb34caf5e61e98', class: "gradient-left", hidden: !showScrollLeft }), h("div", { key: '0c76e2871e14888f85c5bd87fbf83e3ad9abb4b7', class: "gradient-right", hidden: !showScrollRight }), h("q2-btn", { key: '3d743c9af15a584977b4d1ec5509759fd2ab8c4e', class: "btn-left", hideLabel: true, hidden: !this.showScrollLeft, label: loc('tecton.element.stepper.scrollLeft'), onClick: () => this.onScrollBtnClick('left') }, h("q2-icon", { key: '64cedc532ad005a8b55c95ea0e840159d1bcb8e5', type: "chevron-left" })), h("q2-btn", { key: '5a19e4d2444ba51acd9b54b8b9f9cdc12e4e743f', class: "btn-right", hideLabel: true, hidden: !this.showScrollRight, label: loc('tecton.element.stepper.scrollRight'), onClick: () => this.onScrollBtnClick('right') }, h("q2-icon", { key: '3a19166fad643afc709110b4f50aee5a67c1143e', type: "chevron-right" })))), h("ul", { key: 'b444c1c7aecf1ed6618ba0e97764e9d312138fea', onScroll: this.checkScrollState, ref: el => (this.listElement = el), role: "tablist" }, stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex)))), h("div", { key: '6550689e4aadd2aa99148a056d9685ca81b55bd3', role: "list" }, h("slot", { key: '5ef7a5f038fa1abeb9d3154faf0e07cf55efe77c', onSlotchange: () => this.onSlotChange() }))));
212
212
  }
213
213
  get hostElement() { return getElement(this); }
214
214
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-stepper.entry.js","mappings":"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","names":[],"sources":["src/components/q2-stepper/q2-stepper.scss?tag=q2-stepper&encapsulation=shadow","src/components/q2-stepper/q2-stepper.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n\nul {\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-active-background,\n var-prefixer(stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n --comp-bullet-font-color: #{var-list(\n var-prefixer(stepper-bullet-active-font-color),\n --t-primary-font-color,\n #ffffff\n )};\n --comp-bullet-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-bullet-gap: #{var-list(var-prefixer(stepper-btn-gap), --app-scale-3x, 15px)};\n --comp-bullet-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n\n --comp-step-width: #{var-list(var-prefixer(stepper-step-width), --t-stepper-step-width, 80px)};\n --comp-step-gap: #{var-list(var-prefixer(stepper-step-gap), 5px)};\n --comp-btn-icon-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-btn-label-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n --comp-tween: #{var-list(var-prefixer(stepper-tween), --app-tween-1, unquote('0.2s ease'))};\n\n overflow-x: auto;\n display: flex;\n justify-content: center;\n list-style: none;\n padding: 0;\n padding: var-list(var-prefixer(stepper-list-padding), 2px);\n margin: 0;\n gap: var(--comp-step-gap);\n @include tiny-scrollbar();\n\n .has-scroll & {\n justify-content: unset;\n }\n}\n\nli {\n min-height: var-list(var-prefixer(stepper-min-height), 50px);\n flex: 0 0 auto;\n position: relative;\n width: var(--comp-step-width);\n text-align: center;\n max-width: 150px;\n min-width: 80px;\n}\n\n.step-btn {\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: calc(100% - 4px);\n width: 100%;\n transition: var(--comp-tween);\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n margin-top: 2px;\n\n --comp-active-color: var(--comp-bullet-background);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n --tct-stoplight-success: var(--comp-active-color);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n\n &[aria-disabled] {\n cursor: not-allowed;\n\n &,\n & + .step-divider {\n --comp-bullet-font-color: #{var-list(var-prefixer(stepper-bullet-inactive-font-color), --t-text, #4d4d4d)};\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-inactive-background,\n var-prefixer(stepper-bullet-inactive-bg),\n --t-gray-12,\n #d9d9d9\n )};\n }\n }\n}\n.step-icon,\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n margin: var(--comp-bullet-gap) auto;\n color: var(--comp-bullet-font-color);\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n min-height: var(--comp-btn-icon-size);\n font-size: var(--comp-bullet-font-size);\n transition: var(--comp-tween);\n transition-property: background, color;\n border-radius: 50%;\n position: relative;\n\n q2-icon {\n --tct-icon-fill: var(--comp-active-color);\n &:before {\n content: '';\n display: block;\n background: var(--comp-bullet-font-color);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n [aria-selected] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n font-weight: var-list(var-prefixer(stepper-bullet-active-font-weight), 600);\n }\n}\n\n.step-bubble {\n background: var(--comp-bullet-background);\n}\n\n.step-divider {\n width: calc(var(--comp-step-width) - var(--comp-step-gap) - var(--comp-bullet-gap) - var(--comp-bullet-size));\n top: calc(calc(var(--comp-bullet-size) / 2) + var(--comp-bullet-gap));\n left: calc(calc(var(--comp-step-width) * -0.5) + var(--comp-step-gap) + var(--comp-bullet-gap));\n border: 0;\n border-top: 1px solid var(--comp-bullet-background);\n height: 0;\n position: absolute;\n margin: 0;\n transition: border var(--comp-tween);\n}\n\n.step-container {\n position: relative;\n}\n\n.step-label {\n color: var-list(--tct-stepper-label-color, var-prefixer(stepper-title-color), --t-text, #4d4d4d);\n font-size: var-list(\n --tct-stepper-label-font-size,\n var-prefixer(stepper-title-font-size),\n --app-font-size-small,\n 12px\n );\n line-height: var-list(--tct-stepper-label-line-height, 1.5em);\n @include line-clamp(var(--tct-stepper-label-line-count, 2));\n\n [aria-selected] & {\n font-weight: var-list(var-prefixer(stepper-active-font-weight), 600);\n }\n\n [aria-describedby] & {\n -webkit-line-clamp: var(--tct-stepper-label-line-count, 1);\n }\n}\n\n.step-description {\n color: var-list(var-prefixer(stepper-description-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(var-prefixer(stepper-description-font-size), --app-font-size-small, 12px);\n @include line-clamp(var(--tct-stepper-description-line-count, 4));\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n\n // For description slot on q2-stepper-pane\n .ellipsize {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: var(--comp-step-width);\n display: block;\n }\n}\n\n.gradient-left,\n.gradient-right {\n z-index: 1;\n position: absolute;\n top: 0;\n height: 100%;\n width: 18px;\n}\n\n.gradient-left {\n background-image: linear-gradient(\n to left,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n left: 0;\n}\n\n.gradient-right {\n background-image: linear-gradient(\n to right,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n right: 0;\n}\n\n.btn-left,\n.btn-right {\n --tct-icon-size: 18px;\n --tct-btn-icon-hover-background: transparent;\n --tct-btn-icon-width: 22px;\n --tct-icon-stroke-primary: #{var-list(var-prefixer(stepper-scroll-arrow-color), --t-text, #4d4d4d)};\n\n position: absolute;\n top: calc(50% - 22px);\n z-index: 2;\n q2-icon {\n --tct-icon-stroke-width: 3;\n }\n}\n\n.btn-left {\n left: 0;\n}\n\n.btn-right {\n right: 0;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement } from 'src/utils';\n@Component({ tag: 'q2-stepper', shadow: true, styleUrl: 'q2-stepper.scss' })\nexport class Q2Stepper implements ComponentInterface {\n /** The currently selected step. */\n @Prop({ reflect: true, mutable: true }) currentStep: number = 1;\n\n /**\n * Used to determine the number of steps in the stepper.\n * @private\n */\n @Prop({ mutable: true }) stepCount: number;\n\n /**\n * The last step the user may navigate to.\n * @info\n * Will be managed automatically if not provided.\n */\n @Prop({ mutable: true }) lastEnabledStep: number;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter;\n @State() contentChangeTriggerCount: number = 0;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n listElement: HTMLUListElement;\n resizeObserver: ResizeObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (!this.lastEnabledStep) this.lastEnabledStep = this.currentStep || 1;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.checkForPanes();\n }\n\n componentDidLoad() {\n this.resizeObserver.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStep || 1), 0);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n ////////// WATCHER METHODS ////////\n\n @Watch('currentStep')\n currentStepChanged(stepNumber: number) {\n this.showStep(stepNumber);\n }\n\n ////////// HOST EVENTS ////////\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStep = event.detail.selectedStep;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStep(this.currentStep, true, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler(event: CustomEvent) {\n const index = Array.from(this.allPanes).findIndex(el => event.detail.id === el.id);\n if (index > -1) {\n this.allPanes[index].status = event.detail.status;\n this.renderStepBtn(index);\n }\n }\n\n @Listen('contentChange')\n contentChangeHandler() {\n this.contentChangeTriggerCount += 1;\n }\n\n ////////// GETTER METHODS ////////\n\n get allPanes() {\n return this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane');\n }\n\n ////////// EVENT HANDLERS ////////\n\n onSlotChange = () => {\n this.checkForPanes();\n this.checkScrollState();\n };\n\n onScrollBtnClick = (direction: 'left' | 'right') => {\n const scrollAmount = Math.floor(this.listElement.clientWidth / 2);\n\n this.listElement.scrollBy({\n left: direction === 'left' ? -scrollAmount : scrollAmount,\n behavior: 'smooth',\n });\n };\n\n onStepClick = (event, selectedStep: number) => {\n event.stopPropagation();\n const { currentStep, stepCount, lastEnabledStep } = this;\n if (selectedStep > lastEnabledStep || selectedStep === currentStep) return;\n\n this.change.emit({\n selectedStep,\n lastEnabledStep,\n currentStep,\n stepCount,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepNumber: number) => {\n const { lastEnabledStep, stepCount } = this;\n const { key } = event;\n\n let selectedStep;\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n selectedStep = Math.max(stepNumber - 1, 0);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedStep = Math.min(stepNumber + 1, stepCount);\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStep = 1;\n break;\n\n case 'End':\n event.preventDefault();\n selectedStep = lastEnabledStep;\n break;\n }\n\n if (!selectedStep) return;\n this.focusStep(selectedStep, true);\n };\n\n ////////// HELPER METHODS ////////\n\n showStep(stepNumber: number) {\n if (stepNumber > this.lastEnabledStep) {\n const { currentStep, stepCount } = this;\n this.lastEnabledStep = stepNumber;\n this.change.emit({\n selectedStep: null,\n lastEnabledStep: stepNumber,\n currentStep,\n stepCount,\n });\n }\n\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepNumber);\n this.focusStep(stepNumber, this.scrollEnabled);\n }\n\n checkForPanes = () => {\n const { allPanes } = this;\n if (!allPanes.length) return;\n\n this.stepCount = allPanes.length;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = !!scrollLeft;\n this.showScrollRight = scrollWidth !== scrollLeft + clientWidth;\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n showStepPane(stepNumber: number) {\n this.allPanes.forEach((pane, index) => {\n pane.isActive = stepNumber === index + 1;\n });\n }\n\n focusStep(stepNumber: number, scrollIntoView?: boolean, forceFocus?: boolean) {\n const stepListItem = this.listElement.children[stepNumber - 1] as HTMLLIElement;\n const isActive = document.activeElement === this.hostElement;\n if (!stepListItem) return;\n if (isActive || forceFocus) {\n (stepListItem.firstElementChild as HTMLButtonElement)?.focus();\n }\n\n if (scrollIntoView) {\n const left = stepListItem.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n }\n }\n\n ////////// RENDER METHODS ////////\n getPaneSlotOrProperty(pane: HTMLQ2StepperPaneElement, slotName: 'description' | 'label') {\n const slot = pane.querySelector<HTMLElement>(`[slot=\"${slotName}\"]`);\n return slot?.outerHTML ?? loc(pane[slotName]);\n }\n\n renderStepBtn(stepIndex: number) {\n const { allPanes, stepCount, currentStep, lastEnabledStep } = this;\n const pane = allPanes?.[stepIndex] ?? null;\n const { id, status } = pane;\n const label = this.getPaneSlotOrProperty(pane, 'label');\n const description = this.getPaneSlotOrProperty(pane, 'description');\n\n const stepNumber = stepIndex + 1;\n const isCurrentStep = stepNumber === currentStep;\n const labelId = !!label && `label-${id}`;\n const descriptionId = !!label && !!description && `description-${id}`;\n const btnLabel = !label && loc('tecton.element.stepper.number', [`${stepNumber}`, `${stepCount}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n const isLocked = status === 'locked';\n const disabled = isLocked || stepNumber > lastEnabledStep;\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={isCurrentStep}\n aria-controls={id}\n aria-disabled={disabled ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => this.onStepKeyDown(ev, stepNumber)}\n onClick={ev => !isLocked && this.onStepClick(ev, stepNumber)}\n >\n <Fragment>\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n {labelId && (\n <div\n class=\"step-label\"\n id={labelId}\n innerHTML={label}\n ></div>\n )}\n {labelId && descriptionId && (\n <div\n class=\"step-description\"\n id={descriptionId}\n innerHTML={description}\n ></div>\n )}\n </Fragment>\n </button>\n {stepIndex ? <div class=\"step-divider\"></div> : ''}\n </li>\n );\n }\n\n render() {\n const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;\n const containerClasses = ['step-container'];\n if (scrollEnabled) containerClasses.push('has-scroll');\n\n return (\n <Fragment>\n <div class={containerClasses.join(' ')}>\n {scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon type=\"chevron-left\"></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon type=\"chevron-right\"></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n role=\"tablist\"\n >\n {stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex))}\n </ul>\n </div>\n <div>\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-stepper.entry.js","mappings":"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","names":[],"sources":["src/components/q2-stepper/q2-stepper.scss?tag=q2-stepper&encapsulation=shadow","src/components/q2-stepper/q2-stepper.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n\nul {\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-active-background,\n var-prefixer(stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n --comp-bullet-font-color: #{var-list(\n var-prefixer(stepper-bullet-active-font-color),\n --t-primary-font-color,\n #ffffff\n )};\n --comp-bullet-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-bullet-gap: #{var-list(var-prefixer(stepper-btn-gap), --app-scale-3x, 15px)};\n --comp-bullet-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n\n --comp-step-width: #{var-list(var-prefixer(stepper-step-width), --t-stepper-step-width, 80px)};\n --comp-step-gap: #{var-list(var-prefixer(stepper-step-gap), 5px)};\n --comp-btn-icon-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-btn-label-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n --comp-tween: #{var-list(var-prefixer(stepper-tween), --app-tween-1, unquote('0.2s ease'))};\n\n overflow-x: auto;\n display: flex;\n justify-content: center;\n list-style: none;\n padding: 0;\n padding: var-list(var-prefixer(stepper-list-padding), 2px);\n margin: 0;\n gap: var(--comp-step-gap);\n @include tiny-scrollbar();\n\n .has-scroll & {\n justify-content: unset;\n }\n}\n\nli {\n min-height: var-list(var-prefixer(stepper-min-height), 50px);\n flex: 0 0 auto;\n position: relative;\n width: var(--comp-step-width);\n text-align: center;\n max-width: 150px;\n min-width: 80px;\n}\n\n.step-btn {\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: calc(100% - 4px);\n width: 100%;\n transition: var(--comp-tween);\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n margin-top: 2px;\n\n --comp-active-color: var(--comp-bullet-background);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n --tct-stoplight-success: var(--comp-active-color);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n\n &[aria-disabled] {\n cursor: not-allowed;\n\n &,\n & + .step-divider {\n --comp-bullet-font-color: #{var-list(var-prefixer(stepper-bullet-inactive-font-color), --t-text, #4d4d4d)};\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-inactive-background,\n var-prefixer(stepper-bullet-inactive-bg),\n --t-gray-12,\n #d9d9d9\n )};\n }\n }\n}\n.step-icon,\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n margin: var(--comp-bullet-gap) auto;\n color: var(--comp-bullet-font-color);\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n min-height: var(--comp-btn-icon-size);\n font-size: var(--comp-bullet-font-size);\n transition: var(--comp-tween);\n transition-property: background, color;\n border-radius: 50%;\n position: relative;\n\n q2-icon {\n --tct-icon-fill: var(--comp-active-color);\n &:before {\n content: '';\n display: block;\n background: var(--comp-bullet-font-color);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n [aria-selected] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n font-weight: var-list(var-prefixer(stepper-bullet-active-font-weight), 600);\n }\n}\n\n.step-bubble {\n background: var(--comp-bullet-background);\n}\n\n.step-divider {\n width: calc(var(--comp-step-width) - var(--comp-step-gap) - var(--comp-bullet-gap) - var(--comp-bullet-size));\n top: calc(calc(var(--comp-bullet-size) / 2) + var(--comp-bullet-gap));\n left: calc(calc(var(--comp-step-width) * -0.5) + var(--comp-step-gap) + var(--comp-bullet-gap));\n border: 0;\n border-top: 1px solid var(--comp-bullet-background);\n height: 0;\n position: absolute;\n margin: 0;\n transition: border var(--comp-tween);\n}\n\n.step-container {\n position: relative;\n}\n\n.step-label {\n color: var-list(--tct-stepper-label-color, var-prefixer(stepper-title-color), --t-text, #4d4d4d);\n font-size: var-list(\n --tct-stepper-label-font-size,\n var-prefixer(stepper-title-font-size),\n --app-font-size-small,\n 12px\n );\n line-height: var-list(--tct-stepper-label-line-height, 1.5em);\n @include line-clamp(var(--tct-stepper-label-line-count, 2));\n\n [aria-selected] & {\n font-weight: var-list(var-prefixer(stepper-active-font-weight), 600);\n }\n\n [aria-describedby] & {\n -webkit-line-clamp: var(--tct-stepper-label-line-count, 1);\n }\n}\n\n.step-description {\n color: var-list(var-prefixer(stepper-description-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(var-prefixer(stepper-description-font-size), --app-font-size-small, 12px);\n @include line-clamp(var(--tct-stepper-description-line-count, 4));\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n\n // For description slot on q2-stepper-pane\n .ellipsize {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: var(--comp-step-width);\n display: block;\n }\n}\n\n.gradient-left,\n.gradient-right {\n z-index: 1;\n position: absolute;\n top: 0;\n height: 100%;\n width: 18px;\n}\n\n.gradient-left {\n background-image: linear-gradient(\n to left,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n left: 0;\n}\n\n.gradient-right {\n background-image: linear-gradient(\n to right,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n right: 0;\n}\n\n.btn-left,\n.btn-right {\n --tct-icon-size: 18px;\n --tct-btn-icon-hover-background: transparent;\n --tct-btn-icon-width: 22px;\n --tct-icon-stroke-primary: #{var-list(var-prefixer(stepper-scroll-arrow-color), --t-text, #4d4d4d)};\n\n position: absolute;\n top: calc(50% - 22px);\n z-index: 2;\n q2-icon {\n --tct-icon-stroke-width: 3;\n }\n}\n\n.btn-left {\n left: 0;\n}\n\n.btn-right {\n right: 0;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement } from 'src/utils';\n@Component({ tag: 'q2-stepper', shadow: true, styleUrl: 'q2-stepper.scss' })\nexport class Q2Stepper implements ComponentInterface {\n /** The currently selected step. */\n @Prop({ reflect: true, mutable: true }) currentStep: number = 1;\n\n /**\n * Used to determine the number of steps in the stepper.\n * @private\n */\n @Prop({ mutable: true }) stepCount: number;\n\n /**\n * The last step the user may navigate to.\n * @info\n * Will be managed automatically if not provided.\n */\n @Prop({ mutable: true }) lastEnabledStep: number;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter;\n @State() contentChangeTriggerCount: number = 0;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n listElement: HTMLUListElement;\n resizeObserver: ResizeObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (!this.lastEnabledStep) this.lastEnabledStep = this.currentStep || 1;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.checkForPanes();\n }\n\n componentDidLoad() {\n this.resizeObserver.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStep || 1), 0);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n ////////// WATCHER METHODS ////////\n\n @Watch('currentStep')\n currentStepChanged(stepNumber: number) {\n this.showStep(stepNumber);\n }\n\n ////////// HOST EVENTS ////////\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStep = event.detail.selectedStep;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStep(this.currentStep, true, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler(event: CustomEvent) {\n const index = Array.from(this.allPanes).findIndex(el => event.detail.id === el.id);\n if (index > -1) {\n this.allPanes[index].status = event.detail.status;\n this.renderStepBtn(index);\n }\n }\n\n @Listen('contentChange')\n contentChangeHandler() {\n this.contentChangeTriggerCount += 1;\n }\n\n ////////// GETTER METHODS ////////\n\n get allPanes() {\n return this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane');\n }\n\n ////////// EVENT HANDLERS ////////\n\n onSlotChange = () => {\n this.checkForPanes();\n this.checkScrollState();\n };\n\n onScrollBtnClick = (direction: 'left' | 'right') => {\n const scrollAmount = Math.floor(this.listElement.clientWidth / 2);\n\n this.listElement.scrollBy({\n left: direction === 'left' ? -scrollAmount : scrollAmount,\n behavior: 'smooth',\n });\n };\n\n onStepClick = (event, selectedStep: number) => {\n event.stopPropagation();\n const { currentStep, stepCount, lastEnabledStep } = this;\n if (selectedStep > lastEnabledStep || selectedStep === currentStep) return;\n\n this.change.emit({\n selectedStep,\n lastEnabledStep,\n currentStep,\n stepCount,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepNumber: number) => {\n const { lastEnabledStep, stepCount } = this;\n const { key } = event;\n\n let selectedStep;\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n selectedStep = Math.max(stepNumber - 1, 0);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedStep = Math.min(stepNumber + 1, stepCount);\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStep = 1;\n break;\n\n case 'End':\n event.preventDefault();\n selectedStep = lastEnabledStep;\n break;\n }\n\n if (!selectedStep) return;\n this.focusStep(selectedStep, true);\n };\n\n ////////// HELPER METHODS ////////\n\n showStep(stepNumber: number) {\n if (stepNumber > this.lastEnabledStep) {\n const { currentStep, stepCount } = this;\n this.lastEnabledStep = stepNumber;\n this.change.emit({\n selectedStep: null,\n lastEnabledStep: stepNumber,\n currentStep,\n stepCount,\n });\n }\n\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepNumber);\n this.focusStep(stepNumber, this.scrollEnabled);\n }\n\n checkForPanes = () => {\n const { allPanes } = this;\n if (!allPanes.length) return;\n\n this.stepCount = allPanes.length;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = !!scrollLeft;\n this.showScrollRight = scrollWidth !== scrollLeft + clientWidth;\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n showStepPane(stepNumber: number) {\n this.allPanes.forEach((pane, index) => {\n pane.isActive = stepNumber === index + 1;\n });\n }\n\n focusStep(stepNumber: number, scrollIntoView?: boolean, forceFocus?: boolean) {\n const stepListItem = this.listElement.children[stepNumber - 1] as HTMLLIElement;\n const isActive = document.activeElement === this.hostElement;\n if (!stepListItem) return;\n if (isActive || forceFocus) {\n (stepListItem.firstElementChild as HTMLButtonElement)?.focus();\n }\n\n if (scrollIntoView) {\n const left = stepListItem.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n }\n }\n\n ////////// RENDER METHODS ////////\n getPaneSlotOrProperty(pane: HTMLQ2StepperPaneElement, slotName: 'description' | 'label') {\n const slot = pane.querySelector<HTMLElement>(`[slot=\"${slotName}\"]`);\n return slot?.outerHTML ?? loc(pane[slotName]);\n }\n\n renderStepBtn(stepIndex: number) {\n const { allPanes, stepCount, currentStep, lastEnabledStep } = this;\n const pane = allPanes?.[stepIndex] ?? null;\n const { id, status } = pane;\n const label = this.getPaneSlotOrProperty(pane, 'label');\n const description = this.getPaneSlotOrProperty(pane, 'description');\n\n const stepNumber = stepIndex + 1;\n const isCurrentStep = stepNumber === currentStep;\n const labelId = !!label && `label-${id}`;\n const descriptionId = !!label && !!description && `description-${id}`;\n const btnLabel = !label && loc('tecton.element.stepper.number', [`${stepNumber}`, `${stepCount}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n const isLocked = status === 'locked';\n const disabled = isLocked || stepNumber > lastEnabledStep;\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={isCurrentStep}\n aria-disabled={disabled ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => this.onStepKeyDown(ev, stepNumber)}\n onClick={ev => !isLocked && this.onStepClick(ev, stepNumber)}\n >\n <Fragment>\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n {labelId && (\n <div\n class=\"step-label\"\n id={labelId}\n innerHTML={label}\n ></div>\n )}\n {labelId && descriptionId && (\n <div\n class=\"step-description\"\n id={descriptionId}\n innerHTML={description}\n ></div>\n )}\n </Fragment>\n </button>\n {stepIndex ? <div class=\"step-divider\"></div> : ''}\n </li>\n );\n }\n\n render() {\n const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;\n const containerClasses = ['step-container'];\n if (scrollEnabled) containerClasses.push('has-scroll');\n\n return (\n <Fragment>\n <div class={containerClasses.join(' ')}>\n {scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hideLabel={true}\n hidden={!this.showScrollLeft}\n label={loc('tecton.element.stepper.scrollLeft')}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon type=\"chevron-left\"></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hideLabel={true}\n hidden={!this.showScrollRight}\n label={loc('tecton.element.stepper.scrollRight')}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon type=\"chevron-right\"></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n role=\"tablist\"\n >\n {stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex))}\n </ul>\n </div>\n <div role=\"list\">\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
@@ -220,12 +220,12 @@ const Q2TabContainer = class {
220
220
  }
221
221
  ///////// View Methods /////////
222
222
  render() {
223
- return (h(Fragment, { key: '1d47fe831e541ada6eef63809436a6dfe99c8ba6' }, h("div", { key: 'b9b35b33f9c9043544d134223ad6fad27ff80c05', class: "tab-container" }, this.scrollEnabled && (h(Fragment, { key: 'f7148ae6605303f29efc81c8888abeefe5783127' }, h("div", { key: '7121a3544b0be5e8a4820350bd81a43da4ed0c0d', class: "gradient-left", hidden: !this.showScrollLeft }), h("div", { key: '576fb473a9a07d817ff44452bc4c80097fa775cd', class: "gradient-right", hidden: !this.showScrollRight }), h("q2-btn", { key: 'd0e7b29902d00749640bd1788276c22a2f84c5c0', class: "btn-left", hidden: !this.showScrollLeft, onClick: () => this.onScrollBtnClick('left') }, h("q2-icon", { key: 'a44d0b2652139edd4a58825d325092bfb1115015', type: "chevron-left", label: "scroll left" })), h("q2-btn", { key: 'd37c47ef7d89e086e8fd5190a4565da80f7f4cc0', class: "btn-right", hidden: !this.showScrollRight, onClick: () => this.onScrollBtnClick('right') }, h("q2-icon", { key: 'a6d2c83b5e8c7dcdd3fe9e745ae4f0a9c44ec027', type: "chevron-right", label: "scroll right" })))), h("ul", { key: '98fa557d17f6bb32ec360c11b742880bd8c14c6c', onScroll: this.checkScrollState, ref: el => (this.listElement = el), class: this.noPrint ? 'no-print' : null, role: "tablist" }, this.tabs.map((tab, index) => this.generateTab(tab, index)))), h("div", { key: 'a37e19900b2430147b7cbf482225d4a2a8854a6a', class: "tab-content" }, h("slot", { key: '0eb4151d2ea58a629952e0076162305c78b1f9a9', onSlotchange: () => this.onSlotChange() }))));
223
+ return (h(Fragment, { key: '5a9cc3b2466e29ff64d7b0506b89e89d777a7a7d' }, h("div", { key: '63f7e28716ee2195363f63f9fd41eaa758ca1c3f', class: "tab-container" }, this.scrollEnabled && (h(Fragment, { key: '0491dd8fee1dab104fa9d170ffd49a2a2d95579b' }, h("div", { key: '976dfb9eb894142949e6202562b3ad31a42325d0', class: "gradient-left", hidden: !this.showScrollLeft }), h("div", { key: '1991bd548c8482e7f4e34a1c2542e263585d0ac4', class: "gradient-right", hidden: !this.showScrollRight }), h("q2-btn", { key: 'a0926317f917971aaa562ce6296ca3e34256fb80', class: "btn-left", hidden: !this.showScrollLeft, onClick: () => this.onScrollBtnClick('left') }, h("q2-icon", { key: '9ed6e899772c6958a19ff1352c26265b3b50c6f9', type: "chevron-left", label: "scroll left" })), h("q2-btn", { key: 'f7d4a139b2866fc76cb426a85a3059470a159d8e', class: "btn-right", hidden: !this.showScrollRight, onClick: () => this.onScrollBtnClick('right') }, h("q2-icon", { key: '8af25bc00dda9ac2716ebcb0ec04dfafdb0e2699', type: "chevron-right", label: "scroll right" })))), h("ul", { key: '5c0ad5e0744f98261fe60ab15b3d719e8f35a1ed', onScroll: this.checkScrollState, ref: el => (this.listElement = el), class: this.noPrint ? 'no-print' : null, role: "tablist" }, this.tabs.map((tab, index) => this.generateTab(tab, index)))), h("div", { key: '7d7c6c023f54aaf2da275127239efd69721b7494', class: "tab-content" }, h("slot", { key: 'd98858bf6f71b3587ec49e063541bda7e843f143', onSlotchange: () => this.onSlotChange() }))));
224
224
  }
225
225
  generateTab(tab, index) {
226
226
  const { label, value } = tab;
227
227
  const isSelected = this.selectedTabValue === value;
228
- return (h("li", { role: "presentation" }, h("button", { id: `tab-${this.guid}-${index}`, "data-value": value, "test-id": "tabLink", tabIndex: isSelected ? 0 : -1, role: "tab", "aria-selected": isSelected ? 'true' : 'false', "aria-controls": `tab-pane-${this.guid}-${index}`, onClick: this.onTabClick, onKeyDown: this.onTabKeyDown }, tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected))));
228
+ return (h("li", { role: "presentation" }, h("button", { id: `tab-${this.guid}-${index}`, "data-value": value, "test-id": "tabLink", tabIndex: isSelected ? 0 : -1, role: "tab", "aria-selected": isSelected ? 'true' : 'false', onClick: this.onTabClick, onKeyDown: this.onTabKeyDown }, tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected))));
229
229
  }
230
230
  generateTabWithBadge(tab, isSelected) {
231
231
  let theme;