q2-tecton-elements 1.38.2 → 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 (399) 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 +6 -3
  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/types.js.map +1 -1
  102. package/dist/collection/components/q2-option/index.js +5 -2
  103. package/dist/collection/components/q2-option/index.js.map +1 -1
  104. package/dist/collection/components/q2-option-list/index.js +15 -9
  105. package/dist/collection/components/q2-option-list/index.js.map +1 -1
  106. package/dist/collection/components/q2-pagination/index.js +8 -5
  107. package/dist/collection/components/q2-pagination/index.js.map +1 -1
  108. package/dist/collection/components/q2-pill/index.js +5 -2
  109. package/dist/collection/components/q2-pill/index.js.map +1 -1
  110. package/dist/collection/components/q2-popover/index.js +1 -1
  111. package/dist/collection/components/q2-popover/index.js.map +1 -1
  112. package/dist/collection/components/q2-radio/index.js +3 -3
  113. package/dist/collection/components/q2-radio/index.js.map +1 -1
  114. package/dist/collection/components/q2-radio-group/index.js +7 -4
  115. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  116. package/dist/collection/components/q2-section/index.js +7 -4
  117. package/dist/collection/components/q2-section/index.js.map +1 -1
  118. package/dist/collection/components/q2-section/styles.css +8 -6
  119. package/dist/collection/components/q2-select/index.js +8 -5
  120. package/dist/collection/components/q2-select/index.js.map +1 -1
  121. package/dist/collection/components/q2-stepper/index.js +5 -2
  122. package/dist/collection/components/q2-stepper/index.js.map +1 -1
  123. package/dist/collection/components/q2-stepper-pane/index.js +11 -8
  124. package/dist/collection/components/q2-stepper-pane/index.js.map +1 -1
  125. package/dist/collection/components/q2-stepper-vertical/index.js +13 -6
  126. package/dist/collection/components/q2-stepper-vertical/index.js.map +1 -1
  127. package/dist/collection/components/q2-tab-container/index.js +14 -8
  128. package/dist/collection/components/q2-tab-container/index.js.map +1 -1
  129. package/dist/collection/components/q2-tab-pane/index.js +5 -2
  130. package/dist/collection/components/q2-tab-pane/index.js.map +1 -1
  131. package/dist/collection/components/q2-tag/index.js +1 -1
  132. package/dist/collection/components/q2-tag/index.js.map +1 -1
  133. package/dist/collection/components/q2-textarea/index.js +14 -8
  134. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  135. package/dist/collection/components/tecton-tab-pane/index.js +5 -2
  136. package/dist/collection/components/tecton-tab-pane/index.js.map +1 -1
  137. package/dist/collection/utils/index.js +1 -1
  138. package/dist/collection/utils/index.js.map +1 -1
  139. package/dist/components/index13.js.map +1 -1
  140. package/dist/components/index14.js.map +1 -1
  141. package/dist/components/index15.js.map +1 -1
  142. package/dist/components/index16.js +1 -1
  143. package/dist/components/index16.js.map +1 -1
  144. package/dist/components/index2.js.map +1 -1
  145. package/dist/components/index5.js +1 -1
  146. package/dist/components/index5.js.map +1 -1
  147. package/dist/components/index6.js.map +1 -1
  148. package/dist/components/index9.js +5 -2
  149. package/dist/components/index9.js.map +1 -1
  150. package/dist/components/q2-action-sheet.js.map +1 -1
  151. package/dist/components/q2-calendar.js +10 -1
  152. package/dist/components/q2-calendar.js.map +1 -1
  153. package/dist/components/q2-card.js +19 -22
  154. package/dist/components/q2-card.js.map +1 -1
  155. package/dist/components/q2-carousel-pane.js.map +1 -1
  156. package/dist/components/q2-carousel.js +32 -4
  157. package/dist/components/q2-carousel.js.map +1 -1
  158. package/dist/components/q2-chart-area.js.map +1 -1
  159. package/dist/components/q2-chart-donut.js +16 -15
  160. package/dist/components/q2-chart-donut.js.map +1 -1
  161. package/dist/components/q2-checkbox-group.js.map +1 -1
  162. package/dist/components/q2-data-table.js +43 -21
  163. package/dist/components/q2-data-table.js.map +1 -1
  164. package/dist/components/q2-editable-field.js.map +1 -1
  165. package/dist/components/q2-pagination.js.map +1 -1
  166. package/dist/components/q2-pill.js.map +1 -1
  167. package/dist/components/q2-radio-group.js.map +1 -1
  168. package/dist/components/q2-radio.js.map +1 -1
  169. package/dist/components/q2-section.js +1 -1
  170. package/dist/components/q2-section.js.map +1 -1
  171. package/dist/components/q2-select.js.map +1 -1
  172. package/dist/components/q2-stepper-pane.js.map +1 -1
  173. package/dist/components/q2-stepper-vertical.js +3 -3
  174. package/dist/components/q2-stepper-vertical.js.map +1 -1
  175. package/dist/components/q2-stepper.js.map +1 -1
  176. package/dist/components/q2-tab-container.js.map +1 -1
  177. package/dist/components/q2-tab-pane.js.map +1 -1
  178. package/dist/components/q2-tag.js.map +1 -1
  179. package/dist/components/q2-textarea.js.map +1 -1
  180. package/dist/components/tecton-tab-pane.js.map +1 -1
  181. package/dist/esm/click-elsewhere_2.entry.js +1 -1
  182. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  183. package/dist/esm/{index-84f1034e.js → index-fbe28822.js} +2 -2
  184. package/dist/esm/{index-84f1034e.js.map → index-fbe28822.js.map} +1 -1
  185. package/dist/esm/loader.js +1 -1
  186. package/dist/esm/q2-action-sheet.entry.js +1 -1
  187. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  188. package/dist/esm/q2-btn_2.entry.js +2 -2
  189. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  190. package/dist/esm/q2-calendar.entry.js +11 -2
  191. package/dist/esm/q2-calendar.entry.js.map +1 -1
  192. package/dist/esm/q2-card.entry.js +20 -23
  193. package/dist/esm/q2-card.entry.js.map +1 -1
  194. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  195. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  196. package/dist/esm/q2-carousel.entry.js +30 -4
  197. package/dist/esm/q2-carousel.entry.js.map +1 -1
  198. package/dist/esm/q2-chart-area.entry.js +1 -1
  199. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  200. package/dist/esm/q2-chart-bar.entry.js +1 -1
  201. package/dist/esm/q2-chart-donut.entry.js +14 -14
  202. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  203. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  204. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  205. package/dist/esm/q2-checkbox.entry.js +1 -1
  206. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  207. package/dist/esm/q2-data-table.entry.js +43 -21
  208. package/dist/esm/q2-data-table.entry.js.map +1 -1
  209. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  210. package/dist/esm/q2-dropdown.entry.js +1 -1
  211. package/dist/esm/q2-editable-field.entry.js +1 -1
  212. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  213. package/dist/esm/q2-icon.entry.js +1 -1
  214. package/dist/esm/q2-input.entry.js +6 -3
  215. package/dist/esm/q2-input.entry.js.map +1 -1
  216. package/dist/esm/q2-loc.entry.js +1 -1
  217. package/dist/esm/q2-message.entry.js +1 -1
  218. package/dist/esm/q2-month-picker.entry.js +1 -1
  219. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  220. package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
  221. package/dist/esm/q2-option-list.entry.js +1 -1
  222. package/dist/esm/q2-option-list.entry.js.map +1 -1
  223. package/dist/esm/q2-pagination.entry.js +1 -1
  224. package/dist/esm/q2-pagination.entry.js.map +1 -1
  225. package/dist/esm/q2-pill.entry.js +1 -1
  226. package/dist/esm/q2-pill.entry.js.map +1 -1
  227. package/dist/esm/q2-radio-group.entry.js +1 -1
  228. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  229. package/dist/esm/q2-radio.entry.js +1 -1
  230. package/dist/esm/q2-radio.entry.js.map +1 -1
  231. package/dist/esm/q2-section.entry.js +2 -2
  232. package/dist/esm/q2-section.entry.js.map +1 -1
  233. package/dist/esm/q2-select.entry.js +1 -1
  234. package/dist/esm/q2-select.entry.js.map +1 -1
  235. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  236. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  237. package/dist/esm/q2-stepper-vertical.entry.js +4 -4
  238. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  239. package/dist/esm/q2-stepper.entry.js +1 -1
  240. package/dist/esm/q2-stepper.entry.js.map +1 -1
  241. package/dist/esm/q2-tab-container.entry.js +1 -1
  242. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  243. package/dist/esm/q2-tab-pane.entry.js.map +1 -1
  244. package/dist/esm/q2-tag.entry.js +1 -1
  245. package/dist/esm/q2-tag.entry.js.map +1 -1
  246. package/dist/esm/q2-tecton-elements.js +1 -1
  247. package/dist/esm/q2-textarea.entry.js +1 -1
  248. package/dist/esm/q2-textarea.entry.js.map +1 -1
  249. package/dist/esm/q2-tooltip.entry.js +1 -1
  250. package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
  251. package/dist/q2-tecton-elements/p-0253a00b.entry.js +2 -0
  252. package/dist/q2-tecton-elements/p-0253a00b.entry.js.map +1 -0
  253. package/dist/q2-tecton-elements/{p-72b4ecc6.entry.js → p-07229496.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/p-07229496.entry.js.map +1 -0
  255. package/dist/q2-tecton-elements/{p-a6b03db1.entry.js → p-0ecff52c.entry.js} +2 -2
  256. package/dist/q2-tecton-elements/{p-a6b03db1.entry.js.map → p-0ecff52c.entry.js.map} +1 -1
  257. package/dist/q2-tecton-elements/{p-f198f77b.entry.js → p-1179b32c.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/p-1179b32c.entry.js.map +1 -0
  259. package/dist/q2-tecton-elements/{p-311f37e2.entry.js → p-15c69543.entry.js} +2 -2
  260. package/dist/q2-tecton-elements/{p-9220365b.entry.js → p-212c6301.entry.js} +2 -2
  261. package/dist/q2-tecton-elements/p-212c6301.entry.js.map +1 -0
  262. package/dist/q2-tecton-elements/p-3090b655.entry.js +2 -0
  263. package/dist/q2-tecton-elements/p-3090b655.entry.js.map +1 -0
  264. package/dist/q2-tecton-elements/{p-8f8d5362.entry.js → p-3569e648.entry.js} +2 -2
  265. package/dist/q2-tecton-elements/p-3569e648.entry.js.map +1 -0
  266. package/dist/q2-tecton-elements/{p-0cade28b.entry.js → p-36bff57a.entry.js} +2 -2
  267. package/dist/q2-tecton-elements/{p-57e81863.entry.js → p-39e94e12.entry.js} +2 -2
  268. package/dist/q2-tecton-elements/{p-57e81863.entry.js.map → p-39e94e12.entry.js.map} +1 -1
  269. package/dist/q2-tecton-elements/p-3f20d610.entry.js +2 -0
  270. package/dist/q2-tecton-elements/p-3f20d610.entry.js.map +1 -0
  271. package/dist/q2-tecton-elements/{p-29a7ca63.entry.js → p-44c2d7a2.entry.js} +2 -2
  272. package/dist/q2-tecton-elements/{p-29a7ca63.entry.js.map → p-44c2d7a2.entry.js.map} +1 -1
  273. package/dist/q2-tecton-elements/{p-deb773a5.entry.js → p-461dca3d.entry.js} +2 -2
  274. package/dist/q2-tecton-elements/{p-deb773a5.entry.js.map → p-461dca3d.entry.js.map} +1 -1
  275. package/dist/q2-tecton-elements/{p-3d82d94f.entry.js → p-5964fd50.entry.js} +2 -2
  276. package/dist/q2-tecton-elements/{p-3d82d94f.entry.js.map → p-5964fd50.entry.js.map} +1 -1
  277. package/dist/q2-tecton-elements/{p-e98d9cf2.entry.js → p-5b4c30b8.entry.js} +2 -2
  278. package/dist/q2-tecton-elements/p-5b4c30b8.entry.js.map +1 -0
  279. package/dist/q2-tecton-elements/{p-69dcf12e.entry.js → p-5d6c2534.entry.js} +2 -2
  280. package/dist/q2-tecton-elements/p-5d6c2534.entry.js.map +1 -0
  281. package/dist/q2-tecton-elements/{p-a09c90c1.entry.js → p-66bc9475.entry.js} +2 -2
  282. package/dist/q2-tecton-elements/{p-a09c90c1.entry.js.map → p-66bc9475.entry.js.map} +1 -1
  283. package/dist/q2-tecton-elements/{p-e4dadcd7.entry.js → p-6ba6d83e.entry.js} +2 -2
  284. package/dist/q2-tecton-elements/p-6ba6d83e.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/{p-5843f6c8.entry.js → p-78d5707b.entry.js} +2 -2
  286. package/dist/q2-tecton-elements/p-78d5707b.entry.js.map +1 -0
  287. package/dist/q2-tecton-elements/{p-85dc889e.entry.js → p-7e276297.entry.js} +2 -2
  288. package/dist/q2-tecton-elements/p-7e276297.entry.js.map +1 -0
  289. package/dist/q2-tecton-elements/{p-059ea7c9.entry.js → p-81e36fcd.entry.js} +2 -2
  290. package/dist/q2-tecton-elements/{p-8f273db2.entry.js → p-88b303a7.entry.js} +2 -2
  291. package/dist/q2-tecton-elements/{p-8f273db2.entry.js.map → p-88b303a7.entry.js.map} +1 -1
  292. package/dist/q2-tecton-elements/p-9889692d.entry.js +2 -0
  293. package/dist/q2-tecton-elements/p-9889692d.entry.js.map +1 -0
  294. package/dist/q2-tecton-elements/p-9da0db14.entry.js.map +1 -1
  295. package/dist/q2-tecton-elements/{p-c057134f.entry.js → p-9dff6592.entry.js} +2 -2
  296. package/dist/q2-tecton-elements/p-9dff6592.entry.js.map +1 -0
  297. package/dist/q2-tecton-elements/{p-145849d0.entry.js → p-a5a23edc.entry.js} +2 -2
  298. package/dist/q2-tecton-elements/p-a5a23edc.entry.js.map +1 -0
  299. package/dist/q2-tecton-elements/{p-db3bbfb8.entry.js → p-a9c40d3b.entry.js} +2 -2
  300. package/dist/q2-tecton-elements/p-a9c40d3b.entry.js.map +1 -0
  301. package/dist/q2-tecton-elements/{p-15179d55.entry.js → p-aa96f160.entry.js} +2 -2
  302. package/dist/q2-tecton-elements/{p-5c033ed9.entry.js → p-b3a32a46.entry.js} +2 -2
  303. package/dist/q2-tecton-elements/{p-5c033ed9.entry.js.map → p-b3a32a46.entry.js.map} +1 -1
  304. package/dist/q2-tecton-elements/{p-f3868a77.entry.js → p-b6ed1342.entry.js} +2 -2
  305. package/dist/q2-tecton-elements/{p-f3868a77.entry.js.map → p-b6ed1342.entry.js.map} +1 -1
  306. package/dist/q2-tecton-elements/{p-52132d80.entry.js → p-ba19d09f.entry.js} +2 -2
  307. package/dist/q2-tecton-elements/p-ba19d09f.entry.js.map +1 -0
  308. package/dist/q2-tecton-elements/{p-81b917a5.entry.js → p-cc7ba0cb.entry.js} +2 -2
  309. package/dist/q2-tecton-elements/{p-107f07f2.entry.js → p-ce009987.entry.js} +2 -2
  310. package/dist/q2-tecton-elements/p-d7fb3534.entry.js.map +1 -1
  311. package/dist/q2-tecton-elements/{p-959f47ef.entry.js → p-de7352f5.entry.js} +2 -2
  312. package/dist/q2-tecton-elements/{p-6ae87415.entry.js → p-ef2e2991.entry.js} +2 -2
  313. package/dist/q2-tecton-elements/{p-b83568e7.entry.js → p-f1479052.entry.js} +2 -2
  314. package/dist/q2-tecton-elements/p-f1479052.entry.js.map +1 -0
  315. package/dist/q2-tecton-elements/{p-f34521a4.js → p-fb903495.js} +2 -2
  316. package/dist/q2-tecton-elements/{p-f34521a4.js.map → p-fb903495.js.map} +1 -1
  317. package/dist/q2-tecton-elements/{p-2812f9d2.entry.js → p-ff137358.entry.js} +2 -2
  318. package/dist/q2-tecton-elements/p-ff137358.entry.js.map +1 -0
  319. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  320. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  321. package/dist/test/elements/q2-btn-test.e2e.js +31 -0
  322. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  323. package/dist/test/elements/q2-card-test.e2e.js +69 -11
  324. package/dist/test/elements/q2-card-test.e2e.js.map +1 -1
  325. package/dist/test/elements/q2-carousel-test.e2e.js +41 -3
  326. package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
  327. package/dist/test/elements/q2-chart-donut-test.e2e.js +64 -9
  328. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  329. package/dist/test/elements/q2-data-table-test.e2e.js +91 -2
  330. package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
  331. package/dist/test/elements/q2-input-test.e2e.js +151 -67
  332. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  333. package/dist/test/helpers.js +48 -0
  334. package/dist/test/helpers.js.map +1 -1
  335. package/dist/types/components/click-elsewhere/index.d.ts +3 -0
  336. package/dist/types/components/q2-action-sheet/index.d.ts +7 -0
  337. package/dist/types/components/q2-calendar/index.d.ts +23 -3
  338. package/dist/types/components/q2-card/index.d.ts +14 -4
  339. package/dist/types/components/q2-carousel/index.d.ts +8 -0
  340. package/dist/types/components/q2-carousel-pane/index.d.ts +7 -1
  341. package/dist/types/components/q2-chart-area/index.d.ts +7 -1
  342. package/dist/types/components/q2-chart-donut/index.d.ts +18 -3
  343. package/dist/types/components/q2-checkbox/index.d.ts +4 -0
  344. package/dist/types/components/q2-checkbox-group/index.d.ts +8 -1
  345. package/dist/types/components/q2-data-table/index.d.ts +43 -3
  346. package/dist/types/components/q2-editable-field/index.d.ts +18 -2
  347. package/dist/types/components/q2-input/index.d.ts +19 -2
  348. package/dist/types/components/q2-input/types.d.ts +1 -0
  349. package/dist/types/components/q2-option/index.d.ts +4 -0
  350. package/dist/types/components/q2-option-list/index.d.ts +15 -1
  351. package/dist/types/components/q2-pagination/index.d.ts +8 -2
  352. package/dist/types/components/q2-pill/index.d.ts +4 -0
  353. package/dist/types/components/q2-popover/index.d.ts +3 -0
  354. package/dist/types/components/q2-radio/index.d.ts +6 -1
  355. package/dist/types/components/q2-radio-group/index.d.ts +7 -1
  356. package/dist/types/components/q2-section/index.d.ts +7 -1
  357. package/dist/types/components/q2-select/index.d.ts +16 -1
  358. package/dist/types/components/q2-stepper/index.d.ts +4 -0
  359. package/dist/types/components/q2-stepper-pane/index.d.ts +11 -1
  360. package/dist/types/components/q2-stepper-vertical/index.d.ts +10 -2
  361. package/dist/types/components/q2-tab-container/index.d.ts +12 -2
  362. package/dist/types/components/q2-tab-pane/index.d.ts +4 -0
  363. package/dist/types/components/q2-tag/index.d.ts +5 -0
  364. package/dist/types/components/q2-textarea/index.d.ts +14 -2
  365. package/dist/types/components/tecton-tab-pane/index.d.ts +4 -0
  366. package/dist/types/components.d.ts +223 -27
  367. 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
  368. package/package.json +4 -3
  369. package/dist/q2-tecton-elements/p-072bda73.entry.js +0 -2
  370. package/dist/q2-tecton-elements/p-072bda73.entry.js.map +0 -1
  371. package/dist/q2-tecton-elements/p-145849d0.entry.js.map +0 -1
  372. package/dist/q2-tecton-elements/p-2812f9d2.entry.js.map +0 -1
  373. package/dist/q2-tecton-elements/p-52132d80.entry.js.map +0 -1
  374. package/dist/q2-tecton-elements/p-5843f6c8.entry.js.map +0 -1
  375. package/dist/q2-tecton-elements/p-69dcf12e.entry.js.map +0 -1
  376. package/dist/q2-tecton-elements/p-72b4ecc6.entry.js.map +0 -1
  377. package/dist/q2-tecton-elements/p-85dc889e.entry.js.map +0 -1
  378. package/dist/q2-tecton-elements/p-8f8d5362.entry.js.map +0 -1
  379. package/dist/q2-tecton-elements/p-9220365b.entry.js.map +0 -1
  380. package/dist/q2-tecton-elements/p-a4017e55.entry.js +0 -2
  381. package/dist/q2-tecton-elements/p-a4017e55.entry.js.map +0 -1
  382. package/dist/q2-tecton-elements/p-af98db79.entry.js +0 -2
  383. package/dist/q2-tecton-elements/p-af98db79.entry.js.map +0 -1
  384. package/dist/q2-tecton-elements/p-b83568e7.entry.js.map +0 -1
  385. package/dist/q2-tecton-elements/p-c0334e63.entry.js +0 -2
  386. package/dist/q2-tecton-elements/p-c0334e63.entry.js.map +0 -1
  387. package/dist/q2-tecton-elements/p-c057134f.entry.js.map +0 -1
  388. package/dist/q2-tecton-elements/p-db3bbfb8.entry.js.map +0 -1
  389. package/dist/q2-tecton-elements/p-e4dadcd7.entry.js.map +0 -1
  390. package/dist/q2-tecton-elements/p-e98d9cf2.entry.js.map +0 -1
  391. package/dist/q2-tecton-elements/p-f198f77b.entry.js.map +0 -1
  392. /package/dist/q2-tecton-elements/{p-311f37e2.entry.js.map → p-15c69543.entry.js.map} +0 -0
  393. /package/dist/q2-tecton-elements/{p-0cade28b.entry.js.map → p-36bff57a.entry.js.map} +0 -0
  394. /package/dist/q2-tecton-elements/{p-059ea7c9.entry.js.map → p-81e36fcd.entry.js.map} +0 -0
  395. /package/dist/q2-tecton-elements/{p-15179d55.entry.js.map → p-aa96f160.entry.js.map} +0 -0
  396. /package/dist/q2-tecton-elements/{p-81b917a5.entry.js.map → p-cc7ba0cb.entry.js.map} +0 -0
  397. /package/dist/q2-tecton-elements/{p-107f07f2.entry.js.map → p-ce009987.entry.js.map} +0 -0
  398. /package/dist/q2-tecton-elements/{p-959f47ef.entry.js.map → p-de7352f5.entry.js.map} +0 -0
  399. /package/dist/q2-tecton-elements/{p-6ae87415.entry.js.map → p-ef2e2991.entry.js.map} +0 -0
@@ -177,6 +177,63 @@ p {
177
177
  background: var(--comp-bar-color);
178
178
  height: 100%;
179
179
  }
180
+ .bar.color-primary {
181
+ --comp-bar-color: var(--tct-card-bar-color-primary, var(--t-primary, #5446a4));
182
+ }
183
+ .bar.color-secondary {
184
+ --comp-bar-color: var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc));
185
+ }
186
+ .bar.color-tertiary {
187
+ --comp-bar-color: var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc));
188
+ }
189
+ .bar.color-info {
190
+ --comp-bar-color: var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1));
191
+ }
192
+ .bar.color-success {
193
+ --comp-bar-color: var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00));
194
+ }
195
+ .bar.color-warning {
196
+ --comp-bar-color: var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500));
197
+ }
198
+ .bar.color-alert {
199
+ --comp-bar-color: var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500));
200
+ }
201
+ .bar.color-accent-1 {
202
+ --comp-bar-color: var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252));
203
+ }
204
+ .bar.color-accent-2 {
205
+ --comp-bar-color: var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952));
206
+ }
207
+ .bar.color-accent-3 {
208
+ --comp-bar-color: var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052));
209
+ }
210
+ .bar.color-accent-4 {
211
+ --comp-bar-color: var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052));
212
+ }
213
+ .bar.color-accent-5 {
214
+ --comp-bar-color: var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052));
215
+ }
216
+ .bar.color-accent-6 {
217
+ --comp-bar-color: var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099));
218
+ }
219
+ .bar.color-accent-7 {
220
+ --comp-bar-color: var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0));
221
+ }
222
+ .bar.color-accent-8 {
223
+ --comp-bar-color: var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0));
224
+ }
225
+ .bar.color-accent-9 {
226
+ --comp-bar-color: var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0));
227
+ }
228
+ .bar.color-accent-10 {
229
+ --comp-bar-color: var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0));
230
+ }
231
+ .bar.color-accent-11 {
232
+ --comp-bar-color: var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0));
233
+ }
234
+ .bar.color-accent-12 {
235
+ --comp-bar-color: var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299));
236
+ }
180
237
 
