q2-tecton-elements 1.45.3 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0430339e.js → index-c385e32f.js} +1 -1
  4. package/dist/cjs/{index-0430339e.js.map → index-c385e32f.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-carousel.cjs.entry.js +33 -2
  11. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  17. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-item.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-list.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-optgroup.cjs.entry.js +59 -0
  23. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -0
  24. package/dist/cjs/{q2-optgroup_2.cjs.entry.js → q2-option.cjs.entry.js} +1 -52
  25. package/dist/cjs/q2-option.cjs.entry.js.map +1 -0
  26. package/dist/cjs/q2-pagination.cjs.entry.js +22 -3
  27. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-select.cjs.entry.js +4 -5
  33. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +6 -6
  37. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  43. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  45. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  47. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  48. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  49. package/dist/collection/components/q2-btn/q2-btn.js +29 -5
  50. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  51. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  52. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  53. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  54. package/dist/collection/components/q2-carousel/q2-carousel.js +33 -2
  55. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  56. package/dist/collection/components/q2-currency/q2-currency.css +4 -0
  57. package/dist/collection/components/q2-data-table/q2-data-table.js +6 -6
  58. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  59. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  60. package/dist/collection/components/q2-input/q2-input.js +43 -15
  61. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  62. package/dist/collection/components/q2-item/q2-item.css +11 -11
  63. package/dist/collection/components/q2-list/q2-list.css +8 -5
  64. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
  65. package/dist/collection/components/q2-pagination/q2-pagination.css +17 -2
  66. package/dist/collection/components/q2-pagination/q2-pagination.js +53 -2
  67. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  68. package/dist/collection/components/q2-pill/q2-pill.js +2 -2
  69. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  70. package/dist/collection/components/q2-popover/q2-popover.js +1 -1
  71. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  72. package/dist/collection/components/q2-section/q2-section.js +2 -2
  73. package/dist/collection/components/q2-select/q2-select.js +21 -5
  74. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  75. package/dist/collection/components/q2-stepper/q2-stepper.js +2 -2
  76. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  77. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +4 -4
  78. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  79. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +6 -6
  80. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  81. package/dist/collection/components/q2-tab-container/q2-tab-container.js +2 -2
  82. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  83. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  84. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  85. package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
  86. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  87. package/dist/components/click-elsewhere2.js.map +1 -1
  88. package/dist/components/index2.js +1 -1
  89. package/dist/components/q2-btn2.js +4 -2
  90. package/dist/components/q2-btn2.js.map +1 -1
  91. package/dist/components/q2-calendar.js +2 -2
  92. package/dist/components/q2-calendar.js.map +1 -1
  93. package/dist/components/q2-carousel.js +33 -2
  94. package/dist/components/q2-carousel.js.map +1 -1
  95. package/dist/components/q2-currency.js +1 -1
  96. package/dist/components/q2-currency.js.map +1 -1
  97. package/dist/components/q2-dropdown.js +1 -1
  98. package/dist/components/q2-dropdown.js.map +1 -1
  99. package/dist/components/q2-input2.js +20 -12
  100. package/dist/components/q2-input2.js.map +1 -1
  101. package/dist/components/q2-item.js +1 -1
  102. package/dist/components/q2-item.js.map +1 -1
  103. package/dist/components/q2-list.js +1 -1
  104. package/dist/components/q2-list.js.map +1 -1
  105. package/dist/components/q2-message2.js +1 -1
  106. package/dist/components/q2-option-list2.js +1 -1
  107. package/dist/components/q2-pagination.js +64 -13
  108. package/dist/components/q2-pagination.js.map +1 -1
  109. package/dist/components/q2-pill.js +2 -2
  110. package/dist/components/q2-pill.js.map +1 -1
  111. package/dist/components/q2-popover2.js +2 -2
  112. package/dist/components/q2-relative-time.js +1 -1
  113. package/dist/components/q2-section.js +2 -2
  114. package/dist/components/q2-select.js +1 -711
  115. package/dist/components/q2-select.js.map +1 -1
  116. package/dist/components/q2-select2.js +715 -0
  117. package/dist/components/q2-select2.js.map +1 -0
  118. package/dist/components/q2-stepper-pane.js +2 -2
  119. package/dist/components/q2-stepper-pane.js.map +1 -1
  120. package/dist/components/q2-stepper-vertical.js +6 -6
  121. package/dist/components/q2-stepper-vertical.js.map +1 -1
  122. package/dist/components/q2-stepper.js +2 -2
  123. package/dist/components/q2-stepper.js.map +1 -1
  124. package/dist/components/q2-tab-container.js +2 -2
  125. package/dist/components/q2-tab-container.js.map +1 -1
  126. package/dist/components/q2-tab-pane.js +1 -1
  127. package/dist/components/q2-tag.js +1 -1
  128. package/dist/components/q2-textarea.js +1 -1
  129. package/dist/components/q2-textarea.js.map +1 -1
  130. package/dist/components/tecton-tab-pane.js +2 -2
  131. package/dist/esm/click-elsewhere_2.entry.js +1 -1
  132. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  133. package/dist/esm/{index-e940b40e.js → index-f0dfb099.js} +1 -1
  134. package/dist/esm/{index-e940b40e.js.map → index-f0dfb099.js.map} +1 -1
  135. package/dist/esm/loader.js +1 -1
  136. package/dist/esm/q2-btn_2.entry.js +2 -1
  137. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  138. package/dist/esm/q2-calendar.entry.js +3 -3
  139. package/dist/esm/q2-calendar.entry.js.map +1 -1
  140. package/dist/esm/q2-carousel.entry.js +33 -2
  141. package/dist/esm/q2-carousel.entry.js.map +1 -1
  142. package/dist/esm/q2-currency.entry.js +1 -1
  143. package/dist/esm/q2-currency.entry.js.map +1 -1
  144. package/dist/esm/q2-dropdown.entry.js +1 -1
  145. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  146. package/dist/esm/q2-input.entry.js +17 -10
  147. package/dist/esm/q2-input.entry.js.map +1 -1
  148. package/dist/esm/q2-item.entry.js +1 -1
  149. package/dist/esm/q2-item.entry.js.map +1 -1
  150. package/dist/esm/q2-list.entry.js +1 -1
  151. package/dist/esm/q2-list.entry.js.map +1 -1
  152. package/dist/esm/q2-optgroup.entry.js +55 -0
  153. package/dist/esm/q2-optgroup.entry.js.map +1 -0
  154. package/dist/esm/{q2-optgroup_2.entry.js → q2-option.entry.js} +3 -53
  155. package/dist/esm/q2-option.entry.js.map +1 -0
  156. package/dist/esm/q2-pagination.entry.js +22 -3
  157. package/dist/esm/q2-pagination.entry.js.map +1 -1
  158. package/dist/esm/q2-pill.entry.js +2 -2
  159. package/dist/esm/q2-pill.entry.js.map +1 -1
  160. package/dist/esm/q2-relative-time.entry.js +2 -2
  161. package/dist/esm/q2-section.entry.js +2 -2
  162. package/dist/esm/q2-select.entry.js +4 -5
  163. package/dist/esm/q2-select.entry.js.map +1 -1
  164. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  165. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  166. package/dist/esm/q2-stepper-vertical.entry.js +6 -6
  167. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  168. package/dist/esm/q2-stepper.entry.js +2 -2
  169. package/dist/esm/q2-stepper.entry.js.map +1 -1
  170. package/dist/esm/q2-tab-container.entry.js +2 -2
  171. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  172. package/dist/esm/q2-tab-pane.entry.js +1 -1
  173. package/dist/esm/q2-tag.entry.js +1 -1
  174. package/dist/esm/q2-tecton-elements.js +1 -1
  175. package/dist/esm/q2-textarea.entry.js +1 -1
  176. package/dist/esm/q2-textarea.entry.js.map +1 -1
  177. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  178. package/dist/q2-tecton-elements/{p-685b821c.entry.js → p-0eff37c6.entry.js} +2 -2
  179. package/dist/q2-tecton-elements/{p-fcc84527.entry.js → p-12326313.entry.js} +2 -2
  180. package/dist/q2-tecton-elements/p-12326313.entry.js.map +1 -0
  181. package/dist/q2-tecton-elements/p-176ad382.entry.js +2 -0
  182. package/dist/q2-tecton-elements/p-176ad382.entry.js.map +1 -0
  183. package/dist/q2-tecton-elements/{p-f4d77672.entry.js → p-195a133c.entry.js} +2 -2
  184. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js +2 -0
  185. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js.map +1 -0
  186. package/dist/q2-tecton-elements/{p-bfe9d688.entry.js → p-1c4aa7e3.entry.js} +2 -2
  187. package/dist/q2-tecton-elements/p-1c4aa7e3.entry.js.map +1 -0
  188. package/dist/q2-tecton-elements/p-1e927478.entry.js +2 -0
  189. package/dist/q2-tecton-elements/p-1e927478.entry.js.map +1 -0
  190. package/dist/q2-tecton-elements/p-36398b59.entry.js +2 -0
  191. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +1 -0
  192. package/dist/q2-tecton-elements/{p-7ce6e587.js → p-3c42c90f.js} +1 -1
  193. package/dist/q2-tecton-elements/p-66af375f.entry.js +2 -0
  194. package/dist/q2-tecton-elements/p-66af375f.entry.js.map +1 -0
  195. package/dist/q2-tecton-elements/p-6ebe37ea.entry.js +2 -0
  196. package/dist/q2-tecton-elements/p-6ebe37ea.entry.js.map +1 -0
  197. package/dist/q2-tecton-elements/p-79df783e.entry.js +2 -0
  198. package/dist/q2-tecton-elements/p-79df783e.entry.js.map +1 -0
  199. package/dist/q2-tecton-elements/p-7e1dc7e8.entry.js +2 -0
  200. package/dist/q2-tecton-elements/p-7e1dc7e8.entry.js.map +1 -0
  201. package/dist/q2-tecton-elements/{p-05b015a8.entry.js → p-87bbeb9c.entry.js} +2 -2
  202. package/dist/q2-tecton-elements/{p-05b015a8.entry.js.map → p-87bbeb9c.entry.js.map} +1 -1
  203. package/dist/q2-tecton-elements/p-89305707.entry.js +2 -0
  204. package/dist/q2-tecton-elements/p-89305707.entry.js.map +1 -0
  205. package/dist/q2-tecton-elements/{p-debd5249.entry.js → p-ad274c67.entry.js} +2 -2
  206. package/dist/q2-tecton-elements/{p-debd5249.entry.js.map → p-ad274c67.entry.js.map} +1 -1
  207. package/dist/q2-tecton-elements/{p-68556733.entry.js → p-c56b58e9.entry.js} +2 -2
  208. package/dist/q2-tecton-elements/p-c56b58e9.entry.js.map +1 -0
  209. package/dist/q2-tecton-elements/{p-2436c843.entry.js → p-cb4f9b33.entry.js} +2 -2
  210. package/dist/q2-tecton-elements/p-cb4f9b33.entry.js.map +1 -0
  211. package/dist/q2-tecton-elements/{p-5dc5c4e2.entry.js → p-d013e05d.entry.js} +2 -2
  212. package/dist/q2-tecton-elements/p-d013e05d.entry.js.map +1 -0
  213. package/dist/q2-tecton-elements/p-d1522382.entry.js +2 -0
  214. package/dist/q2-tecton-elements/p-d1522382.entry.js.map +1 -0
  215. package/dist/q2-tecton-elements/{p-63192fac.entry.js → p-da7fc914.entry.js} +2 -2
  216. package/dist/q2-tecton-elements/p-e3230823.entry.js +2 -0
  217. package/dist/q2-tecton-elements/p-e3230823.entry.js.map +1 -0
  218. package/dist/q2-tecton-elements/{p-b376c111.entry.js → p-e47dbfbe.entry.js} +2 -2
  219. package/dist/q2-tecton-elements/{p-a214077c.entry.js → p-e4a2469f.entry.js} +2 -2
  220. package/dist/q2-tecton-elements/p-fc9f43f8.entry.js +2 -0
  221. package/dist/q2-tecton-elements/p-fc9f43f8.entry.js.map +1 -0
  222. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  223. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  224. package/dist/test/elements/q2-calendar-test.e2e.js +1 -1
  225. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  226. package/dist/test/elements/q2-carousel-test.e2e.js +67 -1
  227. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  228. package/dist/test/elements/q2-detail/q2-list-test.e2e.js +1 -1
  229. package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -1
  230. package/dist/test/elements/q2-input-test.e2e.js +25 -2
  231. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  232. package/dist/test/elements/q2-pagination-test.e2e.js +22 -0
  233. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  234. package/dist/test/elements/q2-pill-test.e2e.js +21 -2
  235. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  236. package/dist/test/elements/q2-select-test.e2e.js +26 -8
  237. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  238. package/dist/test/elements/q2-stepper-test.e2e.js +10 -17
  239. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  240. package/dist/test/elements/q2-stepper-vertical-test.e2e.js +20 -4
  241. package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
  242. package/dist/test/elements/q2-tab-container-test.e2e.js +10 -4
  243. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  244. package/dist/types/components/q2-btn/q2-btn.d.ts +14 -3
  245. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -0
  246. package/dist/types/components/q2-input/q2-input.d.ts +10 -3
  247. package/dist/types/components.d.ts +50 -4
  248. package/package.json +3 -3
  249. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +0 -1
  250. package/dist/esm/q2-optgroup_2.entry.js.map +0 -1
  251. package/dist/q2-tecton-elements/p-1c17d118.entry.js +0 -2
  252. package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +0 -1
  253. package/dist/q2-tecton-elements/p-2436c843.entry.js.map +0 -1
  254. package/dist/q2-tecton-elements/p-3b1ea100.entry.js +0 -2
  255. package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +0 -1
  256. package/dist/q2-tecton-elements/p-445990a8.entry.js +0 -2
  257. package/dist/q2-tecton-elements/p-445990a8.entry.js.map +0 -1
  258. package/dist/q2-tecton-elements/p-4b81a121.entry.js +0 -2
  259. package/dist/q2-tecton-elements/p-4b81a121.entry.js.map +0 -1
  260. package/dist/q2-tecton-elements/p-50bd4437.entry.js +0 -2
  261. package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +0 -1
  262. package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +0 -1
  263. package/dist/q2-tecton-elements/p-68556733.entry.js.map +0 -1
  264. package/dist/q2-tecton-elements/p-7c12ba02.entry.js +0 -2
  265. package/dist/q2-tecton-elements/p-7c12ba02.entry.js.map +0 -1
  266. package/dist/q2-tecton-elements/p-a977e723.entry.js +0 -2
  267. package/dist/q2-tecton-elements/p-a977e723.entry.js.map +0 -1
  268. package/dist/q2-tecton-elements/p-b3d10d52.entry.js +0 -2
  269. package/dist/q2-tecton-elements/p-b3d10d52.entry.js.map +0 -1
  270. package/dist/q2-tecton-elements/p-bfe9d688.entry.js.map +0 -1
  271. package/dist/q2-tecton-elements/p-bffda54d.entry.js +0 -2
  272. package/dist/q2-tecton-elements/p-bffda54d.entry.js.map +0 -1
  273. package/dist/q2-tecton-elements/p-cadceb00.entry.js +0 -2
  274. package/dist/q2-tecton-elements/p-cadceb00.entry.js.map +0 -1
  275. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +0 -2
  276. package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +0 -1
  277. package/dist/q2-tecton-elements/p-fcc84527.entry.js.map +0 -1
  278. /package/dist/q2-tecton-elements/{p-685b821c.entry.js.map → p-0eff37c6.entry.js.map} +0 -0
  279. /package/dist/q2-tecton-elements/{p-f4d77672.entry.js.map → p-195a133c.entry.js.map} +0 -0
  280. /package/dist/q2-tecton-elements/{p-7ce6e587.js.map → p-3c42c90f.js.map} +0 -0
  281. /package/dist/q2-tecton-elements/{p-63192fac.entry.js.map → p-da7fc914.entry.js.map} +0 -0
  282. /package/dist/q2-tecton-elements/{p-b376c111.entry.js.map → p-e47dbfbe.entry.js.map} +0 -0
  283. /package/dist/q2-tecton-elements/{p-a214077c.entry.js.map → p-e4a2469f.entry.js.map} +0 -0
  284. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  285. /package/dist/types/workspace/workspace/{tecton-production_release_1.45.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2TextareaCss","Q2TextareaStyle0","Q2Textarea","this","scheduledAfterRender","guid","createGuid","checkRows","contentContainer","rows","textareaField","resize","includes","style","height","offsetHeight","removeAttribute","checkCols","cols","width","offsetWidth","onTextareaFocus","hasFocus","valueOnFocus","value","setMessageHeight","onTextareaBlur","change","emit","onTextareaInput","event","stopPropagation","target","increaseHeightIfOverflowing","input","onTextareaChange","onMouseDown","downParams","x","clientX","y","clientY","document","addEventListener","onMouseMove","onMouseUp","setHeight","setWidth","onTouchStart","touches","length","preventDefault","firstTouch","pageX","pageY","onTouchMove","scrollHeight","isOverflowingVertically","newHeight","getBorderOffset","clientHeight","computedStyle","window","getComputedStyle","parseInt","borderTopWidth","borderBottomWidth","removeEventListener","componentWillLoad","isNaN","maxlength","undefined","componentDidRender","push","forEach","fn","componentDidLoad","overrideFocus","hostElement","hasError","Array","isArray","errors","messages","hints","showMessages","hideMessages","inputId","inputDescribedBy","wrapperClasses","errorClass","valueClass","focusClass","showResize","valueObserver","truncatedValue","substr","rowsObserver","colsObserver","hintsObserver","errorsObserver","onHostElementFocus","isEventFromElement","focus","onHostElementChange","onchange","detail","onHostElementInput","oninput","setValue","dispatchEvent","InputEvent","resizeX","eventX","MouseEvent","_b","_a","newWidth","resizeY","eventY","render","h","key","class","labelDOM","ref","el","inputDOM","maxLengthDOM","messagesDOM","textareaClasses","id","placeholder","loc","maxLength","optional","hideLabel","label","spellcheck","readonly","disabled","onInput","onChange","onFocus","onBlur","type","tabIndex","viewBox","xmlns","d","fill"],"sources":["src/components/q2-textarea/q2-textarea.scss?tag=q2-textarea&encapsulation=shadow","src/components/q2-textarea/q2-textarea.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n --comp-default-margin: #{var-list(var-prefixer(textarea-margin-top), --app-scale-6x, 30px)} 0 #{var-list(\n var-prefixer(textarea-margin-bottom),\n --app-scale-6x,\n 30px\n )};\n display: block;\n margin: var-list(--tct-textarea-margin, --comp-default-margin);\n font-size: var-list(var-prefixer(textarea-font-size), --app-font-size, inherit);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n --comp-label-padding: #{var-list(\n --tct-textarea-label-padding,\n unquote(\n '0 #{var-list(var-prefixer(textarea-label-padding-right), 0)} 0 #{var-list(var-prefixer(textarea-label-padding-left), 0)}'\n )\n )};\n --comp-label-margin: #{var-list(\n --tct-textarea-label-margin,\n unquote(\n '#{var-list(var-prefixer(textarea-label-margin-top), 0)} 0 #{var-list(var-prefixer(textarea-label-margin-bottom), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n display: block;\n padding: var(--comp-label-padding);\n margin: var(--comp-label-margin);\n color: var-list(var-prefixer(textarea-label-font-color), inherit);\n font-size: var-list(var-prefixer(textarea-label-font-size), inherit);\n font-weight: var-list(var-prefixer(textarea-label-font-weight), 600);\n text-transform: var-list(var-prefixer(textarea-label-text-transform), none);\n letter-spacing: var-list(var-prefixer(textarea-label-letter-spacing), normal);\n transition: color var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'));\n\n .has-error & {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-font-color, inherit);\n }\n\n :hover & {\n color: var-list(--tct-textarea-hover-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n\n .has-error & {\n color: var-list(\n --tct-textarea-error-hover-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-hover-label-font-color,\n --tct-textarea-label-font-color,\n inherit\n );\n }\n }\n\n :focus-within & {\n color: var-list(--tct-textarea-focus-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n\n .has-error & {\n color: var-list(\n --tct-textarea-error-focus-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-focus-label-font-color,\n var-prefixer(textarea-label-font-color),\n inherit\n );\n }\n }\n}\n\n.optional-tag {\n --comp-label-optional-margin: #{var-list(\n --tct-textarea-label-optional-margin,\n unquote(\n '0 0 0 #{var-list(var-prefixer(textarea-label-optional-margin-left), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n margin: var(--comp-label-optional-margin);\n color: var-list(\n var-prefixer(textarea-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(textarea-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(textarea-label-optional-font-weight), 400);\n}\n\n.input-container {\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n height: 100%;\n --comp-default-border-radius: #{var-list(--tct-border-radius-1, --app-border-radius-1, 3px)};\n --comp-textarea-border-top-left-radius: #{var-list(\n var-prefixer(textarea-border-top-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-top-right-radius: #{var-list(\n var-prefixer(textarea-border-top-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-right-radius: #{var-list(\n var-prefixer(textarea-border-bottom-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-left-radius: #{var-list(\n var-prefixer(textarea-border-bottom-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-radius: var(--comp-textarea-border-top-left-radius)\n var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius)\n var(--comp-textarea-border-bottom-left-radius);\n --comp-textarea-border-width: #{var-list(var-prefixer(textarea-border-top-width), 1px)\n var-list(var-prefixer(textarea-border-right-width), 1px)\n var-list(var-prefixer(textarea-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-border-left-width), 1px)};\n --comp-textarea-icon-clearance: 34px;\n\n :host([disabled]) & {\n cursor: not-allowed;\n opacity: var-list(var-prefixer(textarea-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n }\n}\n\n.content-container {\n --comp-textarea-min-height: 46px;\n --comp-textarea-min-width: 150px;\n position: relative;\n display: inline-block;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n min-width: var-list(var-prefixer(textarea-min-width) --comp-textarea-min-width);\n\n :host(:not([cols])) & {\n width: 100%;\n }\n}\n\ntextarea {\n --comp-textarea-padding: #{var-list(\n --tct-textarea-padding,\n unquote(\n '#{var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px)} #{var-list(var-prefixer(textarea-horizontal-padding), --tct-scale-2x, --app-scale-2x, 10px)}'\n )\n )};\n --comp-textarea-border-color: #{var-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-textarea-background: #{var-list(\n --tct-textarea-background,\n var-prefixer(textarea-bg),\n --tct-input-background,\n var-prefixer(input-bg),\n --t-gray-14,\n #fcfcfd\n )};\n --comp-textarea-hover-ring-color: var(--tct-textarea-hover-ring-color);\n --comp-textarea-hover-ring: #{0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color),\n var-list(--tct-textarea-hover-box-shadow, unquote('0 0 transparent'))};\n\n resize: none;\n height: 100%;\n -webkit-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n padding: var(--comp-textarea-padding);\n background: var(--comp-textarea-background);\n color: var-list(var-prefixer(textarea-font-color), --t-input-font-color, inherit);\n border-width: var(--comp-textarea-border-width);\n border-style: solid;\n border-color: var(--comp-textarea-border-color);\n border-radius: var(--comp-textarea-border-radius);\n box-shadow: var-list(var-prefixer(textarea-box-shadow), none);\n scrollbar-width: thin;\n scrollbar-color: var(--t-a11y-gray-color) transparent;\n --comp-textarea-tween: #{var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'))};\n transition:\n border-width var(--comp-textarea-tween),\n border-color var(--comp-textarea-tween),\n box-shadow var(--comp-textarea-tween);\n\n &::-webkit-scrollbar {\n width: var(--app-scale-1x);\n height: var(--app-scale-1x);\n margin: var(--app-scale-1x);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--t-a11y-gray-color);\n border-radius: 2px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &:not([cols]) {\n width: 100%;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n background: var-list(--tct-textarea-error-background, --comp-textarea-background);\n }\n\n &:hover {\n border-color: var-list(--tct-textarea-hover-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-hover-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-hover-box-shadow, --comp-textarea-hover-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-hover-border-color,\n var-prefixer(textarea-error-border-color),\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-hover-background,\n --tct-textarea-error-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-hover-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-hover-box-shadow,\n --comp-textarea-hover-ring\n );\n }\n }\n\n &:focus {\n border-color: var-list(--tct-textarea-focus-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-focus-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-focus-box-shadow, --const-double-focus-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-focus-border-color,\n --tct-textarea-error-border-color,\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-focus-background,\n --tct-textarea-error-background,\n --tct-textarea-focus-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-focus-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-focus-box-shadow,\n --const-double-focus-ring\n );\n }\n }\n\n &::placeholder {\n color: var-list(\n var-prefixer(textarea-placeholder-font-color),\n --t-input-placeholder-font-color,\n --tct-gray-7,\n --app-gray-7,\n --tct-gray-d1,\n --app-gray-d1,\n #666666\n );\n }\n\n &[disabled] {\n cursor: not-allowed;\n }\n\n &.resize-vertical-auto {\n overflow: hidden;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n\n &:not(:focus) {\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n }\n }\n}\n\nq2-icon {\n margin-top: calc(#{var-list(var-prefixer(textarea-border-top-width), 1px)} / 2);\n margin-bottom: calc(#{var-list(var-prefixer(textarea-border-bottom-width), 1px)} / 2);\n pointer-events: none;\n position: absolute;\n top: var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px);\n color: var-list(var-prefixer(textarea-icon-stroke-primary), --app-gray-9, --tct-gray, --app-gray, #999999);\n right: 0;\n margin-right: var-list(--tct-scale-2x, --app-scale-2x, 10px);\n --tct-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n --t-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n}\n\n.icon-error {\n color: var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n}\n\n.messages-container {\n height: 0px;\n overflow: hidden;\n background: var-list(\n --tct-message-background,\n --tct-message-bg,\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n box-shadow: var-list(\n var-prefixer(textarea-message-box-shadow),\n --tct-box-shadow-1,\n --app-shadow-1,\n unquote('0 2px 4px rgba(0, 0, 0, 0.3)')\n );\n transition: height\n var-list(var-prefixer(textarea-messages-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n margin-top: 2px;\n z-index: 1;\n position: absolute;\n width: 100%;\n color: var-list(var-prefixer(textarea-messages-font-color), inherit);\n}\n\n.max-length {\n color: var-list(var-prefixer(textarea-max-length-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(\n var-prefixer(textarea-max-length-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n position: absolute;\n right: 0;\n}\n\n.btn-resize {\n --tct-textarea-resize-icon-padding: calc(\n calc(\n #{var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px)} - #{var-list(\n var-prefixer(textarea-resize-icon-size),\n 12px\n )}\n ) / 2\n );\n width: var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px);\n height: var-list(var-prefixer(textarea-resize-btn-height), --tct-btn-icon-height, 44px);\n background: var-list(var-prefixer(textarea-resize-btn-background), transparent);\n stroke: var-list(var-prefixer(textarea-resize-color), --t-textA, rgba(77, 77, 77, 0.77));\n border: 0;\n position: absolute;\n right: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n bottom: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n display: block;\n padding: var-list(var-prefixer(textarea-resize-icon-padding));\n font-size: 0;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n\n :host([resize='both']) & {\n cursor: se-resize;\n }\n\n :host([resize='vertical']) &,\n :host([resize='vertical-auto']) & {\n cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import { Component, EventEmitter, Prop, Event, Element, State, h, Watch, Listen, Method } from '@stencil/core';\nimport { IDict } from 'src/util';\nimport { createGuid, isEventFromElement, labelDOM, loc, messagesDOM, overrideFocus, setMessageHeight } from 'src/utils';\n\n@Component({ tag: 'q2-textarea', shadow: true, styleUrl: 'q2-textarea.scss' })\nexport class Q2Textarea {\n private textareaField?: HTMLTextAreaElement;\n private contentContainer?: HTMLDivElement;\n private valueOnFocus: string;\n private scheduledAfterRender: (() => void)[] = [];\n private guid = createGuid();\n\n /**\n * Defines the number of columns displayed in the field.\n * If not set, the field will be full-width and respond to the window size.\n */\n @Prop({ reflect: true }) cols: number;\n\n /** Indicates the field cannot be focused or interacted with. */\n @Prop({ reflect: true }) disabled: boolean;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused.\n * @localizable\n */\n @Prop() errors: string[];\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused.\n * @info\n * The `errors` array takes precedence over the `hints` array. If an input field has both hints and errors, only the errors will display.\n * Once all errors are resolved, the hints display the next time the field is focused.\n * @localizable\n */\n @Prop() hints: string[];\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true }) hideLabel: boolean;\n\n /**\n * When `true` and the input field has an active validation error, the field shows the error state without displaying associated error messages below the field (from the errors array above).\n * Primarily used for dropdown selects and date pickers whose controls appear below the input field (where the error messages, if displayed, would also appear).\n */\n @Prop({ reflect: true }) hideMessages: boolean;\n\n /**\n * The label that appears above the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Defines the maximum allowed input length in characters. Formatting characters (e.g. `.`, `-`, etc) are included in the `maxlength` comparison.\n * Make sure you account for them when setting the `maxlength` value.\n * @info\n * Please set the `rows` attribute in correlation with `maxlength` to show as much text as possible in the field viewport.\n */\n @Prop({ reflect: true, mutable: true }) maxlength: number;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true }) optional: boolean;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n * @info\n * Primarily used for rare cases in which a visible form label is not expected (e.g., search fields).\n * @localizable\n */\n @Prop({ reflect: true }) placeholder: string;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true }) readonly: boolean;\n\n /** Indicates how the field is resizable. */\n @Prop({ reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'vertical-auto' = 'vertical';\n\n /** Defines the number of rows displayed in the field. */\n @Prop({ reflect: true }) rows: number;\n\n /** Determines whether the field is subject to spell-checking by the underlying browser or OS. */\n @Prop({ reflect: true }) spellcheck: boolean;\n\n /** The value of the field. */\n @Prop({ mutable: true }) value: string;\n\n @State() hasFocus: boolean;\n @State() downParams: IDict<number>;\n\n /////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols, this.increaseHeightIfOverflowing);\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n checkRows = () => {\n const { contentContainer, rows, textareaField, resize } = this;\n\n if (!rows || ['none', 'horizontal'].includes(resize)) return;\n contentContainer.style.height = `${contentContainer.offsetHeight}px`;\n textareaField.removeAttribute('rows');\n };\n\n checkCols = () => {\n const { contentContainer, cols, textareaField, resize } = this;\n\n if (!cols || ['none', 'vertical'].includes(resize)) return;\n contentContainer.style.width = `${contentContainer.offsetWidth}px`;\n textareaField.removeAttribute('cols');\n };\n\n @Element() hostElement: HTMLElement;\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\n }\n\n get messages(): string[] {\n return (\n (this.errors && this.errors.length > 0 && this.errors) ||\n (this.hints && this.hints.length > 0 && this.hints) ||\n []\n );\n }\n\n get showMessages() {\n return this.messages.length > 0 && !this.hideMessages;\n }\n\n get inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get inputDescribedBy() {\n return this.showMessages ? `${this.inputId}-description` : undefined;\n }\n\n get wrapperClasses() {\n const errorClass = this.hasError ? ' has-error' : '';\n const valueClass = !!this.value ? ' has-value' : '';\n const focusClass = this.hasFocus ? ' has-focus' : '';\n\n return `field-container${errorClass}${valueClass}${focusClass}`;\n }\n\n get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n //////// OBSERVERS //////////\n\n @Watch('value')\n valueObserver() {\n const { maxlength, value = '' } = this;\n if (!maxlength) return;\n\n const truncatedValue = value.substr(0, maxlength);\n if (truncatedValue === value) return;\n\n this.change.emit({ value: truncatedValue });\n }\n\n @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n ///////// HOST ELEMENT EVENTS //////\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.oninput) {\n this.value = event.detail.value;\n }\n }\n\n ///////// Events /////////\n\n /**\n * Emitted when the field value is updated.\n * @legacyEvent\n */\n @Event() input: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the field loses focus after the value has been changed.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n /// Methods ///\n /**\n * Emulates focusing the `<textarea>`, centering the provided value, and emitting an `input` event.\n *\n * This method leaves the focus on the `<textarea>` and as a result does not trigger the `change` event. If you want\n * to trigger the `change` event, move the focus to another element after calling this method.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n const { textareaField } = this;\n textareaField.focus();\n textareaField.value = value;\n textareaField.dispatchEvent(new InputEvent('input'));\n }\n\n ///// ACTIONS ////////\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n this.increaseHeightIfOverflowing();\n\n this.input.emit({ value });\n };\n\n onTextareaChange = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.change.emit({ value });\n };\n\n onMouseDown = (event: MouseEvent) => {\n const { contentContainer } = this;\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: event.clientX,\n y: event.clientY,\n };\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseMove = (event: MouseEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onTouchStart = (event: TouchEvent) => {\n if (event.touches.length !== 1) return;\n\n event.preventDefault();\n\n const { contentContainer } = this;\n const firstTouch = event.touches[0];\n\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: firstTouch.pageX,\n y: firstTouch.pageY,\n };\n\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchMove);\n };\n\n onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n setWidth(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { width, x },\n } = this;\n\n const resizeX = ['both', 'horizontal'].includes(resize);\n\n if (!resizeX) return;\n const eventX = event instanceof MouseEvent ? event.clientX : event.touches[0]?.pageX ?? 0;\n const newWidth = width - (x - eventX);\n contentContainer.style.width = `${newWidth}px`;\n }\n\n setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n const resizeY = ['both', 'vertical', 'vertical-auto'].includes(resize);\n\n if (!resizeY) return;\n\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n // If 'vertical-auto', change height if the new height is greater\n // than the current height or the textarea is not overflowing.\n // Otherwise, change height regardless of the new height.\n if (\n resize !== 'vertical-auto' ||\n newHeight > height ||\n (resize === 'vertical-auto' && !this.isOverflowingVertically())\n ) {\n contentContainer.style.height = `${newHeight}px`;\n }\n }\n\n increaseHeightIfOverflowing = () => {\n const { scrollHeight } = this.textareaField;\n if (this.resize === 'vertical-auto' && this.isOverflowingVertically()) {\n // need to account for border width because scrollHeight does not include it\n const newHeight = scrollHeight + this.getBorderOffset();\n this.contentContainer.style.height = `${newHeight}px`;\n }\n };\n\n isOverflowingVertically = () => {\n const { clientHeight, scrollHeight } = this.textareaField;\n\n return scrollHeight > clientHeight;\n };\n\n getBorderOffset = () => {\n const computedStyle = window.getComputedStyle(this.textareaField);\n\n return parseInt(computedStyle.borderTopWidth, 10) + parseInt(computedStyle.borderBottomWidth, 10);\n };\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n this.downParams = null;\n };\n\n /////// VIEW METHODS ///////\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {labelDOM(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.inputDOM()}\n {this.maxlength ? this.maxLengthDOM() : ''}\n {messagesDOM(this)}\n </div>\n </div>\n );\n }\n\n maxLengthDOM() {\n return (\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n );\n }\n\n inputDOM() {\n const textareaClasses = this.resize === 'vertical-auto' ? 'resize-vertical-auto' : '';\n\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\n class={textareaClasses}\n placeholder={(this.placeholder && loc(this.placeholder)) || undefined}\n test-id=\"inputField\"\n maxLength={this.maxlength}\n aria-describedby={this.inputDescribedBy}\n aria-invalid={`${this.hasError}`}\n aria-required={`${!this.optional}`}\n aria-label={this.hideLabel && this.label}\n spellcheck={this.spellcheck}\n rows={this.rows || 3}\n cols={this.cols}\n value={this.value}\n ref={el => (this.textareaField = el)}\n readonly={!!this.readonly}\n disabled={!!this.disabled}\n maxlength={this.maxlength}\n onInput={this.onTextareaInput}\n onChange={this.onTextareaChange}\n onFocus={this.onTextareaFocus}\n onBlur={this.onTextareaBlur}\n ></textarea>\n {this.hasError ? (\n <q2-icon\n type=\"error\"\n class=\"icon-error\"\n />\n ) : (\n ''\n )}\n {this.showResize && (\n <button\n onMouseDown={this.onMouseDown}\n onTouchStart={this.onTouchStart}\n class=\"btn-resize\"\n aria-label={loc('tecton.element.input.resize')}\n tabIndex={-1}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 11.5l3-3m-7 3l7-7m-11 7l11-11\"\n fill=\"none\"\n stroke-stroke-linecap=\"square\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as r,F as i,g as o}from"./p-a5f18e27.js";import{o as s,i as a,l as n}from"./p-42302f6f.js";const l='*{box-sizing:border-box}*:active{outline:none}*:focus{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:block;position:relative}ul{--comp-bullet-background:var(--tct-stepper-bullet-active-background, var(--tct-stepper-bullet-active-bg, var(--t-stepper-bullet-active-bg, var(--t-primary, #0079c1))));--comp-bullet-font-color:var(--tct-stepper-bullet-active-font-color, var(--t-stepper-bullet-active-font-color, var(--t-primary-font-color, #ffffff)));--comp-bullet-size:var(--tct-stepper-btn-icon-size, var(--t-stepper-btn-icon-size, 24px));--comp-bullet-gap:var(--tct-stepper-btn-gap, var(--t-stepper-btn-gap, var(--app-scale-3x, 15px)));--comp-bullet-font-size:var(--tct-stepper-btn-label-font-size, var(--t-stepper-btn-label-font-size, 16px));--comp-step-width:var(--tct-stepper-step-width, var(--t-stepper-step-width, var(--t-stepper-step-width, 80px)));--comp-step-gap:var(--tct-stepper-step-gap, var(--t-stepper-step-gap, 5px));--comp-btn-icon-size:var(--tct-stepper-btn-icon-size, var(--t-stepper-btn-icon-size, 24px));--comp-btn-label-font-size:var(--tct-stepper-btn-label-font-size, var(--t-stepper-btn-label-font-size, 16px));--comp-tween:var(--tct-stepper-tween, var(--t-stepper-tween, var(--app-tween-1, 0.2s ease)));overflow-x:auto;display:flex;justify-content:center;list-style:none;padding:0;padding:var(--tct-stepper-list-padding, var(--t-stepper-list-padding, 2px));margin:0;gap:var(--comp-step-gap);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}ul::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}ul::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}ul::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.has-scroll ul{justify-content:unset}li{min-height:var(--tct-stepper-min-height, var(--t-stepper-min-height, 50px));flex:0 0 auto;position:relative;width:var(--comp-step-width);text-align:center;max-width:150px;min-width:80px}.step-btn{position:relative;background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;height:calc(100% - 4px);width:100%;transition:var(--comp-tween);padding:0;transition-property:box-shadow;outline:none;margin-top:2px;--comp-active-color:var(--comp-bullet-background)}.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[aria-disabled]{cursor:not-allowed}.step-btn[aria-disabled],.step-btn[aria-disabled]+.step-divider{--comp-bullet-font-color:var(--tct-stepper-bullet-inactive-font-color, var(--t-stepper-bullet-inactive-font-color, var(--t-text, #4d4d4d)));--comp-bullet-background:var(--tct-stepper-bullet-inactive-background, var(--tct-stepper-bullet-inactive-bg, var(--t-stepper-bullet-inactive-bg, var(--t-gray-12, #d9d9d9))))}.step-icon,.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0;margin:var(--comp-bullet-gap) auto;color:var(--comp-bullet-font-color);width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);min-height:var(--comp-btn-icon-size);font-size:var(--comp-bullet-font-size);transition:var(--comp-tween);transition-property:background, color;border-radius:50%;position:relative}.step-icon q2-icon,.step-bubble q2-icon{--tct-icon-fill:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:"";display:block;background:var(--comp-bullet-font-color);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}[aria-selected] .step-icon,[aria-selected] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color);font-weight:var(--tct-stepper-bullet-active-font-weight, var(--t-stepper-bullet-active-font-weight, 600))}.step-bubble{background:var(--comp-bullet-background)}.step-divider{width:calc(var(--comp-step-width) - var(--comp-step-gap) - var(--comp-bullet-gap) - var(--comp-bullet-size));top:calc(var(--comp-bullet-size) / 2 + var(--comp-bullet-gap));left:calc(var(--comp-step-width) * -0.5 + var(--comp-step-gap) + var(--comp-bullet-gap));border:0;border-top:1px solid var(--comp-bullet-background);height:0;position:absolute;margin:0;transition:border var(--comp-tween)}.step-container{position:relative}.step-label{color:var(--tct-stepper-label-color, var(--tct-stepper-title-color, var(--t-stepper-title-color, var(--t-text, #4d4d4d))));font-size:var(--tct-stepper-label-font-size, var(--tct-stepper-title-font-size, var(--t-stepper-title-font-size, var(--app-font-size-small, 12px))));line-height:var(--tct-stepper-label-line-height, 1.5em);text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, 2);-webkit-box-orient:vertical}[aria-selected] .step-label{font-weight:var(--tct-stepper-active-font-weight, var(--t-stepper-active-font-weight, 600))}[aria-describedby] .step-label{-webkit-line-clamp:var(--tct-stepper-label-line-count, 1)}.step-description{color:var(--tct-stepper-description-color, var(--t-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77))));font-size:var(--tct-stepper-description-font-size, var(--t-stepper-description-font-size, var(--app-font-size-small, 12px)));text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-description-line-count, 4);-webkit-box-orient:vertical;padding-bottom:0.2em}.step-description .ellipsize{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:var(--comp-step-width);display:block}.gradient-left,.gradient-right{z-index:1;position:absolute;top:0;height:100%;width:18px}.gradient-left{background-image:linear-gradient(to left, var(--t-base-a0, rgba(255, 255, 255, 0)), var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%, var(--t-base, #ffffff) 100%);left:0}.gradient-right{background-image:linear-gradient(to right, var(--t-base-a0, rgba(255, 255, 255, 0)), var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%, var(--t-base, #ffffff) 100%);right:0}.btn-left,.btn-right{--tct-icon-size:18px;--tct-btn-icon-hover-background:transparent;--tct-btn-icon-width:22px;--tct-icon-stroke-primary:var(--tct-stepper-scroll-arrow-color, var(--t-stepper-scroll-arrow-color, var(--t-text, #4d4d4d)));position:absolute;top:calc(50% - 22px);z-index:2}.btn-left q2-icon,.btn-right q2-icon{--tct-icon-stroke-width:3}.btn-left{left:0}.btn-right{right:0}';const c=l;const p=class{constructor(r){t(this,r);this.change=e(this,"change",7);this.scheduledAfterRender=[];this.onSlotChange=()=>{this.checkForPanes();this.checkScrollState()};this.onScrollBtnClick=t=>{const e=Math.floor(this.listElement.clientWidth/2);this.listElement.scrollBy({left:t==="left"?-e:e,behavior:"smooth"})};this.onStepClick=(t,e)=>{t.stopPropagation();const{currentStep:r,stepCount:i,lastEnabledStep:o}=this;if(e>o||e===r)return;this.change.emit({selectedStep:e,lastEnabledStep:o,currentStep:r,stepCount:i})};this.onStepKeyDown=(t,e)=>{const{lastEnabledStep:r,stepCount:i}=this;const{key:o}=t;let s;switch(o){case"ArrowLeft":t.preventDefault();s=Math.max(e-1,0);break;case"ArrowRight":t.preventDefault();s=Math.min(e+1,i);break;case"Home":t.preventDefault();s=1;break;case"End":t.preventDefault();s=r;break}if(!s)return;this.focusStep(s,true)};this.checkForPanes=()=>{const{allPanes:t}=this;if(!t.length)return;this.stepCount=t.length};this.checkScrollState=()=>{if(!this.listElement)return;const{scrollLeft:t,scrollWidth:e,clientWidth:r}=this.listElement;this.scrollEnabled=e>r;this.showScrollLeft=!!t;this.showScrollRight=e!==t+r};this.currentStep=1;this.stepCount=undefined;this.lastEnabledStep=undefined;this.contentChangeTriggerCount=0;this.scrollEnabled=false;this.showScrollLeft=false;this.showScrollRight=false}componentWillLoad(){if(!this.lastEnabledStep)this.lastEnabledStep=this.currentStep||1;this.resizeObserver=new ResizeObserver((()=>this.checkScrollState()));this.checkForPanes()}componentDidLoad(){this.resizeObserver.observe(this.listElement);this.checkScrollState();s(this.hostElement);setTimeout((()=>this.showStep(this.currentStep||1)),0)}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[]}disconnectedCallback(){this.resizeObserver.disconnect()}currentStepChanged(t){this.showStep(t)}defaultChangeHandler(t){const{hostElement:e}=this;if(t.target===e&&!e.getAttribute("onchange")&&!!t.detail){this.currentStep=t.detail.selectedStep}}delegateFocus(t){if(!a(t,this.hostElement))return;this.focusStep(this.currentStep,true,true)}statusChangeHandler(t){const e=Array.from(this.allPanes).findIndex((e=>t.detail.id===e.id));if(e>-1){this.allPanes[e].status=t.detail.status;this.renderStepBtn(e)}}contentChangeHandler(){this.contentChangeTriggerCount+=1}get allPanes(){return this.hostElement.querySelectorAll("q2-stepper-pane")}showStep(t){if(t>this.lastEnabledStep){const{currentStep:e,stepCount:r}=this;this.lastEnabledStep=t;this.change.emit({selectedStep:null,lastEnabledStep:t,currentStep:e,stepCount:r})}this.scheduledAfterRender.push(this.resizeIframe);this.showStepPane(t);this.focusStep(t,this.scrollEnabled)}resizeIframe(){var t,e;return(e=(t=window===null||window===void 0?void 0:window.TectonElements)===null||t===void 0?void 0:t.resizeIframe)===null||e===void 0?void 0:e.call(t)}showStepPane(t){this.allPanes.forEach(((e,r)=>{e.isActive=t===r+1}))}focusStep(t,e,r){var i;const o=this.listElement.children[t-1];const s=document.activeElement===this.hostElement;if(!o)return;if(s||r){(i=o.firstElementChild)===null||i===void 0?void 0:i.focus()}if(e){const t=o.offsetLeft-this.listElement.clientWidth/2;this.listElement.scrollTo({left:t,behavior:"smooth"})}}getPaneSlotOrProperty(t,e){var r;const i=t.querySelector(`[slot="${e}"]`);return(r=i===null||i===void 0?void 0:i.outerHTML)!==null&&r!==void 0?r:n(t[e])}renderStepBtn(t){var e;const{allPanes:o,stepCount:s,currentStep:a,lastEnabledStep:l}=this;const c=(e=o===null||o===void 0?void 0:o[t])!==null&&e!==void 0?e:null;const{id:p,status:d}=c;const b=this.getPaneSlotOrProperty(c,"label");const h=this.getPaneSlotOrProperty(c,"description");const v=t+1;const u=v===a;const f=!!b&&`label-${p}`;const g=!!b&&!!h&&`description-${p}`;const m=!b&&n("tecton.element.stepper.number",[`${v}`,`${s}`]);let w;if(d==="complete")w="success-filled";else if(d==="error")w="warning-filled";const x=["step-btn"];if(d)x.push(`status-${d}`);const k=d==="locked";const y=k||v>l;return r("li",{role:"presentation"},r("button",{class:x.join(" "),type:"button","aria-labelledby":f,"aria-describedBy":g,"aria-label":m,"aria-selected":u,"aria-controls":p,"aria-disabled":y?"true":null,role:"tab",tabIndex:u?0:-1,onKeyDown:t=>this.onStepKeyDown(t,v),onClick:t=>!k&&this.onStepClick(t,v)},r(i,null,w?r("div",{class:"step-icon"},r("q2-icon",{type:w})):r("div",{class:"step-bubble"},v),f&&r("div",{class:"step-label",id:f,innerHTML:b}),f&&g&&r("div",{class:"step-description",id:g,innerHTML:h}))),t?r("div",{class:"step-divider"}):"")}render(){const{stepCount:t,scrollEnabled:e,showScrollLeft:o,showScrollRight:s}=this;const a=["step-container"];if(e)a.push("has-scroll");return r(i,{key:"0725d44fe3643cf8cfa22615c2e84c1b2d94c73a"},r("div",{key:"cce4ed1010c247e4a73a9875fd3ca3d2aff40308",class:a.join(" ")},e&&r(i,{key:"3308619f909ba2d72587e285502c1e5bde37eec1"},r("div",{key:"d41c11095e7710bd23a59dba23d1730c9a129782",class:"gradient-left",hidden:!o}),r("div",{key:"9537b4b2b45e388be063e623b01b271e6b6f952c",class:"gradient-right",hidden:!s}),r("q2-btn",{key:"4d6cc7e82d6ead7bcd5ec2a9cadb6c224bf54644",class:"btn-left",hidden:!this.showScrollLeft,onClick:()=>this.onScrollBtnClick("left")},r("q2-icon",{key:"cd9eb6d9868eafd32c84d3b60b6f798d3327e3f8",type:"chevron-left"})),r("q2-btn",{key:"61ef838d8648d998e5d69ee1b2b4d14659dcd43c",class:"btn-right",hidden:!this.showScrollRight,onClick:()=>this.onScrollBtnClick("right")},r("q2-icon",{key:"b6542d47f5eeb4c1208c1405d03b49199d7245f6",type:"chevron-right"}))),r("ul",{key:"3065e3524afc7071ec57260511c30bb769218998",onScroll:this.checkScrollState,ref:t=>this.listElement=t,role:"tablist"},t>0&&[...Array(t).keys()].map((t=>this.renderStepBtn(t))))),r("div",{key:"66838a87e2dcebe837fccc32557e1639a1f961fc"},r("slot",{key:"bdda7acf5353fd55e3f643826e30619f0b6f9bdf",onSlotchange:()=>this.onSlotChange()})))}get hostElement(){return o(this)}static get watchers(){return{currentStep:["currentStepChanged"]}}};p.style=c;export{p as q2_stepper};
2
- //# sourceMappingURL=p-445990a8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2StepperCss","Q2StepperStyle0","Q2Stepper","this","scheduledAfterRender","onSlotChange","checkForPanes","checkScrollState","onScrollBtnClick","direction","scrollAmount","Math","floor","listElement","clientWidth","scrollBy","left","behavior","onStepClick","event","selectedStep","stopPropagation","currentStep","stepCount","lastEnabledStep","change","emit","onStepKeyDown","stepNumber","key","preventDefault","max","min","focusStep","allPanes","length","scrollLeft","scrollWidth","scrollEnabled","showScrollLeft","showScrollRight","componentWillLoad","resizeObserver","ResizeObserver","componentDidLoad","observe","overrideFocus","hostElement","setTimeout","showStep","componentDidRender","forEach","fn","disconnectedCallback","disconnect","currentStepChanged","defaultChangeHandler","target","getAttribute","detail","delegateFocus","isEventFromElement","statusChangeHandler","index","Array","from","findIndex","el","id","status","renderStepBtn","contentChangeHandler","contentChangeTriggerCount","querySelectorAll","push","resizeIframe","showStepPane","_b","_a","window","TectonElements","call","pane","isActive","scrollIntoView","forceFocus","stepListItem","children","document","activeElement","firstElementChild","focus","offsetLeft","scrollTo","getPaneSlotOrProperty","slotName","slot","querySelector","outerHTML","loc","stepIndex","label","description","isCurrentStep","labelId","descriptionId","btnLabel","statusIcon","stepClasses","isLocked","disabled","h","role","class","join","type","tabIndex","onKeyDown","ev","onClick","Fragment","innerHTML","render","containerClasses","hidden","onScroll","ref","keys","map","onSlotchange"],"sources":["src/components/q2-stepper/q2-stepper.scss?tag=q2-stepper&encapsulation=shadow","src/components/q2-stepper/q2-stepper.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n\nul {\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-active-background,\n var-prefixer(stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n --comp-bullet-font-color: #{var-list(\n var-prefixer(stepper-bullet-active-font-color),\n --t-primary-font-color,\n #ffffff\n )};\n --comp-bullet-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-bullet-gap: #{var-list(var-prefixer(stepper-btn-gap), --app-scale-3x, 15px)};\n --comp-bullet-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n\n --comp-step-width: #{var-list(var-prefixer(stepper-step-width), --t-stepper-step-width, 80px)};\n --comp-step-gap: #{var-list(var-prefixer(stepper-step-gap), 5px)};\n --comp-btn-icon-size: #{var-list(var-prefixer(stepper-btn-icon-size), 24px)};\n --comp-btn-label-font-size: #{var-list(var-prefixer(stepper-btn-label-font-size), 16px)};\n --comp-tween: #{var-list(var-prefixer(stepper-tween), --app-tween-1, unquote('0.2s ease'))};\n\n overflow-x: auto;\n display: flex;\n justify-content: center;\n list-style: none;\n padding: 0;\n padding: var-list(var-prefixer(stepper-list-padding), 2px);\n margin: 0;\n gap: var(--comp-step-gap);\n @include tiny-scrollbar();\n\n .has-scroll & {\n justify-content: unset;\n }\n}\n\nli {\n min-height: var-list(var-prefixer(stepper-min-height), 50px);\n flex: 0 0 auto;\n position: relative;\n width: var(--comp-step-width);\n text-align: center;\n max-width: 150px;\n min-width: 80px;\n}\n\n.step-btn {\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: calc(100% - 4px);\n width: 100%;\n transition: var(--comp-tween);\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n margin-top: 2px;\n\n --comp-active-color: var(--comp-bullet-background);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n --tct-stoplight-success: var(--comp-active-color);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n --tct-stoplight-warning: var(--comp-active-color);\n }\n\n &[aria-disabled] {\n cursor: not-allowed;\n\n &,\n & + .step-divider {\n --comp-bullet-font-color: #{var-list(var-prefixer(stepper-bullet-inactive-font-color), --t-text, #4d4d4d)};\n --comp-bullet-background: #{var-list(\n --tct-stepper-bullet-inactive-background,\n var-prefixer(stepper-bullet-inactive-bg),\n --t-gray-12,\n #d9d9d9\n )};\n }\n }\n}\n.step-icon,\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n margin: var(--comp-bullet-gap) auto;\n color: var(--comp-bullet-font-color);\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n min-height: var(--comp-btn-icon-size);\n font-size: var(--comp-bullet-font-size);\n transition: var(--comp-tween);\n transition-property: background, color;\n border-radius: 50%;\n position: relative;\n\n q2-icon {\n --tct-icon-fill: var(--comp-active-color);\n &:before {\n content: '';\n display: block;\n background: var(--comp-bullet-font-color);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n [aria-selected] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n font-weight: var-list(var-prefixer(stepper-bullet-active-font-weight), 600);\n }\n}\n\n.step-bubble {\n background: var(--comp-bullet-background);\n}\n\n.step-divider {\n width: calc(var(--comp-step-width) - var(--comp-step-gap) - var(--comp-bullet-gap) - var(--comp-bullet-size));\n top: calc(calc(var(--comp-bullet-size) / 2) + var(--comp-bullet-gap));\n left: calc(calc(var(--comp-step-width) * -0.5) + var(--comp-step-gap) + var(--comp-bullet-gap));\n border: 0;\n border-top: 1px solid var(--comp-bullet-background);\n height: 0;\n position: absolute;\n margin: 0;\n transition: border var(--comp-tween);\n}\n\n.step-container {\n position: relative;\n}\n\n.step-label {\n color: var-list(--tct-stepper-label-color, var-prefixer(stepper-title-color), --t-text, #4d4d4d);\n font-size: var-list(\n --tct-stepper-label-font-size,\n var-prefixer(stepper-title-font-size),\n --app-font-size-small,\n 12px\n );\n line-height: var-list(--tct-stepper-label-line-height, 1.5em);\n @include line-clamp(var(--tct-stepper-label-line-count, 2));\n\n [aria-selected] & {\n font-weight: var-list(var-prefixer(stepper-active-font-weight), 600);\n }\n\n [aria-describedby] & {\n -webkit-line-clamp: var(--tct-stepper-label-line-count, 1);\n }\n}\n\n.step-description {\n color: var-list(var-prefixer(stepper-description-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(var-prefixer(stepper-description-font-size), --app-font-size-small, 12px);\n @include line-clamp(var(--tct-stepper-description-line-count, 4));\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n\n // For description slot on q2-stepper-pane\n .ellipsize {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: var(--comp-step-width);\n display: block;\n }\n}\n\n.gradient-left,\n.gradient-right {\n z-index: 1;\n position: absolute;\n top: 0;\n height: 100%;\n width: 18px;\n}\n\n.gradient-left {\n background-image: linear-gradient(\n to left,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n left: 0;\n}\n\n.gradient-right {\n background-image: linear-gradient(\n to right,\n var(--t-base-a0, rgba(255, 255, 255, 0)),\n var(--t-base-a2, rgba(255, 255, 255, 0.5)) 10%,\n var(--t-base, #ffffff) 100%\n );\n right: 0;\n}\n\n.btn-left,\n.btn-right {\n --tct-icon-size: 18px;\n --tct-btn-icon-hover-background: transparent;\n --tct-btn-icon-width: 22px;\n --tct-icon-stroke-primary: #{var-list(var-prefixer(stepper-scroll-arrow-color), --t-text, #4d4d4d)};\n\n position: absolute;\n top: calc(50% - 22px);\n z-index: 2;\n q2-icon {\n --tct-icon-stroke-width: 3;\n }\n}\n\n.btn-left {\n left: 0;\n}\n\n.btn-right {\n right: 0;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement } from 'src/utils';\n@Component({ tag: 'q2-stepper', shadow: true, styleUrl: 'q2-stepper.scss' })\nexport class Q2Stepper implements ComponentInterface {\n /** The currently selected step. */\n @Prop({ reflect: true, mutable: true }) currentStep: number = 1;\n\n /**\n * Used to determine the number of steps in the stepper.\n * @private\n */\n @Prop({ mutable: true }) stepCount: number;\n\n /**\n * The last step the user may navigate to.\n * @info\n * Will be managed automatically if not provided.\n */\n @Prop({ mutable: true }) lastEnabledStep: number;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter;\n @State() contentChangeTriggerCount: number = 0;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n listElement: HTMLUListElement;\n resizeObserver: ResizeObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (!this.lastEnabledStep) this.lastEnabledStep = this.currentStep || 1;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.checkForPanes();\n }\n\n componentDidLoad() {\n this.resizeObserver.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStep || 1), 0);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n ////////// WATCHER METHODS ////////\n\n @Watch('currentStep')\n currentStepChanged(stepNumber: number) {\n this.showStep(stepNumber);\n }\n\n ////////// HOST EVENTS ////////\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStep = event.detail.selectedStep;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStep(this.currentStep, true, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler(event: CustomEvent) {\n const index = Array.from(this.allPanes).findIndex(el => event.detail.id === el.id);\n if (index > -1) {\n this.allPanes[index].status = event.detail.status;\n this.renderStepBtn(index);\n }\n }\n\n @Listen('contentChange')\n contentChangeHandler() {\n this.contentChangeTriggerCount += 1;\n }\n\n ////////// GETTER METHODS ////////\n\n get allPanes() {\n return this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane');\n }\n\n ////////// EVENT HANDLERS ////////\n\n onSlotChange = () => {\n this.checkForPanes();\n this.checkScrollState();\n };\n\n onScrollBtnClick = (direction: 'left' | 'right') => {\n const scrollAmount = Math.floor(this.listElement.clientWidth / 2);\n\n this.listElement.scrollBy({\n left: direction === 'left' ? -scrollAmount : scrollAmount,\n behavior: 'smooth',\n });\n };\n\n onStepClick = (event, selectedStep: number) => {\n event.stopPropagation();\n const { currentStep, stepCount, lastEnabledStep } = this;\n if (selectedStep > lastEnabledStep || selectedStep === currentStep) return;\n\n this.change.emit({\n selectedStep,\n lastEnabledStep,\n currentStep,\n stepCount,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepNumber: number) => {\n const { lastEnabledStep, stepCount } = this;\n const { key } = event;\n\n let selectedStep;\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n selectedStep = Math.max(stepNumber - 1, 0);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedStep = Math.min(stepNumber + 1, stepCount);\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStep = 1;\n break;\n\n case 'End':\n event.preventDefault();\n selectedStep = lastEnabledStep;\n break;\n }\n\n if (!selectedStep) return;\n this.focusStep(selectedStep, true);\n };\n\n ////////// HELPER METHODS ////////\n\n showStep(stepNumber: number) {\n if (stepNumber > this.lastEnabledStep) {\n const { currentStep, stepCount } = this;\n this.lastEnabledStep = stepNumber;\n this.change.emit({\n selectedStep: null,\n lastEnabledStep: stepNumber,\n currentStep,\n stepCount,\n });\n }\n\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepNumber);\n this.focusStep(stepNumber, this.scrollEnabled);\n }\n\n checkForPanes = () => {\n const { allPanes } = this;\n if (!allPanes.length) return;\n\n this.stepCount = allPanes.length;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = !!scrollLeft;\n this.showScrollRight = scrollWidth !== scrollLeft + clientWidth;\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n showStepPane(stepNumber: number) {\n this.allPanes.forEach((pane, index) => {\n pane.isActive = stepNumber === index + 1;\n });\n }\n\n focusStep(stepNumber: number, scrollIntoView?: boolean, forceFocus?: boolean) {\n const stepListItem = this.listElement.children[stepNumber - 1] as HTMLLIElement;\n const isActive = document.activeElement === this.hostElement;\n if (!stepListItem) return;\n if (isActive || forceFocus) {\n (stepListItem.firstElementChild as HTMLButtonElement)?.focus();\n }\n\n if (scrollIntoView) {\n const left = stepListItem.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n }\n }\n\n ////////// RENDER METHODS ////////\n getPaneSlotOrProperty(pane: HTMLQ2StepperPaneElement, slotName: 'description' | 'label') {\n const slot = pane.querySelector<HTMLElement>(`[slot=\"${slotName}\"]`);\n return slot?.outerHTML ?? loc(pane[slotName]);\n }\n\n renderStepBtn(stepIndex: number) {\n const { allPanes, stepCount, currentStep, lastEnabledStep } = this;\n const pane = allPanes?.[stepIndex] ?? null;\n const { id, status } = pane;\n const label = this.getPaneSlotOrProperty(pane, 'label');\n const description = this.getPaneSlotOrProperty(pane, 'description');\n\n const stepNumber = stepIndex + 1;\n const isCurrentStep = stepNumber === currentStep;\n const labelId = !!label && `label-${id}`;\n const descriptionId = !!label && !!description && `description-${id}`;\n const btnLabel = !label && loc('tecton.element.stepper.number', [`${stepNumber}`, `${stepCount}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n const isLocked = status === 'locked';\n const disabled = isLocked || stepNumber > lastEnabledStep;\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={isCurrentStep}\n aria-controls={id}\n aria-disabled={disabled ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => this.onStepKeyDown(ev, stepNumber)}\n onClick={ev => !isLocked && this.onStepClick(ev, stepNumber)}\n >\n <Fragment>\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n {labelId && (\n <div\n class=\"step-label\"\n id={labelId}\n innerHTML={label}\n ></div>\n )}\n {labelId && descriptionId && (\n <div\n class=\"step-description\"\n id={descriptionId}\n innerHTML={description}\n ></div>\n )}\n </Fragment>\n </button>\n {stepIndex ? <div class=\"step-divider\"></div> : ''}\n </li>\n );\n }\n\n render() {\n const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;\n const containerClasses = ['step-container'];\n if (scrollEnabled) containerClasses.push('has-scroll');\n\n return (\n <Fragment>\n <div class={containerClasses.join(' ')}>\n {scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon type=\"chevron-left\"></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon type=\"chevron-right\"></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n role=\"tablist\"\n >\n {stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex))}\n </ul>\n </div>\n <div>\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,F as s,g as n}from"./p-a5f18e27.js";import{c as a,n as o,l as h}from"./p-42302f6f.js";const c="*{box-sizing:border-box}*:active{outline:none}*:focus{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:block;position:relative}";const r=c;const d=class{constructor(i){t(this,i);this.statusChange=e(this,"statusChange",7);this.activeChange=e(this,"activeChange",7);this.contentChange=e(this,"contentChange",7);this.description=undefined;this.isActive=undefined;this.label=undefined;this.showWithChildren=undefined;this.status=undefined;this.isChildActive=false}connectedCallback(){if(!this.hostElement.id)this.hostElement.id=`step-${a()}`}componentWillLoad(){this.checkForActiveChildren()}componentDidLoad(){const t=new MutationObserver((()=>{this.contentChange.emit()}));t.observe(this.hostElement,{childList:true,subtree:true,characterData:true});this.mutationObserver=t}disconnectedCallback(){this.mutationObserver.disconnect();this.mutationObserver=null}labelOrDescriptionChanged(){this.contentChange.emit()}statusChanged(t){this.statusChange.emit({status:t,isActive:!!this.isActive,id:this.hostElement.id,host:this.hostElement})}isActiveChanged(t){this.activeChange.emit({status:this.status||"",isActive:t,id:this.hostElement.id,host:this.hostElement})}checkForActiveChildren(){if(!this.showWithChildren)return;o((()=>{setTimeout((()=>{this.isChildActive=!!this.hostElement.querySelector("[slot='children'] > q2-stepper-pane[is-active]")}))}))}render(){const{label:t,isActive:e}=this;return i(s,{key:"b9f593c0b78b8c5794c3b369d9ec30751042f471"},i("div",{key:"1aab7217100650c1b89733be46f3a0643c34c64f",role:"tabpanel","aria-label":t&&h(t),tabindex:"0",hidden:!e&&!(this.isChildActive&&this.showWithChildren)},i("slot",{key:"24eb9b5797c08625e103ec297f1eb0ffec39b6bd"})),i("div",{key:"9d6bef0a807067bb05b6f95cd8561b2465af0a25",hidden:true},i("slot",{key:"fc52a481cf4d11646eaa88a67a4963b9fb10fc3f",name:"label",onSlotchange:()=>this.contentChange.emit()}),i("slot",{key:"7afea4a00a8129aa6a70b78883d7ec0695fea230",name:"description",onSlotchange:()=>this.contentChange.emit()})),i("slot",{key:"f12a6661ffaa8dd2c129c280e62d4a61f192c9ca",name:"children"}))}get hostElement(){return n(this)}static get watchers(){return{label:["labelOrDescriptionChanged"],description:["labelOrDescriptionChanged"],status:["statusChanged"],isActive:["isActiveChanged"],showWithChildren:["checkForActiveChildren"]}}};d.style=r;export{d as q2_stepper_pane};
2
- //# sourceMappingURL=p-4b81a121.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2StepperPaneCss","Q2StepperPaneStyle0","Q2StepperPane","connectedCallback","this","hostElement","id","createGuid","componentWillLoad","checkForActiveChildren","componentDidLoad","observer","MutationObserver","contentChange","emit","observe","childList","subtree","characterData","mutationObserver","disconnectedCallback","disconnect","labelOrDescriptionChanged","statusChanged","status","statusChange","isActive","host","isActiveChanged","activeChange","showWithChildren","nextPaint","setTimeout","isChildActive","querySelector","render","label","h","Fragment","key","role","loc","tabindex","hidden","name","onSlotchange"],"sources":["src/components/q2-stepper-pane/q2-stepper-pane.scss?tag=q2-stepper-pane&encapsulation=shadow","src/components/q2-stepper-pane/q2-stepper-pane.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n Fragment,\n Event,\n Watch,\n EventEmitter,\n Listen,\n State,\n} from '@stencil/core';\nimport { createGuid, loc, nextPaint } from 'src/utils';\n\nexport interface IStepperPaneEvent {\n status: string;\n isActive: boolean;\n id: string;\n host: HTMLElement;\n}\n\n@Component({ tag: 'q2-stepper-pane', shadow: true, styleUrl: 'q2-stepper-pane.scss' })\nexport class Q2StepperPane implements ComponentInterface {\n /**\n * The description for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) description: string;\n\n /**\n * Used by q2-stepper and q2-stepper-vertical to determine which pane is active\n * @private\n */\n @Prop({ reflect: true }) isActive: boolean;\n\n /**\n * The label for the pane.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Indicates to display the content of the pane when one of its children is selected.\n * @info\n * Currently only supported in the `<q2-stepper-vertical>` component.\n */\n @Prop({ reflect: true }) showWithChildren: boolean;\n\n /** The status of the pane. */\n @Prop({ reflect: true }) status: 'complete' | 'error' | 'locked';\n\n @State() isChildActive: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the status of the pane changes.\n */\n @Event() statusChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the active state of the pane changes.\n */\n @Event() activeChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the content of the pane changes.\n * @private\n */\n @Event({ bubbles: true }) contentChange: EventEmitter<undefined>;\n\n mutationObserver: MutationObserver;\n\n /// LifeCycle Hooks ///\n connectedCallback() {\n if (!this.hostElement.id) this.hostElement.id = `step-${createGuid()}`;\n }\n\n componentWillLoad() {\n this.checkForActiveChildren();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(() => {\n this.contentChange.emit();\n });\n observer.observe(this.hostElement, { childList: true, subtree: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Watchers and Listeners ///\n @Watch('label')\n @Watch('description')\n labelOrDescriptionChanged() {\n this.contentChange.emit();\n }\n\n @Watch('status')\n statusChanged(status) {\n this.statusChange.emit({\n status,\n isActive: !!this.isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('isActive')\n isActiveChanged(isActive) {\n this.activeChange.emit({\n status: this.status || '',\n isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('showWithChildren')\n @Listen('activeChange')\n checkForActiveChildren() {\n if (!this.showWithChildren) return;\n nextPaint(() => {\n setTimeout(() => {\n this.isChildActive = !!this.hostElement.querySelector<HTMLQ2StepperPaneElement>(\n \"[slot='children'] > q2-stepper-pane[is-active]\"\n );\n });\n });\n }\n\n /// DOM ///\n render() {\n const { label, isActive } = this;\n return (\n <Fragment>\n <div\n role=\"tabpanel\"\n aria-label={label && loc(label)}\n tabindex=\"0\"\n hidden={!isActive && !(this.isChildActive && this.showWithChildren)}\n >\n <slot />\n </div>\n <div hidden>\n <slot\n name=\"label\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n <slot\n name=\"description\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n </div>\n <slot name=\"children\"></slot>\n </Fragment>\n );\n }\n}\n"],"mappings":"kHAAA,MAAMA,EAAmB,gsBACzB,MAAAC,EAAeD,E,MCsBFE,EAAa,M,6SA6BY,K,CAuBlC,iBAAAC,GACI,IAAKC,KAAKC,YAAYC,GAAIF,KAAKC,YAAYC,GAAK,QAAQC,K,CAG5D,iBAAAC,GACIJ,KAAKK,wB,CAGT,gBAAAC,GACI,MAAMC,EAAW,IAAIC,kBAAiB,KAClCR,KAAKS,cAAcC,MAAM,IAE7BH,EAASI,QAAQX,KAAKC,YAAa,CAAEW,UAAW,KAAMC,QAAS,KAAMC,cAAe,OACpFd,KAAKe,iBAAmBR,C,CAG5B,oBAAAS,GACIhB,KAAKe,iBAAiBE,aACtBjB,KAAKe,iBAAmB,I,CAM5B,yBAAAG,GACIlB,KAAKS,cAAcC,M,CAIvB,aAAAS,CAAcC,GACVpB,KAAKqB,aAAaX,KAAK,CACnBU,SACAE,WAAYtB,KAAKsB,SACjBpB,GAAIF,KAAKC,YAAYC,GACrBqB,KAAMvB,KAAKC,a,CAKnB,eAAAuB,CAAgBF,GACZtB,KAAKyB,aAAaf,KAAK,CACnBU,OAAQpB,KAAKoB,QAAU,GACvBE,WACApB,GAAIF,KAAKC,YAAYC,GACrBqB,KAAMvB,KAAKC,a,CAMnB,sBAAAI,GACI,IAAKL,KAAK0B,iBAAkB,OAC5BC,GAAU,KACNC,YAAW,KACP5B,KAAK6B,gBAAkB7B,KAAKC,YAAY6B,cACpC,iDACH,GACH,G,CAKV,MAAAC,GACI,MAAMC,MAAEA,EAAKV,SAAEA,GAAatB,KAC5B,OACIiC,EAACC,EAAQ,CAAAC,IAAA,4CACLF,EAAA,OAAAE,IAAA,2CACIC,KAAK,WAAU,aACHJ,GAASK,EAAIL,GACzBM,SAAS,IACTC,QAASjB,KAActB,KAAK6B,eAAiB7B,KAAK0B,mBAElDO,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKI,OAAM,MACPN,EAAA,QAAAE,IAAA,2CACIK,KAAK,QACLC,aAAc,IAAMzC,KAAKS,cAAcC,SAE3CuB,EAAA,QAAAE,IAAA,2CACIK,KAAK,cACLC,aAAc,IAAMzC,KAAKS,cAAcC,UAG/CuB,EAAA,QAAAE,IAAA,2CAAMK,KAAK,a"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,F as o,g as i}from"./p-a5f18e27.js";import{f as a}from"./p-42302f6f.js";const r="*{box-sizing:border-box}*:active{outline:none}*:focus{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}*{box-sizing:border-box}*:active{outline:none}*:focus{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:block}:host([clickable]){cursor:pointer;--comp-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)))}:host([clickable]) .item{--comp-border-radius:var(--tct-item-border-radius, var(--app-border-radius-1, 3px));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-hover-box-shadow:var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-active-box-shadow:var(--tct-btn-primary-active-background, #0063a0);--comp-font-color:var(--tct-btn-primary-font-color, var(--app-white, #ffffff));--comp-hover-outer-ring-color:var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)}:host([clickable]) .item:hover{box-shadow:var(--comp-hover-box-shadow)}:host([clickable]) .item:active{box-shadow:var(--comp-active-box-shadow)}:host([clickable]) .item:focus-visible{box-shadow:var(--const-double-focus-ring)}::slotted([slot]){--tct-avatar-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px))}.action{align-items:center;display:flex;grid-row:1;justify-content:center;--tct-btn-icon-height:28px;--tct-btn-icon-width:28px;--tct-icon-size:16px;--tct-radio-label-hidden-columns:18px;--tct-radio-label-margin-right:0;--tct-radio-margin:0}.action-no-bullet{grid-column:2}.body{color:var(--tct-item-body-color, var(--t-textA, #747474));font-size:var(--tct-item-body-font-size, var(--app-font-size, 14px));font-weight:var(--tct-item-body-font-weight, 400)}.bullet{grid-column:1;grid-row-start:1;grid-row-end:3;padding-top:var(--tct-item-bullet-padding-top, var(--app-scale-1x, 5px))}.bullet-no-footer{grid-row-end:2}.footer{grid-column-start:2;grid-column-end:4;grid-row:2}.footer-no-action-nor-bullet{grid-column-start:1;grid-column-end:2}.footer-no-action{grid-column-start:2;grid-column-end:3}.footer-no-bullet{grid-column-start:1;grid-column-end:3}.header{color:var(--tct-item-header-color, var(--t-text, #4d4d4d));font-size:var(--tct-item-header-font-size, 16px);font-weight:var(--tct-item-header-font-weight, 600);line-height:var(--tct-item-header-line-height, 1.5)}.item{border:var(--tct-item-border);border-radius:var(--comp-border-radius);transition:var(--comp-btn-tween);transition-property:box-shadow;column-gap:var(--tct-item-horizontal-spacing, var(--app-scale-3x, 15px));display:grid;grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto);grid-template-rows:auto auto;padding:var(--tct-item-padding, var(--app-scale-2x, 10px) var(--app-scale-4x, 20px));row-gap:var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px))}.item-no-action-nor-bullet{grid-template-columns:auto}.item-no-action{grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%)}.item-no-footer{grid-template-rows:auto}.item-no-bullet{grid-template-columns:minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto)}.main{grid-column:2;grid-row:1}.main-no-action-nor-bullet{grid-column:1}.main-no-bullet{grid-column:1}";const n=r;const s=class{constructor(e){t(this,e);this.renderTrigger=0;this.clickable=undefined}componentDidLoad(){if(typeof MutationObserver!=="undefined"){const t=new MutationObserver((()=>this.renderTrigger+=1));t.observe(this.hostElement,{childList:true,subtree:true,attributes:true});this.mutationObserver=t}this.setClickable()}get actionClasses(){const t=["action"];if(!this.hasBulletSlotContent){t.push(`action-no-bullet`)}return t.join(" ")}get bulletClasses(){const t=["bullet"];if(!this.hasFooterSlotContent){t.push(`bullet-no-footer`)}return t.join(" ")}get footerClasses(){const t=["footer"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`footer-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`footer-no-action`)}else if(!this.hasBulletSlotContent){t.push(`footer-no-bullet`)}return t.join(" ")}get hasActionSlotContent(){return a(this.hostElement,"action")}get hasBodySlotContent(){return a(this.hostElement,"body")}get hasBulletSlotContent(){return a(this.hostElement,"bullet")}get hasHeaderSlotContent(){return a(this.hostElement,"header")}get hasFooterSlotContent(){return a(this.hostElement,"footer")}get itemClasses(){const t=["item"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`item-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`item-no-action`)}else if(!this.hasBulletSlotContent){t.push(`item-no-bullet`)}if(!this.hasFooterSlotContent){t.push(`item-no-footer`)}return t.join(" ")}get mainClasses(){const t=["main"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`main-no-action-nor-bullet`)}else if(!this.hasBulletSlotContent){t.push(`main-no-bullet`)}return t.join(" ")}setClickable(){var t,e,o,i;if(this.clickable){(t=this.itemElement)===null||t===void 0?void 0:t.setAttribute("role","button");(e=this.itemElement)===null||e===void 0?void 0:e.setAttribute("tabindex","0")}else{(o=this.itemElement)===null||o===void 0?void 0:o.removeAttribute("role");(i=this.itemElement)===null||i===void 0?void 0:i.removeAttribute("tabindex")}}render(){this.setClickable();return e(o,{key:"d5ba951c9454ce295806c0c12381c97d766010c6"},e("div",{key:"ce49d5fbe107d66f77a0eae1e6719c2567fd52c8",class:this.itemClasses,ref:t=>this.itemElement=t},this.hasBulletSlotContent&&e("div",{key:"4fb7c74d6e4da51c9c40e4eac1b86557d8498f0f",class:this.bulletClasses},e("slot",{key:"f9029c81cc4b955c04fcd7e2445cd8b4a9dc1807",name:"bullet"})),e("div",{key:"eeef4eb04e2f636b8fbc10c7629a1d1e90ce9867",class:this.mainClasses},this.hasHeaderSlotContent&&e("div",{key:"eedc08d67609dba329306406b19323989496fa30",class:"header"},e("slot",{key:"7ca6467804317ef7b54ca4b7893def703aa0a07a",name:"header"})),this.hasBodySlotContent&&e("div",{key:"cb7e3fb9eae10c3d3481975563edb7b1a9615fbf",class:"body"},e("slot",{key:"9fd0a9a4b82671a47ec02ca87ae3512f54f0aeb4",name:"body"}))),this.hasActionSlotContent&&e("div",{key:"e20c1a4c400f607dfe5299a9e564b1937870e5a8",class:this.actionClasses},e("slot",{key:"9fe4231d6af81ba6e69de4c00da41d8d4ca7ae89",name:"action"})),this.hasFooterSlotContent&&e("div",{key:"08afea866e6750c4c3ea06a004e2e4fef50e2a7f",class:this.footerClasses},e("slot",{key:"a0502cd05cc9af67a3c1496e11fa23235e887be3",name:"footer"}))))}get hostElement(){return i(this)}};s.style=n;export{s as q2_item};
2
- //# sourceMappingURL=p-50bd4437.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2ItemCss","Q2ItemStyle0","Q2Item","componentDidLoad","MutationObserver","observer","this","renderTrigger","observe","hostElement","childList","subtree","attributes","mutationObserver","setClickable","actionClasses","classes","hasBulletSlotContent","push","join","bulletClasses","hasFooterSlotContent","footerClasses","hasActionSlotContent","hasSlotContent","hasBodySlotContent","hasHeaderSlotContent","itemClasses","mainClasses","clickable","_a","itemElement","setAttribute","_b","_c","removeAttribute","_d","render","h","Fragment","key","class","ref","el","name"],"sources":["src/components/q2-item/q2-item.scss?tag=q2-item&encapsulation=shadow","src/components/q2-item/q2-item.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n:host {\n display: block;\n}\n\n:host([clickable]) {\n cursor: pointer;\n --comp-background: #{var-list(\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n .item {\n --comp-border-radius: #{var-list(--tct-item-border-radius, --app-border-radius-1, 3px)};\n --comp-btn-tween: #{var-list(var-prefixer(btn-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-btn-fallback-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n --comp-hover-box-shadow: #{var-list(--tct-btn-primary-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-active-box-shadow: var(--tct-btn-primary-active-background, #0063a0);\n --comp-font-color: #{var-list(--tct-btn-primary-font-color, --app-white, #ffffff)};\n @include btn-ring(primary, hover, --comp-background, --comp-font-color, null);\n &:hover {\n box-shadow: var(--comp-hover-box-shadow);\n }\n &:active {\n box-shadow: var(--comp-active-box-shadow);\n }\n &:focus-visible {\n box-shadow: var(--const-double-focus-ring);\n }\n }\n}\n\n::slotted([slot]) {\n --tct-avatar-height: var(--tct-item-avatar-height, var(--app-scale-7x, 35px));\n --tct-avatar-width: var(--tct-item-avatar-width, var(--app-scale-7x, 35px));\n}\n\n.action {\n align-items: center;\n display: flex;\n grid-row: 1;\n justify-content: center;\n --tct-btn-icon-height: 28px;\n --tct-btn-icon-width: 28px;\n --tct-icon-size: 16px;\n --tct-radio-label-hidden-columns: 18px;\n --tct-radio-label-margin-right: 0;\n --tct-radio-margin: 0;\n\n &-no-bullet {\n grid-column: 2;\n }\n}\n\n.body {\n color: var-list(--tct-item-body-color, --t-textA, #747474);\n font-size: var-list(--tct-item-body-font-size, --app-font-size, 14px);\n font-weight: var-list(--tct-item-body-font-weight, 400);\n}\n\n.bullet {\n grid-column: 1;\n grid-row-start: 1;\n grid-row-end: 3;\n padding-top: var-list(--tct-item-bullet-padding-top, --app-scale-1x, 5px);\n\n &-no-footer {\n grid-row-end: 2;\n }\n}\n\n.footer {\n grid-column-start: 2;\n grid-column-end: 4;\n grid-row: 2;\n\n &-no-action-nor-bullet {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n\n &-no-action {\n grid-column-start: 2;\n grid-column-end: 3;\n }\n\n &-no-bullet {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n}\n\n.header {\n color: var-list(--tct-item-header-color, --t-text, #4d4d4d);\n font-size: var-list(--tct-item-header-font-size, 16px);\n font-weight: var-list(--tct-item-header-font-weight, 600);\n line-height: var-list(--tct-item-header-line-height, 1.5);\n}\n\n.item {\n border: var(--tct-item-border);\n border-radius: var(--comp-border-radius);\n transition: var(--comp-btn-tween);\n transition-property: box-shadow;\n column-gap: var-list(--tct-item-horizontal-spacing, --app-scale-3x, 15px);\n display: grid;\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%) minmax(\n var(--app-scale-5x, 25px),\n auto\n );\n grid-template-rows: auto auto;\n padding: var(--tct-item-padding, var-list(--app-scale-2x, 10px) var-list(--app-scale-4x, 20px));\n row-gap: var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px));\n\n &-no-action-nor-bullet {\n grid-template-columns: auto;\n }\n\n &-no-action {\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%);\n }\n\n &-no-footer {\n grid-template-rows: auto;\n }\n\n &-no-bullet {\n grid-template-columns: minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto);\n }\n}\n\n.main {\n grid-column: 2;\n grid-row: 1;\n\n &-no-action-nor-bullet {\n grid-column: 1;\n }\n\n &-no-bullet {\n grid-column: 1;\n }\n}\n\n","import { Component, Element, h, State, Prop, Fragment } from '@stencil/core';\nimport { hasSlotContent } from 'src/utils';\n\n@Component({\n tag: 'q2-item',\n styleUrl: 'q2-item.scss',\n shadow: true,\n})\nexport class Q2Item {\n // #region Own Properties\n\n @Element() hostElement: HTMLElement;\n mutationObserver: MutationObserver;\n itemElement: HTMLDivElement;\n\n // #endregion\n // #region State() Variables\n\n @State() renderTrigger: number = 0;\n\n // #endregion\n // #region Public Property API\n\n /** Makes the item clickable. */\n @Prop({ reflect: true })\n clickable: boolean;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad() {\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(() => (this.renderTrigger += 1));\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true });\n this.mutationObserver = observer;\n }\n this.setClickable();\n }\n // #endregion\n // #region Local methods\n\n get actionClasses() {\n const classes = ['action'];\n if (!this.hasBulletSlotContent) {\n classes.push(`action-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get bulletClasses() {\n const classes = ['bullet'];\n if (!this.hasFooterSlotContent) {\n classes.push(`bullet-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get footerClasses() {\n const classes = ['footer'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`footer-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`footer-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`footer-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get hasActionSlotContent() {\n return hasSlotContent(this.hostElement, 'action');\n }\n\n get hasBodySlotContent() {\n return hasSlotContent(this.hostElement, 'body');\n }\n\n get hasBulletSlotContent() {\n return hasSlotContent(this.hostElement, 'bullet');\n }\n\n get hasHeaderSlotContent() {\n return hasSlotContent(this.hostElement, 'header');\n }\n\n get hasFooterSlotContent() {\n return hasSlotContent(this.hostElement, 'footer');\n }\n\n get itemClasses() {\n const classes = ['item'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`item-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`item-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`item-no-bullet`);\n }\n if (!this.hasFooterSlotContent) {\n classes.push(`item-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get mainClasses() {\n const classes = ['main'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`main-no-action-nor-bullet`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`main-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n setClickable() {\n if (this.clickable) {\n this.itemElement?.setAttribute('role', 'button');\n this.itemElement?.setAttribute('tabindex', '0');\n } else {\n this.itemElement?.removeAttribute('role');\n this.itemElement?.removeAttribute('tabindex');\n }\n }\n\n // #endregion\n // #region Render methods\n\n render() {\n this.setClickable();\n return (\n <Fragment>\n <div\n class={this.itemClasses}\n ref={el => (this.itemElement = el)}\n >\n {this.hasBulletSlotContent && (\n <div class={this.bulletClasses}>\n <slot name=\"bullet\" />\n </div>\n )}\n <div class={this.mainClasses}>\n {this.hasHeaderSlotContent && (\n <div class=\"header\">\n <slot name=\"header\" />\n </div>\n )}\n {this.hasBodySlotContent && (\n <div class=\"body\">\n <slot name=\"body\" />\n </div>\n )}\n </div>\n {this.hasActionSlotContent && (\n <div class={this.actionClasses}>\n <slot name=\"action\" />\n </div>\n )}\n {this.hasFooterSlotContent && (\n <div class={this.footerClasses}>\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}