q2-tecton-elements 1.66.2 → 1.67.1

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 (694) hide show
  1. package/dist/bundle-report.json +3106 -2970
  2. package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -1
  3. package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{q2-option-list_2.cjs.entry.js → click-elsewhere_3.cjs.entry.js} +168 -20
  5. package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/{index-DyAq0y0v.js → index-YvKoRT-t.js} +61 -21
  7. package/dist/cjs/index-YvKoRT-t.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
  10. package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
  11. package/dist/cjs/q2-avatar.cjs.entry.js +33 -2
  12. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
  14. package/dist/cjs/q2-badge.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
  16. package/dist/cjs/q2-btn_2.cjs.entry.js +22 -8
  17. package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
  21. package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  24. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
  26. package/dist/cjs/q2-carousel.cjs.entry.js +67 -42
  27. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
  29. package/dist/cjs/q2-chart-area.cjs.entry.js +4 -2
  30. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-chart-area.entry.cjs.js.map +1 -1
  32. package/dist/cjs/q2-chart-bar.cjs.entry.js +4 -2
  33. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-chart-bar.entry.cjs.js.map +1 -1
  35. package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -3
  36. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
  38. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
  39. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
  41. package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -0
  42. package/dist/cjs/q2-checkbox_2.cjs.entry.js +322 -0
  43. package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -0
  44. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-data-table.cjs.entry.js +13 -16
  47. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
  49. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  54. package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
  55. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
  59. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  62. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-icon.cjs.entry.js +11 -1
  64. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  65. package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
  66. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  67. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/q2-input.entry.cjs.js.map +1 -1
  69. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  70. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  71. package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
  72. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  73. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
  74. package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
  75. package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
  76. package/dist/cjs/q2-link_2.cjs.entry.js +14 -6
  77. package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
  78. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  79. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  80. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  81. package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
  82. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  83. package/dist/cjs/q2-modal.cjs.entry.js +4 -21
  84. package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
  85. package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
  86. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  87. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  88. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  89. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  90. package/dist/cjs/q2-pagination.cjs.entry.js +12 -7
  91. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  92. package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
  93. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  94. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  95. package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
  96. package/dist/cjs/q2-radio-group.cjs.entry.js +3 -3
  97. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
  99. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  100. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  101. package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
  102. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  103. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  104. package/dist/cjs/q2-select.cjs.entry.js +22 -8
  105. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  106. package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
  107. package/dist/cjs/q2-stepper-pane.cjs.entry.js +7 -6
  108. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  109. package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
  110. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -8
  111. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  112. package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
  113. package/dist/cjs/q2-stepper.cjs.entry.js +7 -4
  114. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  115. package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
  116. package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
  117. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  118. package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
  119. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  120. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  121. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  122. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  123. package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
  124. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  125. package/dist/cjs/q2-tooltip.cjs.entry.js +33 -3
  126. package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
  127. package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
  128. package/dist/cjs/{sanitize-html-string-C2iwHNz5.js → sanitize-html-string-CW6y5624.js} +27 -17
  129. package/dist/cjs/sanitize-html-string-CW6y5624.js.map +1 -0
  130. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  131. package/dist/collection/__mocks__/echarts.js +12 -0
  132. package/dist/collection/__mocks__/echarts.js.map +1 -0
  133. package/dist/collection/collection-manifest.json +3 -3
  134. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  135. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  136. package/dist/collection/components/q2-avatar/q2-avatar.css +84 -89
  137. package/dist/collection/components/q2-avatar/q2-avatar.js +35 -1
  138. package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
  139. package/dist/collection/components/q2-btn/q2-btn.css +10 -3
  140. package/dist/collection/components/q2-btn/q2-btn.js +42 -6
  141. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  142. package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
  143. package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
  144. package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
  145. package/dist/collection/components/q2-calendar/q2-calendar.css +4 -1
  146. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  147. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  148. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  149. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  150. package/dist/collection/components/q2-carousel/q2-carousel.css +143 -13
  151. package/dist/collection/components/q2-carousel/q2-carousel.js +90 -42
  152. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  153. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +2 -11
  154. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  155. package/dist/collection/components/q2-chart-area/q2-chart-area.js +18 -16
  156. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  157. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +8 -6
  158. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  159. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +4 -1
  160. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -26
  161. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  162. package/dist/collection/components/q2-checkbox/q2-checkbox.css +4 -1
  163. package/dist/collection/components/q2-checkbox/q2-checkbox.js +38 -1
  164. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  165. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +1 -1
  166. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  167. package/dist/collection/components/q2-context/q2-context.js +1 -1
  168. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  169. package/dist/collection/components/q2-data-table/q2-data-table.css +14 -0
  170. package/dist/collection/components/q2-data-table/q2-data-table.js +47 -50
  171. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  172. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  173. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  174. package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
  175. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  176. package/dist/collection/components/q2-example/q2-example.js +1 -1
  177. package/dist/collection/components/q2-file-picker/q2-file-picker.js +9 -9
  178. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  179. package/dist/collection/components/q2-form/q2-form.js +1 -1
  180. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  181. package/dist/collection/components/q2-grid/q2-grid.js +1 -1
  182. package/dist/collection/components/q2-grid-area/q2-grid-area.js +1 -1
  183. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  184. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
  185. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  186. package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
  187. package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
  188. package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
  189. package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
  190. package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
  191. package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
  192. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  193. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  194. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  195. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  196. package/dist/collection/components/q2-icon/assets/status.symbol.svg +1 -1
  197. package/dist/collection/components/q2-icon/q2-icon.js +8 -0
  198. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  199. package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
  200. package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
  201. package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
  202. package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
  203. package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
  204. package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
  205. package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
  206. package/dist/collection/components/q2-input/q2-input.js +42 -42
  207. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  208. package/dist/collection/components/q2-item/q2-item.css +4 -0
  209. package/dist/collection/components/q2-item/q2-item.js +1 -1
  210. package/dist/collection/components/q2-legend/q2-legend.css +3 -0
  211. package/dist/collection/components/q2-legend/q2-legend.js +36 -36
  212. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
  213. package/dist/collection/components/q2-link/q2-link.css +5 -2
  214. package/dist/collection/components/q2-link/q2-link.js +33 -3
  215. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  216. package/dist/collection/components/q2-list/q2-list.js +1 -1
  217. package/dist/collection/components/q2-message/q2-message.css +19 -16
  218. package/dist/collection/components/q2-message/q2-message.js +1 -1
  219. package/dist/collection/components/q2-message/q2-message.js.map +1 -1
  220. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  221. package/dist/collection/components/q2-modal/q2-modal.css +3 -3
  222. package/dist/collection/components/q2-modal/q2-modal.js +1 -94
  223. package/dist/collection/components/q2-modal/q2-modal.js.map +1 -1
  224. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  225. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  226. package/dist/collection/components/q2-option-list/q2-option-list.js +13 -13
  227. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  228. package/dist/collection/components/q2-pagination/q2-pagination.js +15 -10
  229. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  230. package/dist/collection/components/q2-pill/q2-pill.css +9 -0
  231. package/dist/collection/components/q2-pill/q2-pill.js +13 -13
  232. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  233. package/dist/collection/components/q2-popover/q2-popover.css +66 -1
  234. package/dist/collection/components/q2-popover/q2-popover.js +94 -14
  235. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  236. package/dist/collection/components/q2-radio/q2-radio.css +4 -3
  237. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  238. package/dist/collection/components/q2-radio-group/q2-radio-group.css +1 -1
  239. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  240. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  241. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  242. package/dist/collection/components/q2-section/q2-section.js +2 -2
  243. package/dist/collection/components/q2-select/q2-select.js +23 -7
  244. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  245. package/dist/collection/components/q2-stepper/q2-stepper.css +9 -2
  246. package/dist/collection/components/q2-stepper/q2-stepper.js +5 -2
  247. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  248. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +52 -30
  249. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  250. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +11 -2
  251. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +20 -6
  252. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  253. package/dist/collection/components/q2-tab-container/q2-tab-container.css +7 -1
  254. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  255. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  256. package/dist/collection/components/q2-tag/q2-tag.css +3 -0
  257. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  258. package/dist/collection/components/q2-textarea/q2-textarea.css +1 -0
  259. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  260. package/dist/collection/components/q2-tooltip/q2-tooltip.css +1 -1
  261. package/dist/collection/components/q2-tooltip/q2-tooltip.js +34 -1
  262. package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
  263. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  264. package/dist/collection/index.js +1 -0
  265. package/dist/collection/index.js.map +1 -1
  266. package/dist/collection/utils/action-sheet.js.map +1 -1
  267. package/dist/collection/utils/index.js +59 -19
  268. package/dist/collection/utils/index.js.map +1 -1
  269. package/dist/components/action-sheet.js.map +1 -1
  270. package/dist/components/index2.js +59 -19
  271. package/dist/components/index2.js.map +1 -1
  272. package/dist/components/q2-action-group2.js +1 -1
  273. package/dist/components/q2-action-sheet.js +1 -1
  274. package/dist/components/q2-avatar2.js +34 -2
  275. package/dist/components/q2-avatar2.js.map +1 -1
  276. package/dist/components/q2-btn2.js +22 -7
  277. package/dist/components/q2-btn2.js.map +1 -1
  278. package/dist/components/q2-calendar.js +2 -2
  279. package/dist/components/q2-calendar.js.map +1 -1
  280. package/dist/components/q2-card-image.js +2 -2
  281. package/dist/components/q2-carousel-pane.js +3 -3
  282. package/dist/components/q2-carousel-pane.js.map +1 -1
  283. package/dist/components/q2-carousel.js +69 -55
  284. package/dist/components/q2-carousel.js.map +1 -1
  285. package/dist/components/q2-chart-area.js +3 -1
  286. package/dist/components/q2-chart-area.js.map +1 -1
  287. package/dist/components/q2-chart-bar.js +3 -1
  288. package/dist/components/q2-chart-bar.js.map +1 -1
  289. package/dist/components/q2-chart-donut.js +6 -2
  290. package/dist/components/q2-chart-donut.js.map +1 -1
  291. package/dist/components/q2-checkbox-group.js +2 -2
  292. package/dist/components/q2-checkbox-group.js.map +1 -1
  293. package/dist/components/q2-checkbox2.js +13 -2
  294. package/dist/components/q2-checkbox2.js.map +1 -1
  295. package/dist/components/q2-context.js +1 -1
  296. package/dist/components/q2-currency.js +1 -1
  297. package/dist/components/q2-data-table.js +46 -25
  298. package/dist/components/q2-data-table.js.map +1 -1
  299. package/dist/components/q2-detail.js +1 -1
  300. package/dist/components/q2-dropdown.js +1 -1
  301. package/dist/components/q2-editable-field.js +1 -1
  302. package/dist/components/q2-editable-field.js.map +1 -1
  303. package/dist/components/q2-example.js +1 -1
  304. package/dist/components/q2-file-picker.js.map +1 -1
  305. package/dist/components/q2-form.js +1 -1
  306. package/dist/components/q2-formatted-text.js +1 -1
  307. package/dist/components/q2-grid-area.js +1 -1
  308. package/dist/components/q2-grid.js +1 -1
  309. package/dist/components/q2-icon2.js +10 -0
  310. package/dist/components/q2-icon2.js.map +1 -1
  311. package/dist/components/q2-input2.js +1 -1
  312. package/dist/components/q2-input2.js.map +1 -1
  313. package/dist/components/q2-item2.js +2 -2
  314. package/dist/components/q2-item2.js.map +1 -1
  315. package/dist/components/q2-legend2.js +2 -2
  316. package/dist/components/q2-legend2.js.map +1 -1
  317. package/dist/components/q2-link2.js +13 -4
  318. package/dist/components/q2-link2.js.map +1 -1
  319. package/dist/components/q2-list2.js +1 -1
  320. package/dist/components/q2-message2.js +2 -2
  321. package/dist/components/q2-message2.js.map +1 -1
  322. package/dist/components/q2-meter.js +1 -1
  323. package/dist/components/q2-modal.js +2 -23
  324. package/dist/components/q2-modal.js.map +1 -1
  325. package/dist/components/q2-month-picker.js +2 -2
  326. package/dist/components/q2-mutation-observer.js +1 -1
  327. package/dist/components/q2-optgroup2.js +1 -1
  328. package/dist/components/q2-option-list2.js +1 -1
  329. package/dist/components/q2-option-list2.js.map +1 -1
  330. package/dist/components/q2-pagination.js +11 -6
  331. package/dist/components/q2-pagination.js.map +1 -1
  332. package/dist/components/q2-pill.js +2 -2
  333. package/dist/components/q2-pill.js.map +1 -1
  334. package/dist/components/q2-popover2.js +76 -15
  335. package/dist/components/q2-popover2.js.map +1 -1
  336. package/dist/components/q2-radio-group.js +2 -2
  337. package/dist/components/q2-radio-group.js.map +1 -1
  338. package/dist/components/q2-radio.js +2 -2
  339. package/dist/components/q2-radio.js.map +1 -1
  340. package/dist/components/q2-relative-time.js +1 -1
  341. package/dist/components/q2-resize-observer2.js +1 -1
  342. package/dist/components/q2-section.js +2 -2
  343. package/dist/components/q2-select2.js +23 -8
  344. package/dist/components/q2-select2.js.map +1 -1
  345. package/dist/components/q2-stepper-pane.js +9 -6
  346. package/dist/components/q2-stepper-pane.js.map +1 -1
  347. package/dist/components/q2-stepper-vertical.js +16 -8
  348. package/dist/components/q2-stepper-vertical.js.map +1 -1
  349. package/dist/components/q2-stepper.js +6 -3
  350. package/dist/components/q2-stepper.js.map +1 -1
  351. package/dist/components/q2-tab-container.js +2 -2
  352. package/dist/components/q2-tab-container.js.map +1 -1
  353. package/dist/components/q2-tab-pane.js +1 -1
  354. package/dist/components/q2-tag.js +1 -257
  355. package/dist/components/q2-tag.js.map +1 -1
  356. package/dist/{esm/q2-tag.entry.js → components/q2-tag2.js} +68 -15
  357. package/dist/components/q2-tag2.js.map +1 -0
  358. package/dist/components/q2-textarea.js +2 -2
  359. package/dist/components/q2-textarea.js.map +1 -1
  360. package/dist/components/q2-tooltip2.js +35 -3
  361. package/dist/components/q2-tooltip2.js.map +1 -1
  362. package/dist/components/sanitize-html-string.js +25 -15
  363. package/dist/components/sanitize-html-string.js.map +1 -1
  364. package/dist/components/tecton-tab-pane.js +2 -2
  365. package/dist/esm/action-sheet-B7adb3xs.js.map +1 -1
  366. package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -0
  367. package/dist/esm/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +169 -22
  368. package/dist/esm/click-elsewhere_3.entry.js.map +1 -0
  369. package/dist/esm/{index-B4WYBDS9.js → index-C4PILj1_.js} +61 -21
  370. package/dist/esm/index-C4PILj1_.js.map +1 -0
  371. package/dist/esm/loader.js +1 -1
  372. package/dist/esm/q2-action-group_2.entry.js +3 -3
  373. package/dist/esm/q2-action-sheet.entry.js +3 -3
  374. package/dist/esm/q2-avatar.entry.js +33 -2
  375. package/dist/esm/q2-avatar.entry.js.map +1 -1
  376. package/dist/esm/q2-badge.entry.js +1 -1
  377. package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
  378. package/dist/esm/q2-btn_2.entry.js +22 -8
  379. package/dist/esm/q2-btn_2.entry.js.map +1 -1
  380. package/dist/esm/q2-calendar.entry.js +3 -3
  381. package/dist/esm/q2-calendar.entry.js.map +1 -1
  382. package/dist/esm/q2-card-image.entry.js +3 -3
  383. package/dist/esm/q2-card.entry.js +1 -1
  384. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  385. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  386. package/dist/esm/q2-carousel.entry.js +67 -42
  387. package/dist/esm/q2-carousel.entry.js.map +1 -1
  388. package/dist/esm/q2-chart-area.entry.js +4 -2
  389. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  390. package/dist/esm/q2-chart-bar.entry.js +4 -2
  391. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  392. package/dist/esm/q2-chart-donut.entry.js +7 -3
  393. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  394. package/dist/esm/q2-checkbox-group.entry.js +3 -3
  395. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  396. package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -0
  397. package/dist/esm/q2-checkbox_2.entry.js +319 -0
  398. package/dist/esm/q2-checkbox_2.entry.js.map +1 -0
  399. package/dist/esm/q2-context.entry.js +2 -2
  400. package/dist/esm/q2-currency.entry.js +1 -1
  401. package/dist/esm/q2-data-table.entry.js +13 -16
  402. package/dist/esm/q2-data-table.entry.js.map +1 -1
  403. package/dist/esm/q2-detail.entry.js +2 -2
  404. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  405. package/dist/esm/q2-dropdown.entry.js +2 -2
  406. package/dist/esm/q2-editable-field.entry.js +2 -2
  407. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  408. package/dist/esm/q2-example.entry.js +1 -1
  409. package/dist/esm/q2-file-picker.entry.js +1 -1
  410. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  411. package/dist/esm/q2-form.entry.js +1 -1
  412. package/dist/esm/q2-formatted-text.entry.js +1 -1
  413. package/dist/esm/q2-grid-area.entry.js +1 -1
  414. package/dist/esm/q2-grid.entry.js +1 -1
  415. package/dist/esm/q2-icon.entry.js +11 -1
  416. package/dist/esm/q2-icon.entry.js.map +1 -1
  417. package/dist/esm/q2-input.entry.js +2 -2
  418. package/dist/esm/q2-input.entry.js.map +1 -1
  419. package/dist/esm/q2-item.entry.js +3 -3
  420. package/dist/esm/q2-item.entry.js.map +1 -1
  421. package/dist/esm/q2-legend.entry.js +2 -2
  422. package/dist/esm/q2-legend.entry.js.map +1 -1
  423. package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
  424. package/dist/esm/q2-link_2.entry.js +14 -6
  425. package/dist/esm/q2-link_2.entry.js.map +1 -1
  426. package/dist/esm/q2-loc.entry.js +1 -1
  427. package/dist/esm/q2-message.entry.js +3 -3
  428. package/dist/esm/q2-message.entry.js.map +1 -1
  429. package/dist/esm/q2-meter.entry.js +2 -2
  430. package/dist/esm/q2-modal.entry.js +4 -21
  431. package/dist/esm/q2-modal.entry.js.map +1 -1
  432. package/dist/esm/q2-month-picker.entry.js +3 -3
  433. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  434. package/dist/esm/q2-optgroup.entry.js +2 -2
  435. package/dist/esm/q2-option.entry.js +1 -1
  436. package/dist/esm/q2-pagination.entry.js +12 -7
  437. package/dist/esm/q2-pagination.entry.js.map +1 -1
  438. package/dist/esm/q2-pill.entry.js +3 -3
  439. package/dist/esm/q2-pill.entry.js.map +1 -1
  440. package/dist/esm/q2-radio-group.entry.js +3 -3
  441. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  442. package/dist/esm/q2-radio.entry.js +3 -3
  443. package/dist/esm/q2-radio.entry.js.map +1 -1
  444. package/dist/esm/q2-relative-time.entry.js +2 -2
  445. package/dist/esm/q2-section.entry.js +3 -3
  446. package/dist/esm/q2-select.entry.js +22 -8
  447. package/dist/esm/q2-select.entry.js.map +1 -1
  448. package/dist/esm/q2-stepper-pane.entry.js +7 -6
  449. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  450. package/dist/esm/q2-stepper-vertical.entry.js +16 -8
  451. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  452. package/dist/esm/q2-stepper.entry.js +7 -4
  453. package/dist/esm/q2-stepper.entry.js.map +1 -1
  454. package/dist/esm/q2-tab-container.entry.js +3 -3
  455. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  456. package/dist/esm/q2-tab-pane.entry.js +1 -1
  457. package/dist/esm/q2-tecton-elements.js +1 -1
  458. package/dist/esm/q2-textarea.entry.js +3 -3
  459. package/dist/esm/q2-textarea.entry.js.map +1 -1
  460. package/dist/esm/q2-toast.entry.js +1 -1
  461. package/dist/esm/q2-tooltip.entry.js +33 -3
  462. package/dist/esm/q2-tooltip.entry.js.map +1 -1
  463. package/dist/esm/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +27 -17
  464. package/dist/esm/sanitize-html-string-B35VmRc9.js.map +1 -0
  465. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  466. package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -1
  467. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  468. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
  469. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  470. package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
  471. package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
  472. package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
  473. package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
  474. package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
  475. package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
  476. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  477. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  478. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  479. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  480. package/dist/q2-tecton-elements/assets/status.symbol.svg +1 -1
  481. package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -0
  482. package/dist/q2-tecton-elements/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +357 -224
  483. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -0
  484. package/dist/q2-tecton-elements/{index-B4WYBDS9.js → index-C4PILj1_.js} +53 -14
  485. package/dist/q2-tecton-elements/index-C4PILj1_.js.map +1 -0
  486. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +5 -5
  487. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +10 -10
  488. package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
  489. package/dist/q2-tecton-elements/q2-avatar.entry.js +68 -30
  490. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  491. package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
  492. package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
  493. package/dist/q2-tecton-elements/q2-btn_2.entry.js +30 -21
  494. package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
  495. package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
  496. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  497. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
  498. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  499. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  500. package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
  501. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +17 -17
  502. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
  503. package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
  504. package/dist/q2-tecton-elements/q2-carousel.entry.js +269 -242
  505. package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
  506. package/dist/q2-tecton-elements/q2-chart-area.entry.esm.js.map +1 -1
  507. package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -5
  508. package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -1
  509. package/dist/q2-tecton-elements/q2-chart-bar.entry.esm.js.map +1 -1
  510. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -3
  511. package/dist/q2-tecton-elements/q2-chart-bar.entry.js.map +1 -1
  512. package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
  513. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +13 -11
  514. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
  515. package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
  516. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
  517. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  518. package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -0
  519. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +482 -0
  520. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -0
  521. package/dist/q2-tecton-elements/q2-context.entry.js +16 -16
  522. package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
  523. package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
  524. package/dist/q2-tecton-elements/q2-data-table.entry.js +26 -28
  525. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  526. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  527. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  528. package/dist/q2-tecton-elements/q2-dropdown.entry.js +79 -79
  529. package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
  530. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  531. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  532. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  533. package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
  534. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  535. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  536. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  537. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  538. package/dist/q2-tecton-elements/q2-grid-area.entry.js +2 -2
  539. package/dist/q2-tecton-elements/q2-grid.entry.js +3 -3
  540. package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
  541. package/dist/q2-tecton-elements/q2-icon.entry.js +122 -111
  542. package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
  543. package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
  544. package/dist/q2-tecton-elements/q2-input.entry.js +7 -7
  545. package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
  546. package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
  547. package/dist/q2-tecton-elements/q2-item.entry.js +40 -40
  548. package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
  549. package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
  550. package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
  551. package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
  552. package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
  553. package/dist/q2-tecton-elements/q2-link_2.entry.js +24 -18
  554. package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
  555. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  556. package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
  557. package/dist/q2-tecton-elements/q2-message.entry.js +29 -25
  558. package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
  559. package/dist/q2-tecton-elements/q2-meter.entry.js +14 -14
  560. package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
  561. package/dist/q2-tecton-elements/q2-modal.entry.js +65 -79
  562. package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
  563. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  564. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  565. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  566. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  567. package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
  568. package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -32
  569. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
  570. package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
  571. package/dist/q2-tecton-elements/q2-pill.entry.js +40 -40
  572. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  573. package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
  574. package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
  575. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
  576. package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
  577. package/dist/q2-tecton-elements/q2-radio.entry.js +23 -23
  578. package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
  579. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  580. package/dist/q2-tecton-elements/q2-section.entry.js +12 -12
  581. package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
  582. package/dist/q2-tecton-elements/q2-select.entry.js +21 -8
  583. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  584. package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
  585. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -15
  586. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
  587. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
  588. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +73 -67
  589. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
  590. package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
  591. package/dist/q2-tecton-elements/q2-stepper.entry.js +38 -36
  592. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
  593. package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
  594. package/dist/q2-tecton-elements/q2-tab-container.entry.js +19 -19
  595. package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
  596. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  597. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  598. package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
  599. package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
  600. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  601. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  602. package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
  603. package/dist/q2-tecton-elements/q2-tooltip.entry.js +41 -5
  604. package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
  605. package/dist/q2-tecton-elements/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +118 -109
  606. package/dist/q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map +1 -0
  607. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  608. package/dist/scripts/docs-generator/index.js +1 -1
  609. package/dist/scripts/docs-generator/index.js.map +1 -1
  610. package/dist/types/__mocks__/echarts.d.ts +16 -0
  611. package/dist/types/components/q2-avatar/q2-avatar.d.ts +9 -0
  612. package/dist/types/components/q2-btn/q2-btn.d.ts +6 -0
  613. package/dist/types/components/q2-calendar/q2-calendar-helpers.d.ts +3 -3
  614. package/dist/types/components/q2-calendar/q2-calendar-types.d.ts +2 -2
  615. package/dist/types/components/q2-calendar/q2-calendar-validation.d.ts +5 -5
  616. package/dist/types/components/q2-calendar/q2-calendar.d.ts +8 -8
  617. package/dist/types/components/q2-carousel/q2-carousel.d.ts +6 -0
  618. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +4 -4
  619. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +3 -3
  620. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +9 -9
  621. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +11 -0
  622. package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -41
  623. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +4 -4
  624. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +1 -13
  625. package/dist/types/components/q2-input/formatting/alpha.d.ts +1 -1
  626. package/dist/types/components/q2-input/formatting/alphanumeric.d.ts +1 -1
  627. package/dist/types/components/q2-input/formatting/cif.d.ts +1 -1
  628. package/dist/types/components/q2-input/formatting/clabe.d.ts +1 -1
  629. package/dist/types/components/q2-input/formatting/credit-card.d.ts +2 -2
  630. package/dist/types/components/q2-input/formatting/currency.d.ts +2 -2
  631. package/dist/types/components/q2-input/formatting/generic.d.ts +2 -2
  632. package/dist/types/components/q2-input/formatting/iban.d.ts +1 -1
  633. package/dist/types/components/q2-input/formatting/number.d.ts +3 -2
  634. package/dist/types/components/q2-input/formatting/numeric.d.ts +2 -2
  635. package/dist/types/components/q2-input/formatting/phone.d.ts +2 -2
  636. package/dist/types/components/q2-input/formatting/postal.d.ts +1 -1
  637. package/dist/types/components/q2-input/formatting/routingnumber.d.ts +1 -1
  638. package/dist/types/components/q2-input/formatting/ssn.d.ts +1 -1
  639. package/dist/types/components/q2-input/formatting/swift.d.ts +1 -1
  640. package/dist/types/components/q2-input/formatting/tin.d.ts +1 -1
  641. package/dist/types/components/q2-input/q2-input-types.d.ts +2 -22
  642. package/dist/types/components/q2-input/q2-input.d.ts +16 -15
  643. package/dist/types/components/q2-legend/q2-legend.d.ts +11 -11
  644. package/dist/types/components/q2-link/q2-link.d.ts +6 -0
  645. package/dist/types/components/q2-modal/q2-modal.d.ts +0 -17
  646. package/dist/types/components/q2-option-list/q2-option-list.d.ts +4 -4
  647. package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -0
  648. package/dist/types/components/q2-pill/q2-pill.d.ts +5 -5
  649. package/dist/types/components/q2-popover/q2-popover.d.ts +8 -0
  650. package/dist/types/components/q2-select/q2-select.d.ts +9 -6
  651. package/dist/types/components/q2-stepper-pane/q2-stepper-pane.d.ts +8 -11
  652. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +10 -7
  653. package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
  654. package/dist/types/components.d.ts +148 -118
  655. package/dist/types/global.d.ts +2 -2
  656. package/dist/types/index.d.ts +1 -0
  657. package/dist/types/utils/action-sheet.d.ts +5 -5
  658. package/dist/types/utils/index.d.ts +13 -0
  659. package/package.json +8 -9
  660. package/dist/cjs/click-elsewhere.cjs.entry.js +0 -97
  661. package/dist/cjs/click-elsewhere.cjs.entry.js.map +0 -1
  662. package/dist/cjs/click-elsewhere.entry.cjs.js.map +0 -1
  663. package/dist/cjs/index-DyAq0y0v.js.map +0 -1
  664. package/dist/cjs/q2-checkbox.cjs.entry.js +0 -110
  665. package/dist/cjs/q2-checkbox.cjs.entry.js.map +0 -1
  666. package/dist/cjs/q2-checkbox.entry.cjs.js.map +0 -1
  667. package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +0 -1
  668. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +0 -1
  669. package/dist/cjs/q2-tag.cjs.entry.js +0 -211
  670. package/dist/cjs/q2-tag.cjs.entry.js.map +0 -1
  671. package/dist/cjs/q2-tag.entry.cjs.js.map +0 -1
  672. package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +0 -1
  673. package/dist/esm/click-elsewhere.entry.js +0 -95
  674. package/dist/esm/click-elsewhere.entry.js.map +0 -1
  675. package/dist/esm/index-B4WYBDS9.js.map +0 -1
  676. package/dist/esm/q2-checkbox.entry.js +0 -108
  677. package/dist/esm/q2-checkbox.entry.js.map +0 -1
  678. package/dist/esm/q2-option-list.q2-popover.entry.js.map +0 -1
  679. package/dist/esm/q2-option-list_2.entry.js.map +0 -1
  680. package/dist/esm/q2-tag.entry.js.map +0 -1
  681. package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +0 -1
  682. package/dist/q2-tecton-elements/click-elsewhere.entry.esm.js.map +0 -1
  683. package/dist/q2-tecton-elements/click-elsewhere.entry.js +0 -94
  684. package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +0 -1
  685. package/dist/q2-tecton-elements/index-B4WYBDS9.js.map +0 -1
  686. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +0 -1
  687. package/dist/q2-tecton-elements/q2-checkbox.entry.js +0 -228
  688. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +0 -1
  689. package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +0 -1
  690. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +0 -1
  691. package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +0 -1
  692. package/dist/q2-tecton-elements/q2-tag.entry.js +0 -256
  693. package/dist/q2-tecton-elements/q2-tag.entry.js.map +0 -1
  694. package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"q2-chart-donut.entry.js","sources":["../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/tooltip/install.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/legendFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/legendAction.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/installLegendPlain.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/scrollableLegendAction.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/installLegendScroll.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/install.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/processor/dataFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/processor/negativeDataFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/chart/pie/install.js","src/components/q2-chart-donut/q2-chart-donut.scss?tag=q2-chart-donut&encapsulation=shadow","src/components/q2-chart-donut/q2-chart-donut.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nimport TooltipModel from './TooltipModel.js';\nimport TooltipView from './TooltipView.js';\nimport { noop } from 'zrender/lib/core/util.js';\nexport function install(registers) {\n use(installAxisPointer);\n registers.registerComponentModel(TooltipModel);\n registers.registerComponentView(TooltipView);\n /**\r\n * @action\r\n * @property {string} type\r\n * @property {number} seriesIndex\r\n * @property {number} dataIndex\r\n * @property {number} [x]\r\n * @property {number} [y]\r\n */\n registers.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n }, noop);\n registers.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n }, noop);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function legendFilter(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n if (legendModels && legendModels.length) {\n ecModel.filterSeries(function (series) {\n // If in any legend component the status is not selected.\n // Because in legend series is assumed selected when it is not in the legend data.\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(series.name)) {\n return false;\n }\n }\n return true;\n });\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { curry, each, hasOwn } from 'zrender/lib/core/util.js';\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n var isAllSelect = methodName === 'allSelect' || methodName === 'inverseSelect';\n var selectedMap = {};\n var actionLegendIndices = [];\n ecModel.eachComponent({\n mainType: 'legend',\n query: payload\n }, function (legendModel) {\n if (isAllSelect) {\n legendModel[methodName]();\n } else {\n legendModel[methodName](payload.name);\n }\n makeSelectedMap(legendModel, selectedMap);\n actionLegendIndices.push(legendModel.componentIndex);\n });\n var allSelectedMap = {};\n // make selectedMap from all legend components\n ecModel.eachComponent('legend', function (legendModel) {\n each(selectedMap, function (isSelected, name) {\n // Force other legend has same selected status\n // Or the first is toggled to true and other are toggled to false\n // In the case one legend has some item unSelected in option. And if other legend\n // doesn't has the item, they will assume it is selected.\n legendModel[isSelected ? 'select' : 'unSelect'](name);\n });\n makeSelectedMap(legendModel, allSelectedMap);\n });\n // Return the event explicitly\n return isAllSelect ? {\n selected: allSelectedMap,\n // return legendIndex array to tell the developers which legends are allSelect / inverseSelect\n legendIndex: actionLegendIndices\n } : {\n name: payload.name,\n selected: allSelectedMap\n };\n}\nfunction makeSelectedMap(legendModel, out) {\n var selectedMap = out || {};\n each(legendModel.getData(), function (model) {\n var name = model.get('name');\n // Wrap element\n if (name === '\\n' || name === '') {\n return;\n }\n var isItemSelected = legendModel.isSelected(name);\n if (hasOwn(selectedMap, name)) {\n // Unselected if any legend is unselected\n selectedMap[name] = selectedMap[name] && isItemSelected;\n } else {\n selectedMap[name] = isItemSelected;\n }\n });\n return selectedMap;\n}\nexport function installLegendAction(registers) {\n /**\r\n * @event legendToggleSelect\r\n * @type {Object}\r\n * @property {string} type 'legendToggleSelect'\r\n * @property {string} [from]\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendToggleSelect', 'legendselectchanged', curry(legendSelectActionHandler, 'toggleSelected'));\n registers.registerAction('legendAllSelect', 'legendselectall', curry(legendSelectActionHandler, 'allSelect'));\n registers.registerAction('legendInverseSelect', 'legendinverseselect', curry(legendSelectActionHandler, 'inverseSelect'));\n /**\r\n * @event legendSelect\r\n * @type {Object}\r\n * @property {string} type 'legendSelect'\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendSelect', 'legendselected', curry(legendSelectActionHandler, 'select'));\n /**\r\n * @event legendUnSelect\r\n * @type {Object}\r\n * @property {string} type 'legendUnSelect'\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendUnSelect', 'legendunselected', curry(legendSelectActionHandler, 'unSelect'));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport LegendModel from './LegendModel.js';\nimport LegendView from './LegendView.js';\nimport legendFilter from './legendFilter.js';\nimport { installLegendAction } from './legendAction.js';\nexport function install(registers) {\n registers.registerComponentModel(LegendModel);\n registers.registerComponentView(LegendView);\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\n registers.registerSubTypeDefaulter('legend', function () {\n return 'plain';\n });\n installLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function installScrollableLegendAction(registers) {\n /**\r\n * @event legendScroll\r\n * @type {Object}\r\n * @property {string} type 'legendScroll'\r\n * @property {string} scrollDataIndex\r\n */\n registers.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n var scrollDataIndex = payload.scrollDataIndex;\n scrollDataIndex != null && ecModel.eachComponent({\n mainType: 'legend',\n subType: 'scroll',\n query: payload\n }, function (legendModel) {\n legendModel.setScrollDataIndex(scrollDataIndex);\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport ScrollableLegendModel from './ScrollableLegendModel.js';\nimport ScrollableLegendView from './ScrollableLegendView.js';\nimport installScrollableLegendAction from './scrollableLegendAction.js';\nexport function install(registers) {\n use(installLegendPlain);\n registers.registerComponentModel(ScrollableLegendModel);\n registers.registerComponentView(ScrollableLegendView);\n installScrollableLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport { install as installLegendScroll } from './installLegendScroll.js';\nexport function install(registers) {\n use(installLegendPlain);\n use(installLegendScroll);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function dataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n if (!legendModels || !legendModels.length) {\n return;\n }\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx);\n // If in any legend component the status is not selected.\n for (var i = 0; i < legendModels.length; i++) {\n // @ts-ignore FIXME: LegendModel\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isNumber } from 'zrender/lib/core/util.js';\nexport default function negativeDataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n // handle negative value condition\n var valueDim = data.mapDimension('value');\n var curValue = data.get(valueDim, idx);\n if (isNumber(curValue) && !isNaN(curValue) && curValue < 0) {\n return false;\n }\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createLegacyDataSelectAction } from '../../legacy/dataSelectAction.js';\nimport pieLayout from '../pie/pieLayout.js';\nimport dataFilter from '../../processor/dataFilter.js';\nimport { curry } from 'zrender/lib/core/util.js';\nimport PieView from './PieView.js';\nimport PieSeriesModel from './PieSeries.js';\nimport negativeDataFilter from '../../processor/negativeDataFilter.js';\nexport function install(registers) {\n registers.registerChartView(PieView);\n registers.registerSeriesModel(PieSeriesModel);\n createLegacyDataSelectAction('pie', registers.registerAction);\n registers.registerLayout(curry(pieLayout, 'pie'));\n registers.registerProcessor(dataFilter('pie'));\n registers.registerProcessor(negativeDataFilter('pie'));\n}","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n position: relative;\n width: 100%;\n display: block;\n}\n\n.container {\n aspect-ratio: 1 / 1;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n}\n\n.chart-container {\n width: 100%;\n height: 100%;\n\n --comp-color-1: #{var-list(var-prefixer(chart-donut-color-1), --t-accent-1, #e05252)};\n --comp-color-2: #{var-list(var-prefixer(chart-donut-color-2), --t-accent-2, #e09952)};\n --comp-color-3: #{var-list(var-prefixer(chart-donut-color-3), --t-accent-3, #e0e052)};\n --comp-color-4: #{var-list(var-prefixer(chart-donut-color-4), --t-accent-4, #99e052)};\n --comp-color-5: #{var-list(var-prefixer(chart-donut-color-5), --t-accent-5, #52e052)};\n --comp-color-6: #{var-list(var-prefixer(chart-donut-color-6), --t-accent-6, #52e099)};\n --comp-color-7: #{var-list(var-prefixer(chart-donut-color-7), --t-accent-7, #52e0e0)};\n --comp-color-8: #{var-list(var-prefixer(chart-donut-color-8), --t-accent-8, #5299e0)};\n --comp-color-9: #{var-list(var-prefixer(chart-donut-color-9), --t-accent-9, #5252e0)};\n --comp-color-10: #{var-list(var-prefixer(chart-donut-color-10), --t-accent-10, #9952e0)};\n --comp-color-11: #{var-list(var-prefixer(chart-donut-color-11), --t-accent-11, #e052e0)};\n --comp-color-12: #{var-list(var-prefixer(chart-donut-color-12), --t-accent-12, #e05299)};\n}\n\nbutton {\n --comp-button-padding: #{var-list(\n --tct-chart-donut-button-padding,\n unquote('#{var-list(var-prefixer(chart-donut-button-vertical-padding), --app-scale-1x, 5px)} 0')\n )};\n\n transition: box-shadow #{var-list(var-prefixer(chart-donut-button-tween), --app-tween-1, unquote('0.2s ease'))};\n padding: var(--comp-button-padding);\n &:active {\n box-shadow: var(--const-double-focus-ring),\n #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n &:hover {\n box-shadow: #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n &:focus-visible {\n box-shadow: var(--const-double-focus-ring),\n #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n}\n\n.center-card-container {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: var-list(var-prefixer(chart-donut-button-container-padding), --app-scale-1x, 5px);\n border-radius: 50%;\n}\n\n.center-card {\n height: 100%;\n width: 100%;\n text-align: center;\n color: #{var-list(var-prefixer(chart-donut-text-color), --t-text, #4d4d4d)};\n margin-inline: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n &:is(button) {\n cursor: pointer;\n background: var(--tct-chart-donut-button-background, transparent);\n border: 0;\n border-radius: 50%;\n\n &:hover {\n background: var(--tct-chart-donut-button-hover-background, transparent);\n }\n\n &:active {\n background: var(--tct-chart-donut-button-active-background, transparent);\n }\n\n &:focus-visible {\n background: var(--tct-chart-donut-button-focus-background, transparent);\n } \n }\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(chart-donut-icon-size), 26px)};\n --comp-icon-margin: #{var-list(\n --tct-chart-donut-icon-margin,\n unquote('0 0 #{var-list(var-prefixer(chart-donut-icon-margin-bottom), --app-scale-1x, 5px)}')\n )};\n margin: var(--comp-icon-margin);\n}\n\n.name {\n font-size: #{var-list(var-prefixer(chart-donut-name-font-size), 14px)};\n}\n\n.value {\n font-size: #{var-list(var-prefixer(chart-donut-value-font-size), 21px)};\n}\n\nfigure {\n margin: 0;\n}\n\n.legend {\n margin-top: #{var-list(--tct-chart-donut-legend-margin-top, --app-scale-0x, 0)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, isMobile, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\nimport { getCSSProperty } from 'src/utils/charting';\n\nimport type { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n/**\n * @name Donut Chart\n * @category Data Visualization\n * @summary Use for showing proportions of a whole as segments in a ring.\n */\n@Component({ tag: 'q2-chart-donut', shadow: true, styleUrl: 'q2-chart-donut.scss' })\nexport class Q2ChartDonut implements ComponentInterface {\n // #region Own Properties\n\n btnElement: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n chart: echarts.ECharts;\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n colors: string[];\n defaultRecord = { id: null, value: null, name: null };\n hostElementStyles: CSSStyleDeclaration;\n isInChangeEvent: boolean;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n hoveredId: string;\n\n @State()\n legendData: IDonutChartData[];\n\n // #endregion\n // #region Public Property API\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true })\n chartName: string;\n\n /** An array of objects that contain the data to be displayed. */\n @Prop()\n data: IDonutChartData[] = [];\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true })\n format: 'currency' | 'default';\n\n /** The amount which the slice will scale when hovered. */\n @Prop()\n hoverScaleSize: number = 5;\n\n /**\n * The inner radius of the chart slices which is represeted by a percentage of the radius.\n *\n * @warning\n * If you update this property to be greater than or equal to the `outerRadius`,\n * we automatically set it to be 15% less than the current `outerRadius` to prevent display issues.\n */\n @Prop({ mutable: true })\n innerRadius: string = '70%';\n\n /**\n * Determine whether the data in the center renders inside a button element.\n *\n * @info\n * This also enables extra keyboard controls when the button is focused.\n */\n @Prop({ reflect: true })\n isClickable: boolean;\n\n /** The minimum size of the chart slizes which is represented as a percentage of the circumferences. */\n @Prop()\n minSliceSize: string = '2.5%';\n\n /**\n * The outer radius of the chart slices which is represented by a percentage of the radius.\n *\n * @warning\n * If you update this property to be less than or equal to the `innerRadius`,\n * we automatically set it to be 15% greater than the current `innerRadius` to prevent display issues.\n */\n @Prop({ mutable: true })\n outerRadius: string = '85%';\n\n /** The id of the data point that is currently selected in the chart. You may set this to pre-select a data point on render, or force a selection change. */\n @Prop({ mutable: true })\n selectedId: string;\n\n /** The amount which the slice will separate from the chart when selected. */\n @Prop()\n selectedOffset: number = 10;\n\n /**\n * Determines whether the legend is displayed.\n *\n * @info\n * The legend is a list of the data points in the chart and their colors.\n */\n @Prop({ reflect: true })\n showLegend: boolean = false;\n\n /** The icon that displays by default when no slices are selected. */\n @Prop({ reflect: true })\n summaryIcon: string;\n\n /**\n * The name that displays by default when no slices are selected.\n * @localizable\n */\n @Prop({ reflect: true })\n summaryName: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when a slice is selected.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<IDonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n * @deprecated Use 'tctClick' instead\n */\n @Event()\n click: EventEmitter<IDonutChartData>;\n\n /**\n * Emitted when a slice is selected.\n */\n @Event()\n tctChange: EventEmitter<IDonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n */\n @Event()\n tctClick: EventEmitter<IDonutChartData>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n // CRITICAL: Dispose eCharts instance to prevent memory leaks\n // eCharts holds references to canvas, event listeners (mouseover, mouseout, click, selectchanged, finished),\n // and animation frames. All chart event listeners are automatically cleaned up by dispose()\n if (this.chart) {\n this.chart.dispose();\n this.chart = null;\n }\n\n // Disconnect ResizeObserver\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n\n // Clear cached style references that hold DOM references (Safari memory management)\n this.chartContainerStyles = null;\n this.hostElementStyles = null;\n\n // Clear DOM references\n this.chartContainer = null;\n this.centerButtonElement = null;\n this.btnElement = null;\n\n // Clear data references\n this.colors = null;\n this.legendData = null;\n\n // Clear state to prevent lingering references\n this.hoveredId = null;\n this.selectedId = null;\n }\n\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.setLegendData();\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Clears any selected slice.\n */\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /**\n * Returns the chart instance for e2e testing.\n *\n * @testOnly\n */\n @Method()\n async getChartOptions(): Promise<any> {\n return this.chart.getOption();\n }\n\n /**\n * Selects a slice by its provided `id` in the provided `data`.\n */\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Selects a slice by its index in the provided `data`.\n */\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * A method to select a slice with index.\n *\n * @testOnly\n */\n @Method()\n async selectDataPoint(index: number) {\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: index,\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n this.colors = this.getColors();\n this.updateChart(this.chart);\n this.setLegendData();\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n /**\n * Function to detect and set a data range (category) as selected\n * Logic for when legends are present, and can set selectedId when ledgend category is clicked\n * Also can be used by dev to preset\n */\n @Watch('selectedId')\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n get isMobile(): boolean {\n return isMobile();\n }\n\n get legendHoveredId() {\n return this.hoveredId === this.selectedId ? null : this.hoveredId;\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getColors() {\n const defaultColors = [1, 3, 8, 4, 2, 10, 7, 11, 6, 9, 12, 5].map(e => `--comp-color-${e}`);\n return this.data.reduce((acc, cur, idx) => {\n let color = defaultColors[idx % defaultColors.length];\n if (cur.color) color = cur.color;\n\n acc.push(getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles) || color);\n return acc;\n }, []);\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataIndexForId(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getMinSliceSizeAsAngle() {\n return (parseFloat(this.minSliceSize) / 100) * 360;\n }\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n mirrorEmit(this, ['click', 'tctClick'], data);\n };\n\n onButtonKeyDown = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n case ' ':\n event.preventDefault();\n break;\n\n default:\n return;\n }\n };\n\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n onLegendClick = event => {\n event.stopPropagation();\n if (event.detail) {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.selectedId = event.detail.id;\n this.chart.dispatchAction({\n type: 'select',\n seriesIndex: 0,\n dataIndex,\n });\n } else {\n const dataIndex = this.getDataIndexForId(this.selectedId);\n this.hoveredId = this.selectedId;\n this.selectedId = null;\n this.chart.dispatchAction({\n type: 'unselect',\n seriesIndex: 0,\n dataIndex,\n });\n }\n };\n\n onLegendMouseenter = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = event.detail.id;\n this.chart.dispatchAction({\n type: 'highlight',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n onLegendMouseleave = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = this.selectedId;\n this.chart.dispatchAction({\n type: 'downplay',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n resizeChart() {\n this.chart.resize();\n }\n\n setLegendData() {\n const chartColors = this.chart.getOption().series[0].color;\n this.legendData = this.data.map((item, index) => {\n const newItem = { ...item };\n if (!newItem.color) newItem.color = chartColors[index];\n\n return newItem;\n });\n }\n\n // Edit with caution. Echarts does not interpret events the same on mobile.\n setupChartEvents(chart: echarts.ECharts) {\n if (!this.isMobile) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n }\n chart.on('click', params => {\n params.event.stop();\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n mirrorEmit(this, ['change', 'tctChange'], data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n chart.on('finished', () => {\n const canvas = chart.getDom().querySelector('canvas');\n if (canvas?.hasAttribute('aria-hidden') ?? false) return;\n canvas.setAttribute('aria-hidden', 'true');\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n this.validateColor();\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n padAngle: 3,\n itemStyle: {\n borderRadius: 2,\n },\n emphasis: {\n disabled: this.isMobile,\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n minAngle: this.getMinSliceSizeAsAngle(),\n data: this.data,\n },\n ],\n });\n }\n\n validateColor() {\n // check if there is name duplicated, then custom style using `itemStyle` object will be used.\n if (\n this.data.length >\n Object.keys(\n this.data.reduce((acc, cur) => {\n acc[cur.name] = cur.name;\n return acc;\n }, {})\n ).length\n ) {\n this.data.forEach((el, i) => {\n el.itemStyle = { ...el.itemStyle, color: el.color || this.colors[i] };\n });\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyDown: this.onButtonKeyDown,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-describedby': 'center-card-description',\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` }}\n >\n <div\n id=\"center-card-description\"\n class=\"sr\"\n >\n {loc('tecton.element.chartDonut.button.description')}\n </div>\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {!!icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {!!name && <div class=\"name\">{name}</div>}\n {!isNaN(value) && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <figure>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n aria-describedby={!this.isClickable ? 'center-card-description' : undefined}\n class=\"chart-container\"\n role=\"img\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n tabIndex={!this.isClickable ? 0 : undefined}\n onKeyDown={!this.isClickable ? this.onButtonKeyDown : undefined}\n ></div>\n {this.renderCenterBlock()}\n </div>\n {this.showLegend && (\n <figcaption>\n <q2-legend\n class=\"legend\"\n data={this.legendData}\n format={this.format}\n hoveredItemId={this.legendHoveredId}\n onClick={this.onLegendClick}\n onMouseleave={this.onLegendMouseleave}\n onMouseenter={this.onLegendMouseenter}\n selectedItemId={this.selectedId}\n />\n </figcaption>\n )}\n </figure>\n </click-elsewhere>\n );\n }\n\n // #endregion\n}\n"],"names":["install","installAxisPointer","installLegendPlain","installLegendScroll","echarts.use","TooltipComponent","LegendComponent","PieChart","CanvasRenderer","AriaComponent","LabelLayout","echarts.init"],"mappings":";;;;;;AAgDO,SAASA,SAAO,CAAC,SAAS,EAAE;AACnC,EAAE,GAAG,CAACC,SAAkB,CAAC;AACzB,EAAE,SAAS,CAAC,sBAAsB,CAAC,YAAY,CAAC;AAChD,EAAE,SAAS,CAAC,qBAAqB,CAAC,WAAW,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC;AAC3B,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,MAAM,EAAE;AACZ,GAAG,EAAE,IAAI,CAAC;AACV,EAAE,SAAS,CAAC,cAAc,CAAC;AAC3B,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,MAAM,EAAE;AACZ,GAAG,EAAE,IAAI,CAAC;AACV;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,CAAC,OAAO,EAAE;AAC9C,EAAE,IAAI,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;AAC5C,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,EAAE;AAC3C,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,MAAM,EAAE;AAC3C;AACA;AACA,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtD,UAAU,OAAO,KAAK;AACtB;AACA;AACA,MAAM,OAAO,IAAI;AACjB,KAAK,CAAC;AACN;AACA;;ACfA,SAAS,yBAAyB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE;AACjE,EAAE,IAAI,WAAW,GAAG,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,eAAe;AAChF,EAAE,IAAI,WAAW,GAAG,EAAE;AACtB,EAAE,IAAI,mBAAmB,GAAG,EAAE;AAC9B,EAAE,OAAO,CAAC,aAAa,CAAC;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,KAAK,EAAE;AACX,GAAG,EAAE,UAAU,WAAW,EAAE;AAC5B,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE;AAC/B,KAAK,MAAM;AACX,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3C;AACA,IAAI,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC;AAC7C,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;AACxD,GAAG,CAAC;AACJ,EAAE,IAAI,cAAc,GAAG,EAAE;AACzB;AACA,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,WAAW,EAAE;AACzD,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,UAAU,EAAE,IAAI,EAAE;AAClD;AACA;AACA;AACA;AACA,MAAM,WAAW,CAAC,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC;AAChD,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,WAAW,GAAG;AACvB,IAAI,QAAQ,EAAE,cAAc;AAC5B;AACA,IAAI,WAAW,EAAE;AACjB,GAAG,GAAG;AACN,IAAI,IAAI,EAAE,OAAO,CAAC,IAAI;AACtB,IAAI,QAAQ,EAAE;AACd,GAAG;AACH;AACA,SAAS,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE;AAC3C,EAAE,IAAI,WAAW,GAAG,GAAG,IAAI,EAAE;AAC7B,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,UAAU,KAAK,EAAE;AAC/C,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AAChC;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACtC,MAAM;AACN;AACA,IAAI,IAAI,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;AACrD,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;AACnC;AACA,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,cAAc;AAC7D,KAAK,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc;AACxC;AACA,GAAG,CAAC;AACJ,EAAE,OAAO,WAAW;AACpB;AACO,SAAS,mBAAmB,CAAC,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAC3H,EAAE,SAAS,CAAC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;AAC/G,EAAE,SAAS,CAAC,cAAc,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,KAAK,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAC9G;;AC9EO,SAASD,SAAO,CAAC,SAAS,EAAE;AACnC,EAAE,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC;AAC/C,EAAE,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC;AAC7C,EAAE,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;AACvF,EAAE,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,YAAY;AAC3D,IAAI,OAAO,OAAO;AAClB,GAAG,CAAC;AACJ,EAAE,mBAAmB,CAAC,SAAS,CAAC;AAChC;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,6BAA6B,CAAC,SAAS,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,OAAO,EAAE,OAAO,EAAE;AACvF,IAAI,IAAI,eAAe,GAAG,OAAO,CAAC,eAAe;AACjD,IAAI,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;AACrD,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,OAAO,EAAE,QAAQ;AACvB,MAAM,KAAK,EAAE;AACb,KAAK,EAAE,UAAU,WAAW,EAAE;AAC9B,MAAM,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC;AACrD,KAAK,CAAC;AACN,GAAG,CAAC;AACJ;;ACZO,SAASA,SAAO,CAAC,SAAS,EAAE;AACnC,EAAE,GAAG,CAACE,SAAkB,CAAC;AACzB,EAAE,SAAS,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;AACzD,EAAE,SAAS,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;AACvD,EAAE,6BAA6B,CAAC,SAAS,CAAC;AAC1C;;ACPO,SAASF,SAAO,CAAC,SAAS,EAAE;AACnC,EAAE,GAAG,CAACE,SAAkB,CAAC;AACzB,EAAE,GAAG,CAACC,SAAmB,CAAC;AAC1B;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,UAAU,EAAE;AAC/C,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,KAAK,EAAE,UAAU,WAAW,EAAE,OAAO,EAAE;AAC3C,MAAM,IAAI,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;AAChD,QAAQ,QAAQ,EAAE;AAClB,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AACjD,QAAQ;AACR;AACA,MAAM,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE;AACrC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACpC;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD;AACA,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACjD,YAAY,OAAO,KAAK;AACxB;AACA;AACA,QAAQ,OAAO,IAAI;AACnB,OAAO,CAAC;AACR;AACA,GAAG;AACH;;ACvBe,SAAS,kBAAkB,CAAC,UAAU,EAAE;AACvD,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,KAAK,EAAE,UAAU,WAAW,EAAE,OAAO,EAAE;AAC3C,MAAM,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE;AACrC;AACA,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACjD,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC9C,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AACpE,UAAU,OAAO,KAAK;AACtB;AACA,QAAQ,OAAO,IAAI;AACnB,OAAO,CAAC;AACR;AACA,GAAG;AACH;;ACVO,SAAS,OAAO,CAAC,SAAS,EAAE;AACnC,EAAE,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACtC,EAAE,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC;AAC/C,EAAE,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC;AAC/D,EAAE,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,EAAE,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACxD;;ACzDA,MAAM,eAAe,GAAG,gkJAAgkJ;;AC+BxlJC,GAAW,CAAC,CAACC,SAAgB,EAAEC,SAAe,EAAEC,OAAQ,EAAEC,SAAc,EAAEC,SAAa,EAAEC,kBAAW,CAAC,CAAC;MAUzF,YAAY,GAAA,MAAA;AADzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;AAUI,QAAA,IAAA,CAAA,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;;AAkCrD,QAAA,IAAI,CAAA,IAAA,GAAsB,EAAE;;AAQ5B,QAAA,IAAc,CAAA,cAAA,GAAW,CAAC;AAE1B;;;;;;AAMG;AAEH,QAAA,IAAW,CAAA,WAAA,GAAW,KAAK;;AAa3B,QAAA,IAAY,CAAA,YAAA,GAAW,MAAM;AAE7B;;;;;;AAMG;AAEH,QAAA,IAAW,CAAA,WAAA,GAAW,KAAK;;AAQ3B,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE;AAE3B;;;;;AAKG;AAEH,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAiV3B,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAiB,KAAI;YAClC,KAAK,CAAC,eAAe,EAAE;AAEvB,YAAA,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;YAC3B,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;YAClF,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC;AACjD,SAAC;AAED,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAoB,KAAI;AACvC,YAAA,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI;YACjC,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;AACtD,YAAA,QAAQ,KAAK,CAAC,GAAG;AACb,gBAAA,KAAK,SAAS;AACd,gBAAA,KAAK,WAAW;oBACZ,KAAK,CAAC,cAAc,EAAE;oBACtB;AAEJ,gBAAA,KAAK,WAAW;oBACZ,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,aAAa,EAAE;oBACf,IAAI,aAAa,GAAG,CAAC;AAAE,wBAAA,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AACtD,oBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,SAAS,EAAE,aAAa;AAC3B,qBAAA,CAAC;oBACF;AAEJ,gBAAA,KAAK,YAAY;oBACb,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,aAAa,EAAE;AACf,oBAAA,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;wBAAE,aAAa,GAAG,CAAC;AACtD,oBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,SAAS,EAAE,aAAa;AAC3B,qBAAA,CAAC;oBACF;AAEJ,gBAAA,KAAK,QAAQ;oBACT,IAAI,CAAC,cAAc,EAAE;oBACrB;AAEJ,gBAAA,KAAK,GAAG;oBACJ,KAAK,CAAC,cAAc,EAAE;oBACtB;AAEJ,gBAAA;oBACI;;AAEZ,SAAC;AAED,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,KAAY,KAAI;YAChC,KAAK,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE;AACzB,SAAC;AAED,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,KAAY,KAAI;YAChC,IAAI,IAAI,CAAC,eAAe;gBAAE;AAC1B,YAAA,IAAI,EAAE,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC;gBAAE;YAC5C,IAAI,CAAC,cAAc,EAAE;YACrB,KAAK,CAAC,eAAe,EAAE;AAC3B,SAAC;AAED,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,IAAG;YACpB,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,WAAW,EAAE,CAAC;oBACd,SAAS;AACZ,iBAAA,CAAC;;iBACC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AACzD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;AAChC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,gBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,WAAW,EAAE,CAAC;oBACd,SAAS;AACZ,iBAAA,CAAC;;AAEV,SAAC;AAED,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,IAAG;AACzB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,WAAW,EAAE,CAAC;gBACd,SAAS;AACZ,aAAA,CAAC;AACN,SAAC;AAED,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,IAAG;AACzB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACzD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;AAChC,YAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,WAAW,EAAE,CAAC;gBACd,SAAS;AACZ,aAAA,CAAC;AACN,SAAC;AAyMJ;;;IAjlBG,oBAAoB,GAAA;;;;;AAIhB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;;QAIrB,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;AAG1B,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;;AAG7B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;AAGtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;AAGtB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;IAG1B,gBAAgB,GAAA;QACZ,MAAM,KAAK,GAAGC,IAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAE/C,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAE9B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;AAE7C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE;AAEtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,QAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;;;;AAOnC,IAAA,aAAa,CAAC,KAAiB,EAAA;;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE;QACvB,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;;;;AAMrC;;AAEG;AAEH,IAAA,MAAM,cAAc,GAAA;AAChB,QAAA,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,UAAU;YAAE;AAEjB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAC3C,SAAA,CAAC;;AAGN;;;;AAIG;AAEH,IAAA,MAAM,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;;AAGjC;;AAEG;IAEH,MAAM,UAAU,CAAC,EAAU,EAAA;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,IAAI,SAAS,KAAK,EAAE;YAAE;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,QAAQ,EAAE,KAAK;YACf,SAAS;AACZ,SAAA,CAAC;;AAGN;;AAEG;IAEH,MAAM,aAAa,CAAC,KAAa,EAAA;AAC7B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI;AACjD,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,QAAQ,EAAE,KAAK;YACf,SAAS;AACZ,SAAA,CAAC;;AAGN;;;;AAIG;IAEH,MAAM,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,SAAS,EAAE,KAAK;AACnB,SAAA,CAAC;;;;IAYN,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;IAIhC,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE;;IAIxB,kBAAkB,GAAA;AACd,QAAA,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI;AACzC,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;AAC9C,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;AAC9C,QAAA,IAAI,cAAc,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,CAAA,EAAG,cAAc,GAAG,EAAE,GAAG;;;IAKpD,kBAAkB,GAAA;AACd,QAAA,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI;AACzC,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;AAC9C,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;AAC9C,QAAA,IAAI,cAAc,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,CAAA,EAAG,cAAc,GAAG,EAAE,GAAG;;;AAIpD;;;;AAIG;IAEH,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;;AAEhC,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;;;aAEjC;;AAEH,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;AACtB,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/C,iBAAA,CAAC;;AAEN,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;;;;AAO7B,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI;QAChC,MAAM,WAAW,GAAG,SAAS;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;AAE5C,QAAA,OAAO;AACH,cAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/D,cAAE;gBACI,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,8CAA8C,CAAC;gBAC7E,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,gBAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;aACd;;AAGX,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,QAAQ,EAAE;;AAGrB,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS;;IAGrE,mBAAmB,GAAA;QACf,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;;AAG/D,IAAA,YAAY,CAAC,KAAsB,EAAA;QAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,YAAY,CAAC;YAAE;AAEzB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC9B,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAClB,aAAA,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;;aACpB;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;;;IAI9D,SAAS,GAAA;AACL,QAAA,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAA,CAAE,CAAC;AAC3F,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAI;YACtC,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;YACrD,IAAI,GAAG,CAAC,KAAK;AAAE,gBAAA,KAAK,GAAG,GAAG,CAAC,KAAK;AAEhC,YAAA,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC;AAC3F,YAAA,OAAO,GAAG;SACb,EAAE,EAAE,CAAC;;AAGV,IAAA,cAAc,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,QAAQ;AACZ,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/C,MAAM,MAAM,GAAG,cAAc;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;AAC5D,YAAA,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AACf,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEvB,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACpE,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC1E,OAAO,MAAM,IAAI,QAAQ;;AAG7B,IAAA,WAAW,CAAC,EAAU,EAAA;AAClB,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;;AAGjD,IAAA,cAAc,CAAC,KAAa,EAAA;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3B,IAAA,iBAAiB,CAAC,EAAU,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;;AAGtD,IAAA,YAAY,CAAC,EAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;;IAGtD,sBAAsB,GAAA;AAClB,QAAA,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,GAAG;;IA6GtD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;IAGvB,aAAa,GAAA;AACT,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;AAC1D,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC5C,YAAA,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,gBAAA,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AAEtD,YAAA,OAAO,OAAO;AAClB,SAAC,CAAC;;;AAIN,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAW,KAAI;gBAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;AACnC,aAAC,CAAC;AACF,YAAA,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAK;AACtB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;AACpC,aAAC,CAAC;;AAEN,QAAA,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAG;AACvB,YAAA,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;AACvB,SAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAW,KAAI;;YACtC,MAAM,aAAa,GAAG,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,0CAAG,CAAC,CAAC,0CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI;YAClE,MAAM,IAAI,GACN,OAAO,aAAa,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;AACtG,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;YAC3B,UAAU,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC;YAC/C,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;aAC/B,EAAE,CAAC,CAAC;AACT,SAAC,CAAC;AACF,QAAA,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAK;;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,YAAA,IAAI,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,YAAY,CAAC,aAAa,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK;gBAAE;AAClD,YAAA,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAC9C,SAAC,CAAC;;AAGN,IAAA,WAAW,CAAC,KAAsB,EAAA;QAC9B,IAAI,CAAC,aAAa,EAAE;QACpB,OAAO,KAAK,CAAC,SAAS,CAAgB;AAClC,YAAA,OAAO,EAAE;AACL,gBAAA,IAAI,EAAE,KAAK;AACd,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA,IAAI,EAAE,KAAK;AACd,aAAA;AACD,YAAA,IAAI,EAAE;AACF,gBAAA,OAAO,EAAE,IAAI;AAChB,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA;oBACI,IAAI,EAAE,IAAI,CAAC,SAAS;AACpB,oBAAA,aAAa,EAAE,OAAO;oBACtB,KAAK,EAAE,IAAI,CAAC,MAAM;AAClB,oBAAA,EAAE,EAAE,KAAK;AACT,oBAAA,IAAI,EAAE,KAAK;oBACX,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,oBAAA,YAAY,EAAE,QAAQ;oBACtB,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;AAC5C,oBAAA,KAAK,EAAE;AACH,wBAAA,IAAI,EAAE,KAAK;AACd,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,KAAK;AACd,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,SAAS,EAAE;AACP,wBAAA,YAAY,EAAE,CAAC;AAClB,qBAAA;AACD,oBAAA,QAAQ,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS,EAAE,IAAI,CAAC,cAAc;AAC9B,wBAAA,SAAS,EAAE;AACP,4BAAA,KAAK,EAAE,SAAS;AACnB,yBAAA;AACJ,qBAAA;AACD,oBAAA,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE;oBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;AAClB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC;;IAGN,aAAa,GAAA;;AAET,QAAA,IACI,IAAI,CAAC,IAAI,CAAC,MAAM;AAChB,YAAA,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;gBAC1B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI;AACxB,gBAAA,OAAO,GAAG;AACd,aAAC,EAAE,EAAE,CAAC,CACT,CAAC,MAAM,EACV;YACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAI;gBACxB,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACzE,aAAC,CAAC;;;;;IAOV,iBAAiB,GAAA;AACb,QAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU;AACpD,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;QAC5B,MAAM,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAE7C,MAAM,KAAK,GAAG;AACV,cAAE;gBACI,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;AAC1C,gBAAA,kBAAkB,EAAE,yBAAyB;AAC7C,gBAAA,sBAAsB,EAAE,GAAG,CAAC,kDAAkD,CAAC;AAClF;cACD,IAAI;AAEV,QAAA,QACI,CACI,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,uBAAuB,EAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,CAAG,EAAE,MAAM,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,CAAG,EAAE,EAAA,EAElF,CAAA,CAAA,KAAA,EAAA,EACI,EAAE,EAAC,yBAAyB,EAC5B,KAAK,EAAC,IAAI,EAAA,EAET,GAAG,CAAC,8CAA8C,CAAC,CAClD,EACN,CAAC,CAAA,OAAO,IACJ,KAAK,EAAC,aAAa,EACX,SAAA,EAAA,YAAY,KAChB,KAAK,EAAA,EAER,CAAC,CAAC,IAAI,KACH,CACI,CAAA,SAAA,EAAA,EAAA,IAAI,EAAE,IAAI,EACV,KAAK,EACD,KAAK,IAAI;AACL,gBAAA,2BAA2B,EAAE,KAAK;AAClC,gBAAA,6BAA6B,EAAE,KAAK;gBACpC,KAAK;AACR,aAAA,EAAA,CAEE,CACd,EACA,CAAC,CAAC,IAAI,IAAI,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAE,EAAA,IAAI,CAAO,EACxC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,IAAE,YAAY,CAAO,CACnD,CACR;;IAId,MAAM,GAAA;QACF,QACI,CAAiB,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAA,EAC5C,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EAClB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACI,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAA,kBAAA,EACnB,CAAC,IAAI,CAAC,WAAW,GAAG,yBAAyB,GAAG,SAAS,EAC3E,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,KAAK,aACF,gBAAgB,EACxB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,SAAS,EAC3C,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,SAAS,EAC5D,CAAA,EACN,IAAI,CAAC,iBAAiB,EAAE,CACvB,EACL,IAAI,CAAC,UAAU,KACZ,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACI,CACI,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,aAAa,EAAE,IAAI,CAAC,eAAe,EACnC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAA,CACjC,CACO,CAChB,CACI,CACK;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
