q2-tecton-elements 1.38.1 → 1.39.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 (400) 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-09c712ea.js → index-9113a9da.js} +2 -2
  4. package/dist/cjs/{index-09c712ea.js.map → index-9113a9da.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-calendar.cjs.entry.js +11 -2
  11. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-card.cjs.entry.js +20 -23
  13. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-carousel.cjs.entry.js +30 -4
  17. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-chart-donut.cjs.entry.js +14 -14
  22. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  23. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/q2-data-table.cjs.entry.js +43 -21
  28. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-input.cjs.entry.js +7 -4
  35. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  42. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  43. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  45. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  51. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  53. package/dist/cjs/q2-select.cjs.entry.js +1 -1
  54. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  57. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +4 -4
  58. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  59. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  61. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  63. package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
  64. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  65. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  66. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  67. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  68. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  69. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  70. package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
  71. package/dist/collection/components/click-elsewhere/index.js +1 -1
  72. package/dist/collection/components/click-elsewhere/index.js.map +1 -1
  73. package/dist/collection/components/q2-action-sheet/index.js +6 -3
  74. package/dist/collection/components/q2-action-sheet/index.js.map +1 -1
  75. package/dist/collection/components/q2-btn/styles.css +11 -11
  76. package/dist/collection/components/q2-calendar/index.js +23 -11
  77. package/dist/collection/components/q2-calendar/index.js.map +1 -1
  78. package/dist/collection/components/q2-card/index.js +21 -27
  79. package/dist/collection/components/q2-card/index.js.map +1 -1
  80. package/dist/collection/components/q2-card/styles.css +57 -0
  81. package/dist/collection/components/q2-carousel/index.js +33 -5
  82. package/dist/collection/components/q2-carousel/index.js.map +1 -1
  83. package/dist/collection/components/q2-carousel-pane/index.js +8 -4
  84. package/dist/collection/components/q2-carousel-pane/index.js.map +1 -1
  85. package/dist/collection/components/q2-chart-area/index.js +9 -4
  86. package/dist/collection/components/q2-chart-area/index.js.map +1 -1
  87. package/dist/collection/components/q2-chart-donut/index.js +58 -22
  88. package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
  89. package/dist/collection/components/q2-checkbox/index.js +5 -2
  90. package/dist/collection/components/q2-checkbox/index.js.map +1 -1
  91. package/dist/collection/components/q2-checkbox-group/index.js +12 -5
  92. package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
  93. package/dist/collection/components/q2-data-table/index.js +73 -29
  94. package/dist/collection/components/q2-data-table/index.js.map +1 -1
  95. package/dist/collection/components/q2-editable-field/index.js +6 -6
  96. package/dist/collection/components/q2-editable-field/index.js.map +1 -1
  97. package/dist/collection/components/q2-input/formatting/phone.js +1 -1
  98. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  99. package/dist/collection/components/q2-input/index.js +23 -19
  100. package/dist/collection/components/q2-input/index.js.map +1 -1
  101. package/dist/collection/components/q2-input/styles.css +3 -0
  102. package/dist/collection/components/q2-input/types.js.map +1 -1
  103. package/dist/collection/components/q2-option/index.js +5 -2
  104. package/dist/collection/components/q2-option/index.js.map +1 -1
  105. package/dist/collection/components/q2-option-list/index.js +15 -9
  106. package/dist/collection/components/q2-option-list/index.js.map +1 -1
  107. package/dist/collection/components/q2-pagination/index.js +8 -5
  108. package/dist/collection/components/q2-pagination/index.js.map +1 -1
  109. package/dist/collection/components/q2-pill/index.js +5 -2
  110. package/dist/collection/components/q2-pill/index.js.map +1 -1
  111. package/dist/collection/components/q2-popover/index.js +1 -1
  112. package/dist/collection/components/q2-popover/index.js.map +1 -1
  113. package/dist/collection/components/q2-radio/index.js +3 -3
  114. package/dist/collection/components/q2-radio/index.js.map +1 -1
  115. package/dist/collection/components/q2-radio-group/index.js +7 -4
  116. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  117. package/dist/collection/components/q2-section/index.js +7 -4
  118. package/dist/collection/components/q2-section/index.js.map +1 -1
  119. package/dist/collection/components/q2-section/styles.css +8 -6
  120. package/dist/collection/components/q2-select/index.js +8 -5
  121. package/dist/collection/components/q2-select/index.js.map +1 -1
  122. package/dist/collection/components/q2-stepper/index.js +5 -2
  123. package/dist/collection/components/q2-stepper/index.js.map +1 -1
  124. package/dist/collection/components/q2-stepper-pane/index.js +11 -8
  125. package/dist/collection/components/q2-stepper-pane/index.js.map +1 -1
  126. package/dist/collection/components/q2-stepper-vertical/index.js +13 -6
  127. package/dist/collection/components/q2-stepper-vertical/index.js.map +1 -1
  128. package/dist/collection/components/q2-tab-container/index.js +14 -8
  129. package/dist/collection/components/q2-tab-container/index.js.map +1 -1
  130. package/dist/collection/components/q2-tab-pane/index.js +5 -2
  131. package/dist/collection/components/q2-tab-pane/index.js.map +1 -1
  132. package/dist/collection/components/q2-tag/index.js +1 -1
  133. package/dist/collection/components/q2-tag/index.js.map +1 -1
  134. package/dist/collection/components/q2-textarea/index.js +14 -8
  135. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  136. package/dist/collection/components/tecton-tab-pane/index.js +5 -2
  137. package/dist/collection/components/tecton-tab-pane/index.js.map +1 -1
  138. package/dist/collection/utils/index.js +1 -1
  139. package/dist/collection/utils/index.js.map +1 -1
  140. package/dist/components/index13.js.map +1 -1
  141. package/dist/components/index14.js.map +1 -1
  142. package/dist/components/index15.js.map +1 -1
  143. package/dist/components/index16.js +1 -1
  144. package/dist/components/index16.js.map +1 -1
  145. package/dist/components/index2.js.map +1 -1
  146. package/dist/components/index5.js +1 -1
  147. package/dist/components/index5.js.map +1 -1
  148. package/dist/components/index6.js.map +1 -1
  149. package/dist/components/index9.js +6 -3
  150. package/dist/components/index9.js.map +1 -1
  151. package/dist/components/q2-action-sheet.js.map +1 -1
  152. package/dist/components/q2-calendar.js +10 -1
  153. package/dist/components/q2-calendar.js.map +1 -1
  154. package/dist/components/q2-card.js +19 -22
  155. package/dist/components/q2-card.js.map +1 -1
  156. package/dist/components/q2-carousel-pane.js.map +1 -1
  157. package/dist/components/q2-carousel.js +32 -4
  158. package/dist/components/q2-carousel.js.map +1 -1
  159. package/dist/components/q2-chart-area.js.map +1 -1
  160. package/dist/components/q2-chart-donut.js +16 -15
  161. package/dist/components/q2-chart-donut.js.map +1 -1
  162. package/dist/components/q2-checkbox-group.js.map +1 -1
  163. package/dist/components/q2-data-table.js +43 -21
  164. package/dist/components/q2-data-table.js.map +1 -1
  165. package/dist/components/q2-editable-field.js.map +1 -1
  166. package/dist/components/q2-pagination.js.map +1 -1
  167. package/dist/components/q2-pill.js.map +1 -1
  168. package/dist/components/q2-radio-group.js.map +1 -1
  169. package/dist/components/q2-radio.js.map +1 -1
  170. package/dist/components/q2-section.js +1 -1
  171. package/dist/components/q2-section.js.map +1 -1
  172. package/dist/components/q2-select.js.map +1 -1
  173. package/dist/components/q2-stepper-pane.js.map +1 -1
  174. package/dist/components/q2-stepper-vertical.js +3 -3
  175. package/dist/components/q2-stepper-vertical.js.map +1 -1
  176. package/dist/components/q2-stepper.js.map +1 -1
  177. package/dist/components/q2-tab-container.js.map +1 -1
  178. package/dist/components/q2-tab-pane.js.map +1 -1
  179. package/dist/components/q2-tag.js.map +1 -1
  180. package/dist/components/q2-textarea.js.map +1 -1
  181. package/dist/components/tecton-tab-pane.js.map +1 -1
  182. package/dist/esm/click-elsewhere_2.entry.js +1 -1
  183. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  184. package/dist/esm/{index-84f1034e.js → index-fbe28822.js} +2 -2
  185. package/dist/esm/{index-84f1034e.js.map → index-fbe28822.js.map} +1 -1
  186. package/dist/esm/loader.js +1 -1
  187. package/dist/esm/q2-action-sheet.entry.js +1 -1
  188. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  189. package/dist/esm/q2-btn_2.entry.js +2 -2
  190. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  191. package/dist/esm/q2-calendar.entry.js +11 -2
  192. package/dist/esm/q2-calendar.entry.js.map +1 -1
  193. package/dist/esm/q2-card.entry.js +20 -23
  194. package/dist/esm/q2-card.entry.js.map +1 -1
  195. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  196. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  197. package/dist/esm/q2-carousel.entry.js +30 -4
  198. package/dist/esm/q2-carousel.entry.js.map +1 -1
  199. package/dist/esm/q2-chart-area.entry.js +1 -1
  200. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  201. package/dist/esm/q2-chart-bar.entry.js +1 -1
  202. package/dist/esm/q2-chart-donut.entry.js +14 -14
  203. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  204. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  205. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  206. package/dist/esm/q2-checkbox.entry.js +1 -1
  207. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  208. package/dist/esm/q2-data-table.entry.js +43 -21
  209. package/dist/esm/q2-data-table.entry.js.map +1 -1
  210. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  211. package/dist/esm/q2-dropdown.entry.js +1 -1
  212. package/dist/esm/q2-editable-field.entry.js +1 -1
  213. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  214. package/dist/esm/q2-icon.entry.js +1 -1
  215. package/dist/esm/q2-input.entry.js +7 -4
  216. package/dist/esm/q2-input.entry.js.map +1 -1
  217. package/dist/esm/q2-loc.entry.js +1 -1
  218. package/dist/esm/q2-message.entry.js +1 -1
  219. package/dist/esm/q2-month-picker.entry.js +1 -1
  220. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  221. package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
  222. package/dist/esm/q2-option-list.entry.js +1 -1
  223. package/dist/esm/q2-option-list.entry.js.map +1 -1
  224. package/dist/esm/q2-pagination.entry.js +1 -1
  225. package/dist/esm/q2-pagination.entry.js.map +1 -1
  226. package/dist/esm/q2-pill.entry.js +1 -1
  227. package/dist/esm/q2-pill.entry.js.map +1 -1
  228. package/dist/esm/q2-radio-group.entry.js +1 -1
  229. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  230. package/dist/esm/q2-radio.entry.js +1 -1
  231. package/dist/esm/q2-radio.entry.js.map +1 -1
  232. package/dist/esm/q2-section.entry.js +2 -2
  233. package/dist/esm/q2-section.entry.js.map +1 -1
  234. package/dist/esm/q2-select.entry.js +1 -1
  235. package/dist/esm/q2-select.entry.js.map +1 -1
  236. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  237. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  238. package/dist/esm/q2-stepper-vertical.entry.js +4 -4
  239. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  240. package/dist/esm/q2-stepper.entry.js +1 -1
  241. package/dist/esm/q2-stepper.entry.js.map +1 -1
  242. package/dist/esm/q2-tab-container.entry.js +1 -1
  243. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  244. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  245. package/dist/esm/q2-tag.entry.js +1 -1
  246. package/dist/esm/q2-tag.entry.js.map +1 -1
  247. package/dist/esm/q2-tecton-elements.js +1 -1
  248. package/dist/esm/q2-textarea.entry.js +1 -1
  249. package/dist/esm/q2-textarea.entry.js.map +1 -1
  250. package/dist/esm/q2-tooltip.entry.js +1 -1
  251. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  252. package/dist/q2-tecton-elements/p-0253a00b.entry.js +2 -0
  253. package/dist/q2-tecton-elements/p-0253a00b.entry.js.map +1 -0
  254. package/dist/q2-tecton-elements/{p-72b4ecc6.entry.js → p-07229496.entry.js} +2 -2
  255. package/dist/q2-tecton-elements/p-07229496.entry.js.map +1 -0
  256. package/dist/q2-tecton-elements/{p-a6b03db1.entry.js → p-0ecff52c.entry.js} +2 -2
  257. package/dist/q2-tecton-elements/{p-a6b03db1.entry.js.map → p-0ecff52c.entry.js.map} +1 -1
  258. package/dist/q2-tecton-elements/{p-f198f77b.entry.js → p-1179b32c.entry.js} +2 -2
  259. package/dist/q2-tecton-elements/p-1179b32c.entry.js.map +1 -0
  260. package/dist/q2-tecton-elements/{p-311f37e2.entry.js → p-15c69543.entry.js} +2 -2
  261. package/dist/q2-tecton-elements/{p-9220365b.entry.js → p-212c6301.entry.js} +2 -2
  262. package/dist/q2-tecton-elements/p-212c6301.entry.js.map +1 -0
  263. package/dist/q2-tecton-elements/p-3090b655.entry.js +2 -0
  264. package/dist/q2-tecton-elements/p-3090b655.entry.js.map +1 -0
  265. package/dist/q2-tecton-elements/{p-8f8d5362.entry.js → p-3569e648.entry.js} +2 -2
  266. package/dist/q2-tecton-elements/p-3569e648.entry.js.map +1 -0
  267. package/dist/q2-tecton-elements/{p-0cade28b.entry.js → p-36bff57a.entry.js} +2 -2
  268. package/dist/q2-tecton-elements/{p-57e81863.entry.js → p-39e94e12.entry.js} +2 -2
  269. package/dist/q2-tecton-elements/{p-57e81863.entry.js.map → p-39e94e12.entry.js.map} +1 -1
  270. package/dist/q2-tecton-elements/p-3f20d610.entry.js +2 -0
  271. package/dist/q2-tecton-elements/p-3f20d610.entry.js.map +1 -0
  272. package/dist/q2-tecton-elements/{p-29a7ca63.entry.js → p-44c2d7a2.entry.js} +2 -2
  273. package/dist/q2-tecton-elements/{p-29a7ca63.entry.js.map → p-44c2d7a2.entry.js.map} +1 -1
  274. package/dist/q2-tecton-elements/{p-deb773a5.entry.js → p-461dca3d.entry.js} +2 -2
  275. package/dist/q2-tecton-elements/{p-deb773a5.entry.js.map → p-461dca3d.entry.js.map} +1 -1
  276. package/dist/q2-tecton-elements/{p-3d82d94f.entry.js → p-5964fd50.entry.js} +2 -2
  277. package/dist/q2-tecton-elements/{p-3d82d94f.entry.js.map → p-5964fd50.entry.js.map} +1 -1
  278. package/dist/q2-tecton-elements/{p-e98d9cf2.entry.js → p-5b4c30b8.entry.js} +2 -2
  279. package/dist/q2-tecton-elements/p-5b4c30b8.entry.js.map +1 -0
  280. package/dist/q2-tecton-elements/{p-69dcf12e.entry.js → p-5d6c2534.entry.js} +2 -2
  281. package/dist/q2-tecton-elements/p-5d6c2534.entry.js.map +1 -0
  282. package/dist/q2-tecton-elements/{p-a09c90c1.entry.js → p-66bc9475.entry.js} +2 -2
  283. package/dist/q2-tecton-elements/{p-a09c90c1.entry.js.map → p-66bc9475.entry.js.map} +1 -1
  284. package/dist/q2-tecton-elements/{p-e4dadcd7.entry.js → p-6ba6d83e.entry.js} +2 -2
  285. package/dist/q2-tecton-elements/p-6ba6d83e.entry.js.map +1 -0
  286. package/dist/q2-tecton-elements/{p-5843f6c8.entry.js → p-78d5707b.entry.js} +2 -2
  287. package/dist/q2-tecton-elements/p-78d5707b.entry.js.map +1 -0
  288. package/dist/q2-tecton-elements/{p-85dc889e.entry.js → p-7e276297.entry.js} +2 -2
  289. package/dist/q2-tecton-elements/p-7e276297.entry.js.map +1 -0
  290. package/dist/q2-tecton-elements/{p-059ea7c9.entry.js → p-81e36fcd.entry.js} +2 -2
  291. package/dist/q2-tecton-elements/{p-8f273db2.entry.js → p-88b303a7.entry.js} +2 -2
  292. package/dist/q2-tecton-elements/{p-8f273db2.entry.js.map → p-88b303a7.entry.js.map} +1 -1
  293. package/dist/q2-tecton-elements/p-9889692d.entry.js +2 -0
  294. package/dist/q2-tecton-elements/p-9889692d.entry.js.map +1 -0
  295. package/dist/q2-tecton-elements/p-9da0db14.entry.js.map +1 -1
  296. package/dist/q2-tecton-elements/{p-c057134f.entry.js → p-9dff6592.entry.js} +2 -2
  297. package/dist/q2-tecton-elements/p-9dff6592.entry.js.map +1 -0
  298. package/dist/q2-tecton-elements/{p-145849d0.entry.js → p-a5a23edc.entry.js} +2 -2
  299. package/dist/q2-tecton-elements/p-a5a23edc.entry.js.map +1 -0
  300. package/dist/q2-tecton-elements/{p-db3bbfb8.entry.js → p-a9c40d3b.entry.js} +2 -2
  301. package/dist/q2-tecton-elements/p-a9c40d3b.entry.js.map +1 -0
  302. package/dist/q2-tecton-elements/{p-15179d55.entry.js → p-aa96f160.entry.js} +2 -2
  303. package/dist/q2-tecton-elements/{p-5c033ed9.entry.js → p-b3a32a46.entry.js} +2 -2
  304. package/dist/q2-tecton-elements/{p-5c033ed9.entry.js.map → p-b3a32a46.entry.js.map} +1 -1
  305. package/dist/q2-tecton-elements/{p-f3868a77.entry.js → p-b6ed1342.entry.js} +2 -2
  306. package/dist/q2-tecton-elements/{p-f3868a77.entry.js.map → p-b6ed1342.entry.js.map} +1 -1
  307. package/dist/q2-tecton-elements/{p-52132d80.entry.js → p-ba19d09f.entry.js} +2 -2
  308. package/dist/q2-tecton-elements/p-ba19d09f.entry.js.map +1 -0
  309. package/dist/q2-tecton-elements/{p-81b917a5.entry.js → p-cc7ba0cb.entry.js} +2 -2
  310. package/dist/q2-tecton-elements/{p-107f07f2.entry.js → p-ce009987.entry.js} +2 -2
  311. package/dist/q2-tecton-elements/p-d7fb3534.entry.js.map +1 -1
  312. package/dist/q2-tecton-elements/{p-959f47ef.entry.js → p-de7352f5.entry.js} +2 -2
  313. package/dist/q2-tecton-elements/{p-6ae87415.entry.js → p-ef2e2991.entry.js} +2 -2
  314. package/dist/q2-tecton-elements/{p-b83568e7.entry.js → p-f1479052.entry.js} +2 -2
  315. package/dist/q2-tecton-elements/p-f1479052.entry.js.map +1 -0
  316. package/dist/q2-tecton-elements/{p-f34521a4.js → p-fb903495.js} +2 -2
  317. package/dist/q2-tecton-elements/{p-f34521a4.js.map → p-fb903495.js.map} +1 -1
  318. package/dist/q2-tecton-elements/{p-2812f9d2.entry.js → p-ff137358.entry.js} +2 -2
  319. package/dist/q2-tecton-elements/p-ff137358.entry.js.map +1 -0
  320. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  321. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  322. package/dist/test/elements/q2-btn-test.e2e.js +31 -0
  323. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  324. package/dist/test/elements/q2-card-test.e2e.js +69 -11
  325. package/dist/test/elements/q2-card-test.e2e.js.map +1 -1
  326. package/dist/test/elements/q2-carousel-test.e2e.js +41 -3
  327. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  328. package/dist/test/elements/q2-chart-donut-test.e2e.js +64 -9
  329. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  330. package/dist/test/elements/q2-data-table-test.e2e.js +91 -2
  331. package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
  332. package/dist/test/elements/q2-input-test.e2e.js +165 -67
  333. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  334. package/dist/test/helpers.js +48 -0
  335. package/dist/test/helpers.js.map +1 -1
  336. package/dist/types/components/click-elsewhere/index.d.ts +3 -0
  337. package/dist/types/components/q2-action-sheet/index.d.ts +7 -0
  338. package/dist/types/components/q2-calendar/index.d.ts +23 -3
  339. package/dist/types/components/q2-card/index.d.ts +14 -4
  340. package/dist/types/components/q2-carousel/index.d.ts +8 -0
  341. package/dist/types/components/q2-carousel-pane/index.d.ts +7 -1
  342. package/dist/types/components/q2-chart-area/index.d.ts +7 -1
  343. package/dist/types/components/q2-chart-donut/index.d.ts +18 -3
  344. package/dist/types/components/q2-checkbox/index.d.ts +4 -0
  345. package/dist/types/components/q2-checkbox-group/index.d.ts +8 -1
  346. package/dist/types/components/q2-data-table/index.d.ts +43 -3
  347. package/dist/types/components/q2-editable-field/index.d.ts +18 -2
  348. package/dist/types/components/q2-input/index.d.ts +19 -2
  349. package/dist/types/components/q2-input/types.d.ts +1 -0
  350. package/dist/types/components/q2-option/index.d.ts +4 -0
  351. package/dist/types/components/q2-option-list/index.d.ts +15 -1
  352. package/dist/types/components/q2-pagination/index.d.ts +8 -2
  353. package/dist/types/components/q2-pill/index.d.ts +4 -0
  354. package/dist/types/components/q2-popover/index.d.ts +3 -0
  355. package/dist/types/components/q2-radio/index.d.ts +6 -1
  356. package/dist/types/components/q2-radio-group/index.d.ts +7 -1
  357. package/dist/types/components/q2-section/index.d.ts +7 -1
  358. package/dist/types/components/q2-select/index.d.ts +16 -1
  359. package/dist/types/components/q2-stepper/index.d.ts +4 -0
  360. package/dist/types/components/q2-stepper-pane/index.d.ts +11 -1
  361. package/dist/types/components/q2-stepper-vertical/index.d.ts +10 -2
  362. package/dist/types/components/q2-tab-container/index.d.ts +12 -2
  363. package/dist/types/components/q2-tab-pane/index.d.ts +4 -0
  364. package/dist/types/components/q2-tag/index.d.ts +5 -0
  365. package/dist/types/components/q2-textarea/index.d.ts +14 -2
  366. package/dist/types/components/tecton-tab-pane/index.d.ts +4 -0
  367. package/dist/types/components.d.ts +223 -27
  368. package/dist/types/workspace/workspace/{tecton-production_release_1.38.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -0
  369. package/package.json +4 -3
  370. package/dist/q2-tecton-elements/p-072bda73.entry.js +0 -2
  371. package/dist/q2-tecton-elements/p-072bda73.entry.js.map +0 -1
  372. package/dist/q2-tecton-elements/p-145849d0.entry.js.map +0 -1
  373. package/dist/q2-tecton-elements/p-14e3c48f.entry.js +0 -2
  374. package/dist/q2-tecton-elements/p-14e3c48f.entry.js.map +0 -1
  375. package/dist/q2-tecton-elements/p-2812f9d2.entry.js.map +0 -1
  376. package/dist/q2-tecton-elements/p-52132d80.entry.js.map +0 -1
  377. package/dist/q2-tecton-elements/p-5843f6c8.entry.js.map +0 -1
  378. package/dist/q2-tecton-elements/p-69dcf12e.entry.js.map +0 -1
  379. package/dist/q2-tecton-elements/p-72b4ecc6.entry.js.map +0 -1
  380. package/dist/q2-tecton-elements/p-85dc889e.entry.js.map +0 -1
  381. package/dist/q2-tecton-elements/p-8f8d5362.entry.js.map +0 -1
  382. package/dist/q2-tecton-elements/p-9220365b.entry.js.map +0 -1
  383. package/dist/q2-tecton-elements/p-a4017e55.entry.js +0 -2
  384. package/dist/q2-tecton-elements/p-a4017e55.entry.js.map +0 -1
  385. package/dist/q2-tecton-elements/p-af98db79.entry.js +0 -2
  386. package/dist/q2-tecton-elements/p-af98db79.entry.js.map +0 -1
  387. package/dist/q2-tecton-elements/p-b83568e7.entry.js.map +0 -1
  388. package/dist/q2-tecton-elements/p-c057134f.entry.js.map +0 -1
  389. package/dist/q2-tecton-elements/p-db3bbfb8.entry.js.map +0 -1
  390. package/dist/q2-tecton-elements/p-e4dadcd7.entry.js.map +0 -1
  391. package/dist/q2-tecton-elements/p-e98d9cf2.entry.js.map +0 -1
  392. package/dist/q2-tecton-elements/p-f198f77b.entry.js.map +0 -1
  393. /package/dist/q2-tecton-elements/{p-311f37e2.entry.js.map → p-15c69543.entry.js.map} +0 -0
  394. /package/dist/q2-tecton-elements/{p-0cade28b.entry.js.map → p-36bff57a.entry.js.map} +0 -0
  395. /package/dist/q2-tecton-elements/{p-059ea7c9.entry.js.map → p-81e36fcd.entry.js.map} +0 -0
  396. /package/dist/q2-tecton-elements/{p-15179d55.entry.js.map → p-aa96f160.entry.js.map} +0 -0
  397. /package/dist/q2-tecton-elements/{p-81b917a5.entry.js.map → p-cc7ba0cb.entry.js.map} +0 -0
  398. /package/dist/q2-tecton-elements/{p-107f07f2.entry.js.map → p-ce009987.entry.js.map} +0 -0
  399. /package/dist/q2-tecton-elements/{p-959f47ef.entry.js.map → p-de7352f5.entry.js.map} +0 -0
  400. /package/dist/q2-tecton-elements/{p-6ae87415.entry.js.map → p-ef2e2991.entry.js.map} +0 -0
@@ -1,12 +1,16 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-ebc7f269.js';
2
- import { b as isTouchDevice, o as overrideFocus, i as isEventFromElement } from './index-84f1034e.js';
2
+ import { b as isTouchDevice, o as overrideFocus, i as isEventFromElement } from './index-fbe28822.js';
3
3
 
4
- const stylesCss = "*{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}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}:host(:not([is-static])) .container{--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:var(--tct-card-border-style, solid);border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));box-shadow:var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0 3px 6px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable{cursor:pointer}@media (hover: hover){:host(:not([is-static])) .container.clickable{--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0 4px 12px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable:hover,:host(:not([is-static])) .container.clickable:active,:host(:not([is-static])) .container.clickable:focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}:host(:not([is-static])) .container.clickable:hover{box-shadow:var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))))}}:host(:not([is-static])) .container.is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}:host(:not([is-static])) .container.has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";
4
+ const stylesCss = "*{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}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}:host(:not([is-static])) .container{--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:var(--tct-card-border-style, solid);border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));box-shadow:var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0 3px 6px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable{cursor:pointer}@media (hover: hover){:host(:not([is-static])) .container.clickable{--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0 4px 12px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable:hover,:host(:not([is-static])) .container.clickable:active,:host(:not([is-static])) .container.clickable:focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}:host(:not([is-static])) .container.clickable:hover{box-shadow:var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))))}}:host(:not([is-static])) .container.is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}:host(:not([is-static])) .container.has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.bar.color-primary{--comp-bar-color:var(--tct-card-bar-color-primary, var(--t-primary, #5446a4))}.bar.color-secondary{--comp-bar-color:var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc))}.bar.color-tertiary{--comp-bar-color:var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc))}.bar.color-info{--comp-bar-color:var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1))}.bar.color-success{--comp-bar-color:var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00))}.bar.color-warning{--comp-bar-color:var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500))}.bar.color-alert{--comp-bar-color:var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500))}.bar.color-accent-1{--comp-bar-color:var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252))}.bar.color-accent-2{--comp-bar-color:var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952))}.bar.color-accent-3{--comp-bar-color:var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052))}.bar.color-accent-4{--comp-bar-color:var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052))}.bar.color-accent-5{--comp-bar-color:var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052))}.bar.color-accent-6{--comp-bar-color:var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099))}.bar.color-accent-7{--comp-bar-color:var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0))}.bar.color-accent-8{--comp-bar-color:var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0))}.bar.color-accent-9{--comp-bar-color:var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0))}.bar.color-accent-10{--comp-bar-color:var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0))}.bar.color-accent-11{--comp-bar-color:var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0))}.bar.color-accent-12{--comp-bar-color:var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299))}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";
5
5
 
6
- const SUPPORTED_THEME_COLORS = [
6
+ const PREDEFINED_COLORS = [
7
7
  'primary',
8
8
  'secondary',
9
9
  'tertiary',
10
+ 'info',
11
+ 'success',
12
+ 'warning',
13
+ 'alert',
10
14
  'accent-1',
11
15
  'accent-2',
12
16
  'accent-3',
@@ -20,7 +24,6 @@ const SUPPORTED_THEME_COLORS = [
20
24
  'accent-11',
21
25
  'accent-12',
22
26
  ];
23
- const STOPLIGHT_COLORS = ['info', 'success', 'warning', 'alert'];
24
27
  const Q2Card = class {
25
28
  constructor(hostRef) {
26
29
  registerInstance(this, hostRef);
@@ -48,9 +51,6 @@ const Q2Card = class {
48
51
  this.isAutoTouch = false;
49
52
  this.isAutoSmall = false;
50
53
  }
51
- componentWillLoad() {
52
- this.checkBar();
53
- }
54
54
  componentDidLoad() {
55
55
  const { hostElement, clickableElement } = this;
56
56
  hostElement.click = () => clickableElement.click();
@@ -66,19 +66,19 @@ const Q2Card = class {
66
66
  return;
67
67
  this.clickableElement.focus();
68
68
  }
69
- checkBar() {
69
+ getBarClasses() {
70
70
  const { bar } = this;
71
- if (!bar)
72
- return;
73
- if (SUPPORTED_THEME_COLORS.includes(bar)) {
74
- this.barColor = `var(--t-${bar})`;
75
- }
76
- else if (STOPLIGHT_COLORS.includes(bar)) {
77
- this.barColor = `var(--const-stoplight-${bar})`;
78
- }
79
- else {
80
- this.barColor = bar;
81
- }
71
+ return {
72
+ bar: true,
73
+ [`color-${bar}`]: this.isBarColorPredefined(),
74
+ };
75
+ }
76
+ getBarStyles() {
77
+ const { bar } = this;
78
+ return this.isBarColorPredefined() ? {} : { '--comp-bar-color': bar };
79
+ }
80
+ isBarColorPredefined() {
81
+ return PREDEFINED_COLORS.includes(this.bar);
82
82
  }
83
83
  determineAutoTouch() {
84
84
  if (this.hostElement.hasAttribute('is-touch'))
@@ -107,7 +107,7 @@ const Q2Card = class {
107
107
  }
108
108
  }
109
109
  generateContent() {
110
- return (h(Fragment, null, this.bar && (h("div", { class: "bar", "test-id": "bar", style: { '--comp-bar-color': this.barColor } })), this.generateAvatar(), h("div", { class: "content", "test-id": "contentContainer", ref: e => (this.containerElement = e) }, this.title && h("h3", { "test-id": "title" }, this.title), this.description && h("p", { "test-id": "description" }, this.description), h("slot", null)), this.isTouch && !this.isStatic && (h("q2-icon", { "test-id": "touchIndicator", type: "chevron-right", class: "touch-indicator" }))));
110
+ return (h(Fragment, null, this.bar && (h("div", { class: this.getBarClasses(), "test-id": "bar", style: this.getBarStyles() })), this.generateAvatar(), h("div", { class: "content", "test-id": "contentContainer", ref: e => (this.containerElement = e) }, this.title && h("h3", { "test-id": "title" }, this.title), this.description && h("p", { "test-id": "description" }, this.description), h("slot", null)), this.isTouch && !this.isStatic && (h("q2-icon", { "test-id": "touchIndicator", type: "chevron-right", class: "touch-indicator" }))));
111
111
  }
112
112
  generateContainerClasses() {
113
113
  const { isSmall, isAutoSmall, avatarName, avatarInitials, avatarSrc, avatarIcon, isTouch, isAutoTouch, isStatic, type, } = this;
@@ -135,9 +135,6 @@ const Q2Card = class {
135
135
  return (h("button", { ref: e => (this.clickableElement = e), class: this.generateContainerClasses(), "test-id": "clickableElement", type: "button", onClick: this.handleClick }, this.generateContent()));
136
136
  }
137
137
  get hostElement() { return getElement(this); }
138
- static get watchers() { return {
139
- "bar": ["checkBar"]
140
- }; }
141
138
  };
142
139
  Q2Card.style = stylesCss;
143
140
 
@@ -1 +1 @@
1
- {"file":"q2-card.entry.js","mappings":"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","names":[],"sources":["./src/components/q2-card/styles.scss?tag=q2-card&encapsulation=shadow","./src/components/q2-card/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.container {\n position: relative;\n width: 100%;\n text-align: start;\n height: 100%;\n display: grid;\n gap: var-list(var-prefixer(card-gap), --app-scale-3x, 15px);\n margin: 0;\n color: var-list(var-prefixer(card-color), --t-text, #4d4d4d);\n\n --comp-avatar-size: #{var-list(var-prefixer(card-avatar-size), 44px)};\n --comp-chevron-size: 0;\n --comp-bar-width: #{var-list(var-prefixer(card-bar-width), --app-scale-2x, 10px)};\n --comp-card-padding: #{var-list(var-prefixer(card-padding), --app-scale-4x, 20px)};\n\n &.is-small {\n --comp-avatar-size: #{var-list(var-prefixer(card-avatar-size), 26px)};\n }\n &.has-avatar {\n grid-template-columns: var(--comp-avatar-size) 1fr;\n --tct-avatar-width: var(--comp-avatar-size);\n --tct-avatar-height: var(--comp-avatar-size);\n --tct-icon-size: var(--comp-avatar-size);\n }\n\n :host([bar][is-static]) & {\n padding-left: var(--comp-card-padding);\n }\n\n :host(:not([is-static])) & {\n --comp-border-radius: #{var-list(var-prefixer(card-border-radius), --app-border-radius-1, 3px)};\n --comp-border-width: #{var-list(var-prefixer(card-border-width), 0px)};\n border: none;\n background: var-list(var-prefixer(card-background), --t-base, #ffffff);\n padding: var(--comp-card-padding);\n text-decoration: none;\n border-width: var(--comp-border-width);\n border-color: var-list(var-prefixer(card-border-color), transparent);\n border-style: var-list(--tct-card-border-style, solid);\n border-radius: var(--comp-border-radius);\n transition: box-shadow var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n box-shadow: var-list(var-prefixer(card-box-shadow), --app-shadow-2, unquote('0 3px 6px rgba(0, 0, 0, 0.3)'));\n\n &.clickable {\n cursor: pointer;\n @media (hover: hover) {\n --comp-card-hover-box-shadow: #{var-list(\n var-prefixer(card-hover-box-shadow),\n --app-shadow-3,\n unquote('0 4px 12px rgba(0, 0, 0, 0.3)')\n )};\n\n &:hover,\n &:active,\n &:focus {\n color: var-list(var-prefixer(card-color), --t-text, #4d4d4d);\n box-shadow: var(--const-double-focus-ring);\n }\n\n &:hover {\n box-shadow: var(--comp-card-hover-box-shadow);\n }\n\n &:focus:hover {\n box-shadow: var(--const-double-focus-ring), var(--comp-card-hover-box-shadow);\n }\n\n &:active {\n box-shadow: var-list(\n var-prefixer(card-active-box-shadow),\n --app-shadow-1,\n unquote('0 2px 4px rgba(0, 0, 0, 0.3)')\n );\n }\n }\n }\n\n &.is-touch {\n --comp-chevron-size: #{var-list(var-prefixer(card-chevron-size), 26px)};\n grid-template-columns: 1fr var(--comp-chevron-size);\n }\n\n &.has-avatar.is-touch {\n grid-template-columns: var(--comp-avatar-size) 1fr var(--comp-chevron-size);\n }\n }\n}\n\n.content {\n overflow: hidden;\n display: grid;\n gap: var-list(var-prefixer(card-content-gap), --app-scale-1x, 5px);\n align-content: start;\n}\n\nh3,\np {\n margin: 0;\n padding: 0;\n line-height: var-list(var-prefixer(card-font-height), 20px);\n}\n\nh3 {\n font-weight: var-list(var-prefixer(card-font-weight), 600);\n font-size: var-list(var-prefixer(card-font-size), 17px);\n @include line-clamp(1);\n}\n\np {\n @include line-clamp(2);\n}\n\n.bar {\n --comp-bar-border-radius: calc(var(--comp-border-radius) - var(--comp-border-width));\n border-radius: var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);\n position: absolute;\n inset: 0 auto auto 0;\n width: var(--comp-bar-width);\n background: var(--comp-bar-color);\n height: 100%;\n}\n\n.touch-indicator {\n align-self: center;\n --tct-icon-size: var(--comp-chevron-size);\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Event,\n h,\n Fragment,\n Listen,\n Element,\n EventEmitter,\n State,\n Watch,\n} from '@stencil/core';\nimport { isTouchDevice, overrideFocus, isEventFromElement } from 'src/utils';\nconst SUPPORTED_THEME_COLORS = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'accent-1',\n 'accent-2',\n 'accent-3',\n 'accent-4',\n 'accent-5',\n 'accent-6',\n 'accent-7',\n 'accent-8',\n 'accent-9',\n 'accent-10',\n 'accent-11',\n 'accent-12',\n];\nconst STOPLIGHT_COLORS = ['info', 'success', 'warning', 'alert'];\n\n@Component({\n tag: 'q2-card',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Card implements ComponentInterface {\n @Prop({ reflect: true }) title: string;\n @Prop({ reflect: true }) description: string;\n @Prop({ reflect: true }) avatarName: string;\n @Prop({ reflect: true }) avatarInitials: string;\n @Prop({ reflect: true }) avatarIcon: string;\n @Prop({ reflect: true }) avatarSrc: string;\n @Prop({ reflect: true }) isSmall: boolean;\n @Prop({ reflect: true }) bar: string;\n @Prop({ reflect: true }) isStatic: boolean;\n @Prop({ reflect: true }) isTouch: boolean = isTouchDevice();\n @Prop({ reflect: true }) url: string;\n @Prop({ reflect: true }) target: '_self' | '_blank' | '_parent' | '_top';\n @Prop({ reflect: true }) type: 'clickable' | 'non-clickable' = 'clickable';\n\n @State() isAutoTouch: boolean = false;\n @State() isAutoSmall: boolean = false;\n @Element() hostElement: HTMLElement;\n @Event() click: EventEmitter;\n\n clickableElement: HTMLElement;\n containerElement: HTMLElement;\n avatarElement: HTMLElement;\n resizeObserver: ResizeObserver;\n barColor: string;\n\n componentWillLoad() {\n this.checkBar();\n }\n\n componentDidLoad() {\n const { hostElement, clickableElement } = this;\n hostElement.click = () => clickableElement.click();\n overrideFocus(this.hostElement);\n\n this.resizeObserver = new ResizeObserver(() => this.determineAutoSmall());\n this.resizeObserver.observe(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n handleClick = (event: MouseEvent) => {\n if (this.url) return true;\n event.preventDefault();\n event.stopPropagation();\n this.click.emit();\n };\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.clickableElement.focus();\n }\n\n @Watch('bar')\n checkBar() {\n const { bar } = this;\n if (!bar) return;\n\n if (SUPPORTED_THEME_COLORS.includes(bar)) {\n this.barColor = `var(--t-${bar})`;\n } else if (STOPLIGHT_COLORS.includes(bar)) {\n this.barColor = `var(--const-stoplight-${bar})`;\n } else {\n this.barColor = bar;\n }\n }\n\n determineAutoTouch() {\n if (this.hostElement.hasAttribute('is-touch')) return;\n this.isAutoTouch = isTouchDevice();\n }\n\n determineAutoSmall() {\n if (this.isStatic) return;\n if (this.hostElement.hasAttribute('is-small')) return;\n const { containerElement, avatarElement } = this;\n const avatarWidth = avatarElement?.offsetWidth ?? 0;\n const containerWidth = containerElement?.offsetWidth ?? 0;\n const totalWidth = avatarWidth + containerWidth;\n this.isAutoSmall = totalWidth < 350;\n }\n\n generateAvatar() {\n const { avatarName, avatarInitials, avatarSrc, avatarIcon } = this;\n\n if (avatarIcon) {\n return (\n <q2-icon\n type={avatarIcon}\n ref={e => (this.avatarElement = e)}\n test-id=\"avatar\"\n ></q2-icon>\n );\n } else if (avatarName || avatarInitials || avatarSrc) {\n return (\n <q2-avatar\n name={avatarName}\n initials={avatarInitials}\n src={avatarSrc}\n ref={e => (this.avatarElement = e)}\n test-id=\"avatar\"\n ></q2-avatar>\n );\n }\n }\n\n generateContent() {\n return (\n <Fragment>\n {this.bar && (\n <div\n class=\"bar\"\n test-id=\"bar\"\n style={{ '--comp-bar-color': this.barColor }}\n ></div>\n )}\n {this.generateAvatar()}\n <div\n class=\"content\"\n test-id=\"contentContainer\"\n ref={e => (this.containerElement = e)}\n >\n {this.title && <h3 test-id=\"title\">{this.title}</h3>}\n {this.description && <p test-id=\"description\">{this.description}</p>}\n <slot />\n </div>\n {this.isTouch && !this.isStatic && (\n <q2-icon\n test-id=\"touchIndicator\"\n type=\"chevron-right\"\n class=\"touch-indicator\"\n ></q2-icon>\n )}\n </Fragment>\n );\n }\n\n generateContainerClasses() {\n const {\n isSmall,\n isAutoSmall,\n avatarName,\n avatarInitials,\n avatarSrc,\n avatarIcon,\n isTouch,\n isAutoTouch,\n isStatic,\n type,\n } = this;\n const result = ['container', type];\n const showSmall = isSmall || isAutoSmall;\n const showTouch = isTouch || isAutoTouch;\n const hasAvatar = avatarName || avatarInitials || avatarSrc || avatarIcon;\n if (showSmall) result.push('is-small');\n if (showTouch && !isStatic) result.push('is-touch');\n if (hasAvatar) result.push('has-avatar');\n if (isStatic) result.push('is-static');\n\n return result.join(' ');\n }\n\n render() {\n const { url, isStatic, type } = this;\n if (isStatic || type === 'non-clickable')\n return (\n <div\n ref={e => (this.clickableElement = e)}\n class={this.generateContainerClasses()}\n test-id=\"clickableElement\"\n >\n {this.generateContent()}\n </div>\n );\n else if (!!url)\n return (\n <a\n ref={e => (this.clickableElement = e)}\n href={this.url}\n class={this.generateContainerClasses()}\n target={this.target}\n rel=\"noopener noreferrer\"\n test-id=\"clickableElement\"\n onClick={this.handleClick}\n >\n {this.generateContent()}\n </a>\n );\n else\n return (\n <button\n ref={e => (this.clickableElement = e)}\n class={this.generateContainerClasses()}\n test-id=\"clickableElement\"\n type=\"button\"\n onClick={this.handleClick}\n >\n {this.generateContent()}\n </button>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-card.entry.js","mappings":"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","names":[],"sources":["./src/components/q2-card/styles.scss?tag=q2-card&encapsulation=shadow","./src/components/q2-card/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n.container {\n position: relative;\n width: 100%;\n text-align: start;\n height: 100%;\n display: grid;\n gap: var-list(var-prefixer(card-gap), --app-scale-3x, 15px);\n margin: 0;\n color: var-list(var-prefixer(card-color), --t-text, #4d4d4d);\n\n --comp-avatar-size: #{var-list(var-prefixer(card-avatar-size), 44px)};\n --comp-chevron-size: 0;\n --comp-bar-width: #{var-list(var-prefixer(card-bar-width), --app-scale-2x, 10px)};\n --comp-card-padding: #{var-list(var-prefixer(card-padding), --app-scale-4x, 20px)};\n\n &.is-small {\n --comp-avatar-size: #{var-list(var-prefixer(card-avatar-size), 26px)};\n }\n &.has-avatar {\n grid-template-columns: var(--comp-avatar-size) 1fr;\n --tct-avatar-width: var(--comp-avatar-size);\n --tct-avatar-height: var(--comp-avatar-size);\n --tct-icon-size: var(--comp-avatar-size);\n }\n\n :host([bar][is-static]) & {\n padding-left: var(--comp-card-padding);\n }\n\n :host(:not([is-static])) & {\n --comp-border-radius: #{var-list(var-prefixer(card-border-radius), --app-border-radius-1, 3px)};\n --comp-border-width: #{var-list(var-prefixer(card-border-width), 0px)};\n border: none;\n background: var-list(var-prefixer(card-background), --t-base, #ffffff);\n padding: var(--comp-card-padding);\n text-decoration: none;\n border-width: var(--comp-border-width);\n border-color: var-list(var-prefixer(card-border-color), transparent);\n border-style: var-list(--tct-card-border-style, solid);\n border-radius: var(--comp-border-radius);\n transition: box-shadow var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n box-shadow: var-list(var-prefixer(card-box-shadow), --app-shadow-2, unquote('0 3px 6px rgba(0, 0, 0, 0.3)'));\n\n &.clickable {\n cursor: pointer;\n @media (hover: hover) {\n --comp-card-hover-box-shadow: #{var-list(\n var-prefixer(card-hover-box-shadow),\n --app-shadow-3,\n unquote('0 4px 12px rgba(0, 0, 0, 0.3)')\n )};\n\n &:hover,\n &:active,\n &:focus {\n color: var-list(var-prefixer(card-color), --t-text, #4d4d4d);\n box-shadow: var(--const-double-focus-ring);\n }\n\n &:hover {\n box-shadow: var(--comp-card-hover-box-shadow);\n }\n\n &:focus:hover {\n box-shadow: var(--const-double-focus-ring), var(--comp-card-hover-box-shadow);\n }\n\n &:active {\n box-shadow: var-list(\n var-prefixer(card-active-box-shadow),\n --app-shadow-1,\n unquote('0 2px 4px rgba(0, 0, 0, 0.3)')\n );\n }\n }\n }\n\n &.is-touch {\n --comp-chevron-size: #{var-list(var-prefixer(card-chevron-size), 26px)};\n grid-template-columns: 1fr var(--comp-chevron-size);\n }\n\n &.has-avatar.is-touch {\n grid-template-columns: var(--comp-avatar-size) 1fr var(--comp-chevron-size);\n }\n }\n}\n\n.content {\n overflow: hidden;\n display: grid;\n gap: var-list(var-prefixer(card-content-gap), --app-scale-1x, 5px);\n align-content: start;\n}\n\nh3,\np {\n margin: 0;\n padding: 0;\n line-height: var-list(var-prefixer(card-font-height), 20px);\n}\n\nh3 {\n font-weight: var-list(var-prefixer(card-font-weight), 600);\n font-size: var-list(var-prefixer(card-font-size), 17px);\n @include line-clamp(1);\n}\n\np {\n @include line-clamp(2);\n}\n\n.bar {\n --comp-bar-border-radius: calc(var(--comp-border-radius) - var(--comp-border-width));\n border-radius: var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);\n position: absolute;\n inset: 0 auto auto 0;\n width: var(--comp-bar-width);\n background: var(--comp-bar-color);\n height: 100%;\n\n &.color-primary {\n --comp-bar-color: #{var-list(--tct-card-bar-color-primary, --t-primary, #5446a4)};\n }\n\n &.color-secondary {\n --comp-bar-color: #{var-list(--tct-card-bar-color-secondary, --t-secondary, #b6b3cc)};\n }\n\n &.color-tertiary {\n --comp-bar-color: #{var-list(--tct-card-bar-color-tertiary, --t-tertiary, #ebe8fc)};\n }\n\n &.color-info {\n --comp-bar-color: #{var-list(--tct-card-bar-color-info, --const-stoplight-info, #0079c1)};\n }\n\n &.color-success {\n --comp-bar-color: #{var-list(--tct-card-bar-color-success, --const-stoplight-success, #0e8a00)};\n }\n\n &.color-warning {\n --comp-bar-color: #{var-list(--tct-card-bar-color-warning, --const-stoplight-warning, #c35500)};\n }\n\n &.color-alert {\n --comp-bar-color: #{var-list(--tct-card-bar-color-alert, --const-stoplight-alert, #c35500)};\n }\n\n &.color-accent-1 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-1, --t-accent-1, #e05252)};\n }\n\n &.color-accent-2 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-2, --t-accent-2, #e09952)};\n }\n\n &.color-accent-3 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-3, --t-accent-3, #e0e052)};\n }\n\n &.color-accent-4 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-4, --t-accent-4, #99e052)};\n }\n\n &.color-accent-5 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-5, --t-accent-5, #52e052)};\n }\n\n &.color-accent-6 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-6, --t-accent-6, #52e099)};\n }\n\n &.color-accent-7 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-7, --t-accent-7, #52e0e0)};\n }\n\n &.color-accent-8 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-8, --t-accent-8, #5299e0)};\n }\n\n &.color-accent-9 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-9, --t-accent-9, #5252e0)};\n }\n\n &.color-accent-10 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-10, --t-accent-10, #9952e0)};\n }\n\n &.color-accent-11 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-11, --t-accent-11, #e052e0)};\n }\n\n &.color-accent-12 {\n --comp-bar-color: #{var-list(--tct-card-bar-color-accent-12, --t-accent-12, #e05299)};\n }\n}\n\n.touch-indicator {\n align-self: center;\n --tct-icon-size: var(--comp-chevron-size);\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Event,\n h,\n Fragment,\n Listen,\n Element,\n EventEmitter,\n State,\n} from '@stencil/core';\nimport { isTouchDevice, overrideFocus, isEventFromElement } from 'src/utils';\nconst PREDEFINED_COLORS = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'info',\n 'success',\n 'warning',\n 'alert',\n 'accent-1',\n 'accent-2',\n 'accent-3',\n 'accent-4',\n 'accent-5',\n 'accent-6',\n 'accent-7',\n 'accent-8',\n 'accent-9',\n 'accent-10',\n 'accent-11',\n 'accent-12',\n];\n\n@Component({\n tag: 'q2-card',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Card implements ComponentInterface {\n @Prop({ reflect: true }) title: string;\n @Prop({ reflect: true }) description: string;\n @Prop({ reflect: true }) avatarName: string;\n @Prop({ reflect: true }) avatarInitials: string;\n @Prop({ reflect: true }) avatarIcon: string;\n @Prop({ reflect: true }) avatarSrc: string;\n @Prop({ reflect: true }) isSmall: boolean;\n @Prop({ reflect: true }) bar: string;\n @Prop({ reflect: true }) isStatic: boolean;\n @Prop({ reflect: true }) isTouch: boolean = isTouchDevice();\n @Prop({ reflect: true }) url: string;\n @Prop({ reflect: true }) target: '_self' | '_blank' | '_parent' | '_top';\n @Prop({ reflect: true }) type: 'clickable' | 'non-clickable' = 'clickable';\n\n @State() isAutoTouch: boolean = false;\n @State() isAutoSmall: boolean = false;\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the card is clicked and the `url` property is not provided.\n */\n @Event() click: EventEmitter<undefined>;\n\n clickableElement: HTMLElement;\n containerElement: HTMLElement;\n avatarElement: HTMLElement;\n resizeObserver: ResizeObserver;\n\n componentDidLoad() {\n const { hostElement, clickableElement } = this;\n hostElement.click = () => clickableElement.click();\n overrideFocus(this.hostElement);\n\n this.resizeObserver = new ResizeObserver(() => this.determineAutoSmall());\n this.resizeObserver.observe(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n handleClick = (event: MouseEvent) => {\n if (this.url) return true;\n event.preventDefault();\n event.stopPropagation();\n this.click.emit();\n };\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.clickableElement.focus();\n }\n\n getBarClasses() {\n const { bar } = this;\n\n return {\n bar: true,\n [`color-${bar}`]: this.isBarColorPredefined(),\n };\n }\n\n getBarStyles() {\n const { bar } = this;\n\n return this.isBarColorPredefined() ? {} : { '--comp-bar-color': bar };\n }\n\n isBarColorPredefined() {\n return PREDEFINED_COLORS.includes(this.bar);\n }\n\n determineAutoTouch() {\n if (this.hostElement.hasAttribute('is-touch')) return;\n this.isAutoTouch = isTouchDevice();\n }\n\n determineAutoSmall() {\n if (this.isStatic) return;\n if (this.hostElement.hasAttribute('is-small')) return;\n const { containerElement, avatarElement } = this;\n const avatarWidth = avatarElement?.offsetWidth ?? 0;\n const containerWidth = containerElement?.offsetWidth ?? 0;\n const totalWidth = avatarWidth + containerWidth;\n this.isAutoSmall = totalWidth < 350;\n }\n\n generateAvatar() {\n const { avatarName, avatarInitials, avatarSrc, avatarIcon } = this;\n\n if (avatarIcon) {\n return (\n <q2-icon\n type={avatarIcon}\n ref={e => (this.avatarElement = e)}\n test-id=\"avatar\"\n ></q2-icon>\n );\n } else if (avatarName || avatarInitials || avatarSrc) {\n return (\n <q2-avatar\n name={avatarName}\n initials={avatarInitials}\n src={avatarSrc}\n ref={e => (this.avatarElement = e)}\n test-id=\"avatar\"\n ></q2-avatar>\n );\n }\n }\n\n generateContent() {\n return (\n <Fragment>\n {this.bar && (\n <div\n class={this.getBarClasses()}\n test-id=\"bar\"\n style={this.getBarStyles()}\n ></div>\n )}\n {this.generateAvatar()}\n <div\n class=\"content\"\n test-id=\"contentContainer\"\n ref={e => (this.containerElement = e)}\n >\n {this.title && <h3 test-id=\"title\">{this.title}</h3>}\n {this.description && <p test-id=\"description\">{this.description}</p>}\n <slot />\n </div>\n {this.isTouch && !this.isStatic && (\n <q2-icon\n test-id=\"touchIndicator\"\n type=\"chevron-right\"\n class=\"touch-indicator\"\n ></q2-icon>\n )}\n </Fragment>\n );\n }\n\n generateContainerClasses() {\n const {\n isSmall,\n isAutoSmall,\n avatarName,\n avatarInitials,\n avatarSrc,\n avatarIcon,\n isTouch,\n isAutoTouch,\n isStatic,\n type,\n } = this;\n const result = ['container', type];\n const showSmall = isSmall || isAutoSmall;\n const showTouch = isTouch || isAutoTouch;\n const hasAvatar = avatarName || avatarInitials || avatarSrc || avatarIcon;\n if (showSmall) result.push('is-small');\n if (showTouch && !isStatic) result.push('is-touch');\n if (hasAvatar) result.push('has-avatar');\n if (isStatic) result.push('is-static');\n\n return result.join(' ');\n }\n\n render() {\n const { url, isStatic, type } = this;\n if (isStatic || type === 'non-clickable')\n return (\n <div\n ref={e => (this.clickableElement = e)}\n class={this.generateContainerClasses()}\n test-id=\"clickableElement\"\n >\n {this.generateContent()}\n </div>\n );\n else if (!!url)\n return (\n <a\n ref={e => (this.clickableElement = e)}\n href={this.url}\n class={this.generateContainerClasses()}\n target={this.target}\n rel=\"noopener noreferrer\"\n test-id=\"clickableElement\"\n onClick={this.handleClick}\n >\n {this.generateContent()}\n </a>\n );\n else\n return (\n <button\n ref={e => (this.clickableElement = e)}\n class={this.generateContainerClasses()}\n test-id=\"clickableElement\"\n type=\"button\"\n onClick={this.handleClick}\n >\n {this.generateContent()}\n </button>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-ebc7f269.js';
2
- import { l as loc } from './index-84f1034e.js';
2
+ import { l as loc } from './index-fbe28822.js';
3
3
 
4
4
  const stylesCss = "*{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}q2-carousel .swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;transition:all 0.2s}q2-carousel-pane.q2-carousel-pane{--comp-carousel-pane-tween:var(--tct-tween-1, var(--app-tween-1, 0.2s ease));--comp-carousel-shadow:var(--app-shadow-2, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)));cursor:grab}q2-carousel-pane.q2-carousel-pane:not([is-active-pane]) *{cursor:pointer}q2-carousel-pane.q2-carousel-pane:focus{box-shadow:none}q2-carousel-pane.q2-carousel-pane:focus .q2-carousel-pane-main-content{outline:none;box-shadow:var(--const-double-focus-ring)}q2-carousel-pane.q2-carousel-pane button{border:0;background:transparent;transition:all 0.2s;opacity:0.3;cursor:pointer}q2-carousel-pane.q2-carousel-pane button:hover{opacity:0.7}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content{box-shadow:var(--comp-carousel-shadow);transition:var(--comp-carousel-pane-tween);background:var(--tct-carousel-background, var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)))));border:var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 0px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));border-radius:var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));padding:var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));height:var(--tct-carousel-pane-height, var(--t-carousel-pane-height, 10em))}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content:hover{box-shadow:var(--const-double-focus-ring), var(--comp-carousel-shadow)}";
5
5
 
@@ -1 +1 @@
1
- {"file":"q2-carousel-pane.entry.js","mappings":";;;AAAA,MAAM,SAAS,GAAG,63EAA63E;;MCQl4E,UAAU;;;;IA2BnB,sBAAiB,GAAG,CAAC,YAAoB;MACrC,OAAO,kDAAkD,YAAY,EAAE,CAAC;KAC3E,CAAC;IAIF,gBAAW,GAAG,KAAK;MACf,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO;MAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;MACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,IAAI,EAAE,IAAI,CAAC,WAAW;OACzB,CAAC,CAAC;KACN,CAAC;;;;;;EArBF,IAAI,gBAAgB;IAChB,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;GAClG;EAED,gBAAgB;IACZ,IAAI,CAAC,wBAAwB,EAAE,CAAC;GACnC;EAkBD,wBAAwB;IACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACvD,0DAA0D,CAC7D,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,OAAO;MAC7B,MAAM,gBAAgB,GAClB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;MAExF,IAAI,gBAAgB,EAAE;QAClB,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;OACtD;MAED,IAAI,YAAY,EAAE;QACd,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;UAC1C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;UACtE,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;SAC/C;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;UAC1C,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;SAChC;aAAM;UACH,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACvC;OACJ;WAAM;QACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;OACzB;KACJ,CAAC,CAAC;GACN;EAED,MAAM;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,QACI,EAAC,IAAI,IACD,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,EACpC,IAAI,EAAC,OAAO,0BACS,OAAO,iBACf,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,MAAM,gBAE/C,KAAK;UACC,GAAG,CAAC,KAAK,CAAC;UACV,GAAG,CAAC,yCAAyC,EAAE;UAC3C,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE;UACtC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,QAAQ,EAAE;SACtC,CAAC,EAEZ,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzB,eAAS,KAAK,EAAC,+BAA+B,IAC1C,eAAa,CACP,CACP,EACT;GACL;;;;;;;;;;","names":[],"sources":["./src/components/q2-carousel-pane/styles.scss?tag=q2-carousel-pane","./src/components/q2-carousel-pane/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\nq2-carousel .swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n transition: all 0.2s;\n}\n\nq2-carousel-pane.q2-carousel-pane {\n --comp-carousel-pane-tween: #{var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-carousel-shadow: #{var-list(--app-shadow-2, unquote('0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25))'))};\n\n cursor: grab;\n\n &:not([is-active-pane]) * {\n cursor: pointer;\n }\n\n &:focus {\n box-shadow: none;\n .q2-carousel-pane-main-content {\n outline: none;\n box-shadow: var(--const-double-focus-ring);\n }\n }\n\n button {\n border: 0;\n background: transparent;\n transition: all 0.2s;\n opacity: 0.3;\n cursor: pointer;\n\n &:hover {\n opacity: 0.7;\n }\n }\n\n .q2-carousel-pane-main-content {\n box-shadow: var(--comp-carousel-shadow);\n transition: var(--comp-carousel-pane-tween);\n background: var-list(\n --tct-carousel-background,\n var-prefixer(carousel-background-color),\n --tct-white,\n --app-white,\n #ffffff\n );\n border: var-list(var-prefixer(carousel-pane-border-width), 0px) solid\n var-list(\n var-prefixer(carousel-pane-border-color),\n var-prefixer(gray-11),\n --tct-gray-l1,\n --app-gray-l1,\n #cccccc\n );\n border-radius: var-list(var-prefixer(carousel-pane-border-radius), 8px);\n padding: var-list(var-prefixer(carousel-pane-padding), unquote('0.5rem 0.5rem 0.5rem 0.5rem'));\n height: var-list(var-prefixer(carousel-pane-height), 10em);\n }\n\n .q2-carousel-pane-main-content:hover {\n box-shadow: var(--const-double-focus-ring), var(--comp-carousel-shadow);\n }\n}\n","import { Component, ComponentInterface, Event, Element, Host, Watch, Prop, h, EventEmitter } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({\n tag: 'q2-carousel-pane',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n /**\n * Used by q2-carousel to determine the pane's index\n * @private\n */\n @Prop({ reflect: false }) index: number;\n /**\n * Used by q2-carousel to indicate how many panes are in the carousel\n * @private\n */\n @Prop({ reflect: false }) siblingCount: number;\n /**\n * Used by q2-carousel to indicate which pane is currently active\n * @private\n */\n @Prop({ reflect: true }) isActivePane: boolean;\n @Prop({ reflect: true }) label: string;\n @Element() hostElement: HTMLElement;\n\n get currentPaneIndex() {\n return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);\n }\n\n componentDidLoad(): void {\n this.determineDisabledContent();\n }\n\n generatePaneClass = (currentIndex: number) => {\n return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;\n };\n\n @Event() clickCarouselPane: EventEmitter;\n\n paneClicked = event => {\n if (this.isActivePane) return;\n event.preventDefault();\n this.clickCarouselPane.emit({\n paneIndex: this.index,\n pane: this.hostElement,\n });\n };\n\n @Watch('isActivePane')\n determineDisabledContent() {\n const { isActivePane } = this;\n const focusableElements = this.hostElement.querySelectorAll<HTMLElement>(\n 'q2-btn, a[href], button, [tabindex]:not([tabindex=\"-1\"])'\n );\n\n focusableElements.forEach(element => {\n const hasValidTabIndex =\n element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;\n\n if (hasValidTabIndex) {\n element.dataset.q2Tabindex = `${element.tabIndex}`;\n }\n\n if (isActivePane) {\n if (element.hasAttribute('data-q2-tabindex')) {\n element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));\n element.removeAttribute('data-q2-tabindex');\n } else if (element.tagName.startsWith('Q2-')) {\n element.tabIndex = undefined;\n } else {\n element.removeAttribute('tabindex');\n }\n } else {\n element.tabIndex = -1;\n }\n });\n }\n\n render() {\n const { label } = this;\n\n return (\n <Host\n class={this.generatePaneClass(this.currentPaneIndex)}\n tabIndex={this.isActivePane ? 0 : -1}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-hidden={this.isActivePane ? undefined : 'true'}\n aria-label={\n label\n ? loc(label)\n : loc('tecton.element.carousel.itemDescription', [\n (this.currentPaneIndex + 1).toString(),\n (this.siblingCount || 0).toString(),\n ])\n }\n onClick={this.paneClicked}\n >\n <article class=\"q2-carousel-pane-main-content\">\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-carousel-pane.entry.js","mappings":";;;AAAA,MAAM,SAAS,GAAG,63EAA63E;;MCQl4E,UAAU;;;;IA2BnB,sBAAiB,GAAG,CAAC,YAAoB;MACrC,OAAO,kDAAkD,YAAY,EAAE,CAAC;KAC3E,CAAC;IAOF,gBAAW,GAAG,KAAK;MACf,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO;MAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;MACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,IAAI,EAAE,IAAI,CAAC,WAAW;OACzB,CAAC,CAAC;KACN,CAAC;;;;;;EAxBF,IAAI,gBAAgB;IAChB,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;GAClG;EAED,gBAAgB;IACZ,IAAI,CAAC,wBAAwB,EAAE,CAAC;GACnC;EAqBD,wBAAwB;IACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACvD,0DAA0D,CAC7D,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,OAAO;MAC7B,MAAM,gBAAgB,GAClB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;MAExF,IAAI,gBAAgB,EAAE;QAClB,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;OACtD;MAED,IAAI,YAAY,EAAE;QACd,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;UAC1C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;UACtE,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;SAC/C;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;UAC1C,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;SAChC;aAAM;UACH,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACvC;OACJ;WAAM;QACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;OACzB;KACJ,CAAC,CAAC;GACN;EAED,MAAM;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,QACI,EAAC,IAAI,IACD,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,EACpC,IAAI,EAAC,OAAO,0BACS,OAAO,iBACf,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,MAAM,gBAE/C,KAAK;UACC,GAAG,CAAC,KAAK,CAAC;UACV,GAAG,CAAC,yCAAyC,EAAE;UAC3C,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE;UACtC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,QAAQ,EAAE;SACtC,CAAC,EAEZ,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzB,eAAS,KAAK,EAAC,+BAA+B,IAC1C,eAAa,CACP,CACP,EACT;GACL;;;;;;;;;;","names":[],"sources":["./src/components/q2-carousel-pane/styles.scss?tag=q2-carousel-pane","./src/components/q2-carousel-pane/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\nq2-carousel .swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n transition: all 0.2s;\n}\n\nq2-carousel-pane.q2-carousel-pane {\n --comp-carousel-pane-tween: #{var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-carousel-shadow: #{var-list(--app-shadow-2, unquote('0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25))'))};\n\n cursor: grab;\n\n &:not([is-active-pane]) * {\n cursor: pointer;\n }\n\n &:focus {\n box-shadow: none;\n .q2-carousel-pane-main-content {\n outline: none;\n box-shadow: var(--const-double-focus-ring);\n }\n }\n\n button {\n border: 0;\n background: transparent;\n transition: all 0.2s;\n opacity: 0.3;\n cursor: pointer;\n\n &:hover {\n opacity: 0.7;\n }\n }\n\n .q2-carousel-pane-main-content {\n box-shadow: var(--comp-carousel-shadow);\n transition: var(--comp-carousel-pane-tween);\n background: var-list(\n --tct-carousel-background,\n var-prefixer(carousel-background-color),\n --tct-white,\n --app-white,\n #ffffff\n );\n border: var-list(var-prefixer(carousel-pane-border-width), 0px) solid\n var-list(\n var-prefixer(carousel-pane-border-color),\n var-prefixer(gray-11),\n --tct-gray-l1,\n --app-gray-l1,\n #cccccc\n );\n border-radius: var-list(var-prefixer(carousel-pane-border-radius), 8px);\n padding: var-list(var-prefixer(carousel-pane-padding), unquote('0.5rem 0.5rem 0.5rem 0.5rem'));\n height: var-list(var-prefixer(carousel-pane-height), 10em);\n }\n\n .q2-carousel-pane-main-content:hover {\n box-shadow: var(--const-double-focus-ring), var(--comp-carousel-shadow);\n }\n}\n","import { Component, ComponentInterface, Event, Element, Host, Watch, Prop, h, EventEmitter } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({\n tag: 'q2-carousel-pane',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n /**\n * Used by q2-carousel to determine the pane's index\n * @private\n */\n @Prop({ reflect: false }) index: number;\n /**\n * Used by q2-carousel to indicate how many panes are in the carousel\n * @private\n */\n @Prop({ reflect: false }) siblingCount: number;\n /**\n * Used by q2-carousel to indicate which pane is currently active\n * @private\n */\n @Prop({ reflect: true }) isActivePane: boolean;\n @Prop({ reflect: true }) label: string;\n @Element() hostElement: HTMLElement;\n\n get currentPaneIndex() {\n return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);\n }\n\n componentDidLoad(): void {\n this.determineDisabledContent();\n }\n\n generatePaneClass = (currentIndex: number) => {\n return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;\n };\n\n /**\n * Emitted when the pane is clicked.\n */\n @Event() clickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n paneClicked = event => {\n if (this.isActivePane) return;\n event.preventDefault();\n this.clickCarouselPane.emit({\n paneIndex: this.index,\n pane: this.hostElement,\n });\n };\n\n @Watch('isActivePane')\n determineDisabledContent() {\n const { isActivePane } = this;\n const focusableElements = this.hostElement.querySelectorAll<HTMLElement>(\n 'q2-btn, a[href], button, [tabindex]:not([tabindex=\"-1\"])'\n );\n\n focusableElements.forEach(element => {\n const hasValidTabIndex =\n element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;\n\n if (hasValidTabIndex) {\n element.dataset.q2Tabindex = `${element.tabIndex}`;\n }\n\n if (isActivePane) {\n if (element.hasAttribute('data-q2-tabindex')) {\n element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));\n element.removeAttribute('data-q2-tabindex');\n } else if (element.tagName.startsWith('Q2-')) {\n element.tabIndex = undefined;\n } else {\n element.removeAttribute('tabindex');\n }\n } else {\n element.tabIndex = -1;\n }\n });\n }\n\n render() {\n const { label } = this;\n\n return (\n <Host\n class={this.generatePaneClass(this.currentPaneIndex)}\n tabIndex={this.isActivePane ? 0 : -1}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-hidden={this.isActivePane ? undefined : 'true'}\n aria-label={\n label\n ? loc(label)\n : loc('tecton.element.carousel.itemDescription', [\n (this.currentPaneIndex + 1).toString(),\n (this.siblingCount || 0).toString(),\n ])\n }\n onClick={this.paneClicked}\n >\n <article class=\"q2-carousel-pane-main-content\">\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-ebc7f269.js';
2
- import { c as createGuid, l as loc, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus } from './index-84f1034e.js';
2
+ import { c as createGuid, l as loc, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus } from './index-fbe28822.js';
3
3
 
4
4
  /**
5
5
  * SSR Window 4.0.2
@@ -5040,6 +5040,9 @@ const Q2Carousel = class {
5040
5040
  // COMPUTED //
5041
5041
  this.guid = createGuid();
5042
5042
  // METHODS //
5043
+ this.onMutationObserved = () => {
5044
+ this.organizePanes();
5045
+ };
5043
5046
  this.setCarouselWrapperWidth = () => {
5044
5047
  if (this.insufficientPanes)
5045
5048
  return;
@@ -5056,6 +5059,8 @@ const Q2Carousel = class {
5056
5059
  this.autoPlayInProgress = this.autoPlay;
5057
5060
  this.swiper = new Swiper(carouselWrapper, carouselOptions);
5058
5061
  (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slideTo(this.realIndex);
5062
+ if (this.autoPlayInProgress)
5063
+ this.swiper.autoplay.start();
5059
5064
  };
5060
5065
  this.tearDownCarousel = () => {
5061
5066
  this.swiper.destroy();
@@ -5067,6 +5072,7 @@ const Q2Carousel = class {
5067
5072
  pane.siblingCount = this.paneCollection.length;
5068
5073
  pane.isActivePane = index === this.activePaneIndex;
5069
5074
  });
5075
+ this.currentPaneCount = this.paneCollection.length;
5070
5076
  };
5071
5077
  this.handleAutoPlayPause = () => {
5072
5078
  const { swiper: { autoplay }, } = this;
@@ -5202,8 +5208,10 @@ const Q2Carousel = class {
5202
5208
  activeIndexChange: swiper => {
5203
5209
  this.activePaneIndex = swiper.activeIndex;
5204
5210
  this.organizePanes();
5205
- const isPaginationFocused = document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
5206
- const isCarouselFocused = document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
5211
+ const isPaginationFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
5212
+ const isCarouselFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
5213
+ const isFocused = isPaginationFocused || isCarouselFocused;
5214
+ this.handleAriaLive(isFocused);
5207
5215
  if (isPaginationFocused) {
5208
5216
  this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });
5209
5217
  }
@@ -5221,6 +5229,8 @@ const Q2Carousel = class {
5221
5229
  this.autoPlayInProgress = false;
5222
5230
  this.compactMode = false;
5223
5231
  this.carouselWrapperWidth = 0;
5232
+ this.ariaLiveValue = 'polite';
5233
+ this.currentPaneCount = this.paneCount;
5224
5234
  }
5225
5235
  ariaLabelObserver() {
5226
5236
  handleAriaLabel(this);
@@ -5280,6 +5290,14 @@ const Q2Carousel = class {
5280
5290
  return;
5281
5291
  activePane.focus({ preventScroll: true });
5282
5292
  }
5293
+ handleAriaLive(activeAndFocused) {
5294
+ if (this.autoPlayInProgress && !activeAndFocused) {
5295
+ this.ariaLiveValue = 'off';
5296
+ }
5297
+ else {
5298
+ this.ariaLiveValue = 'polite';
5299
+ }
5300
+ }
5283
5301
  // LIFECYCLES //
5284
5302
  componentWillLoad() {
5285
5303
  handleAriaLabel(this);
@@ -5291,9 +5309,17 @@ const Q2Carousel = class {
5291
5309
  if (this.carouselWrapper && !!this.paneArray.length) {
5292
5310
  this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);
5293
5311
  }
5312
+ const observer = new MutationObserver(this.onMutationObserved);
5313
+ observer.observe(this.hostElement, { childList: true });
5314
+ this.mutationObserver = observer;
5315
+ this.onMutationObserved();
5294
5316
  overrideFocus(this.hostElement);
5295
5317
  }
5296
5318
  disconnectedCallback() {
5319
+ if (this.mutationObserver) {
5320
+ this.mutationObserver.disconnect();
5321
+ this.mutationObserver = null;
5322
+ }
5297
5323
  if (!!this.swiper) {
5298
5324
  this.tearDownCarousel();
5299
5325
  }
@@ -5310,7 +5336,7 @@ const Q2Carousel = class {
5310
5336
  let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];
5311
5337
  if (this.showNavigationArrows)
5312
5338
  paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];
5313
- return (h(Host, { id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, this.insufficientPanes ? (this.insufficientPanesDisplay()) : (h(Fragment, null, this.paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, this.showNavigationArrows && this.prevNavBtn(), h("div", { class: "q2-carousel-control-center-tray" }, !this.hidePagination && this.paginationArea(), this.autoPlay && this.autoPlayBtn()), this.showNavigationArrows && this.nextNavBtn())), h("section", { class: carouselContainerClasses.join(' '), ref: el => (this.carouselWrapper = el), "aria-roledescription": "carousel", "aria-label": loc(this.label) }, h("div", { class: "q2-carousel-swiper-wrapper swiper-wrapper", ref: el => (this.carouselPaneWrapperElement = el), "aria-live": this.autoPlayInProgress ? 'off' : 'polite', onKeyDown: this.onWrapperKeyDown }, h("slot", null)))))));
5339
+ return (h(Host, { id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, this.insufficientPanes ? (this.insufficientPanesDisplay()) : (h(Fragment, null, this.paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, this.showNavigationArrows && this.prevNavBtn(), h("div", { class: "q2-carousel-control-center-tray" }, !this.hidePagination && this.paginationArea(), this.autoPlay && this.autoPlayBtn()), this.showNavigationArrows && this.nextNavBtn())), h("section", { class: carouselContainerClasses.join(' '), ref: el => (this.carouselWrapper = el), "aria-roledescription": "carousel", "aria-label": loc(this.label) }, h("div", { class: "q2-carousel-swiper-wrapper swiper-wrapper", ref: el => (this.carouselPaneWrapperElement = el), "aria-live": this.ariaLiveValue, onKeyDown: this.onWrapperKeyDown }, h("slot", null)))))));
5314
5340
  }
5315
5341
  get hostElement() { return getElement(this); }
5316
5342
  static get watchers() { return {