q2-tecton-elements 1.66.2 → 1.67.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 (681) hide show
  1. package/dist/bundle-report.json +3496 -3360
  2. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -1
  3. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{q2-option-list_2.cjs.entry.js → click-elsewhere_3.cjs.entry.js} +131 -10
  5. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/{index-DyAq0y0v.js → index-YvKoRT-t.js} +61 -21
  7. package/dist/cjs/index-YvKoRT-t.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  11. package/dist/cjs/q2-avatar.cjs.entry.js +33 -2
  12. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  14. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn_2.cjs.entry.js +18 -6
  17. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  24. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  26. package/dist/cjs/q2-carousel.cjs.entry.js +67 -42
  27. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-chart-area.cjs.entry.js +4 -2
  30. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-chart-area.entry.cjs.js.map +1 -1
  32. package/dist/cjs/q2-chart-bar.cjs.entry.js +4 -2
  33. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-chart-bar.entry.cjs.js.map +1 -1
  35. package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -3
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  41. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -0
  42. package/dist/cjs/q2-checkbox_2.cjs.entry.js +322 -0
  43. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-data-table.cjs.entry.js +13 -16
  47. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  49. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  55. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-icon.cjs.entry.js +11 -1
  62. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  63. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  64. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  65. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  67. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  68. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  70. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  71. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  72. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  73. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  74. package/dist/cjs/q2-link_2.cjs.entry.js +14 -6
  75. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  76. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  77. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  78. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  79. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  80. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  81. package/dist/cjs/q2-modal.cjs.entry.js +4 -21
  82. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  83. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  84. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  85. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  86. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  87. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  88. package/dist/cjs/q2-pagination.cjs.entry.js +12 -7
  89. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  90. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  91. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  92. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  93. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  94. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  95. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  97. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  98. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  99. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  100. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  101. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  102. package/dist/cjs/q2-select.cjs.entry.js +22 -8
  103. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  104. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  105. package/dist/cjs/q2-stepper-pane.cjs.entry.js +7 -6
  106. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  107. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  108. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -8
  109. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  110. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  111. package/dist/cjs/q2-stepper.cjs.entry.js +7 -4
  112. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  113. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  114. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  115. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  116. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  117. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  118. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  119. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  120. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  121. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  122. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  123. package/dist/cjs/q2-tooltip.cjs.entry.js +33 -3
  124. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  126. package/dist/cjs/{sanitize-html-string-C2iwHNz5.js → sanitize-html-string-CW6y5624.js} +27 -17
  127. package/dist/cjs/sanitize-html-string-CW6y5624.js.map +1 -0
  128. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  129. package/dist/collection/__mocks__/echarts.js +12 -0
  130. package/dist/collection/__mocks__/echarts.js.map +1 -0
  131. package/dist/collection/components/q2-avatar/q2-avatar.css +84 -89
  132. package/dist/collection/components/q2-avatar/q2-avatar.js +35 -1
  133. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  134. package/dist/collection/components/q2-btn/q2-btn.css +10 -3
  135. package/dist/collection/components/q2-btn/q2-btn.js +38 -4
  136. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  137. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  138. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  139. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  140. package/dist/collection/components/q2-calendar/q2-calendar.css +4 -1
  141. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  142. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  143. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  144. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  145. package/dist/collection/components/q2-carousel/q2-carousel.css +143 -13
  146. package/dist/collection/components/q2-carousel/q2-carousel.js +90 -42
  147. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  148. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +2 -11
  149. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  150. package/dist/collection/components/q2-chart-area/q2-chart-area.js +18 -16
  151. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  152. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +8 -6
  153. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  154. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +4 -1
  155. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -26
  156. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  157. package/dist/collection/components/q2-checkbox/q2-checkbox.css +4 -1
  158. package/dist/collection/components/q2-checkbox/q2-checkbox.js +38 -1
  159. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  160. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +1 -1
  161. package/dist/collection/components/q2-context/q2-context.js +1 -1
  162. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  163. package/dist/collection/components/q2-data-table/q2-data-table.css +14 -0
  164. package/dist/collection/components/q2-data-table/q2-data-table.js +47 -50
  165. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  166. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  167. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  168. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  169. package/dist/collection/components/q2-example/q2-example.js +1 -1
  170. package/dist/collection/components/q2-file-picker/q2-file-picker.js +9 -9
  171. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  172. package/dist/collection/components/q2-form/q2-form.js +1 -1
  173. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  174. package/dist/collection/components/q2-grid/q2-grid.js +30 -30
  175. package/dist/collection/components/q2-grid-area/q2-grid-area.js +42 -42
  176. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  177. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  178. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  179. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  180. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  181. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  182. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  183. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  184. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  185. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  186. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  187. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  188. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  189. package/dist/collection/components/q2-icon/assets/status.symbol.svg +1 -1
  190. package/dist/collection/components/q2-icon/q2-icon.js +8 -0
  191. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  192. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  193. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  194. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  195. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  196. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  197. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  198. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  199. package/dist/collection/components/q2-input/q2-input.js +42 -42
  200. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  201. package/dist/collection/components/q2-item/q2-item.css +4 -0
  202. package/dist/collection/components/q2-item/q2-item.js +1 -1
  203. package/dist/collection/components/q2-legend/q2-legend.css +3 -0
  204. package/dist/collection/components/q2-legend/q2-legend.js +36 -36
  205. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  206. package/dist/collection/components/q2-link/q2-link.css +5 -2
  207. package/dist/collection/components/q2-link/q2-link.js +33 -3
  208. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  209. package/dist/collection/components/q2-list/q2-list.js +1 -1
  210. package/dist/collection/components/q2-message/q2-message.css +19 -16
  211. package/dist/collection/components/q2-message/q2-message.js +1 -1
  212. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  213. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  214. package/dist/collection/components/q2-modal/q2-modal.css +3 -3
  215. package/dist/collection/components/q2-modal/q2-modal.js +1 -94
  216. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -1
  217. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  218. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  219. package/dist/collection/components/q2-option-list/q2-option-list.js +18 -18
  220. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  221. package/dist/collection/components/q2-pagination/q2-pagination.js +15 -10
  222. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  223. package/dist/collection/components/q2-pill/q2-pill.css +9 -0
  224. package/dist/collection/components/q2-pill/q2-pill.js +13 -13
  225. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  226. package/dist/collection/components/q2-popover/q2-popover.css +66 -1
  227. package/dist/collection/components/q2-popover/q2-popover.js +57 -4
  228. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  229. package/dist/collection/components/q2-radio/q2-radio.css +4 -3
  230. package/dist/collection/components/q2-radio-group/q2-radio-group.css +1 -1
  231. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  232. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  233. package/dist/collection/components/q2-section/q2-section.js +2 -2
  234. package/dist/collection/components/q2-select/q2-select.js +23 -7
  235. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  236. package/dist/collection/components/q2-stepper/q2-stepper.css +9 -2
  237. package/dist/collection/components/q2-stepper/q2-stepper.js +5 -2
  238. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  239. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +52 -30
  240. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  241. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +11 -2
  242. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +20 -6
  243. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  244. package/dist/collection/components/q2-tab-container/q2-tab-container.css +7 -1
  245. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  246. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  247. package/dist/collection/components/q2-tag/q2-tag.css +3 -0
  248. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  249. package/dist/collection/components/q2-textarea/q2-textarea.css +1 -0
  250. package/dist/collection/components/q2-tooltip/q2-tooltip.css +1 -1
  251. package/dist/collection/components/q2-tooltip/q2-tooltip.js +34 -1
  252. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  253. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  254. package/dist/collection/index.js +1 -0
  255. package/dist/collection/index.js.map +1 -1
  256. package/dist/collection/utils/action-sheet.js.map +1 -1
  257. package/dist/collection/utils/index.js +59 -19
  258. package/dist/collection/utils/index.js.map +1 -1
  259. package/dist/components/action-sheet.js.map +1 -1
  260. package/dist/components/index2.js +59 -19
  261. package/dist/components/index2.js.map +1 -1
  262. package/dist/components/q2-avatar2.js +34 -2
  263. package/dist/components/q2-avatar2.js.map +1 -1
  264. package/dist/components/q2-btn2.js +18 -5
  265. package/dist/components/q2-btn2.js.map +1 -1
  266. package/dist/components/q2-calendar.js +2 -2
  267. package/dist/components/q2-calendar.js.map +1 -1
  268. package/dist/components/q2-card-image.js +2 -2
  269. package/dist/components/q2-carousel-pane.js +3 -3
  270. package/dist/components/q2-carousel-pane.js.map +1 -1
  271. package/dist/components/q2-carousel.js +69 -55
  272. package/dist/components/q2-carousel.js.map +1 -1
  273. package/dist/components/q2-chart-area.js +3 -1
  274. package/dist/components/q2-chart-area.js.map +1 -1
  275. package/dist/components/q2-chart-bar.js +3 -1
  276. package/dist/components/q2-chart-bar.js.map +1 -1
  277. package/dist/components/q2-chart-donut.js +6 -2
  278. package/dist/components/q2-chart-donut.js.map +1 -1
  279. package/dist/components/q2-checkbox-group.js +1 -1
  280. package/dist/components/q2-checkbox-group.js.map +1 -1
  281. package/dist/components/q2-checkbox2.js +13 -2
  282. package/dist/components/q2-checkbox2.js.map +1 -1
  283. package/dist/components/q2-context.js +1 -1
  284. package/dist/components/q2-currency.js +1 -1
  285. package/dist/components/q2-data-table.js +46 -25
  286. package/dist/components/q2-data-table.js.map +1 -1
  287. package/dist/components/q2-detail.js +1 -1
  288. package/dist/components/q2-editable-field.js +1 -1
  289. package/dist/components/q2-editable-field.js.map +1 -1
  290. package/dist/components/q2-example.js +1 -1
  291. package/dist/components/q2-file-picker.js.map +1 -1
  292. package/dist/components/q2-form.js +1 -1
  293. package/dist/components/q2-formatted-text.js +1 -1
  294. package/dist/components/q2-icon2.js +10 -0
  295. package/dist/components/q2-icon2.js.map +1 -1
  296. package/dist/components/q2-input2.js +1 -1
  297. package/dist/components/q2-input2.js.map +1 -1
  298. package/dist/components/q2-item2.js +2 -2
  299. package/dist/components/q2-item2.js.map +1 -1
  300. package/dist/components/q2-legend2.js +2 -2
  301. package/dist/components/q2-legend2.js.map +1 -1
  302. package/dist/components/q2-link2.js +13 -4
  303. package/dist/components/q2-link2.js.map +1 -1
  304. package/dist/components/q2-list2.js +1 -1
  305. package/dist/components/q2-message2.js +2 -2
  306. package/dist/components/q2-message2.js.map +1 -1
  307. package/dist/components/q2-meter.js +1 -1
  308. package/dist/components/q2-modal.js +2 -23
  309. package/dist/components/q2-modal.js.map +1 -1
  310. package/dist/components/q2-month-picker.js +2 -2
  311. package/dist/components/q2-mutation-observer.js +1 -1
  312. package/dist/components/q2-optgroup2.js +1 -1
  313. package/dist/components/q2-option-list2.js +1 -1
  314. package/dist/components/q2-option-list2.js.map +1 -1
  315. package/dist/components/q2-pagination.js +11 -6
  316. package/dist/components/q2-pagination.js.map +1 -1
  317. package/dist/components/q2-pill.js +2 -2
  318. package/dist/components/q2-pill.js.map +1 -1
  319. package/dist/components/q2-popover2.js +39 -5
  320. package/dist/components/q2-popover2.js.map +1 -1
  321. package/dist/components/q2-radio-group.js +1 -1
  322. package/dist/components/q2-radio-group.js.map +1 -1
  323. package/dist/components/q2-radio.js +1 -1
  324. package/dist/components/q2-radio.js.map +1 -1
  325. package/dist/components/q2-relative-time.js +1 -1
  326. package/dist/components/q2-resize-observer2.js +1 -1
  327. package/dist/components/q2-section.js +2 -2
  328. package/dist/components/q2-select2.js +23 -8
  329. package/dist/components/q2-select2.js.map +1 -1
  330. package/dist/components/q2-stepper-pane.js +9 -6
  331. package/dist/components/q2-stepper-pane.js.map +1 -1
  332. package/dist/components/q2-stepper-vertical.js +16 -8
  333. package/dist/components/q2-stepper-vertical.js.map +1 -1
  334. package/dist/components/q2-stepper.js +6 -3
  335. package/dist/components/q2-stepper.js.map +1 -1
  336. package/dist/components/q2-tab-container.js +2 -2
  337. package/dist/components/q2-tab-container.js.map +1 -1
  338. package/dist/components/q2-tab-pane.js +1 -1
  339. package/dist/components/q2-tag.js +1 -257
  340. package/dist/components/q2-tag.js.map +1 -1
  341. package/dist/{esm/q2-tag.entry.js → components/q2-tag2.js} +68 -15
  342. package/dist/components/q2-tag2.js.map +1 -0
  343. package/dist/components/q2-textarea.js +1 -1
  344. package/dist/components/q2-textarea.js.map +1 -1
  345. package/dist/components/q2-tooltip2.js +35 -3
  346. package/dist/components/q2-tooltip2.js.map +1 -1
  347. package/dist/components/sanitize-html-string.js +25 -15
  348. package/dist/components/sanitize-html-string.js.map +1 -1
  349. package/dist/components/tecton-tab-pane.js +2 -2
  350. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -1
  351. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -0
  352. package/dist/esm/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +132 -12
  353. package/dist/esm/click-elsewhere_3.entry.js.map +1 -0
  354. package/dist/esm/{index-B4WYBDS9.js → index-C4PILj1_.js} +61 -21
  355. package/dist/esm/index-C4PILj1_.js.map +1 -0
  356. package/dist/esm/loader.js +1 -1
  357. package/dist/esm/q2-action-group_2.entry.js +2 -2
  358. package/dist/esm/q2-action-sheet.entry.js +2 -2
  359. package/dist/esm/q2-avatar.entry.js +33 -2
  360. package/dist/esm/q2-avatar.entry.js.map +1 -1
  361. package/dist/esm/q2-badge.entry.js +1 -1
  362. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  363. package/dist/esm/q2-btn_2.entry.js +18 -6
  364. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  365. package/dist/esm/q2-calendar.entry.js +3 -3
  366. package/dist/esm/q2-calendar.entry.js.map +1 -1
  367. package/dist/esm/q2-card-image.entry.js +3 -3
  368. package/dist/esm/q2-card.entry.js +1 -1
  369. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  370. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  371. package/dist/esm/q2-carousel.entry.js +67 -42
  372. package/dist/esm/q2-carousel.entry.js.map +1 -1
  373. package/dist/esm/q2-chart-area.entry.js +4 -2
  374. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  375. package/dist/esm/q2-chart-bar.entry.js +4 -2
  376. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  377. package/dist/esm/q2-chart-donut.entry.js +7 -3
  378. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  379. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  380. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  381. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -0
  382. package/dist/esm/q2-checkbox_2.entry.js +319 -0
  383. package/dist/esm/q2-checkbox_2.entry.js.map +1 -0
  384. package/dist/esm/q2-context.entry.js +2 -2
  385. package/dist/esm/q2-currency.entry.js +1 -1
  386. package/dist/esm/q2-data-table.entry.js +13 -16
  387. package/dist/esm/q2-data-table.entry.js.map +1 -1
  388. package/dist/esm/q2-detail.entry.js +2 -2
  389. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  390. package/dist/esm/q2-dropdown.entry.js +1 -1
  391. package/dist/esm/q2-editable-field.entry.js +2 -2
  392. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  393. package/dist/esm/q2-example.entry.js +1 -1
  394. package/dist/esm/q2-file-picker.entry.js +1 -1
  395. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  396. package/dist/esm/q2-form.entry.js +1 -1
  397. package/dist/esm/q2-formatted-text.entry.js +1 -1
  398. package/dist/esm/q2-icon.entry.js +11 -1
  399. package/dist/esm/q2-icon.entry.js.map +1 -1
  400. package/dist/esm/q2-input.entry.js +2 -2
  401. package/dist/esm/q2-input.entry.js.map +1 -1
  402. package/dist/esm/q2-item.entry.js +3 -3
  403. package/dist/esm/q2-item.entry.js.map +1 -1
  404. package/dist/esm/q2-legend.entry.js +2 -2
  405. package/dist/esm/q2-legend.entry.js.map +1 -1
  406. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  407. package/dist/esm/q2-link_2.entry.js +14 -6
  408. package/dist/esm/q2-link_2.entry.js.map +1 -1
  409. package/dist/esm/q2-loc.entry.js +1 -1
  410. package/dist/esm/q2-message.entry.js +3 -3
  411. package/dist/esm/q2-message.entry.js.map +1 -1
  412. package/dist/esm/q2-meter.entry.js +2 -2
  413. package/dist/esm/q2-modal.entry.js +4 -21
  414. package/dist/esm/q2-modal.entry.js.map +1 -1
  415. package/dist/esm/q2-month-picker.entry.js +3 -3
  416. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  417. package/dist/esm/q2-optgroup.entry.js +2 -2
  418. package/dist/esm/q2-option.entry.js +1 -1
  419. package/dist/esm/q2-pagination.entry.js +12 -7
  420. package/dist/esm/q2-pagination.entry.js.map +1 -1
  421. package/dist/esm/q2-pill.entry.js +3 -3
  422. package/dist/esm/q2-pill.entry.js.map +1 -1
  423. package/dist/esm/q2-radio-group.entry.js +2 -2
  424. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  425. package/dist/esm/q2-radio.entry.js +2 -2
  426. package/dist/esm/q2-radio.entry.js.map +1 -1
  427. package/dist/esm/q2-relative-time.entry.js +2 -2
  428. package/dist/esm/q2-section.entry.js +3 -3
  429. package/dist/esm/q2-select.entry.js +22 -8
  430. package/dist/esm/q2-select.entry.js.map +1 -1
  431. package/dist/esm/q2-stepper-pane.entry.js +7 -6
  432. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  433. package/dist/esm/q2-stepper-vertical.entry.js +16 -8
  434. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  435. package/dist/esm/q2-stepper.entry.js +7 -4
  436. package/dist/esm/q2-stepper.entry.js.map +1 -1
  437. package/dist/esm/q2-tab-container.entry.js +3 -3
  438. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  439. package/dist/esm/q2-tab-pane.entry.js +1 -1
  440. package/dist/esm/q2-tecton-elements.js +1 -1
  441. package/dist/esm/q2-textarea.entry.js +2 -2
  442. package/dist/esm/q2-textarea.entry.js.map +1 -1
  443. package/dist/esm/q2-toast.entry.js +1 -1
  444. package/dist/esm/q2-tooltip.entry.js +33 -3
  445. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  446. package/dist/esm/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +27 -17
  447. package/dist/esm/sanitize-html-string-B35VmRc9.js.map +1 -0
  448. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  449. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -1
  450. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  451. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  452. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  453. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  454. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  455. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  456. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  457. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  458. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  459. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  460. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  461. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  462. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  463. package/dist/q2-tecton-elements/assets/status.symbol.svg +1 -1
  464. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -0
  465. package/dist/q2-tecton-elements/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +205 -91
  466. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -0
  467. package/dist/q2-tecton-elements/{index-B4WYBDS9.js → index-C4PILj1_.js} +53 -14
  468. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +1 -0
  469. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  470. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  471. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  472. package/dist/q2-tecton-elements/q2-avatar.entry.js +68 -30
  473. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  474. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  475. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  476. package/dist/q2-tecton-elements/q2-btn_2.entry.js +26 -19
  477. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  478. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  479. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  480. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  481. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  482. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  483. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  484. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +17 -17
  485. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  486. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  487. package/dist/q2-tecton-elements/q2-carousel.entry.js +269 -242
  488. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  489. package/dist/q2-tecton-elements/q2-chart-area.entry.esm.js.map +1 -1
  490. package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -5
  491. package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -1
  492. package/dist/q2-tecton-elements/q2-chart-bar.entry.esm.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -3
  494. package/dist/q2-tecton-elements/q2-chart-bar.entry.js.map +1 -1
  495. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  496. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +21 -19
  497. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  498. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  499. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  500. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -0
  502. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +482 -0
  503. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -0
  504. package/dist/q2-tecton-elements/q2-context.entry.js +12 -12
  505. package/dist/q2-tecton-elements/q2-currency.entry.js +11 -11
  506. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  507. package/dist/q2-tecton-elements/q2-data-table.entry.js +26 -28
  508. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  509. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  510. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  511. package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
  512. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  513. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  514. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  515. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  516. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  517. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  518. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  519. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  520. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  521. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  522. package/dist/q2-tecton-elements/q2-icon.entry.js +122 -111
  523. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  525. package/dist/q2-tecton-elements/q2-input.entry.js +7 -7
  526. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  527. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  528. package/dist/q2-tecton-elements/q2-item.entry.js +34 -34
  529. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  531. package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
  532. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  533. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-link_2.entry.js +24 -18
  535. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  537. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  538. package/dist/q2-tecton-elements/q2-message.entry.js +29 -25
  539. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  540. package/dist/q2-tecton-elements/q2-meter.entry.js +14 -14
  541. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  542. package/dist/q2-tecton-elements/q2-modal.entry.js +65 -79
  543. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  544. package/dist/q2-tecton-elements/q2-month-picker.entry.js +81 -81
  545. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  546. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  547. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  548. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -32
  550. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  551. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  552. package/dist/q2-tecton-elements/q2-pill.entry.js +17 -17
  553. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  554. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  555. package/dist/q2-tecton-elements/q2-radio-group.entry.js +2 -2
  556. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  557. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  558. package/dist/q2-tecton-elements/q2-radio.entry.js +15 -15
  559. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  560. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  561. package/dist/q2-tecton-elements/q2-section.entry.js +22 -22
  562. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  563. package/dist/q2-tecton-elements/q2-select.entry.js +21 -8
  564. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  565. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  566. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +14 -13
  567. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  568. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  569. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +73 -67
  570. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  571. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  572. package/dist/q2-tecton-elements/q2-stepper.entry.js +46 -44
  573. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  574. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  575. package/dist/q2-tecton-elements/q2-tab-container.entry.js +19 -19
  576. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  578. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  579. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  580. package/dist/q2-tecton-elements/q2-textarea.entry.js +2 -2
  581. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  582. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  583. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-tooltip.entry.js +41 -5
  585. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  586. package/dist/q2-tecton-elements/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +118 -109
  587. package/dist/q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map +1 -0
  588. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  589. package/dist/scripts/docs-generator/index.js +1 -1
  590. package/dist/scripts/docs-generator/index.js.map +1 -1
  591. package/dist/types/__mocks__/echarts.d.ts +16 -0
  592. package/dist/types/components/q2-avatar/q2-avatar.d.ts +9 -0
  593. package/dist/types/components/q2-btn/q2-btn.d.ts +6 -0
  594. package/dist/types/components/q2-calendar/q2-calendar-helpers.d.ts +3 -3
  595. package/dist/types/components/q2-calendar/q2-calendar-types.d.ts +2 -2
  596. package/dist/types/components/q2-calendar/q2-calendar-validation.d.ts +5 -5
  597. package/dist/types/components/q2-calendar/q2-calendar.d.ts +8 -8
  598. package/dist/types/components/q2-carousel/q2-carousel.d.ts +6 -0
  599. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +4 -4
  600. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +3 -3
  601. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +9 -9
  602. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +11 -0
  603. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -41
  604. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +4 -4
  605. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +1 -13
  606. package/dist/types/components/q2-input/formatting/alpha.d.ts +1 -1
  607. package/dist/types/components/q2-input/formatting/alphanumeric.d.ts +1 -1
  608. package/dist/types/components/q2-input/formatting/cif.d.ts +1 -1
  609. package/dist/types/components/q2-input/formatting/clabe.d.ts +1 -1
  610. package/dist/types/components/q2-input/formatting/credit-card.d.ts +2 -2
  611. package/dist/types/components/q2-input/formatting/currency.d.ts +2 -2
  612. package/dist/types/components/q2-input/formatting/generic.d.ts +2 -2
  613. package/dist/types/components/q2-input/formatting/iban.d.ts +1 -1
  614. package/dist/types/components/q2-input/formatting/number.d.ts +3 -2
  615. package/dist/types/components/q2-input/formatting/numeric.d.ts +2 -2
  616. package/dist/types/components/q2-input/formatting/phone.d.ts +2 -2
  617. package/dist/types/components/q2-input/formatting/postal.d.ts +1 -1
  618. package/dist/types/components/q2-input/formatting/routingnumber.d.ts +1 -1
  619. package/dist/types/components/q2-input/formatting/ssn.d.ts +1 -1
  620. package/dist/types/components/q2-input/formatting/swift.d.ts +1 -1
  621. package/dist/types/components/q2-input/formatting/tin.d.ts +1 -1
  622. package/dist/types/components/q2-input/q2-input-types.d.ts +2 -22
  623. package/dist/types/components/q2-input/q2-input.d.ts +16 -15
  624. package/dist/types/components/q2-legend/q2-legend.d.ts +11 -11
  625. package/dist/types/components/q2-link/q2-link.d.ts +6 -0
  626. package/dist/types/components/q2-modal/q2-modal.d.ts +0 -17
  627. package/dist/types/components/q2-option-list/q2-option-list.d.ts +4 -4
  628. package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -0
  629. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -5
  630. package/dist/types/components/q2-popover/q2-popover.d.ts +7 -0
  631. package/dist/types/components/q2-select/q2-select.d.ts +9 -6
  632. package/dist/types/components/q2-stepper-pane/q2-stepper-pane.d.ts +8 -11
  633. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +10 -7
  634. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  635. package/dist/types/components.d.ts +148 -118
  636. package/dist/types/global.d.ts +2 -2
  637. package/dist/types/index.d.ts +1 -0
  638. package/dist/types/utils/action-sheet.d.ts +5 -5
  639. package/dist/types/utils/index.d.ts +13 -0
  640. package/package.json +69 -72
  641. package/dist/cjs/click-elsewhere.cjs.entry.js +0 -97
  642. package/dist/cjs/click-elsewhere.cjs.entry.js.map +0 -1
  643. package/dist/cjs/click-elsewhere.entry.cjs.js.map +0 -1
  644. package/dist/cjs/index-DyAq0y0v.js.map +0 -1
  645. package/dist/cjs/q2-checkbox.cjs.entry.js +0 -110
  646. package/dist/cjs/q2-checkbox.cjs.entry.js.map +0 -1
  647. package/dist/cjs/q2-checkbox.entry.cjs.js.map +0 -1
  648. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +0 -1
  649. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +0 -1
  650. package/dist/cjs/q2-tag.cjs.entry.js +0 -211
  651. package/dist/cjs/q2-tag.cjs.entry.js.map +0 -1
  652. package/dist/cjs/q2-tag.entry.cjs.js.map +0 -1
  653. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +0 -1
  654. package/dist/esm/click-elsewhere.entry.js +0 -95
  655. package/dist/esm/click-elsewhere.entry.js.map +0 -1
  656. package/dist/esm/index-B4WYBDS9.js.map +0 -1
  657. package/dist/esm/q2-checkbox.entry.js +0 -108
  658. package/dist/esm/q2-checkbox.entry.js.map +0 -1
  659. package/dist/esm/q2-option-list.q2-popover.entry.js.map +0 -1
  660. package/dist/esm/q2-option-list_2.entry.js.map +0 -1
  661. package/dist/esm/q2-tag.entry.js.map +0 -1
  662. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +0 -1
  663. package/dist/q2-tecton-elements/click-elsewhere.entry.esm.js.map +0 -1
  664. package/dist/q2-tecton-elements/click-elsewhere.entry.js +0 -94
  665. package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +0 -1
  666. package/dist/q2-tecton-elements/index-B4WYBDS9.js.map +0 -1
  667. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +0 -1
  668. package/dist/q2-tecton-elements/q2-checkbox.entry.js +0 -228
  669. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +0 -1
  670. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +0 -1
  671. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +0 -1
  672. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +0 -1
  673. package/dist/q2-tecton-elements/q2-tag.entry.js +0 -256
  674. package/dist/q2-tecton-elements/q2-tag.entry.js.map +0 -1
  675. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +0 -1
  676. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/jest.e2e-coverage.d.ts +0 -0
  677. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
  678. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/index.d.ts +0 -0
  679. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/markdown-generator.d.ts +0 -0
  680. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/tag-handlers.d.ts +0 -0
  681. /package/dist/types/{builds/q2e/development/tecton/tecton → Users/kvanhouten/Documents/Work/tecton_extra}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/types.d.ts +0 -0
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BYXz4owL.js');
4
- var index$1 = require('./index-DyAq0y0v.js');
4
+ var index$1 = require('./index-YvKoRT-t.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
 
7
- const q2StepperVerticalCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:grid;grid-template-columns:var(--tct-stepper-vertical-list-width, var(--tct-advanced-stepper-list-width, var(--t-advanced-stepper-list-width, 180px))) 1fr;gap:var(--tct-stepper-vertical-layout-gap, var(--tct-advanced-stepper-layout-gap, var(--t-advanced-stepper-layout-gap, 120px)))}.step-label,.step-child-label{color:var(--comp-btn-label-color);font-size:var(--comp-btn-label-font-size);font-weight:var(--comp-label-font-weight, 400);min-height:1.5em}.step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 2)));-webkit-box-orient:vertical}[aria-selected=true] .step-label{font-weight:var(--tct-stepper-vertical-btn-active-font-weight, var(--tct-advanced-stepper-btn-active-font-weight, var(--t-advanced-stepper-btn-active-font-weight, 600)))}[aria-describedby] .step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 1)));-webkit-box-orient:vertical}.step-child-label{grid-area:content;color:var(--comp-btn-label-color)}.step-description{color:var(--tct-stepper-vertical-description-color, var(--tct-advanced-stepper-description-color, var(--t-advanced-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-stepper-vertical-description-font-size, var(--tct-advanced-stepper-description-font-size, var(--t-advanced-stepper-description-font-size, var(--app-font-size-small, 12px))));padding-bottom:0.2em}ul{--comp-top-btn-icon-size:var(--tct-stepper-vertical-btn-icon-size, var(--tct-advanced-stepper-btn-icon-size, var(--t-advanced-stepper-btn-icon-size, 24px)));--comp-btn-icon-size:var(--comp-top-btn-icon-size);--comp-btn-icon-visibility:var(--tct-stepper-vertical-btn-icon-visibility, visible);--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-3x, 15px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-btn-label-font-size, var(--tct-advanced-stepper-btn-label-font-size, var(--t-advanced-stepper-btn-label-font-size, 16px)));--comp-btn-label-color:var(--tct-stepper-vertical-label-color, var(--tct-advanced-stepper-label-color, var(--t-advanced-stepper-label-color, var(--t-text, #4d4d4d))));--comp-tween:var(--tct-stepper-vertical-tween, var(--tct-advanced-stepper-tween, var(--t-advanced-stepper-tween, var(--app-tween-1, 0.2s ease))));--comp-bullet-bg:var(--tct-stepper-vertical-bullet-active-background, var(--tct-advanced-stepper-bullet-active-bg, var(--t-advanced-stepper-bullet-active-bg, var(--t-primary, #0079c1))));list-style:none;margin:0;padding:0}ul ul{--comp-btn-icon-size:var(--tct-stepper-vertical-child-btn-icon-size, var(--tct-advanced-stepper-child-btn-icon-size, var(--t-advanced-stepper-child-btn-icon-size, 12px)));--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-2x, 10px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-child-btn-label-font-size, var(--tct-advanced-stepper-child-btn-label-font-size, var(--t-advanced-stepper-child-btn-label-font-size, var(--app-font-size-small, 12px))))}ul ul[aria-hidden=true]{display:none}.step-btn,.step-child-btn{display:grid;grid-template-columns:var(--comp-btn-icon-size) 1fr;gap:var(--comp-btn-content-gap);text-align:var(--tct-stepper-vertical-btn-text-align, var(--tct-advanced-stepper-btn-text-align, var(--t-advanced-stepper-btn-text-align, start)));grid-template-areas:\"icon content\";align-items:center;width:100%;position:relative;background:transparent;border:0;cursor:pointer;padding:0;transition-property:box-shadow;outline:none}.step-btn[aria-disabled],.step-child-btn[aria-disabled]{cursor:default;--comp-label-font-weight:300;--comp-btn-label-color:var(--tct-stepper-vertical-btn-locked-color, var(--tct-advanced-stepper-btn-locked-color, var(--t-advanced-stepper-btn-locked-color, var(--t-textA, rgba(77, 77, 77, 0.77)))))}.step-btn[aria-selected=true],.step-child-btn[aria-selected=true]{--comp-label-font-weight:600}.step-btn{min-height:var(--tct-stepper-vertical-btn-height, var(--tct-advanced-stepper-btn-height, var(--t-advanced-stepper-btn-height, 40px)));font-size:var(--tct-stepper-vertical-btn-font-size, var(--tct-advanced-stepper-btn-font-size, var(--t-advanced-stepper-btn-font-size, 16px)));--comp-active-color:var(--comp-bullet-bg)}.step-btn.status-complete{--comp-active-color:var(--const-stoplight-success, #0e8a00);--tct-stoplight-success:var(--comp-active-color)}.step-btn.status-error{--comp-active-color:var(--const-stoplight-alert, #d20a0a);--tct-stoplight-warning:var(--comp-active-color)}.step-btn.status-locked{cursor:not-allowed}.step-child-btn{--comp-active-color:var(--comp-bullet-bg);min-height:var(--tct-stepper-vertical-child-btn-height, var(--tct-advanced-stepper-child-btn-height, var(--t-advanced-stepper-child-btn-height, 30px)));padding-left:var(--tct-stepper-vertical-child-btn-left-padding, var(--tct-advanced-stepper-child-btn-left-padding, var(--t-advanced-stepper-child-btn-left-padding, var(--app-scale-2x, 10px))));font-size:var(--tct-stepper-vertical-child-btn-font-size, var(--tct-advanced-stepper-child-btn-font-size, var(--t-advanced-stepper-child-btn-font-size, 12px)));border-left-width:var(--tct-stepper-vertical-child-btn-left-border-width, var(--tct-advanced-stepper-child-btn-left-border-width, var(--t-advanced-stepper-child-btn-left-border-width, 3px)));border-left-style:var(--tct-stepper-vertical-child-btn-left-border-style, var(--tct-advanced-stepper-child-btn-left-border-style, var(--t-advanced-stepper-child-btn-left-border-style, solid)));border-left-color:transparent}.step-child-btn[aria-selected=true]{--comp-btn-label-color:var(--comp-active-color);border-left-color:var(--comp-active-color)}.step-child-btn.status-error{--comp-btn-label-color:var(--const-stoplight-alert, #d20a0a);--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-child-btn.status-locked{cursor:not-allowed}.step-content{grid-area:content}.step-icon,.step-bubble,.step-child-icon{visibility:var(--comp-btn-icon-visibility);grid-area:icon;width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);line-height:0}.step-icon q2-icon,.step-bubble q2-icon,.step-child-icon q2-icon{width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);--tct-stoplight-warning:var(--comp-active-color)}.step-icon,.step-bubble{background:var(--comp-active-color);color:var(--t-base, #ffffff);border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:\"\";display:block;background:var(--t-base, #ffffff);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-locked .step-icon,.status-locked .step-bubble{background:var(--t-gray-12, #d9d9d9);color:var(--t-text, #4d4d4d)}[aria-selected=true] .step-icon,[aria-selected=true] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color)}.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0}.step-child-icon q2-icon{--tct-icon-stroke-primary:var(--comp-active-color);--tct-icon-stroke-secondary:var(--comp-active-color)}[aria-selected=true] .step-child-icon q2-icon{fill:var(--comp-active-color);--tct-icon-stroke-secondary:var(--t-base, #ffffff)}.spacer{height:0;border-left-width:var(--tct-stepper-vertical-child-border-width, var(--tct-advanced-stepaer-child-border-width, var(--t-advanced-stepaer-child-border-width, 1px)));border-left-style:var(--tct-stepper-vertical-child-border-style, var(--tct-advanced-stepper-child-border-style, var(--t-advanced-stepper-child-border-style, solid)));border-left-color:var(--tct-stepper-vertical-child-border-color, var(--tct-advanced-stepper-child-border-color, var(--t-advanced-stepper-child-border-color, var(--t-gray-12, #d9d9d9))));overflow:hidden;margin-left:calc(var(--comp-top-btn-icon-size) / 2);transition:height var(--comp-tween)}.spacer.has-sibling{height:var(--tct-stepper-vertical-spacer-height, var(--tct-advanced-stepper-spacer-height, var(--t-advanced-stepper-spacer-height, var(--app-scale-6x, 30px))))}.spacer ul{opacity:0;transition:opacity var(--comp-tween)}.spacer.is-opening ul,.spacer.is-open ul{display:block;opacity:1 !important}.spacer.is-open{overflow:visible}";
7
+ const q2StepperVerticalCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:grid;grid-template-columns:var(--tct-stepper-vertical-list-width, var(--tct-advanced-stepper-list-width, var(--t-advanced-stepper-list-width, 180px))) 1fr;gap:var(--tct-stepper-vertical-layout-gap, var(--tct-advanced-stepper-layout-gap, var(--t-advanced-stepper-layout-gap, 120px)))}.step-label,.step-child-label{color:var(--comp-btn-label-color);font-size:var(--comp-btn-label-font-size);font-weight:var(--comp-label-font-weight, 400);min-height:1.5em}.step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 2)));-webkit-box-orient:vertical}[aria-selected=true] .step-label{font-weight:var(--tct-stepper-vertical-btn-active-font-weight, var(--tct-advanced-stepper-btn-active-font-weight, var(--t-advanced-stepper-btn-active-font-weight, 600)))}[aria-describedby] .step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 1)));-webkit-box-orient:vertical}.step-child-label{grid-area:content;color:var(--comp-btn-label-color)}.step-description{color:var(--tct-stepper-vertical-description-color, var(--tct-advanced-stepper-description-color, var(--t-advanced-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-stepper-vertical-description-font-size, var(--tct-advanced-stepper-description-font-size, var(--t-advanced-stepper-description-font-size, var(--app-font-size-small, 12px))));padding-bottom:0.2em}ul{--comp-top-btn-icon-size:var(--tct-stepper-vertical-btn-icon-size, var(--tct-advanced-stepper-btn-icon-size, var(--t-advanced-stepper-btn-icon-size, 24px)));--comp-btn-icon-size:var(--comp-top-btn-icon-size);--comp-btn-icon-visibility:var(--tct-stepper-vertical-btn-icon-visibility, visible);--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-3x, 15px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-btn-label-font-size, var(--tct-advanced-stepper-btn-label-font-size, var(--t-advanced-stepper-btn-label-font-size, 16px)));--comp-btn-label-color:var(--tct-stepper-vertical-label-color, var(--tct-advanced-stepper-label-color, var(--t-advanced-stepper-label-color, var(--t-text, #4d4d4d))));--comp-tween:var(--tct-stepper-vertical-tween, var(--tct-advanced-stepper-tween, var(--t-advanced-stepper-tween, var(--app-tween-1, 0.2s ease))));--comp-bullet-bg:var(--tct-stepper-vertical-bullet-active-background, var(--tct-advanced-stepper-bullet-active-bg, var(--t-advanced-stepper-bullet-active-bg, var(--t-primary, #0079c1))));list-style:none;margin:0;padding:0}ul ul{--comp-btn-icon-size:var(--tct-stepper-vertical-child-btn-icon-size, var(--tct-advanced-stepper-child-btn-icon-size, var(--t-advanced-stepper-child-btn-icon-size, 12px)));--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-2x, 10px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-child-btn-label-font-size, var(--tct-advanced-stepper-child-btn-label-font-size, var(--t-advanced-stepper-child-btn-label-font-size, var(--app-font-size-small, 12px))))}ul ul[aria-hidden=true]{display:none}.step-btn,.step-child-btn{display:grid;grid-template-columns:var(--comp-btn-icon-size) 1fr;gap:var(--comp-btn-content-gap);text-align:var(--tct-stepper-vertical-btn-text-align, var(--tct-advanced-stepper-btn-text-align, var(--t-advanced-stepper-btn-text-align, start)));grid-template-areas:\"icon content\";align-items:center;width:100%;position:relative;background:transparent;border:0;cursor:pointer;padding:0;transition-property:box-shadow;outline:none;border-radius:var(--tct-stepper-vertical-step-focus-visible-border-radius, 0)}.step-btn[aria-disabled]:not(.pane-disabled),.step-child-btn[aria-disabled]:not(.pane-disabled){cursor:default;--comp-label-font-weight:300;--comp-btn-label-color:var(--tct-stepper-vertical-btn-locked-color, var(--tct-advanced-stepper-btn-locked-color, var(--t-advanced-stepper-btn-locked-color, var(--t-textA, rgba(77, 77, 77, 0.77)))))}.step-btn.pane-disabled,.step-child-btn.pane-disabled{cursor:not-allowed}.step-btn[aria-selected=true],.step-child-btn[aria-selected=true]{--comp-label-font-weight:600}.step-btn:focus-visible,.step-child-btn:focus-visible{box-shadow:var(--tct-stepper-vertical-step-focus-visible-box-shadow, --const-double-focus-ring)}.step-btn{min-height:var(--tct-stepper-vertical-btn-height, var(--tct-advanced-stepper-btn-height, var(--t-advanced-stepper-btn-height, 40px)));font-size:var(--tct-stepper-vertical-btn-font-size, var(--tct-advanced-stepper-btn-font-size, var(--t-advanced-stepper-btn-font-size, 16px)));--comp-active-color:var(--comp-bullet-bg)}.step-btn.status-complete{--comp-active-color:var(--const-stoplight-success, #0e8a00);--tct-stoplight-success:var(--comp-active-color)}.step-btn.status-error{--comp-active-color:var(--const-stoplight-alert, #d20a0a);--tct-stoplight-warning:var(--comp-active-color)}.step-btn.status-locked{cursor:not-allowed}.step-child-btn{--comp-active-color:var(--comp-bullet-bg);min-height:var(--tct-stepper-vertical-child-btn-height, var(--tct-advanced-stepper-child-btn-height, var(--t-advanced-stepper-child-btn-height, 30px)));padding-left:var(--tct-stepper-vertical-child-btn-left-padding, var(--tct-advanced-stepper-child-btn-left-padding, var(--t-advanced-stepper-child-btn-left-padding, var(--app-scale-2x, 10px))));font-size:var(--tct-stepper-vertical-child-btn-font-size, var(--tct-advanced-stepper-child-btn-font-size, var(--t-advanced-stepper-child-btn-font-size, 12px)));border-left-width:var(--tct-stepper-vertical-child-btn-left-border-width, var(--tct-advanced-stepper-child-btn-left-border-width, var(--t-advanced-stepper-child-btn-left-border-width, 3px)));border-left-style:var(--tct-stepper-vertical-child-btn-left-border-style, var(--tct-advanced-stepper-child-btn-left-border-style, var(--t-advanced-stepper-child-btn-left-border-style, solid)));border-left-color:transparent}.step-child-btn[aria-selected=true]{--comp-btn-label-color:var(--comp-active-color);border-left-color:var(--comp-active-color)}.step-child-btn.status-error{--comp-btn-label-color:var(--const-stoplight-alert, #d20a0a);--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-child-btn.status-locked{cursor:not-allowed}.step-content{grid-area:content}.step-icon,.step-bubble,.step-child-icon{visibility:var(--comp-btn-icon-visibility);grid-area:icon;width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);line-height:0}.step-icon q2-icon,.step-bubble q2-icon,.step-child-icon q2-icon{width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);--tct-stoplight-warning:var(--comp-active-color)}.step-icon,.step-bubble{background:var(--comp-active-color);color:var(--t-base, #ffffff);border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:\"\";display:block;background:var(--t-base, #ffffff);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-locked .step-icon,.status-locked .step-bubble{background:var(--t-gray-12, #d9d9d9);color:var(--t-text, #4d4d4d)}[aria-selected=true] .step-icon,[aria-selected=true] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color)}.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0}.step-child-icon q2-icon{--tct-icon-stroke-primary:var(--comp-active-color);--tct-icon-stroke-secondary:var(--comp-active-color)}[aria-selected=true] .step-child-icon q2-icon{fill:var(--comp-active-color);--tct-icon-stroke-secondary:var(--t-base, #ffffff)}.spacer{height:0;border-left-width:var(--tct-stepper-vertical-child-border-width, var(--tct-advanced-stepaer-child-border-width, var(--t-advanced-stepaer-child-border-width, 1px)));border-left-style:var(--tct-stepper-vertical-child-border-style, var(--tct-advanced-stepper-child-border-style, var(--t-advanced-stepper-child-border-style, solid)));border-left-color:var(--tct-stepper-vertical-child-border-color, var(--tct-advanced-stepper-child-border-color, var(--t-advanced-stepper-child-border-color, var(--t-gray-12, #d9d9d9))));overflow:hidden;margin-left:calc(var(--comp-top-btn-icon-size) / 2);transition:height var(--comp-tween)}.spacer.has-sibling{height:var(--tct-stepper-vertical-spacer-height, var(--tct-advanced-stepper-spacer-height, var(--t-advanced-stepper-spacer-height, var(--app-scale-6x, 30px))))}.spacer ul{opacity:0;transition:opacity var(--comp-tween)}.spacer.is-opening ul,.spacer.is-open ul{display:block;opacity:1 !important}.spacer.is-open{overflow:visible}";
8
8
 
9
9
  const Q2StepperVertical = class {
10
10
  constructor(hostRef) {
@@ -123,6 +123,9 @@ const Q2StepperVertical = class {
123
123
  this.currentStepId = event.detail.selectedStepId;
124
124
  }
125
125
  }
126
+ contentChangeHandler() {
127
+ this.buildPaneList();
128
+ }
126
129
  delegateFocus(event) {
127
130
  if (!index$1.isEventFromElement(event, this.hostElement))
128
131
  return;
@@ -156,7 +159,7 @@ const Q2StepperVertical = class {
156
159
  return Array.from(this.hostElement.querySelectorAll(':scope > q2-stepper-pane'));
157
160
  }
158
161
  extractDetails(pane) {
159
- const { label, description, status } = pane;
162
+ const { label, description, status, disabled } = pane;
160
163
  if (!pane.id)
161
164
  pane.id = `step-${index$1.createGuid()}`;
162
165
  return {
@@ -164,6 +167,7 @@ const Q2StepperVertical = class {
164
167
  label,
165
168
  description,
166
169
  status,
170
+ disabled,
167
171
  };
168
172
  }
169
173
  focusStepBtn(stepId, forceFocus) {
@@ -246,7 +250,7 @@ const Q2StepperVertical = class {
246
250
  // #region Render Methods
247
251
  renderChildStepBtn(pane, index$2, children, parentLabel) {
248
252
  const { currentStepId } = this;
249
- const { id, label, status } = pane;
253
+ const { id, label, status, disabled: isPaneDisabled } = pane;
250
254
  const stepNumber = index$2 + 1;
251
255
  const labelId = label && `label-${id}`;
252
256
  const isCurrentStep = id === currentStepId;
@@ -258,7 +262,9 @@ const Q2StepperVertical = class {
258
262
  const stepClasses = ['step-child-btn'];
259
263
  if (status)
260
264
  stepClasses.push(`status-${status}`);
261
- return (index.h("li", { role: "presentation" }, index.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 && (index.h("div", { class: "step-child-icon" }, index.h("q2-icon", { type: statusIcon }))), label && (index.h("div", { class: "step-child-label", id: labelId }, index$1.loc(label))))));
265
+ if (isPaneDisabled)
266
+ stepClasses.push('pane-disabled');
267
+ return (index.h("li", { role: "presentation" }, index.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 => !isPaneDisabled && !isLocked && this.onStepClick(ev, id) }, statusIcon && (index.h("div", { class: "step-child-icon" }, index.h("q2-icon", { type: statusIcon }))), label && (index.h("div", { class: "step-child-label", id: labelId }, index$1.loc(label))))));
262
268
  }
263
269
  renderSpacer(pane, stepLabel, isExpanded, isLastStep) {
264
270
  const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;
@@ -270,7 +276,7 @@ const Q2StepperVertical = class {
270
276
  renderStepBtn(pane, index$2) {
271
277
  const { currentStepId, structuredPanes } = this;
272
278
  const isLastStep = index$2 === structuredPanes.length - 1;
273
- const { id, label, description, status } = pane;
279
+ const { id, label, description, status, disabled: isPaneDisabled } = pane;
274
280
  const stepNumber = index$2 + 1;
275
281
  const isCurrentStep = id === currentStepId;
276
282
  const labelId = label && `label-${id}`;
@@ -286,12 +292,14 @@ const Q2StepperVertical = class {
286
292
  const stepClasses = ['step-btn'];
287
293
  if (status)
288
294
  stepClasses.push(`status-${status}`);
295
+ if (isPaneDisabled)
296
+ stepClasses.push('pane-disabled');
289
297
  const childIds = pane.children.map(child => child.id);
290
298
  const isExpanded = isCurrentStep || childIds.includes(currentStepId);
291
- return (index.h("li", { role: "presentation" }, index.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 ? (index.h("div", { class: "step-icon" }, index.h("q2-icon", { type: statusIcon }))) : (index.h("div", { class: "step-bubble" }, stepNumber)), label && (index.h("div", null, index.h("div", { class: "step-label", id: labelId }, stepLabel), description && (index.h("div", { class: "step-description", id: descriptionId }, index$1.loc(description)))))), this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)));
299
+ return (index.h("li", { role: "presentation" }, index.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 => !isPaneDisabled && !isLocked && this.onStepClick(ev, id) }, statusIcon ? (index.h("div", { class: "step-icon" }, index.h("q2-icon", { type: statusIcon }))) : (index.h("div", { class: "step-bubble" }, stepNumber)), label && (index.h("div", null, index.h("div", { class: "step-label", id: labelId }, stepLabel), description && (index.h("div", { class: "step-description", id: descriptionId }, index$1.loc(description)))))), this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)));
292
300
  }
293
301
  render() {
294
- return (index.h(index.Fragment, { key: '19c5979fa3800fb5e1b01ee1d86dfda2ab8c8060' }, index.h("ul", { key: 'b19d8f4286218e44b85c4367e1c9e899111cee51', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), index.h("div", { key: '1bc3834460a09e8880816b700dbe6f1ced9753d4', role: "list" }, index.h("slot", { key: '54596ca9c803ae76e1a3800e2e3a8bd0f40c7cf9' }))));
302
+ return (index.h(index.Fragment, { key: '568db2e33e972b3bedd39662343540d98a1f3788' }, index.h("ul", { key: 'cc21e51d8d8a4eecaf9717cedcd79244d26ab346', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), index.h("div", { key: 'f89dff25b18fd14526f1248ae196d218e0cd53d7', role: "list" }, index.h("slot", { key: 'cbb7259494fc49820eef8acedbf2f5b0e5817aac' }))));
295
303
  }
296
304
  get hostElement() { return index.getElement(this); }
297
305
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-stepper-vertical.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,oBAAoB,GAAG,4lSAA4lS;;MCmC5mS,iBAAiB,GAAA,MAAA;AAD9B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAMI,QAAA,IAAoB,CAAA,oBAAA,GAAmB,EAAE;;;AAYzC,QAAA,IAAe,CAAA,eAAA,GAAsB,EAAE;AAiIvC,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;AACjB,YAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;YAC7B,IAAI,CAAC,YAAY,CAAC,MAAM;gBAAE;AAE1B,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,KAAI;;gBACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,0CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;qBAC5E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,KAAK,iBAAiB;AACrD,qBAAA,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AAE7B,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AACtD,gBAAA,OAAO,KAAK;aACf,EAAE,EAAE,CAAC;AACV,SAAC;AAED,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,SAA2B,KAAI;AACnD,YAAA,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAG;;AACzB,gBAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;oBAAE;AACnC,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM;oBAAE;AAClE,gBAAA,IACI,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAQ,MAAK,IAAI,CAAC,YAAY;AACtD,oBAAA,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,MAAK,IAAI,CAAC,YAAY;oBAExD;gBACJ,IAAI,CAAC,aAAa,EAAE;AACxB,aAAC,CAAC;AACN,SAAC;QAoDD,IAAA,CAAA,WAAW,GAAG,CAAC,KAAK,EAAE,MAAc,KAAI;YACpC,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;YAC9B,IAAI,MAAM,KAAK,aAAa;gBAAE;AAC9B,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;YAEnEA,qBAAU,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;gBACtC,YAAY;AACZ,gBAAA,cAAc,EAAE,MAAM;gBACtB,aAAa;AAChB,aAAA,CAAC;AACN,SAAC;QAED,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,EAAE,MAAc,KAAI;AACrD,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK;AAErB,YAAA,IAAI,cAAc;YAClB,QAAQ,GAAG;AACP,gBAAA,KAAK,SAAS;AACd,gBAAA,KAAK,WAAW;oBACZ,KAAK,CAAC,cAAc,EAAE;oBACtB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;oBAC/C;AAEJ,gBAAA,KAAK,WAAW;AAChB,gBAAA,KAAK,YAAY;oBACb,KAAK,CAAC,cAAc,EAAE;oBACtB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;oBAC/C;AAEJ,gBAAA,KAAK,MAAM;oBACP,KAAK,CAAC,cAAc,EAAE;oBACtB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;oBAChD;AAEJ,gBAAA,KAAK,KAAK;oBACN,KAAK,CAAC,cAAc,EAAE;oBACtB,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;oBAC/C;;AAGR,YAAA,IAAI,CAAC,cAAc;gBAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC;AAC3C,SAAC;AAkNJ;;;IAraG,oBAAoB,GAAA;;QAChB,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;AACnC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;;IAGhC,iBAAiB,GAAA;QACb,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,aAAa,EAAE;QACpB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAChE,QAAA,MAAM,eAAe,GAAG;AACpB,YAAA,SAAS,EAAE,IAAI;SAClB;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;AACnD,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAC1D,YAAA,IAAI,YAAY;AAAE,gBAAA,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC;AACrE,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;;IAGpC,gBAAgB,GAAA;AACZ,QAAAC,qBAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;;IAG1D,mBAAmB,GAAA;AACf,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI;;IAGxC,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE;QAE9B,IAAI,CAAC,uBAAuB,EAAE;;;;AAOlC,IAAA,oBAAoB,CAAC,KAAkB,EAAA;AACnC,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YACzF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc;;;AAKxD,IAAA,aAAa,CAAC,KAAiB,EAAA;QAC3B,IAAI,CAACC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;;IAI/C,mBAAmB,GAAA;QACf,IAAI,CAAC,aAAa,EAAE;;;;AAMxB;;;;AAIG;IAEH,MAAM,UAAU,CAAC,MAAc,EAAA;AAC3B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAE,CAAC;AACzF,QAAA,WAAiC,aAAjC,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAwB,KAAK,EAAE;;;;AAO/C,IAAA,kBAAkB,CAAC,MAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;;;;AAMzB,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAA2B,iBAAiB,CAAC,CAAC;;AAGrG,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAA2B,0BAA0B,CAAC,CAAC;;AA8B9G,IAAA,cAAc,CAAC,IAA8B,EAAA;QACzC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;QAC3C,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,IAAI,CAAC,EAAE,GAAG,QAAQC,kBAAU,EAAE,EAAE;QAC9C,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK;YACL,WAAW;YACX,MAAM;SACT;;IAGL,YAAY,CAAC,MAAc,EAAE,UAAoB,EAAA;AAC7C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAc,CAAA,WAAA,EAAc,MAAM,CAAA,EAAA,CAAI,CAAC;QAChG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;AACrE,QAAA,IAAI,CAAC,OAAO;YAAE;AACd,QAAA,IAAI,iBAAiB,IAAI,UAAU,EAAE;YACjC,OAAO,CAAC,KAAK,EAAE;;;IAIvB,SAAS,CAAC,aAAqB,EAAE,IAAY,EAAA;AACzC,QAAA,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CACxC,wEAAwE,CAC3E,CACJ;AACD,QAAA,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;AAEtG,QAAA,IAAI,aAAa;QACjB,QAAQ,IAAI;AACR,YAAA,KAAK,MAAM;gBACP,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjD;AAEJ,YAAA,KAAK,MAAM;AACP,gBAAA,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7E;AAEJ,YAAA,KAAK,OAAO;gBACR,aAAa,GAAG,CAAC;gBACjB;AAEJ,YAAA,KAAK,MAAM;AACP,gBAAA,aAAa,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAC7C;;QAGR,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;;IAgD/D,uBAAuB,GAAA;AACnB,QAAA,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI;AACzC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAiB,SAAS,CAAC;AAC1F,QAAA,UAAU,CAAC,OAAO,CAAC,MAAM,IAAG;YACxB,IAAI,wBAAwB,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;gBACvE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,wBAAwB,CAAC,YAAY,CAAA,EAAA,CAAI;AAClE,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE;AAC1C,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;AAClC,gBAAA,MAAM,CAAC,gBAAgB,CACnB,eAAe,EACf,MAAK;AACD,oBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;AACrC,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC,YAAY,EAAE;AACvB,iBAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB;;iBACE;AACH,gBAAA,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;;AAExD,SAAC,CAAC;;IAGN,YAAY,GAAA;;AACR,QAAA,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAI;;IAGnD,cAAc,GAAA;QACV,IAAI,IAAI,CAAC,aAAa;YAAE;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAC1E,QAAA,IAAI,CAAC,gBAAgB;YAAE;QACvB,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAAE,YAAA,gBAAgB,CAAC,EAAE,GAAG,QAAQA,kBAAU,EAAE,EAAE;AACtE,QAAA,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE;;AAG5C,IAAA,QAAQ,CAAC,MAAc,EAAA;QACnB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;AAG7B,IAAA,YAAY,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAG;YACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,EAAE;;AAE1C,SAAC,CAAC;;;;AAMN,IAAA,kBAAkB,CAAC,IAAyB,EAAEC,OAAa,EAAE,QAAgB,EAAE,WAAmB,EAAA;AAC9F,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;QAC9B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;AAClC,QAAA,MAAM,UAAU,GAAGA,OAAK,GAAG,CAAC;AAC5B,QAAA,MAAM,OAAO,GAAG,KAAK,IAAI,CAAS,MAAA,EAAA,EAAE,EAAE;AACtC,QAAA,MAAM,aAAa,GAAG,EAAE,KAAK,aAAa;AAC1C,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ;QACpC,MAAM,QAAQ,GACV,CAAC,KAAK,IAAIC,WAAG,CAAC,4CAA4C,EAAE,CAAC,GAAG,UAAU,CAAA,CAAE,EAAE,CAAG,EAAA,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;AAE9G,QAAA,IAAI,UAAU;QACd,IAAI,MAAM,KAAK,OAAO;YAAE,UAAU,GAAG,gBAAgB;AAErD,QAAA,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC;AACtC,QAAA,IAAI,MAAM;AAAE,YAAA,WAAW,CAAC,IAAI,CAAC,UAAU,MAAM,CAAA,CAAE,CAAC;AAEhD,QAAA,QACIC,OAAA,CAAA,IAAA,EAAA,EAAI,IAAI,EAAC,cAAc,EAAA,EACnBA,OAAA,CAAA,QAAA,EAAA,EACI,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5B,IAAI,EAAC,QAAQ,EACI,iBAAA,EAAA,OAAO,gBACZ,QAAQ,EAAA,eAAA,EACL,CAAA,EAAG,aAAa,CAAA,CAAE,EACjC,EAAE,EAAE,EAAE,EAAA,eAAA,EACS,QAAQ,GAAG,MAAM,GAAG,IAAI,EACvC,IAAI,EAAC,KAAK,EACV,QAAQ,EAAE,aAAa,GAAG,CAAC,GAAG,EAAE,EAChC,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EACxD,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EAEnD,UAAU,KACPA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EACxBA,OAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAE,UAAU,EAAA,CAAY,CACnC,CACT,EACA,KAAK,KACFA,OACI,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAE,OAAO,IAEVD,WAAG,CAAC,KAAK,CAAC,CACT,CACT,CACI,CACR;;AAIb,IAAA,YAAY,CAAC,IAAqB,EAAE,SAAiB,EAAE,UAAmB,EAAE,UAAmB,EAAA;AAC3F,QAAA,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,UAAU;AAC1E,QAAA,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QAClD,QACI,YAAY,KACRC,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAC9B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KACnBA,OAAA,CAAA,IAAA,EAAA,EACI,GAAG,EAAE,EAAE,IAAI,UAAU,KAAK,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,EAAA,aAAA,EAChD,CAAA,EAAG,CAAC,UAAU,CAAA,CAAE,EAAA,EAE5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,KACtC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CACpE,CACA,CACR,CACC,CACT;;IAIT,aAAa,CAAC,IAAqB,EAAEF,OAAa,EAAA;AAC9C,QAAA,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI;QAC/C,MAAM,UAAU,GAAGA,OAAK,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC;QACvD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;AAC/C,QAAA,MAAM,UAAU,GAAGA,OAAK,GAAG,CAAC;AAC5B,QAAA,MAAM,aAAa,GAAG,EAAE,KAAK,aAAa;AAC1C,QAAA,MAAM,OAAO,GAAG,KAAK,IAAI,CAAS,MAAA,EAAA,EAAE,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ;QACpC,MAAM,SAAS,GAAG,KAAK,IAAIC,WAAG,CAAC,KAAK,CAAC;QACrC,MAAM,aAAa,GAAG,KAAK,IAAI,WAAW,IAAI,CAAA,YAAA,EAAe,EAAE,CAAA,CAAE;QACjE,MAAM,QAAQ,GACV,CAAC,KAAK,IAAIA,WAAG,CAAC,uCAAuC,EAAE,CAAC,GAAG,UAAU,CAAA,CAAE,EAAE,CAAG,EAAA,eAAe,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AAE1G,QAAA,IAAI,UAAU;QACd,IAAI,MAAM,KAAK,UAAU;YAAE,UAAU,GAAG,gBAAgB;aACnD,IAAI,MAAM,KAAK,OAAO;YAAE,UAAU,GAAG,gBAAgB;AAE1D,QAAA,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC;AAChC,QAAA,IAAI,MAAM;AAAE,YAAA,WAAW,CAAC,IAAI,CAAC,UAAU,MAAM,CAAA,CAAE,CAAC;AAEhD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAEpE,QACIC,OAAA,CAAA,IAAA,EAAA,EAAI,IAAI,EAAC,cAAc,EAAA,EACnBA,OACI,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5B,IAAI,EAAC,QAAQ,EACI,iBAAA,EAAA,OAAO,EACN,kBAAA,EAAA,aAAa,EACnB,YAAA,EAAA,QAAQ,mBACL,CAAG,EAAA,aAAa,CAAE,CAAA,EAAA,eAAA,EAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAG,EAAA,UAAU,EAAE,GAAG,IAAI,EAC9D,EAAE,EAAE,EAAE,EACS,eAAA,EAAA,QAAQ,GAAG,MAAM,GAAG,IAAI,EACvC,IAAI,EAAC,KAAK,EACV,QAAQ,EAAE,aAAa,GAAG,CAAC,GAAG,EAAE,EAChC,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EACxD,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EAEnD,UAAU,IACPA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EAClBA,OAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAE,UAAU,EAAY,CAAA,CACnC,KAENA,iBAAK,KAAK,EAAC,aAAa,EAAE,EAAA,UAAU,CAAO,CAC9C,EAEA,KAAK,KACFA,OAAA,CAAA,KAAA,EAAA,IAAA,EACIA,OACI,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAClB,EAAE,EAAE,OAAO,EAEV,EAAA,SAAS,CACR,EACL,WAAW,KACRA,OAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAE,aAAa,EAEhB,EAAAD,WAAG,CAAC,WAAW,CAAC,CACf,CACT,CACC,CACT,CACI,EACR,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAC1D;;IAIb,MAAM,GAAA;AACF,QAAA,QACIC,QAACC,cAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACLD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAE,EAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAM,EACpGA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EACZA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACN,CACC;;;;;;;;;;;","names":["mirrorEmit","overrideFocus","isEventFromElement","createGuid","index","loc","h","Fragment"],"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-icon-visibility: #{var(--tct-stepper-vertical-btn-icon-visibility, visible)};\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 visibility: var(--comp-btn-icon-visibility);\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 Method,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\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/**\n * @name Vertical Stepper\n * @category Display\n * @summary Use for guiding users through a multi-step workflow with vertical progress.\n */\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n // #region Own Properties\n\n expandedStepChildrenList: HTMLUListElement;\n mutationObserver: MutationObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n structuredPanes: IStructuredPane[] = [];\n\n // #endregion\n // #region Public Property API\n\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true })\n currentStepId: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\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 // #endregion\n // #region Listeners\n\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 // #endregion\n // #region Public Methods API\n\n /**\n * A method to select a step corresponding with the step id.\n *\n * @testOnly\n */\n @Method()\n async selectStep(stepId: string) {\n const stepperPane = this.hostElement.shadowRoot.querySelector(`button.step-btn#${stepId}`);\n (stepperPane as HTMLButtonElement)?.click();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n // #endregion\n // #region Local Methods\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\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 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 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 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 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 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 mirrorEmit(this, ['change', 'tctChange'], {\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 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 resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\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 showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\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 // #endregion\n // #region Render Methods\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 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 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 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 // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-stepper-vertical.entry.cjs.js","mappings":"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","names":["mirrorEmit","overrideFocus","isEventFromElement","createGuid","index","loc","h","Fragment"],"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-icon-visibility: #{var(--tct-stepper-vertical-btn-icon-visibility, visible)};\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\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 border-radius: var(--tct-stepper-vertical-step-focus-visible-border-radius, 0);\n\n &[aria-disabled]:not(.pane-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 &.pane-disabled {\n cursor: not-allowed;\n }\n\n &[aria-selected='true'] {\n --comp-label-font-weight: 600;\n }\n\n &:focus-visible {\n box-shadow: var(--tct-stepper-vertical-step-focus-visible-box-shadow, --const-double-focus-ring);\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 visibility: var(--comp-btn-icon-visibility);\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 Method,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\ninterface BaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n disabled: boolean;\n}\n\ninterface StructuredPane extends BaseStructuredPane {\n children: BaseStructuredPane[];\n}\n\n/**\n * @name Vertical Stepper\n * @category Display\n * @summary Use for guiding users through a multi-step workflow with vertical progress.\n */\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n // #region Own Properties\n\n expandedStepChildrenList: HTMLUListElement;\n mutationObserver: MutationObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n structuredPanes: StructuredPane[] = [];\n\n // #endregion\n // #region Public Property API\n\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true })\n currentStepId: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\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 // #endregion\n // #region Listeners\n\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('contentChange')\n contentChangeHandler() {\n this.buildPaneList();\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 // #endregion\n // #region Public Methods API\n\n /**\n * A method to select a step corresponding with the step id.\n *\n * @testOnly\n */\n @Method()\n async selectStep(stepId: string) {\n const stepperPane = this.hostElement.shadowRoot.querySelector(`button.step-btn#${stepId}`);\n (stepperPane as HTMLButtonElement)?.click();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n // #endregion\n // #region Local Methods\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\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 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 extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status, disabled } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n disabled,\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 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 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 mirrorEmit(this, ['change', 'tctChange'], {\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 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 resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\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 showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\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 // #endregion\n // #region Render Methods\n\n renderChildStepBtn(pane: BaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status, disabled: isPaneDisabled } = 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 if (isPaneDisabled) stepClasses.push('pane-disabled');\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 => !isPaneDisabled && !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 renderSpacer(pane: StructuredPane, 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 renderStepBtn(pane: StructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status, disabled: isPaneDisabled } = 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 if (isPaneDisabled) stepClasses.push('pane-disabled');\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 => !isPaneDisabled && !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 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 // #endregion\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"q2-stepper-vertical.entry.cjs.js","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-icon-visibility: #{var(--tct-stepper-vertical-btn-icon-visibility, visible)};\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 visibility: var(--comp-btn-icon-visibility);\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 Method,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\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/**\n * @name Vertical Stepper\n * @category Display\n * @summary Use for guiding users through a multi-step workflow with vertical progress.\n */\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n // #region Own Properties\n\n expandedStepChildrenList: HTMLUListElement;\n mutationObserver: MutationObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n structuredPanes: IStructuredPane[] = [];\n\n // #endregion\n // #region Public Property API\n\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true })\n currentStepId: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\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 // #endregion\n // #region Listeners\n\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 // #endregion\n // #region Public Methods API\n\n /**\n * A method to select a step corresponding with the step id.\n *\n * @testOnly\n */\n @Method()\n async selectStep(stepId: string) {\n const stepperPane = this.hostElement.shadowRoot.querySelector(`button.step-btn#${stepId}`);\n (stepperPane as HTMLButtonElement)?.click();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n // #endregion\n // #region Local Methods\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\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 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 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 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 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 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 mirrorEmit(this, ['change', 'tctChange'], {\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 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 resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\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 showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\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 // #endregion\n // #region Render Methods\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 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 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 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 // #endregion\n}\n"],"names":["mirrorEmit","overrideFocus","isEventFromElement","createGuid","index","loc","h","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"q2-stepper-vertical.entry.cjs.js","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-icon-visibility: #{var(--tct-stepper-vertical-btn-icon-visibility, visible)};\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\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 border-radius: var(--tct-stepper-vertical-step-focus-visible-border-radius, 0);\n\n &[aria-disabled]:not(.pane-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 &.pane-disabled {\n cursor: not-allowed;\n }\n\n &[aria-selected='true'] {\n --comp-label-font-weight: 600;\n }\n\n &:focus-visible {\n box-shadow: var(--tct-stepper-vertical-step-focus-visible-box-shadow, --const-double-focus-ring);\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 visibility: var(--comp-btn-icon-visibility);\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 Method,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\ninterface BaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n disabled: boolean;\n}\n\ninterface StructuredPane extends BaseStructuredPane {\n children: BaseStructuredPane[];\n}\n\n/**\n * @name Vertical Stepper\n * @category Display\n * @summary Use for guiding users through a multi-step workflow with vertical progress.\n */\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n // #region Own Properties\n\n expandedStepChildrenList: HTMLUListElement;\n mutationObserver: MutationObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n structuredPanes: StructuredPane[] = [];\n\n // #endregion\n // #region Public Property API\n\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true })\n currentStepId: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\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 // #endregion\n // #region Listeners\n\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('contentChange')\n contentChangeHandler() {\n this.buildPaneList();\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 // #endregion\n // #region Public Methods API\n\n /**\n * A method to select a step corresponding with the step id.\n *\n * @testOnly\n */\n @Method()\n async selectStep(stepId: string) {\n const stepperPane = this.hostElement.shadowRoot.querySelector(`button.step-btn#${stepId}`);\n (stepperPane as HTMLButtonElement)?.click();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n // #endregion\n // #region Local Methods\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\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 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 extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status, disabled } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n disabled,\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 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 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 mirrorEmit(this, ['change', 'tctChange'], {\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 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 resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\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 showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\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 // #endregion\n // #region Render Methods\n\n renderChildStepBtn(pane: BaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status, disabled: isPaneDisabled } = 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 if (isPaneDisabled) stepClasses.push('pane-disabled');\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 => !isPaneDisabled && !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 renderSpacer(pane: StructuredPane, 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 renderStepBtn(pane: StructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status, disabled: isPaneDisabled } = 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 if (isPaneDisabled) stepClasses.push('pane-disabled');\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 => !isPaneDisabled && !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 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 // #endregion\n}\n"],"names":["mirrorEmit","overrideFocus","isEventFromElement","createGuid","index","loc","h","Fragment"],"mappings":"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"}