181
238
  .touch-indicator {
182
239
  align-self: center;
@@ -8,6 +8,9 @@ export class Q2Carousel {
8
8
  // COMPUTED //
9
9
  this.guid = createGuid();
10
10
  // METHODS //
11
+ this.onMutationObserved = () => {
12
+ this.organizePanes();
13
+ };
11
14
  this.setCarouselWrapperWidth = () => {
12
15
  if (this.insufficientPanes)
13
16
  return;
@@ -24,6 +27,8 @@ export class Q2Carousel {
24
27
  this.autoPlayInProgress = this.autoPlay;
25
28
  this.swiper = new Swiper(carouselWrapper, carouselOptions);
26
29
  (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slideTo(this.realIndex);
30
+ if (this.autoPlayInProgress)
31
+ this.swiper.autoplay.start();
27
32
  };
28
33
  this.tearDownCarousel = () => {
29
34
  this.swiper.destroy();
@@ -35,6 +40,7 @@ export class Q2Carousel {
35
40
  pane.siblingCount = this.paneCollection.length;
36
41
  pane.isActivePane = index === this.activePaneIndex;
37
42
  });
43
+ this.currentPaneCount = this.paneCollection.length;
38
44
  };
39
45
  this.handleAutoPlayPause = () => {
40
46
  const { swiper: { autoplay }, } = this;
@@ -170,8 +176,10 @@ export class Q2Carousel {
170
176
  activeIndexChange: swiper => {
171
177
  this.activePaneIndex = swiper.activeIndex;
172
178
  this.organizePanes();
173
- const isPaginationFocused = document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
174
- const isCarouselFocused = document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
179
+ const isPaginationFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
180
+ const isCarouselFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
181
+ const isFocused = isPaginationFocused || isCarouselFocused;
182
+ this.handleAriaLive(isFocused);
175
183
  if (isPaginationFocused) {
176
184
  this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });
177
185
  }
@@ -189,6 +197,8 @@ export class Q2Carousel {
189
197
  this.autoPlayInProgress = false;
190
198
  this.compactMode = false;
191
199
  this.carouselWrapperWidth = 0;
200
+ this.ariaLiveValue = 'polite';
201
+ this.currentPaneCount = this.paneCount;
192
202
  }
193
203
  ariaLabelObserver() {
194
204
  handleAriaLabel(this);
@@ -248,6 +258,14 @@ export class Q2Carousel {
248
258
  return;
249
259
  activePane.focus({ preventScroll: true });
250
260
  }
261
+ handleAriaLive(activeAndFocused) {
262
+ if (this.autoPlayInProgress && !activeAndFocused) {
263
+ this.ariaLiveValue = 'off';
264
+ }
265
+ else {
266
+ this.ariaLiveValue = 'polite';
267
+ }
268
+ }
251
269
  // LIFECYCLES //
252
270
  componentWillLoad() {
253
271
  handleAriaLabel(this);
@@ -259,9 +277,17 @@ export class Q2Carousel {
259
277
  if (this.carouselWrapper && !!this.paneArray.length) {
260
278
  this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);
261
279
  }
280
+ const observer = new MutationObserver(this.onMutationObserved);
281
+ observer.observe(this.hostElement, { childList: true });
282
+ this.mutationObserver = observer;
283
+ this.onMutationObserved();
262
284
  overrideFocus(this.hostElement);
263
285
  }
264
286
  disconnectedCallback() {
287
+ if (this.mutationObserver) {
288
+ this.mutationObserver.disconnect();
289
+ this.mutationObserver = null;
290
+ }
265
291
  if (!!this.swiper) {
266
292
  this.tearDownCarousel();
267
293
  }
@@ -278,7 +304,7 @@ export class Q2Carousel {
278
304
  let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];
279
305
  if (this.showNavigationArrows)
280
306
  paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];
281
- 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)))))));
307
+ 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)))))));
282
308
  }