1
+ {"version":3,"file":"q2-chart-donut.entry.js","sources":["../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/tooltip/install.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/legendFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/legendAction.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/installLegendPlain.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/scrollableLegendAction.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/installLegendScroll.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/component/legend/install.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/processor/dataFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/processor/negativeDataFilter.js","../../node_modules/.pnpm/echarts@5.6.0/node_modules/echarts/lib/chart/pie/install.js","src/components/q2-chart-donut/q2-chart-donut.scss?tag=q2-chart-donut&encapsulation=shadow","src/components/q2-chart-donut/q2-chart-donut.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nimport TooltipModel from './TooltipModel.js';\nimport TooltipView from './TooltipView.js';\nimport { noop } from 'zrender/lib/core/util.js';\nexport function install(registers) {\n use(installAxisPointer);\n registers.registerComponentModel(TooltipModel);\n registers.registerComponentView(TooltipView);\n /**\r\n * @action\r\n * @property {string} type\r\n * @property {number} seriesIndex\r\n * @property {number} dataIndex\r\n * @property {number} [x]\r\n * @property {number} [y]\r\n */\n registers.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n }, noop);\n registers.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n }, noop);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function legendFilter(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n if (legendModels && legendModels.length) {\n ecModel.filterSeries(function (series) {\n // If in any legend component the status is not selected.\n // Because in legend series is assumed selected when it is not in the legend data.\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(series.name)) {\n return false;\n }\n }\n return true;\n });\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { curry, each, hasOwn } from 'zrender/lib/core/util.js';\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n var isAllSelect = methodName === 'allSelect' || methodName === 'inverseSelect';\n var selectedMap = {};\n var actionLegendIndices = [];\n ecModel.eachComponent({\n mainType: 'legend',\n query: payload\n }, function (legendModel) {\n if (isAllSelect) {\n legendModel[methodName]();\n } else {\n legendModel[methodName](payload.name);\n }\n makeSelectedMap(legendModel, selectedMap);\n actionLegendIndices.push(legendModel.componentIndex);\n });\n var allSelectedMap = {};\n // make selectedMap from all legend components\n ecModel.eachComponent('legend', function (legendModel) {\n each(selectedMap, function (isSelected, name) {\n // Force other legend has same selected status\n // Or the first is toggled to true and other are toggled to false\n // In the case one legend has some item unSelected in option. And if other legend\n // doesn't has the item, they will assume it is selected.\n legendModel[isSelected ? 'select' : 'unSelect'](name);\n });\n makeSelectedMap(legendModel, allSelectedMap);\n });\n // Return the event explicitly\n return isAllSelect ? {\n selected: allSelectedMap,\n // return legendIndex array to tell the developers which legends are allSelect / inverseSelect\n legendIndex: actionLegendIndices\n } : {\n name: payload.name,\n selected: allSelectedMap\n };\n}\nfunction makeSelectedMap(legendModel, out) {\n var selectedMap = out || {};\n each(legendModel.getData(), function (model) {\n var name = model.get('name');\n // Wrap element\n if (name === '\\n' || name === '') {\n return;\n }\n var isItemSelected = legendModel.isSelected(name);\n if (hasOwn(selectedMap, name)) {\n // Unselected if any legend is unselected\n selectedMap[name] = selectedMap[name] && isItemSelected;\n } else {\n selectedMap[name] = isItemSelected;\n }\n });\n return selectedMap;\n}\nexport function installLegendAction(registers) {\n /**\r\n * @event legendToggleSelect\r\n * @type {Object}\r\n * @property {string} type 'legendToggleSelect'\r\n * @property {string} [from]\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendToggleSelect', 'legendselectchanged', curry(legendSelectActionHandler, 'toggleSelected'));\n registers.registerAction('legendAllSelect', 'legendselectall', curry(legendSelectActionHandler, 'allSelect'));\n registers.registerAction('legendInverseSelect', 'legendinverseselect', curry(legendSelectActionHandler, 'inverseSelect'));\n /**\r\n * @event legendSelect\r\n * @type {Object}\r\n * @property {string} type 'legendSelect'\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendSelect', 'legendselected', curry(legendSelectActionHandler, 'select'));\n /**\r\n * @event legendUnSelect\r\n * @type {Object}\r\n * @property {string} type 'legendUnSelect'\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendUnSelect', 'legendunselected', curry(legendSelectActionHandler, 'unSelect'));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport LegendModel from './LegendModel.js';\nimport LegendView from './LegendView.js';\nimport legendFilter from './legendFilter.js';\nimport { installLegendAction } from './legendAction.js';\nexport function install(registers) {\n registers.registerComponentModel(LegendModel);\n registers.registerComponentView(LegendView);\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\n registers.registerSubTypeDefaulter('legend', function () {\n return 'plain';\n });\n installLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function installScrollableLegendAction(registers) {\n /**\r\n * @event legendScroll\r\n * @type {Object}\r\n * @property {string} type 'legendScroll'\r\n * @property {string} scrollDataIndex\r\n */\n registers.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n var scrollDataIndex = payload.scrollDataIndex;\n scrollDataIndex != null && ecModel.eachComponent({\n mainType: 'legend',\n subType: 'scroll',\n query: payload\n }, function (legendModel) {\n legendModel.setScrollDataIndex(scrollDataIndex);\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport ScrollableLegendModel from './ScrollableLegendModel.js';\nimport ScrollableLegendView from './ScrollableLegendView.js';\nimport installScrollableLegendAction from './scrollableLegendAction.js';\nexport function install(registers) {\n use(installLegendPlain);\n registers.registerComponentModel(ScrollableLegendModel);\n registers.registerComponentView(ScrollableLegendView);\n installScrollableLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport { install as installLegendScroll } from './installLegendScroll.js';\nexport function install(registers) {\n use(installLegendPlain);\n use(installLegendScroll);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function dataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n if (!legendModels || !legendModels.length) {\n return;\n }\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx);\n // If in any legend component the status is not selected.\n for (var i = 0; i < legendModels.length; i++) {\n // @ts-ignore FIXME: LegendModel\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isNumber } from 'zrender/lib/core/util.js';\nexport default function negativeDataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n // handle negative value condition\n var valueDim = data.mapDimension('value');\n var curValue = data.get(valueDim, idx);\n if (isNumber(curValue) && !isNaN(curValue) && curValue < 0) {\n return false;\n }\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createLegacyDataSelectAction } from '../../legacy/dataSelectAction.js';\nimport pieLayout from '../pie/pieLayout.js';\nimport dataFilter from '../../processor/dataFilter.js';\nimport { curry } from 'zrender/lib/core/util.js';\nimport PieView from './PieView.js';\nimport PieSeriesModel from './PieSeries.js';\nimport negativeDataFilter from '../../processor/negativeDataFilter.js';\nexport function install(registers) {\n registers.registerChartView(PieView);\n registers.registerSeriesModel(PieSeriesModel);\n createLegacyDataSelectAction('pie', registers.registerAction);\n registers.registerLayout(curry(pieLayout, 'pie'));\n registers.registerProcessor(dataFilter('pie'));\n registers.registerProcessor(negativeDataFilter('pie'));\n}","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n position: relative;\n width: 100%;\n display: block;\n}\n\n.container {\n aspect-ratio: 1 / 1;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n}\n\n.chart-container {\n width: 100%;\n height: 100%;\n\n --comp-color-1: #{var-list(var-prefixer(chart-donut-color-1), --t-accent-1, #e05252)};\n --comp-color-2: #{var-list(var-prefixer(chart-donut-color-2), --t-accent-2, #e09952)};\n --comp-color-3: #{var-list(var-prefixer(chart-donut-color-3), --t-accent-3, #e0e052)};\n --comp-color-4: #{var-list(var-prefixer(chart-donut-color-4), --t-accent-4, #99e052)};\n --comp-color-5: #{var-list(var-prefixer(chart-donut-color-5), --t-accent-5, #52e052)};\n --comp-color-6: #{var-list(var-prefixer(chart-donut-color-6), --t-accent-6, #52e099)};\n --comp-color-7: #{var-list(var-prefixer(chart-donut-color-7), --t-accent-7, #52e0e0)};\n --comp-color-8: #{var-list(var-prefixer(chart-donut-color-8), --t-accent-8, #5299e0)};\n --comp-color-9: #{var-list(var-prefixer(chart-donut-color-9), --t-accent-9, #5252e0)};\n --comp-color-10: #{var-list(var-prefixer(chart-donut-color-10), --t-accent-10, #9952e0)};\n --comp-color-11: #{var-list(var-prefixer(chart-donut-color-11), --t-accent-11, #e052e0)};\n --comp-color-12: #{var-list(var-prefixer(chart-donut-color-12), --t-accent-12, #e05299)};\n\n &:focus-visible {\n box-shadow: var-list(--tct-chart-donut-focus-visible-box-shadow, --const-double-focus-ring);\n }\n}\n\nbutton {\n --comp-button-padding: #{var-list(\n --tct-chart-donut-button-padding,\n unquote('#{var-list(var-prefixer(chart-donut-button-vertical-padding), --app-scale-1x, 5px)} 0')\n )};\n\n transition: box-shadow #{var-list(var-prefixer(chart-donut-button-tween), --app-tween-1, unquote('0.2s ease'))};\n padding: var(--comp-button-padding);\n &:active {\n box-shadow: var(--const-double-focus-ring),\n #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n &:hover {\n box-shadow: #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n &:focus-visible {\n box-shadow: var(--const-double-focus-ring),\n #{var-list(\n var-prefixer(chart-donut-button-hover-box-shadow),\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n )};\n }\n}\n\n.center-card-container {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: var-list(var-prefixer(chart-donut-button-container-padding), --app-scale-1x, 5px);\n border-radius: 50%;\n}\n\n.center-card {\n height: 100%;\n width: 100%;\n text-align: center;\n color: #{var-list(var-prefixer(chart-donut-text-color), --t-text, #4d4d4d)};\n margin-inline: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n\n &:is(button) {\n cursor: pointer;\n background: var(--tct-chart-donut-button-background, transparent);\n border: 0;\n\n &:hover {\n background: var(--tct-chart-donut-button-hover-background, transparent);\n }\n\n &:active {\n background: var(--tct-chart-donut-button-active-background, transparent);\n }\n\n &:focus-visible {\n background: var(--tct-chart-donut-button-focus-background, transparent);\n }\n }\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(chart-donut-icon-size), 26px)};\n --comp-icon-margin: #{var-list(\n --tct-chart-donut-icon-margin,\n unquote('0 0 #{var-list(var-prefixer(chart-donut-icon-margin-bottom), --app-scale-1x, 5px)}')\n )};\n margin: var(--comp-icon-margin);\n}\n\n.name {\n font-size: #{var-list(var-prefixer(chart-donut-name-font-size), 14px)};\n}\n\n.value {\n font-size: #{var-list(var-prefixer(chart-donut-value-font-size), 21px)};\n}\n\nfigure {\n margin: 0;\n}\n\n.legend {\n margin-top: #{var-list(--tct-chart-donut-legend-margin-top, --app-scale-0x, 0)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, isMobile, loc, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\nimport { getCSSProperty } from 'src/utils/charting';\n\nimport type { DonutChartData } from 'q2-tecton-common/lib/types/elements';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n/**\n * @name Donut Chart\n * @category Data Visualization\n * @summary Use for showing proportions of a whole as segments in a ring.\n */\n@Component({ tag: 'q2-chart-donut', shadow: true, styleUrl: 'q2-chart-donut.scss' })\nexport class Q2ChartDonut implements ComponentInterface {\n // #region Own Properties\n\n btnElement: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n chart: echarts.ECharts;\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n colors: string[];\n defaultRecord = { id: null, value: null, name: null };\n hostElementStyles: CSSStyleDeclaration;\n isInChangeEvent: boolean;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n hoveredId: string;\n\n @State()\n legendData: DonutChartData[];\n\n // #endregion\n // #region Public Property API\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true })\n chartName: string;\n\n /** An array of objects that contain the data to be displayed. */\n @Prop()\n data: DonutChartData[] = [];\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true })\n format: 'currency' | 'default';\n\n /** The amount which the slice will scale when hovered. */\n @Prop()\n hoverScaleSize: number = 5;\n\n /**\n * The inner radius of the chart slices which is represeted by a percentage of the radius.\n *\n * @warning\n * If you update this property to be greater than or equal to the `outerRadius`,\n * we automatically set it to be 15% less than the current `outerRadius` to prevent display issues.\n */\n @Prop({ mutable: true })\n innerRadius: string = '70%';\n\n /**\n * Determine whether the data in the center renders inside a button element.\n *\n * @info\n * This also enables extra keyboard controls when the button is focused.\n */\n @Prop({ reflect: true })\n isClickable: boolean;\n\n /** The minimum size of the chart slizes which is represented as a percentage of the circumferences. */\n @Prop()\n minSliceSize: string = '2.5%';\n\n /**\n * The outer radius of the chart slices which is represented by a percentage of the radius.\n *\n * @warning\n * If you update this property to be less than or equal to the `innerRadius`,\n * we automatically set it to be 15% greater than the current `innerRadius` to prevent display issues.\n */\n @Prop({ mutable: true })\n outerRadius: string = '85%';\n\n /** The id of the data point that is currently selected in the chart. You may set this to pre-select a data point on render, or force a selection change. */\n @Prop({ mutable: true })\n selectedId: string;\n\n /** The amount which the slice will separate from the chart when selected. */\n @Prop()\n selectedOffset: number = 10;\n\n /**\n * Determines whether the legend is displayed.\n *\n * @info\n * The legend is a list of the data points in the chart and their colors.\n */\n @Prop({ reflect: true })\n showLegend: boolean = false;\n\n /** The icon that displays by default when no slices are selected. */\n @Prop({ reflect: true })\n summaryIcon: string;\n\n /**\n * The name that displays by default when no slices are selected.\n * @localizable\n */\n @Prop({ reflect: true })\n summaryName: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when a slice is selected.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<DonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n * @deprecated Use 'tctClick' instead\n */\n @Event()\n click: EventEmitter<DonutChartData>;\n\n /**\n * Emitted when a slice is selected.\n */\n @Event()\n tctChange: EventEmitter<DonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n */\n @Event()\n tctClick: EventEmitter<DonutChartData>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n // CRITICAL: Dispose eCharts instance to prevent memory leaks\n // eCharts holds references to canvas, event listeners (mouseover, mouseout, click, selectchanged, finished),\n // and animation frames. All chart event listeners are automatically cleaned up by dispose()\n if (this.chart) {\n this.chart.dispose();\n this.chart = null;\n }\n\n // Disconnect ResizeObserver\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n\n // Clear cached style references that hold DOM references (Safari memory management)\n this.chartContainerStyles = null;\n this.hostElementStyles = null;\n\n // Clear DOM references\n this.chartContainer = null;\n this.centerButtonElement = null;\n this.btnElement = null;\n\n // Clear data references\n this.colors = null;\n this.legendData = null;\n\n // Clear state to prevent lingering references\n this.hoveredId = null;\n this.selectedId = null;\n }\n\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.setLegendData();\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Clears any selected slice.\n */\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /**\n * Returns the chart instance for e2e testing.\n *\n * @testOnly\n */\n @Method()\n async getChartOptions(): Promise<any> {\n return this.chart.getOption();\n }\n\n /**\n * Selects a slice by its provided `id` in the provided `data`.\n */\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Selects a slice by its index in the provided `data`.\n */\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * A method to select a slice with index.\n *\n * @testOnly\n */\n @Method()\n async selectDataPoint(index: number) {\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: index,\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n propsUpdates() {\n if (!this.chart) return;\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n if (!this.chart) return;\n this.colors = this.getColors();\n this.updateChart(this.chart);\n this.setLegendData();\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n /**\n * Function to detect and set a data range (category) as selected\n * Logic for when legends are present, and can set selectedId when ledgend category is clicked\n * Also can be used by dev to preset\n */\n @Watch('selectedId')\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n get isMobile(): boolean {\n return isMobile();\n }\n\n get legendHoveredId() {\n return this.hoveredId === this.selectedId ? null : this.hoveredId;\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getColors() {\n const defaultColors = [1, 3, 8, 4, 2, 10, 7, 11, 6, 9, 12, 5].map(e => `--comp-color-${e}`);\n return this.data.reduce((acc, cur, idx) => {\n let color = defaultColors[idx % defaultColors.length];\n if (cur.color) color = cur.color;\n\n acc.push(getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles) || color);\n return acc;\n }, []);\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataIndexForId(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getMinSliceSizeAsAngle() {\n return (parseFloat(this.minSliceSize) / 100) * 360;\n }\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n mirrorEmit(this, ['click', 'tctClick'], data);\n };\n\n onButtonKeyDown = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n case ' ':\n event.preventDefault();\n break;\n\n default:\n return;\n }\n };\n\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n onLegendClick = event => {\n event.stopPropagation();\n if (event.detail) {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.selectedId = event.detail.id;\n this.chart.dispatchAction({\n type: 'select',\n seriesIndex: 0,\n dataIndex,\n });\n } else {\n const dataIndex = this.getDataIndexForId(this.selectedId);\n this.hoveredId = this.selectedId;\n this.selectedId = null;\n this.chart.dispatchAction({\n type: 'unselect',\n seriesIndex: 0,\n dataIndex,\n });\n }\n };\n\n onLegendMouseenter = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = event.detail.id;\n this.chart.dispatchAction({\n type: 'highlight',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n onLegendMouseleave = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = this.selectedId;\n this.chart.dispatchAction({\n type: 'downplay',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n resizeChart() {\n this.chart.resize();\n }\n\n setLegendData() {\n const chartColors = this.chart.getOption().series[0].color;\n this.legendData = this.data.map((item, index) => {\n const newItem = { ...item };\n if (!newItem.color) newItem.color = chartColors[index];\n\n return newItem;\n });\n }\n\n // Edit with caution. Echarts does not interpret events the same on mobile.\n setupChartEvents(chart: echarts.ECharts) {\n if (!this.isMobile) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n }\n chart.on('click', params => {\n params.event.stop();\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n mirrorEmit(this, ['change', 'tctChange'], data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n chart.on('finished', () => {\n const canvas = chart.getDom().querySelector('canvas');\n if (canvas?.hasAttribute('aria-hidden') ?? false) return;\n canvas.setAttribute('aria-hidden', 'true');\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n this.validateColor();\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n padAngle: 3,\n itemStyle: {\n borderRadius: 2,\n },\n emphasis: {\n disabled: this.isMobile,\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n minAngle: this.getMinSliceSizeAsAngle(),\n data: this.data,\n },\n ],\n });\n }\n\n validateColor() {\n // check if there is name duplicated, then custom style using `itemStyle` object will be used.\n if (\n this.data.length >\n Object.keys(\n this.data.reduce((acc, cur) => {\n acc[cur.name] = cur.name;\n return acc;\n }, {})\n ).length\n ) {\n this.data.forEach((el, i) => {\n el.itemStyle = { ...el.itemStyle, color: el.color || this.colors[i] };\n });\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyDown: this.onButtonKeyDown,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-describedby': 'center-card-description',\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` }}\n >\n <div\n id=\"center-card-description\"\n class=\"sr\"\n >\n {loc('tecton.element.chartDonut.button.description')}\n </div>\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {!!icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {!!name && <div class=\"name\">{name}</div>}\n {!isNaN(value) && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <figure>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n aria-describedby={!this.isClickable ? 'center-card-description' : undefined}\n class=\"chart-container\"\n role=\"img\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n tabIndex={!this.isClickable ? 0 : undefined}\n onKeyDown={!this.isClickable ? this.onButtonKeyDown : undefined}\n ></div>\n {this.renderCenterBlock()}\n </div>\n {this.showLegend && (\n <figcaption>\n <q2-legend\n class=\"legend\"\n data={this.legendData}\n format={this.format}\n hoveredItemId={this.legendHoveredId}\n onClick={this.onLegendClick}\n onMouseleave={this.onLegendMouseleave}\n onMouseenter={this.onLegendMouseenter}\n selectedItemId={this.selectedId}\n />\n </figcaption>\n )}\n </figure>\n </click-elsewhere>\n );\n }\n\n // #endregion\n}\n"],"names":["install","installAxisPointer","installLegendPlain","installLegendScroll","echarts.use","TooltipComponent","LegendComponent","PieChart","CanvasRenderer","AriaComponent","LabelLayout","echarts.init"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-CGkHOjh1.js';
2
- import { c as createGuid, r as renderLabel } from './index-B4WYBDS9.js';
2
+ import { c as createGuid, r as renderLabel } from './index-C4PILj1_.js';
3
3
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
4
  import { h as hasValidChildren } from './component-DVxzK3WH.js';
5
5
 
6
- const q2CheckboxGroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{--comp-default-checkbox-group-margin:var(--tct-checkbox-group-margin-top, var(--t-checkbox-group-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-checkbox-group-margin-bottom, var(--t-checkbox-group-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-checkbox-group-margin, var(--comp-default-checkbox-group-margin))}fieldset{padding:var(--tct-checkbox-group-fieldset-padding, 0);margin:0;border:0;position:relative}.label-row{display:grid;grid-template-columns:1fr 24px;grid-template-areas:\"label icon\";column-gap:var(--tct-checkbox-group-label-column-gap, var(--app-scale-2x, 10px));color:var(--tct-checkbox-group-label-font-color, inherit);font-size:var(--tct-checkbox-group-label-font-size, inherit);font-weight:var(--tct-checkbox-group-label-font-weight, 600);text-transform:var(--tct-checkbox-group-label-text-transform, none);letter-spacing:var(--tct-checkbox-group-label-letter-spacing, inherit)}.label-row q2-icon{grid-area:icon;margin-top:-2px;margin-bottom:-2px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.slot-container{--comp-default-container-margin:var(--app-scale-1x, 5px) 0;margin:var(--tct-checkbox-group-container-margin, var(--comp-default-container-margin));padding:var(--tct-checkbox-group-container-padding, var(--app-scale-1x, 5px));border-width:1px;border-color:transparent;border-style:solid;border-radius:var(--tct-checkbox-group-border-radius, var(--app-border-radius-1, 4px))}:host([has-error]) .slot-container{border-color:var(--tct-checkbox-group-error-border-color, var(--const-stoplight-alert, #d20a0a))}:host([has-error=false]) .slot-container{border-color:transparent}.optional-tag{margin-left:var(--tct-checkbox-group-label-optional-margin-left, var(--app-scale-1x, 5px));color:var(--tct-checkbox-group-label-optional-color, var(--t-checkbox-group-label-optional-color, var(--tct-a11y-color, var(--t-a11y-color, var(--tct-a11y-gray-color, var(--t-a11y-gray-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--t-gray-d1, var(--app-gray-d1, rgba(77, 77, 77, 0.77))))))))))));font-size:var(--tct-checkbox-group-label-optional-font-size, 12px);font-weight:var(--tct-checkbox-group-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";
6
+ const q2CheckboxGroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{--comp-default-checkbox-group-margin:var(--tct-checkbox-group-margin-top, var(--t-checkbox-group-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-checkbox-group-margin-bottom, var(--t-checkbox-group-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-checkbox-group-margin, var(--comp-default-checkbox-group-margin))}fieldset{padding:var(--tct-checkbox-group-fieldset-padding, 0);margin:0;border:0;position:relative}.label-row{display:grid;grid-template-columns:1fr 24px;grid-template-areas:\"label icon\";column-gap:var(--tct-checkbox-group-label-column-gap, var(--app-scale-2x, 10px));color:var(--tct-checkbox-group-label-font-color, inherit);font-size:var(--tct-checkbox-group-label-font-size, inherit);font-weight:var(--tct-checkbox-group-label-font-weight, 600);text-transform:var(--tct-checkbox-group-label-text-transform, none);letter-spacing:var(--tct-checkbox-group-label-letter-spacing, inherit)}.label-row q2-icon{grid-area:icon;margin-top:-2px;margin-bottom:-2px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.slot-container{--comp-default-container-margin:var(--app-scale-1x, 5px) 0;margin:var(--tct-checkbox-group-container-margin, var(--comp-default-container-margin));padding:var(--tct-checkbox-group-container-padding, var(--app-scale-1x, 5px));border-width:var(--tct-checkbox-group-border-width, 1px);border-color:transparent;border-style:solid;border-radius:var(--tct-checkbox-group-border-radius, var(--app-border-radius-1, 4px))}:host([has-error]) .slot-container{border-color:var(--tct-checkbox-group-error-border-color, var(--const-stoplight-alert, #d20a0a))}:host([has-error=false]) .slot-container{border-color:transparent}.optional-tag{margin-left:var(--tct-checkbox-group-label-optional-margin-left, var(--app-scale-1x, 5px));color:var(--tct-checkbox-group-label-optional-color, var(--t-checkbox-group-label-optional-color, var(--tct-a11y-color, var(--t-a11y-color, var(--tct-a11y-gray-color, var(--t-a11y-gray-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--t-gray-d1, var(--app-gray-d1, rgba(77, 77, 77, 0.77))))))))))));font-size:var(--tct-checkbox-group-label-optional-font-size, 12px);font-weight:var(--tct-checkbox-group-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";
7
7
 
8
8
  const Q2CheckboxGroup = class {
9
9
  constructor(hostRef) {
@@ -120,7 +120,7 @@ const Q2CheckboxGroup = class {
120
120
  render() {
121
121
  const showLabel = this.label || this.optional || this.readonly;
122
122
  const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;
123
- return (h(Fragment, { key: 'eaff44b5a38dc022c372e375ec153d42b4a52c7f' }, showLabelRow && (h("div", { key: '8252c6b3958656e3891709de3c54eb6a74247bf0', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: '7a9e381063cfc689f0828dfb926434a9c042121a', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: 'c6e3ffeab88703d7a39216400e9c56021e918dc6', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '671bef4db48e6181a3d1ac542b3c50495b6d1d70', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: '043796604c9300ba8c04d6d53c7a554ba87dc159', class: "sr-only" }, renderLabel(this)), this.inputDom())));
123
+ return (h(Fragment, { key: '045db0eb9522964c61680474aaf53cf75c373804' }, showLabelRow && (h("div", { key: 'e372b876b16c4122c86c4f5573e403965a75b7d2', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: 'b188c3e6715a50a6cb8ba83f4140b2eef3ca688d', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: '192f18d69d85d38dc0be8116c207961c9e4dcd28', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '9e66e81e0f6aa9bd54a857ebfccc851f9efa4f68', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: '9bb04149f29a9727e3350f06feeda8a171e41ee0', class: "sr-only" }, renderLabel(this)), this.inputDom())));
124
124
  }
125
125
  get hostElement() { return getElement(this); }
126
126
  static get watchers() { return {
@@ -1 +1 @@
1
- {"version":3,"file":"q2-checkbox-group.entry.js","sources":["src/components/q2-checkbox-group/q2-checkbox-group.scss?tag=q2-checkbox-group&encapsulation=shadow","src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n --comp-default-checkbox-group-margin: #{var-list(var-prefixer(checkbox-group-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(checkbox-group-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-checkbox-group-margin, --comp-default-checkbox-group-margin);\n}\n\nfieldset {\n padding: var(--tct-checkbox-group-fieldset-padding, 0);\n margin: 0;\n border: 0;\n position: relative;\n}\n\n.label-row {\n display: grid;\n grid-template-columns: 1fr 24px;\n grid-template-areas: 'label icon';\n column-gap: var(--tct-checkbox-group-label-column-gap, var(--app-scale-2x, 10px));\n color: var-list(--tct-checkbox-group-label-font-color, inherit);\n font-size: var-list(--tct-checkbox-group-label-font-size, inherit);\n font-weight: var-list(--tct-checkbox-group-label-font-weight, 600);\n text-transform: var-list(--tct-checkbox-group-label-text-transform, none);\n letter-spacing: var-list(--tct-checkbox-group-label-letter-spacing, inherit);\n\n q2-icon {\n grid-area: icon;\n margin-top: -2px;\n margin-bottom: -2px;\n }\n}\n\n.group-legend {\n font-weight: 600;\n}\n\nlegend.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n border: 0;\n}\n\n.slot-container {\n --comp-default-container-margin: var(--app-scale-1x, 5px) 0;\n margin: var-list(--tct-checkbox-group-container-margin, --comp-default-container-margin);\n padding: var-list(--tct-checkbox-group-container-padding, --app-scale-1x, 5px);\n border-width: 1px;\n border-color: transparent;\n border-style: solid;\n border-radius: var-list(--tct-checkbox-group-border-radius, --app-border-radius-1, 4px);\n\n :host([has-error]) & {\n border-color: var-list(--tct-checkbox-group-error-border-color, --const-stoplight-alert, #d20a0a);\n }\n :host([has-error='false']) & {\n border-color: transparent;\n }\n}\n\n.optional-tag {\n margin-left: var-list(--tct-checkbox-group-label-optional-margin-left, --app-scale-1x, 5px);\n color: var-list(\n var-prefixer(checkbox-group-label-optional-color),\n var-prefixer(a11y-color),\n var-prefixer(a11y-gray-color),\n var-prefixer(gray-7),\n var-prefixer(gray-d1),\n --app-gray-d1,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var(--tct-checkbox-group-label-optional-font-size, 12px);\n font-weight: var(--tct-checkbox-group-label-optional-font-weight, 400);\n}\n\n.flexed {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n}\n.flexed.left {\n justify-content: left;\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\nimport { hasValidChildren } from '@/utils/component';\n\n/**\n * @name Checkbox Group\n * @category Forms\n * @summary Use for selecting multiple options from a set of checkboxes.\n * @slot label - An optional slot to display a custom label.\n */\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox selection changes.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter;\n\n /**\n * Emitted when the checkbox selection changes.\n */\n @Event()\n tctChange: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n if (!hasValidChildren(this.hostElement, 'q2-checkbox')) {\n console.warn(\n 'q2-checkbox-group allows other elements as children but only expects and interacts with q2-checkbox',\n this\n );\n }\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return (\n <div class=\"slot-container\">\n <slot />\n </div>\n );\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n mirrorEmit(this, ['change', 'tctChange'], groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n {this.hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError ? `${this.hasError}` : undefined}\n >\n {showLabel && <legend class=\"sr-only\">{renderLabel(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"q2-checkbox-group.entry.js","sources":["src/components/q2-checkbox-group/q2-checkbox-group.scss?tag=q2-checkbox-group&encapsulation=shadow","src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n --comp-default-checkbox-group-margin: #{var-list(var-prefixer(checkbox-group-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(checkbox-group-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-checkbox-group-margin, --comp-default-checkbox-group-margin);\n}\n\nfieldset {\n padding: var(--tct-checkbox-group-fieldset-padding, 0);\n margin: 0;\n border: 0;\n position: relative;\n}\n\n.label-row {\n display: grid;\n grid-template-columns: 1fr 24px;\n grid-template-areas: 'label icon';\n column-gap: var(--tct-checkbox-group-label-column-gap, var(--app-scale-2x, 10px));\n color: var-list(--tct-checkbox-group-label-font-color, inherit);\n font-size: var-list(--tct-checkbox-group-label-font-size, inherit);\n font-weight: var-list(--tct-checkbox-group-label-font-weight, 600);\n text-transform: var-list(--tct-checkbox-group-label-text-transform, none);\n letter-spacing: var-list(--tct-checkbox-group-label-letter-spacing, inherit);\n\n q2-icon {\n grid-area: icon;\n margin-top: -2px;\n margin-bottom: -2px;\n }\n}\n\n.group-legend {\n font-weight: 600;\n}\n\nlegend.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n border: 0;\n}\n\n.slot-container {\n --comp-default-container-margin: var(--app-scale-1x, 5px) 0;\n margin: var-list(--tct-checkbox-group-container-margin, --comp-default-container-margin);\n padding: var-list(--tct-checkbox-group-container-padding, --app-scale-1x, 5px);\n border-width: var-list(--tct-checkbox-group-border-width, 1px);\n border-color: transparent;\n border-style: solid;\n border-radius: var-list(--tct-checkbox-group-border-radius, --app-border-radius-1, 4px);\n\n :host([has-error]) & {\n border-color: var-list(--tct-checkbox-group-error-border-color, --const-stoplight-alert, #d20a0a);\n }\n :host([has-error='false']) & {\n border-color: transparent;\n }\n}\n\n.optional-tag {\n margin-left: var-list(--tct-checkbox-group-label-optional-margin-left, --app-scale-1x, 5px);\n color: var-list(\n var-prefixer(checkbox-group-label-optional-color),\n var-prefixer(a11y-color),\n var-prefixer(a11y-gray-color),\n var-prefixer(gray-7),\n var-prefixer(gray-d1),\n --app-gray-d1,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var(--tct-checkbox-group-label-optional-font-size, 12px);\n font-weight: var(--tct-checkbox-group-label-optional-font-weight, 400);\n}\n\n.flexed {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n}\n.flexed.left {\n justify-content: left;\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\nimport { hasValidChildren } from '@/utils/component';\n\n/**\n * @name Checkbox Group\n * @category Forms\n * @summary Use for selecting multiple options from a set of checkboxes.\n * @slot label - An optional slot to display a custom label.\n */\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox selection changes.\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter;\n\n /**\n * Emitted when the checkbox selection changes.\n */\n @Event()\n tctChange: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n if (!hasValidChildren(this.hostElement, 'q2-checkbox')) {\n console.warn(\n 'q2-checkbox-group allows other elements as children but only expects and interacts with q2-checkbox',\n this\n );\n }\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return (\n <div class=\"slot-container\">\n <slot />\n </div>\n );\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n mirrorEmit(this, ['change', 'tctChange'], groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n {this.hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError ? `${this.hasError}` : undefined}\n >\n {showLabel && <legend class=\"sr-only\">{renderLabel(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}