283
309
  static get is() { return "q2-carousel"; }
284
310
  static get originalStyleUrls() {
@@ -432,7 +458,9 @@ export class Q2Carousel {
432
458
  "applyPaginationFocus": {},
433
459
  "autoPlayInProgress": {},
434
460
  "compactMode": {},
435
- "carouselWrapperWidth": {}
461
+ "carouselWrapperWidth": {},
462
+ "ariaLiveValue": {},
463
+ "currentPaneCount": {}
436
464
  };
437
465
  }
438
466
  static get events() {
@@ -444,7 +472,7 @@ export class Q2Carousel {
444
472
  "composed": true,
445
473
  "docs": {
446
474
  "tags": [],
447
- "text": ""
475
+ "text": "Emitted when the carousel pane changes."
448
476
  },
449
477
  "complexType": {
450
478
  "original": "{ index: number }",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Watch,\n State,\n Fragment,\n Element,\n Host,\n h,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport Swiper, { SwiperOptions, Autoplay } from 'swiper';\nimport { createGuid, loc, handleAriaLabel, overrideFocus, isEventFromElement } from 'src/utils';\n\nconst carouselBreakpoint = 500; /* width in px of this host element where the layout starts to get unruly */\n\n@Component({\n tag: 'q2-carousel',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n private swiper?: Swiper = null;\n\n @Prop({ reflect: true }) autoPlay: boolean = false;\n @Prop({ reflect: true }) fullWidthPanes: boolean = false;\n @Prop({ reflect: true }) hidePagination: boolean = false;\n @Prop({ reflect: true }) showNavigationArrows: boolean = false;\n @Prop({ reflect: true }) label: string = 'tecton.element.carousel.ariaLabel';\n @Prop({ reflect: true, mutable: true }) index: number = 1;\n\n /** @deprecated */\n @Prop({ reflect: true }) ariaLabel: string;\n\n @State() universalCarouselOptions: SwiperOptions = {\n centeredSlides: true,\n focusableElements: 'q2-btn, a, input, select, textarea, button, video, label, option',\n autoplay: this.autoPlay,\n modules: [Autoplay],\n on: {\n slideChange: () => {\n this.handleSlideChange(this.swiper?.activeIndex ?? 0); // lazy-load causing this.swiper is null only on ios safari\n },\n activeIndexChange: swiper => {\n this.activePaneIndex = swiper.activeIndex;\n this.organizePanes();\n const isPaginationFocused = document.activeElement.closest(\n `#q2-carousel-${this.guid} .q2-carousel-page-indicator`\n );\n const isCarouselFocused = document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);\n\n if (isPaginationFocused) {\n this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });\n } else if (isCarouselFocused)\n (swiper.slides[swiper.activeIndex] as HTMLElement).focus({\n preventScroll: true,\n });\n },\n },\n };\n\n @State() fullWidthDisplayOptions: SwiperOptions = {\n slidesPerView: 1,\n spaceBetween: 100,\n ...this.universalCarouselOptions,\n };\n @State() activePaneIndex: number = this.realIndex;\n @State() applyFocus: boolean = false;\n @State() applyPaginationFocus: boolean = false;\n @State() autoPlayInProgress: boolean = false;\n @State() compactMode: boolean = false;\n @State() carouselWrapperWidth: number = 0;\n @Element() hostElement: HTMLElement;\n\n carouselWrapper: HTMLElement;\n carouselPaneWrapperElement: HTMLElement;\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('carouselWrapperWidth')\n carouselWrapperWidthChanged() {\n this.compactMode = this.carouselWrapperWidth < carouselBreakpoint;\n }\n\n @Watch('index')\n indexChanged() {\n this.swiper?.slideTo(this.realIndex);\n }\n\n @Watch('fullWidthPanes')\n @Watch('compactMode')\n @Watch('autoPlay')\n revampCarousel() {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n\n // COMPUTED //\n guid = createGuid();\n\n get peekContentDisplayOptions(): SwiperOptions {\n return {\n slidesPerView: 2,\n spaceBetween: this.compactMode ? 0 : -10,\n centerInsufficientSlides: false,\n ...this.universalCarouselOptions,\n };\n }\n\n get realIndex(): number {\n const indexNum = Number(this.index);\n return indexNum > 0 ? indexNum - 1 : 0;\n }\n\n get paginationBtns(): NodeListOf<HTMLButtonElement> {\n return this.hostElement.querySelectorAll('.q2-carousel-page-indicator');\n }\n\n get activeCarouselOptions() {\n return this.fullWidthPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;\n }\n\n get dynamicPaginationDots() {\n return this.paneCount && this.paneCount > 5;\n }\n\n get paneCollection() {\n return this.hostElement.querySelectorAll('q2-carousel-pane');\n }\n\n get paneArray() {\n return Array.from(this.paneCollection);\n }\n\n get paneCount() {\n return this.paneArray && this.paneArray.length > 0 ? this.paneArray.length : 0;\n }\n\n get insufficientPanes() {\n return this.paneCount < 1;\n }\n\n // HOST ELEMENT EVENTS //\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.index = event.detail.index;\n }\n }\n\n @Listen('clickCarouselPane')\n carouselPaneClicked(event) {\n this.swiper?.slideTo(event.detail.paneIndex);\n (this.swiper?.slides[event.detail.paneIndex] as HTMLElement).focus({ preventScroll: true });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n const activePane = this.swiper.slides[this.swiper.activeIndex];\n if (!isEventFromElement(event, this.hostElement) || !activePane) return;\n (activePane as HTMLElement).focus({ preventScroll: true });\n }\n\n // EVENTS //\n\n @Event() change: EventEmitter<{ index: number }>;\n\n // METHODS //\n setCarouselWrapperWidth = () => {\n if (this.insufficientPanes) return;\n this.carouselWrapperWidth = this.carouselWrapper.clientWidth;\n };\n\n handleSlideChange = (newIndex: number) => {\n this.change.emit({ index: newIndex + 1 });\n };\n\n configureCarousel = (carouselWrapper, carouselOptions) => {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n this.autoPlayInProgress = this.autoPlay;\n\n this.swiper = new Swiper(carouselWrapper, carouselOptions);\n this.swiper?.slideTo(this.realIndex);\n };\n\n tearDownCarousel = () => {\n this.swiper.destroy();\n this.swiper = null;\n };\n\n organizePanes = () => {\n this.paneCollection.forEach((pane, index) => {\n pane.index = index;\n pane.siblingCount = this.paneCollection.length;\n pane.isActivePane = index === this.activePaneIndex;\n });\n };\n\n handleAutoPlayPause = () => {\n const {\n swiper: { autoplay },\n } = this;\n if (!autoplay) return;\n\n if (autoplay?.running) autoplay.stop();\n else autoplay.start();\n this.autoPlayInProgress = autoplay.running;\n };\n\n handleCarouselNavigationSelection = (newIndex: number, applyFocus: boolean) => {\n if (applyFocus) {\n this.applyFocus = true;\n }\n\n this.handleSlideChange(newIndex);\n };\n\n onPaginationKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n onWrapperKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n // LIFECYCLES //\n\n componentWillLoad() {\n handleAriaLabel(this);\n this.organizePanes();\n window.addEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n componentDidLoad() {\n this.setCarouselWrapperWidth();\n if (this.carouselWrapper && !!this.paneArray.length) {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n\n window.removeEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n render() {\n let carouselContainerClasses = [\n 'q2-carousel-swiper-container',\n 'swiper-container',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) carouselContainerClasses = [...carouselContainerClasses, 'compact'];\n\n let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];\n if (this.showNavigationArrows) paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];\n\n return (\n <Host\n id={`q2-carousel-${this.guid}`}\n class=\"q2-carousel-instance\"\n >\n {this.insufficientPanes ? (\n this.insufficientPanesDisplay()\n ) : (\n <Fragment>\n {this.paneCount > 1 && (\n <div class={paginationWrapperClasses.join(' ')}>\n {this.showNavigationArrows && this.prevNavBtn()}\n\n <div class=\"q2-carousel-control-center-tray\">\n {!this.hidePagination && this.paginationArea()}\n\n {this.autoPlay && this.autoPlayBtn()}\n </div>\n\n {this.showNavigationArrows && this.nextNavBtn()}\n </div>\n )}\n\n <section\n class={carouselContainerClasses.join(' ')}\n ref={el => (this.carouselWrapper = el)}\n aria-roledescription=\"carousel\"\n aria-label={loc(this.label)}\n >\n <div\n class=\"q2-carousel-swiper-wrapper swiper-wrapper\"\n ref={el => (this.carouselPaneWrapperElement = el)}\n aria-live={this.autoPlayInProgress ? 'off' : 'polite'}\n onKeyDown={this.onWrapperKeyDown}\n >\n <slot></slot>\n </div>\n </section>\n </Fragment>\n )}\n </Host>\n );\n }\n\n paginationArea = () => {\n let paginationContainerClasses = ['q2-carousel-pagination'];\n if (this.dynamicPaginationDots) paginationContainerClasses = [...paginationContainerClasses, 'dynamic'];\n\n return (\n <div\n class={paginationContainerClasses.join(' ')}\n role=\"tablist\"\n aria-label={loc('tecton.element.carousel.tabWrapperLabel')}\n >\n {this.paneArray.map(pane => {\n let btnClasses = ['q2-carousel-page-indicator', `q2-carousel-page-indicator-${pane.index}`];\n if (pane.isActivePane) btnClasses = [...btnClasses, 'active-page'];\n if (this.dynamicPaginationDots) btnClasses = [...btnClasses, 'dynamic'];\n\n const withinOneOfActive =\n pane.index === this.activePaneIndex + 1 || pane.index === this.activePaneIndex - 1;\n if (withinOneOfActive) btnClasses = [...btnClasses, 'active-adjacent'];\n\n const withinTwoOfActive =\n pane.index === this.activePaneIndex + 2 || pane.index === this.activePaneIndex - 2;\n if (withinTwoOfActive) btnClasses = [...btnClasses, 'active-adjacent-adjacent'];\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n tabIndex={pane.isActivePane ? undefined : -1}\n aria-selected={pane.isActivePane ? 'true' : 'false'}\n class={btnClasses.join(' ')}\n onClick={() => this.handleCarouselNavigationSelection(pane.index, true)}\n onKeyDown={event => this.onPaginationKeyDown(event)}\n aria-label={loc('tecton.element.carousel.itemDescription', [\n (pane.index + 1).toString(),\n this.paneCount.toString(),\n ])}\n ></button>\n );\n })}\n </div>\n );\n };\n\n autoPlayBtn = () => {\n return (\n <q2-btn\n type=\"button\"\n hide-label\n label={loc(\n this.autoPlayInProgress\n ? 'tecton.element.carousel.pausePlayLabel'\n : 'tecton.element.carousel.resumePlayLabel'\n )}\n class=\"q2-carousel-autoplay-control\"\n onClick={this.handleAutoPlayPause}\n >\n <q2-icon type={this.autoPlayInProgress ? 'pause' : 'play'} />\n </q2-btn>\n );\n };\n\n prevNavBtn = () => {\n const prevPaneAvailable = this.activePaneIndex > 0;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={prevPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-prev\"\n hide-label\n label={loc('tecton.element.carousel.previousItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex - 1, true)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n );\n };\n\n nextNavBtn = () => {\n const nextPaneAvailable = this.activePaneIndex < this.paneCount - 1;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={nextPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-next\"\n hide-label\n label={loc('tecton.element.carousel.nextItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex + 1, true)}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n </div>\n );\n };\n\n insufficientPanesDisplay = () => {\n let insufficientPanesContainerClasses = [\n 'insufficient-pane-feedback',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) insufficientPanesContainerClasses = [...insufficientPanesContainerClasses, 'compact'];\n\n return (\n <div class={insufficientPanesContainerClasses.join(' ')}>\n <div class=\"insufficient-panes-icon-wrapper\">\n <q2-icon type=\"warning\" />\n </div>\n <p class=\"insufficient-panes-header\">\n <strong>{loc('tecton.element.carousel.insufficientPanesMessageHeader')}</strong>\n </p>\n <p class=\"insufficient-panes-body\">{loc('tecton.element.carousel.insufficientPanesMessageBody')}</p>\n </div>\n );\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Watch,\n State,\n Fragment,\n Element,\n Host,\n h,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport Swiper, { SwiperOptions, Autoplay } from 'swiper';\nimport { createGuid, loc, handleAriaLabel, overrideFocus, isEventFromElement } from 'src/utils';\n\nconst carouselBreakpoint = 500; /* width in px of this host element where the layout starts to get unruly */\n\n@Component({\n tag: 'q2-carousel',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n private swiper?: Swiper = null;\n\n @Prop({ reflect: true }) autoPlay: boolean = false;\n @Prop({ reflect: true }) fullWidthPanes: boolean = false;\n @Prop({ reflect: true }) hidePagination: boolean = false;\n @Prop({ reflect: true }) showNavigationArrows: boolean = false;\n @Prop({ reflect: true }) label: string = 'tecton.element.carousel.ariaLabel';\n @Prop({ reflect: true, mutable: true }) index: number = 1;\n\n /** @deprecated */\n @Prop({ reflect: true }) ariaLabel: string;\n\n @State() universalCarouselOptions: SwiperOptions = {\n centeredSlides: true,\n focusableElements: 'q2-btn, a, input, select, textarea, button, video, label, option',\n autoplay: this.autoPlay,\n modules: [Autoplay],\n on: {\n slideChange: () => {\n this.handleSlideChange(this.swiper?.activeIndex ?? 0); // lazy-load causing this.swiper is null only on ios safari\n },\n activeIndexChange: swiper => {\n this.activePaneIndex = swiper.activeIndex;\n this.organizePanes();\n const isPaginationFocused = !!document.activeElement.closest(\n `#q2-carousel-${this.guid} .q2-carousel-page-indicator`\n );\n const isCarouselFocused = !!document.activeElement.closest(\n `#q2-carousel-${this.guid} q2-carousel-pane`\n );\n const isFocused = isPaginationFocused || isCarouselFocused;\n this.handleAriaLive(isFocused);\n\n if (isPaginationFocused) {\n this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });\n } else if (isCarouselFocused)\n (swiper.slides[swiper.activeIndex] as HTMLElement).focus({\n preventScroll: true,\n });\n },\n },\n };\n\n @State() fullWidthDisplayOptions: SwiperOptions = {\n slidesPerView: 1,\n spaceBetween: 100,\n ...this.universalCarouselOptions,\n };\n @State() activePaneIndex: number = this.realIndex;\n @State() applyFocus: boolean = false;\n @State() applyPaginationFocus: boolean = false;\n @State() autoPlayInProgress: boolean = false;\n @State() compactMode: boolean = false;\n @State() carouselWrapperWidth: number = 0;\n @State() ariaLiveValue: 'polite' | 'off' = 'polite';\n @State() currentPaneCount: number = this.paneCount;\n @Element() hostElement: HTMLElement;\n\n carouselWrapper: HTMLElement;\n carouselPaneWrapperElement: HTMLElement;\n mutationObserver: MutationObserver;\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('carouselWrapperWidth')\n carouselWrapperWidthChanged() {\n this.compactMode = this.carouselWrapperWidth < carouselBreakpoint;\n }\n\n @Watch('index')\n indexChanged() {\n this.swiper?.slideTo(this.realIndex);\n }\n\n @Watch('fullWidthPanes')\n @Watch('compactMode')\n @Watch('autoPlay')\n revampCarousel() {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n\n // COMPUTED //\n guid = createGuid();\n\n get peekContentDisplayOptions(): SwiperOptions {\n return {\n slidesPerView: 2,\n spaceBetween: this.compactMode ? 0 : -10,\n centerInsufficientSlides: false,\n ...this.universalCarouselOptions,\n };\n }\n\n get realIndex(): number {\n const indexNum = Number(this.index);\n return indexNum > 0 ? indexNum - 1 : 0;\n }\n\n get paginationBtns(): NodeListOf<HTMLButtonElement> {\n return this.hostElement.querySelectorAll('.q2-carousel-page-indicator');\n }\n\n get activeCarouselOptions() {\n return this.fullWidthPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;\n }\n\n get dynamicPaginationDots() {\n return this.paneCount && this.paneCount > 5;\n }\n\n get paneCollection() {\n return this.hostElement.querySelectorAll('q2-carousel-pane');\n }\n\n get paneArray() {\n return Array.from(this.paneCollection);\n }\n\n get paneCount() {\n return this.paneArray && this.paneArray.length > 0 ? this.paneArray.length : 0;\n }\n\n get insufficientPanes() {\n return this.paneCount < 1;\n }\n\n // HOST ELEMENT EVENTS //\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.index = event.detail.index;\n }\n }\n\n @Listen('clickCarouselPane')\n carouselPaneClicked(event) {\n this.swiper?.slideTo(event.detail.paneIndex);\n (this.swiper?.slides[event.detail.paneIndex] as HTMLElement).focus({ preventScroll: true });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n const activePane = this.swiper.slides[this.swiper.activeIndex];\n if (!isEventFromElement(event, this.hostElement) || !activePane) return;\n (activePane as HTMLElement).focus({ preventScroll: true });\n }\n\n // EVENTS //\n\n /**\n * Emitted when the carousel pane changes.\n */\n @Event() change: EventEmitter<{ index: number }>;\n\n // METHODS //\n onMutationObserved = () => {\n this.organizePanes();\n };\n\n setCarouselWrapperWidth = () => {\n if (this.insufficientPanes) return;\n this.carouselWrapperWidth = this.carouselWrapper.clientWidth;\n };\n\n handleSlideChange = (newIndex: number) => {\n this.change.emit({ index: newIndex + 1 });\n };\n\n configureCarousel = (carouselWrapper, carouselOptions) => {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n this.autoPlayInProgress = this.autoPlay;\n\n this.swiper = new Swiper(carouselWrapper, carouselOptions);\n this.swiper?.slideTo(this.realIndex);\n if (this.autoPlayInProgress) this.swiper.autoplay.start();\n };\n\n tearDownCarousel = () => {\n this.swiper.destroy();\n this.swiper = null;\n };\n\n organizePanes = () => {\n this.paneCollection.forEach((pane, index) => {\n pane.index = index;\n pane.siblingCount = this.paneCollection.length;\n pane.isActivePane = index === this.activePaneIndex;\n });\n this.currentPaneCount = this.paneCollection.length;\n };\n\n handleAutoPlayPause = () => {\n const {\n swiper: { autoplay },\n } = this;\n if (!autoplay) return;\n\n if (autoplay?.running) autoplay.stop();\n else autoplay.start();\n this.autoPlayInProgress = autoplay.running;\n };\n\n handleCarouselNavigationSelection = (newIndex: number, applyFocus: boolean) => {\n if (applyFocus) {\n this.applyFocus = true;\n }\n\n this.handleSlideChange(newIndex);\n };\n\n handleAriaLive(activeAndFocused: boolean) {\n if (this.autoPlayInProgress && !activeAndFocused) {\n this.ariaLiveValue = 'off';\n } else {\n this.ariaLiveValue = 'polite';\n }\n }\n\n onPaginationKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n onWrapperKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n // LIFECYCLES //\n\n componentWillLoad() {\n handleAriaLabel(this);\n this.organizePanes();\n window.addEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n componentDidLoad() {\n this.setCarouselWrapperWidth();\n if (this.carouselWrapper && !!this.paneArray.length) {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n\n window.removeEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n render() {\n let carouselContainerClasses = [\n 'q2-carousel-swiper-container',\n 'swiper-container',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) carouselContainerClasses = [...carouselContainerClasses, 'compact'];\n\n let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];\n if (this.showNavigationArrows) paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];\n\n return (\n <Host\n id={`q2-carousel-${this.guid}`}\n class=\"q2-carousel-instance\"\n >\n {this.insufficientPanes ? (\n this.insufficientPanesDisplay()\n ) : (\n <Fragment>\n {this.paneCount > 1 && (\n <div class={paginationWrapperClasses.join(' ')}>\n {this.showNavigationArrows && this.prevNavBtn()}\n\n <div class=\"q2-carousel-control-center-tray\">\n {!this.hidePagination && this.paginationArea()}\n\n {this.autoPlay && this.autoPlayBtn()}\n </div>\n\n {this.showNavigationArrows && this.nextNavBtn()}\n </div>\n )}\n\n <section\n class={carouselContainerClasses.join(' ')}\n ref={el => (this.carouselWrapper = el)}\n aria-roledescription=\"carousel\"\n aria-label={loc(this.label)}\n >\n <div\n class=\"q2-carousel-swiper-wrapper swiper-wrapper\"\n ref={el => (this.carouselPaneWrapperElement = el)}\n aria-live={this.ariaLiveValue}\n onKeyDown={this.onWrapperKeyDown}\n >\n <slot></slot>\n </div>\n </section>\n </Fragment>\n )}\n </Host>\n );\n }\n\n paginationArea = () => {\n let paginationContainerClasses = ['q2-carousel-pagination'];\n if (this.dynamicPaginationDots) paginationContainerClasses = [...paginationContainerClasses, 'dynamic'];\n\n return (\n <div\n class={paginationContainerClasses.join(' ')}\n role=\"tablist\"\n aria-label={loc('tecton.element.carousel.tabWrapperLabel')}\n >\n {this.paneArray.map(pane => {\n let btnClasses = ['q2-carousel-page-indicator', `q2-carousel-page-indicator-${pane.index}`];\n if (pane.isActivePane) btnClasses = [...btnClasses, 'active-page'];\n if (this.dynamicPaginationDots) btnClasses = [...btnClasses, 'dynamic'];\n\n const withinOneOfActive =\n pane.index === this.activePaneIndex + 1 || pane.index === this.activePaneIndex - 1;\n if (withinOneOfActive) btnClasses = [...btnClasses, 'active-adjacent'];\n\n const withinTwoOfActive =\n pane.index === this.activePaneIndex + 2 || pane.index === this.activePaneIndex - 2;\n if (withinTwoOfActive) btnClasses = [...btnClasses, 'active-adjacent-adjacent'];\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n tabIndex={pane.isActivePane ? undefined : -1}\n aria-selected={pane.isActivePane ? 'true' : 'false'}\n class={btnClasses.join(' ')}\n onClick={() => this.handleCarouselNavigationSelection(pane.index, true)}\n onKeyDown={event => this.onPaginationKeyDown(event)}\n aria-label={loc('tecton.element.carousel.itemDescription', [\n (pane.index + 1).toString(),\n this.paneCount.toString(),\n ])}\n ></button>\n );\n })}\n </div>\n );\n };\n\n autoPlayBtn = () => {\n return (\n <q2-btn\n type=\"button\"\n hide-label\n label={loc(\n this.autoPlayInProgress\n ? 'tecton.element.carousel.pausePlayLabel'\n : 'tecton.element.carousel.resumePlayLabel'\n )}\n class=\"q2-carousel-autoplay-control\"\n onClick={this.handleAutoPlayPause}\n >\n <q2-icon type={this.autoPlayInProgress ? 'pause' : 'play'} />\n </q2-btn>\n );\n };\n\n prevNavBtn = () => {\n const prevPaneAvailable = this.activePaneIndex > 0;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={prevPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-prev\"\n hide-label\n label={loc('tecton.element.carousel.previousItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex - 1, true)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n );\n };\n\n nextNavBtn = () => {\n const nextPaneAvailable = this.activePaneIndex < this.paneCount - 1;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={nextPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-next\"\n hide-label\n label={loc('tecton.element.carousel.nextItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex + 1, true)}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n </div>\n );\n };\n\n insufficientPanesDisplay = () => {\n let insufficientPanesContainerClasses = [\n 'insufficient-pane-feedback',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) insufficientPanesContainerClasses = [...insufficientPanesContainerClasses, 'compact'];\n\n return (\n <div class={insufficientPanesContainerClasses.join(' ')}>\n <div class=\"insufficient-panes-icon-wrapper\">\n <q2-icon type=\"warning\" />\n </div>\n <p class=\"insufficient-panes-header\">\n <strong>{loc('tecton.element.carousel.insufficientPanesMessageHeader')}</strong>\n </p>\n <p class=\"insufficient-panes-body\">{loc('tecton.element.carousel.insufficientPanesMessageBody')}</p>\n </div>\n );\n };\n}\n"]}
@@ -160,12 +160,16 @@ export class Q2Carousel {
160
160
  "composed": true,
161
161
  "docs": {
162
162
  "tags": [],
163
- "text": ""
163
+ "text": "Emitted when the pane is clicked."
164
164
  },
165
165
  "complexType": {
166
- "original": "any",
167
- "resolved": "any",
168
- "references": {}
166
+ "original": "{ paneIndex: number; pane: HTMLElement }",
167
+ "resolved": "{ paneIndex: number; pane: HTMLElement; }",
168
+ "references": {
169
+ "HTMLElement": {
170
+ "location": "global"
171
+ }
172
+ }
169
173
  }
170
174
  }];
171
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/index.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/index.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -568,12 +568,17 @@ export class Q2ChartArea {
568
568
  "composed": true,
569
569
  "docs": {
570
570
  "tags": [],
571
- "text": ""
571
+ "text": "Emitted when a data point is clicked."
572
572
  },
573
573
  "complexType": {
574
- "original": "any",
575
- "resolved": "any",
576
- "references": {}
574
+ "original": "{\n index: number;\n data: IChartData;\n }",
575
+ "resolved": "{ index: number; data: IChartData; }",
576
+ "references": {
577
+ "IChartData": {
578
+ "location": "import",
579
+ "path": "q2-tecton-common/lib/types/element-types"
580
+ }
581
+ }
577
582
  }
578
583
  }];
579
584
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-area/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Watch, EventEmitter, Event } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { LineChart, LineSeriesOption } from 'echarts/charts';\nimport { UniversalTransition } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, LineChart, CanvasRenderer, UniversalTransition, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | LineSeriesOption | TitleComponentOption>;\n\n@Component({\n tag: 'q2-chart-area',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartArea implements ComponentInterface {\n @Prop() data: IChartData[] = [];\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) chartSubTitle: string;\n @Prop({ reflect: true }) lineColor: string;\n @Prop({ reflect: true }) pointerLineColor: string;\n @Prop({ reflect: true }) pointerLineStyle: 'solid' | 'dashed';\n @Prop({ reflect: true }) areaColor: string;\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n @Prop({ reflect: true }) dataNamesWidth: number;\n @Prop({ reflect: true }) format: 'currency' | 'default';\n @Prop({ reflect: true }) formatModifier: string;\n @Prop({ reflect: true }) hideNameAxisLabels: boolean = false;\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n @Prop({ reflect: true }) showChartName: boolean = false;\n @Prop({ reflect: true }) showDatapointLabels: boolean = false;\n @Prop({ reflect: true }) showGradient: boolean = false;\n @Prop({ reflect: true }) gridLines: 'horizontal' | 'vertical' | 'off';\n\n @Element() hostElement: HTMLElement;\n\n @Event() change: EventEmitter;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeEventListener);\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getAreaFill() {\n if (this.showGradient) {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: this.getColor(this.areaColor),\n },\n {\n offset: 1,\n color: 'white',\n },\n ],\n global: false,\n };\n }\n return this.getColor(this.areaColor);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n return primaryColor;\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n splitLine: {\n show: this.gridLines === 'horizontal' || !this.gridLines,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n boundaryGap: false,\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n show: !this.hideNameAxisLabels,\n },\n axisLine: {\n show: !this.hideNameAxisLabels,\n },\n axisTick: {\n show: !this.hideNameAxisLabels,\n },\n axisPointer: {\n show: true,\n type: 'line',\n label: {\n show: false,\n formatter: (params: any) => {\n const dataIndex = params.seriesData[0].dataIndex;\n this.change.emit({\n index: dataIndex,\n data: this.data[dataIndex],\n });\n },\n },\n lineStyle: {\n color: this.getColor(this.pointerLineColor || 'var(--t-gray-10)'),\n type: this.pointerLineStyle || 'solid',\n width: 1.5,\n },\n z: 1,\n },\n splitLine: {\n show: this.gridLines === 'vertical',\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: categoryAxis,\n yAxis: valueAxis,\n series: [\n {\n data: this.data.map(datum => datum.value || 0),\n id: 'area',\n type: 'line',\n lineStyle: {\n color: this.getColor(this.lineColor),\n },\n itemStyle: {\n color: this.getColor(this.lineColor),\n },\n areaStyle: {\n color: this.getAreaFill(),\n },\n symbolSize: 10,\n showSymbol: false,\n label: {\n show: this.showDatapointLabels,\n position: 'right',\n formatter: (params: any) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n @Watch('data')\n @Watch('alignChartName')\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('lineColor')\n @Watch('pointerLineColor')\n @Watch('pointerLineStyle')\n @Watch('areaColor')\n @Watch('dataNamesOverflow')\n @Watch('dataNamesWidth')\n @Watch('format')\n @Watch('formatModifier')\n @Watch('hideNameAxisLabels')\n @Watch('hideValueAxisLabels')\n @Watch('offsetDataNames')\n @Watch('offsetDataValues')\n @Watch('showChartName')\n @Watch('showDatapointLabels')\n @Watch('showGradient')\n @Watch('gridLines')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"areaChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-area/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Watch, EventEmitter, Event } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { LineChart, LineSeriesOption } from 'echarts/charts';\nimport { UniversalTransition } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, LineChart, CanvasRenderer, UniversalTransition, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | LineSeriesOption | TitleComponentOption>;\n\n@Component({\n tag: 'q2-chart-area',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartArea implements ComponentInterface {\n @Prop() data: IChartData[] = [];\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) chartSubTitle: string;\n @Prop({ reflect: true }) lineColor: string;\n @Prop({ reflect: true }) pointerLineColor: string;\n @Prop({ reflect: true }) pointerLineStyle: 'solid' | 'dashed';\n @Prop({ reflect: true }) areaColor: string;\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n @Prop({ reflect: true }) dataNamesWidth: number;\n @Prop({ reflect: true }) format: 'currency' | 'default';\n @Prop({ reflect: true }) formatModifier: string;\n @Prop({ reflect: true }) hideNameAxisLabels: boolean = false;\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n @Prop({ reflect: true }) showChartName: boolean = false;\n @Prop({ reflect: true }) showDatapointLabels: boolean = false;\n @Prop({ reflect: true }) showGradient: boolean = false;\n @Prop({ reflect: true }) gridLines: 'horizontal' | 'vertical' | 'off';\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when a data point is clicked.\n */\n @Event() change: EventEmitter<{\n index: number;\n data: IChartData;\n }>;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeEventListener);\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getAreaFill() {\n if (this.showGradient) {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: this.getColor(this.areaColor),\n },\n {\n offset: 1,\n color: 'white',\n },\n ],\n global: false,\n };\n }\n return this.getColor(this.areaColor);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n return primaryColor;\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n splitLine: {\n show: this.gridLines === 'horizontal' || !this.gridLines,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n boundaryGap: false,\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n show: !this.hideNameAxisLabels,\n },\n axisLine: {\n show: !this.hideNameAxisLabels,\n },\n axisTick: {\n show: !this.hideNameAxisLabels,\n },\n axisPointer: {\n show: true,\n type: 'line',\n label: {\n show: false,\n formatter: (params: any) => {\n const dataIndex = params.seriesData[0].dataIndex;\n this.change.emit({\n index: dataIndex,\n data: this.data[dataIndex],\n });\n },\n },\n lineStyle: {\n color: this.getColor(this.pointerLineColor || 'var(--t-gray-10)'),\n type: this.pointerLineStyle || 'solid',\n width: 1.5,\n },\n z: 1,\n },\n splitLine: {\n show: this.gridLines === 'vertical',\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: categoryAxis,\n yAxis: valueAxis,\n series: [\n {\n data: this.data.map(datum => datum.value || 0),\n id: 'area',\n type: 'line',\n lineStyle: {\n color: this.getColor(this.lineColor),\n },\n itemStyle: {\n color: this.getColor(this.lineColor),\n },\n areaStyle: {\n color: this.getAreaFill(),\n },\n symbolSize: 10,\n showSymbol: false,\n label: {\n show: this.showDatapointLabels,\n position: 'right',\n formatter: (params: any) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n @Watch('data')\n @Watch('alignChartName')\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('lineColor')\n @Watch('pointerLineColor')\n @Watch('pointerLineStyle')\n @Watch('areaColor')\n @Watch('dataNamesOverflow')\n @Watch('dataNamesWidth')\n @Watch('format')\n @Watch('formatModifier')\n @Watch('hideNameAxisLabels')\n @Watch('hideValueAxisLabels')\n @Watch('offsetDataNames')\n @Watch('offsetDataValues')\n @Watch('showChartName')\n @Watch('showDatapointLabels')\n @Watch('showGradient')\n @Watch('gridLines')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"areaChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"]}
@@ -178,6 +178,9 @@ export class Q2ChartDonut {
178
178
  return acc;
179
179
  }, []);
180
180
  }
181
+ getMinSliceSizeAsAngle() {
182
+ return (parseFloat(this.minSliceSize) / 100) * 360;
183
+ }
181
184
  setupChartEvents(chart) {
182
185
  chart.on('mouseover', (params) => {
183
186
  this.hoveredId = params.data.id;
@@ -201,18 +204,6 @@ export class Q2ChartDonut {
201
204
  }, 0);
202
205
  });
203
206
  }
204
- cleanData(data) {
205
- const { minSliceSize } = this;
206
- const minSize = parseFloat(minSliceSize || '2.5%') / 100;
207
- const total = data.reduce((acc, cur) => acc + cur.value, 0);
208
- const minValue = total * minSize;
209
- const newData = data.map(item => {
210
- if (item.value < minValue)
211
- return Object.assign(Object.assign({}, item), { value: minValue });
212
- return item;
213
- });
214
- return newData;
215
- }
216
207
  updateChart(chart) {
217
208
  return chart.setOption({
218
209
  tooltip: {
@@ -250,7 +241,8 @@ export class Q2ChartDonut {
250
241
  color: 'inherit',
251
242
  },
252
243
  },
253
- data: this.cleanData(this.data),
244
+ minAngle: this.getMinSliceSizeAsAngle(),
245
+ data: this.data,
254
246
  },
255
247
  ],
256
248
  });
@@ -353,6 +345,14 @@ export class Q2ChartDonut {
353
345
  dataIndex: this.getIndexById(selectedId),
354
346
  });
355
347
  }
348
+ /**
349
+ * Returns the chart instance for e2e testing.
350
+ *
351
+ * @testOnly
352
+ */
353
+ async getChartOptions() {
354
+ return this.chart.getOption();
355
+ }
356
356
  /// DOM ///
357
357
  renderCenterBlock() {
358
358
  const { icon, name, value, color } = this.centerData;
@@ -589,7 +589,7 @@ export class Q2ChartDonut {
589
589
  },
590
590
  "selectedId": {
591
591
  "type": "string",
592
- "mutable": false,
592
+ "mutable": true,
593
593
  "complexType": {
594
594
  "original": "string",
595
595
  "resolved": "string",
@@ -620,12 +620,17 @@ export class Q2ChartDonut {
620
620
  "composed": true,
621
621
  "docs": {
622
622
  "tags": [],
623
- "text": ""
623
+ "text": "Emitted when a slice is selected."
624
624
  },
625
625
  "complexType": {
626
- "original": "any",
627
- "resolved": "any",
628
- "references": {}
626
+ "original": "IDonutChartData",
627
+ "resolved": "IDonutChartData",
628
+ "references": {
629
+ "IDonutChartData": {
630
+ "location": "import",
631
+ "path": "q2-tecton-common/lib/types/element-types"
632
+ }
633
+ }
629
634
  }
630
635
  }, {
631
636
  "method": "click",
@@ -635,12 +640,17 @@ export class Q2ChartDonut {
635
640
  "composed": true,
636
641
  "docs": {
637
642
  "tags": [],
638
- "text": ""
643
+ "text": "Emitted when the center button is clicked.\n\nRequires the `isClickable` prop to be set to `true`."
639
644
  },
640
645
  "complexType": {
641
- "original": "any",
642
- "resolved": "any",
643
- "references": {}
646
+ "original": "IDonutChartData",
647
+ "resolved": "IDonutChartData",
648
+ "references": {
649
+ "IDonutChartData": {
650
+ "location": "import",
651
+ "path": "q2-tecton-common/lib/types/element-types"
652
+ }
653
+ }
644
654
  }
645
655
  }];
646
656
  }
@@ -699,6 +709,32 @@ export class Q2ChartDonut {
699
709
  "text": "Clears any selected slice.",
700
710
  "tags": []
701
711
  }
712
+ },
713
+ "getChartOptions": {
714
+ "complexType": {
715
+ "signature": "() => Promise<EChartsCoreOption>",
716
+ "parameters": [],
717
+ "references": {
718
+ "Promise": {
719
+ "location": "global"
720
+ },
721
+ "echarts": {
722
+ "location": "global"
723
+ },
724
+ "EChartsCoreOption": {
725
+ "location": "import",
726
+ "path": "echarts/types/dist/core"
727
+ }
728
+ },
729
+ "return": "Promise<ECBasicOption>"
730
+ },
731
+ "docs": {
732
+ "text": "Returns the chart instance for e2e testing.",
733
+ "tags": [{
734
+ "name": "testOnly",
735
+ "text": undefined
736
+ }]
737
+ }
702
738
  }
703
739
  };
704
740
  }