q2-tecton-elements 1.46.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +8 -16
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-0e15dc8d.js → index-a93362ed.js} +3 -3
  4. package/dist/cjs/index-a93362ed.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +17 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +37 -7
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-carousel.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +71 -6
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-checkbox-group.cjs.entry.js +4 -3
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-checkbox.cjs.entry.js +4 -3
  22. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  25. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-icon.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-input.cjs.entry.js +24 -5
  34. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  35. package/dist/cjs/q2-item.cjs.entry.js +13 -15
  36. package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/q2-legend.cjs.entry.js +118 -0
  38. package/dist/cjs/q2-legend.cjs.entry.js.map +1 -0
  39. package/dist/cjs/q2-list.cjs.entry.js +8 -8
  40. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  48. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  53. package/dist/cjs/q2-select.cjs.entry.js +6 -4
  54. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  58. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  60. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  62. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  64. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  65. package/dist/collection/collection-manifest.json +1 -0
  66. package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -8
  67. package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
  68. package/dist/collection/components/q2-calendar/q2-calendar.js +16 -2
  69. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  70. package/dist/collection/components/q2-carousel/q2-carousel.js +2 -2
  71. package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
  72. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +36 -6
  73. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
  74. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +9 -0
  75. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +92 -5
  76. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  77. package/dist/collection/components/q2-checkbox/q2-checkbox.js +20 -2
  78. package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
  79. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +3 -2
  80. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  81. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  82. package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
  83. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  84. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  85. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  86. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
  87. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  88. package/dist/collection/components/q2-icon/assets/icon-file-list.json +1 -0
  89. package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
  90. package/dist/collection/components/q2-icon/q2-icon.js +1 -1
  91. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  92. package/dist/collection/components/q2-input/q2-input.js +121 -6
  93. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  94. package/dist/collection/components/q2-item/q2-item.js +23 -16
  95. package/dist/collection/components/q2-item/q2-item.js.map +1 -1
  96. package/dist/collection/components/q2-legend/q2-legend.css +126 -0
  97. package/dist/collection/components/q2-legend/q2-legend.js +271 -0
  98. package/dist/collection/components/q2-legend/q2-legend.js.map +1 -0
  99. package/dist/collection/components/q2-list/q2-list.js +7 -7
  100. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  101. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  102. package/dist/collection/components/q2-message/q2-message.js +1 -1
  103. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  104. package/dist/collection/components/q2-option/q2-option.js +1 -1
  105. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  106. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  107. package/dist/collection/components/q2-popover/q2-popover.js +5 -7
  108. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  109. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  110. package/dist/collection/components/q2-section/q2-section.js +2 -2
  111. package/dist/collection/components/q2-select/q2-select.js +11 -3
  112. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  113. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  114. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  115. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  116. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  117. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  118. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  119. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  120. package/dist/collection/utils/index.js +2 -2
  121. package/dist/collection/utils/index.js.map +1 -1
  122. package/dist/components/click-elsewhere2.js +2 -8
  123. package/dist/components/click-elsewhere2.js.map +1 -1
  124. package/dist/components/index.js +2 -0
  125. package/dist/components/index.js.map +1 -1
  126. package/dist/components/index2.js +2 -2
  127. package/dist/components/index2.js.map +1 -1
  128. package/dist/components/q2-calendar.js +16 -2
  129. package/dist/components/q2-calendar.js.map +1 -1
  130. package/dist/components/q2-carousel-pane.js +36 -6
  131. package/dist/components/q2-carousel-pane.js.map +1 -1
  132. package/dist/components/q2-carousel.js +2 -2
  133. package/dist/components/q2-carousel.js.map +1 -1
  134. package/dist/components/q2-chart-donut.js +82 -9
  135. package/dist/components/q2-chart-donut.js.map +1 -1
  136. package/dist/components/q2-checkbox-group.js +3 -2
  137. package/dist/components/q2-checkbox-group.js.map +1 -1
  138. package/dist/components/q2-checkbox2.js +4 -2
  139. package/dist/components/q2-checkbox2.js.map +1 -1
  140. package/dist/components/q2-currency.js +1 -1
  141. package/dist/components/q2-data-table.js +1 -1
  142. package/dist/components/q2-detail.js +1 -1
  143. package/dist/components/q2-dropdown-item2.js +1 -1
  144. package/dist/components/q2-dropdown-item2.js.map +1 -1
  145. package/dist/components/q2-dropdown.js +1 -1
  146. package/dist/components/q2-dropdown.js.map +1 -1
  147. package/dist/components/q2-icon2.js +1 -1
  148. package/dist/components/q2-icon2.js.map +1 -1
  149. package/dist/components/q2-input2.js +28 -5
  150. package/dist/components/q2-input2.js.map +1 -1
  151. package/dist/components/q2-item.js +15 -17
  152. package/dist/components/q2-item.js.map +1 -1
  153. package/dist/components/q2-legend.d.ts +11 -0
  154. package/dist/components/q2-legend.js +8 -0
  155. package/dist/components/q2-legend.js.map +1 -0
  156. package/dist/components/q2-legend2.js +145 -0
  157. package/dist/components/q2-legend2.js.map +1 -0
  158. package/dist/components/q2-list.js +7 -7
  159. package/dist/components/q2-list.js.map +1 -1
  160. package/dist/components/q2-loc.js +1 -1
  161. package/dist/components/q2-message2.js +1 -1
  162. package/dist/components/q2-optgroup2.js +1 -1
  163. package/dist/components/q2-option2.js +1 -1
  164. package/dist/components/q2-pagination.js +2 -2
  165. package/dist/components/q2-pill.js +1 -1
  166. package/dist/components/q2-popover2.js +5 -7
  167. package/dist/components/q2-popover2.js.map +1 -1
  168. package/dist/components/q2-relative-time.js +1 -1
  169. package/dist/components/q2-section.js +2 -2
  170. package/dist/components/q2-select2.js +6 -4
  171. package/dist/components/q2-select2.js.map +1 -1
  172. package/dist/components/q2-stepper-pane.js +1 -1
  173. package/dist/components/q2-stepper-vertical.js +1 -1
  174. package/dist/components/q2-stepper.js +1 -1
  175. package/dist/components/q2-tab-container.js +1 -1
  176. package/dist/components/q2-tab-pane.js +1 -1
  177. package/dist/components/q2-tag.js +1 -1
  178. package/dist/components/tecton-tab-pane.js +2 -2
  179. package/dist/esm/click-elsewhere_2.entry.js +8 -16
  180. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  181. package/dist/esm/{index-0a702dd6.js → index-3c5cd75e.js} +3 -3
  182. package/dist/esm/index-3c5cd75e.js.map +1 -0
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/q2-action-sheet.entry.js +1 -1
  185. package/dist/esm/q2-btn_2.entry.js +1 -1
  186. package/dist/esm/q2-calendar.entry.js +17 -3
  187. package/dist/esm/q2-calendar.entry.js.map +1 -1
  188. package/dist/esm/q2-card.entry.js +1 -1
  189. package/dist/esm/q2-carousel-pane.entry.js +37 -7
  190. package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
  191. package/dist/esm/q2-carousel.entry.js +3 -3
  192. package/dist/esm/q2-carousel.entry.js.map +1 -1
  193. package/dist/esm/q2-chart-area.entry.js +1 -1
  194. package/dist/esm/q2-chart-bar.entry.js +1 -1
  195. package/dist/esm/q2-chart-donut.entry.js +71 -6
  196. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  197. package/dist/esm/q2-checkbox-group.entry.js +4 -3
  198. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  199. package/dist/esm/q2-checkbox.entry.js +4 -3
  200. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  201. package/dist/esm/q2-currency.entry.js +1 -1
  202. package/dist/esm/q2-data-table.entry.js +2 -2
  203. package/dist/esm/q2-detail.entry.js +2 -2
  204. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  205. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  206. package/dist/esm/q2-dropdown.entry.js +2 -2
  207. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  208. package/dist/esm/q2-editable-field.entry.js +1 -1
  209. package/dist/esm/q2-icon.entry.js +2 -2
  210. package/dist/esm/q2-icon.entry.js.map +1 -1
  211. package/dist/esm/q2-input.entry.js +24 -5
  212. package/dist/esm/q2-input.entry.js.map +1 -1
  213. package/dist/esm/q2-item.entry.js +14 -16
  214. package/dist/esm/q2-item.entry.js.map +1 -1
  215. package/dist/esm/q2-legend.entry.js +114 -0
  216. package/dist/esm/q2-legend.entry.js.map +1 -0
  217. package/dist/esm/q2-list.entry.js +8 -8
  218. package/dist/esm/q2-list.entry.js.map +1 -1
  219. package/dist/esm/q2-loc.entry.js +2 -2
  220. package/dist/esm/q2-message.entry.js +2 -2
  221. package/dist/esm/q2-month-picker.entry.js +1 -1
  222. package/dist/esm/q2-optgroup.entry.js +2 -2
  223. package/dist/esm/q2-option-list.entry.js +1 -1
  224. package/dist/esm/q2-option.entry.js +1 -1
  225. package/dist/esm/q2-pagination.entry.js +3 -3
  226. package/dist/esm/q2-pill.entry.js +2 -2
  227. package/dist/esm/q2-radio-group.entry.js +1 -1
  228. package/dist/esm/q2-radio.entry.js +1 -1
  229. package/dist/esm/q2-relative-time.entry.js +1 -1
  230. package/dist/esm/q2-section.entry.js +3 -3
  231. package/dist/esm/q2-select.entry.js +6 -4
  232. package/dist/esm/q2-select.entry.js.map +1 -1
  233. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  234. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  235. package/dist/esm/q2-stepper.entry.js +2 -2
  236. package/dist/esm/q2-tab-container.entry.js +2 -2
  237. package/dist/esm/q2-tab-pane.entry.js +1 -1
  238. package/dist/esm/q2-tag.entry.js +2 -2
  239. package/dist/esm/q2-tecton-elements.js +1 -1
  240. package/dist/esm/q2-textarea.entry.js +1 -1
  241. package/dist/esm/q2-tooltip.entry.js +1 -1
  242. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  243. package/dist/q2-tecton-elements/assets/icon-file-list.json +1 -0
  244. package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
  245. package/dist/q2-tecton-elements/{p-aec64fcb.entry.js → p-0e27ea75.entry.js} +2 -2
  246. package/dist/q2-tecton-elements/{p-7e1dc7e8.entry.js → p-0e482a7c.entry.js} +2 -2
  247. package/dist/q2-tecton-elements/{p-57bf9342.entry.js → p-1b89b9c3.entry.js} +2 -2
  248. package/dist/q2-tecton-elements/{p-d1522382.entry.js → p-1d824cdf.entry.js} +2 -2
  249. package/dist/q2-tecton-elements/{p-176ad382.entry.js → p-23183c61.entry.js} +2 -2
  250. package/dist/q2-tecton-elements/p-24d96969.entry.js +2 -0
  251. package/dist/q2-tecton-elements/p-24d96969.entry.js.map +1 -0
  252. package/dist/q2-tecton-elements/{p-f1265647.entry.js → p-2d6a9a94.entry.js} +2 -2
  253. package/dist/q2-tecton-elements/{p-4570ff06.entry.js → p-30d70f4a.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/{p-79df783e.entry.js → p-33af97b0.entry.js} +2 -2
  255. package/dist/q2-tecton-elements/{p-47868d6d.entry.js → p-35cc1039.entry.js} +2 -2
  256. package/dist/q2-tecton-elements/{p-dc057a9c.entry.js → p-3f665c56.entry.js} +2 -2
  257. package/dist/q2-tecton-elements/{p-12326313.entry.js → p-3fe532bc.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/{p-e47dbfbe.entry.js → p-45d70da2.entry.js} +2 -2
  259. package/dist/q2-tecton-elements/{p-1c4aa7e3.entry.js → p-4b47816d.entry.js} +2 -2
  260. package/dist/q2-tecton-elements/p-4b47816d.entry.js.map +1 -0
  261. package/dist/q2-tecton-elements/{p-d9e19f70.entry.js → p-52e277b8.entry.js} +2 -2
  262. package/dist/q2-tecton-elements/{p-d635e39f.entry.js → p-63038a54.entry.js} +2 -2
  263. package/dist/q2-tecton-elements/{p-87bbeb9c.entry.js → p-66ae329f.entry.js} +2 -2
  264. package/dist/q2-tecton-elements/{p-36398b59.entry.js → p-6eac40be.entry.js} +2 -2
  265. package/dist/q2-tecton-elements/p-6eac40be.entry.js.map +1 -0
  266. package/dist/q2-tecton-elements/{p-4bbe563f.entry.js → p-6f2de185.entry.js} +2 -2
  267. package/dist/q2-tecton-elements/p-6f2de185.entry.js.map +1 -0
  268. package/dist/q2-tecton-elements/{p-f0813fb4.entry.js → p-76be9cad.entry.js} +2 -2
  269. package/dist/q2-tecton-elements/p-76be9cad.entry.js.map +1 -0
  270. package/dist/q2-tecton-elements/{p-da7fc914.entry.js → p-774975fa.entry.js} +2 -2
  271. package/dist/q2-tecton-elements/{p-d013e05d.entry.js → p-7cbb989e.entry.js} +2 -2
  272. package/dist/q2-tecton-elements/{p-d013e05d.entry.js.map → p-7cbb989e.entry.js.map} +1 -1
  273. package/dist/q2-tecton-elements/p-7dafc5da.entry.js +2 -0
  274. package/dist/q2-tecton-elements/p-7dafc5da.entry.js.map +1 -0
  275. package/dist/q2-tecton-elements/{p-2132da06.entry.js → p-81bb9436.entry.js} +2 -2
  276. package/dist/q2-tecton-elements/p-84190698.js +2 -0
  277. package/dist/q2-tecton-elements/p-84190698.js.map +1 -0
  278. package/dist/q2-tecton-elements/{p-515d424b.entry.js → p-8a00552f.entry.js} +2 -2
  279. package/dist/q2-tecton-elements/{p-1b37b8c6.entry.js → p-8fc099f5.entry.js} +2 -2
  280. package/dist/q2-tecton-elements/p-8fc099f5.entry.js.map +1 -0
  281. package/dist/q2-tecton-elements/{p-22661533.entry.js → p-9eafabd5.entry.js} +2 -2
  282. package/dist/q2-tecton-elements/p-9eafabd5.entry.js.map +1 -0
  283. package/dist/q2-tecton-elements/{p-71180fcd.entry.js → p-a03c29f3.entry.js} +2 -2
  284. package/dist/q2-tecton-elements/p-a03c29f3.entry.js.map +1 -0
  285. package/dist/q2-tecton-elements/{p-e762526f.entry.js → p-a3d58a50.entry.js} +2 -2
  286. package/dist/q2-tecton-elements/{p-e3230823.entry.js → p-a891571c.entry.js} +2 -2
  287. package/dist/q2-tecton-elements/{p-6ebe37ea.entry.js → p-abe30d0c.entry.js} +2 -2
  288. package/dist/q2-tecton-elements/{p-1e927478.entry.js → p-b849365e.entry.js} +2 -2
  289. package/dist/q2-tecton-elements/{p-cb4f9b33.entry.js → p-c9ee763d.entry.js} +2 -2
  290. package/dist/q2-tecton-elements/p-c9ee763d.entry.js.map +1 -0
  291. package/dist/q2-tecton-elements/{p-e4a2469f.entry.js → p-ca17f7ca.entry.js} +2 -2
  292. package/dist/q2-tecton-elements/{p-7523305d.entry.js → p-ca43e917.entry.js} +2 -2
  293. package/dist/q2-tecton-elements/{p-fc9f43f8.entry.js → p-ced89010.entry.js} +2 -2
  294. package/dist/q2-tecton-elements/{p-195a133c.entry.js → p-d5776227.entry.js} +2 -2
  295. package/dist/q2-tecton-elements/{p-df297a77.entry.js → p-d75e4752.entry.js} +2 -2
  296. package/dist/q2-tecton-elements/p-dd18416f.entry.js +2 -0
  297. package/dist/q2-tecton-elements/p-dd18416f.entry.js.map +1 -0
  298. package/dist/q2-tecton-elements/p-e25194ce.entry.js +2 -0
  299. package/dist/q2-tecton-elements/p-e25194ce.entry.js.map +1 -0
  300. package/dist/q2-tecton-elements/{p-c016bd18.entry.js → p-f18caa3f.entry.js} +2 -2
  301. package/dist/q2-tecton-elements/{p-391acc00.entry.js → p-f450db0b.entry.js} +2 -2
  302. package/dist/q2-tecton-elements/p-f450db0b.entry.js.map +1 -0
  303. package/dist/q2-tecton-elements/{p-66af375f.entry.js → p-fb7dd7ab.entry.js} +2 -2
  304. package/dist/q2-tecton-elements/p-fb7dd7ab.entry.js.map +1 -0
  305. package/dist/q2-tecton-elements/{p-ad274c67.entry.js → p-fce6bc58.entry.js} +2 -2
  306. package/dist/q2-tecton-elements/{p-0eff37c6.entry.js → p-ff39ba49.entry.js} +2 -2
  307. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  308. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  309. package/dist/test/elements/click-elsewhere-test.e2e.js +0 -18
  310. package/dist/test/elements/click-elsewhere-test.e2e.js.map +1 -1
  311. package/dist/test/elements/q2-btn-test.e2e.js +16 -0
  312. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  313. package/dist/test/elements/q2-calendar-test.e2e.js +33 -35
  314. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  315. package/dist/test/elements/q2-carousel-pane-test.e2e.js +49 -1
  316. package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
  317. package/dist/test/elements/q2-carousel-pane-test.spec.js +4 -1
  318. package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -1
  319. package/dist/test/elements/q2-chart-donut-test.e2e.js +56 -0
  320. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  321. package/dist/test/elements/q2-checkbox-group-test.e2e.js +13 -10
  322. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  323. package/dist/test/elements/q2-dropdown-item-test.e2e.js +16 -3
  324. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  325. package/dist/test/elements/q2-icon-test.e2e.js +3 -3
  326. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  327. package/dist/test/elements/q2-input-test.e2e.js +121 -54
  328. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  329. package/dist/test/elements/{q2-detail/q2-item-test.e2e.js → q2-item-test.e2e.js} +29 -1
  330. package/dist/test/elements/q2-item-test.e2e.js.map +1 -0
  331. package/dist/test/elements/q2-item-test.spec.js +32 -0
  332. package/dist/test/elements/q2-item-test.spec.js.map +1 -0
  333. package/dist/test/elements/q2-legend-test.e2e.js +19 -0
  334. package/dist/test/elements/q2-legend-test.e2e.js.map +1 -0
  335. package/dist/test/elements/q2-legend-test.spec.js +271 -0
  336. package/dist/test/elements/q2-legend-test.spec.js.map +1 -0
  337. package/dist/test/elements/q2-select-test.e2e.js +41 -7
  338. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  339. package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +7 -0
  340. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +14 -0
  341. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +2 -0
  342. package/dist/types/components/q2-input/q2-input.d.ts +24 -1
  343. package/dist/types/components/q2-item/q2-item.d.ts +1 -1
  344. package/dist/types/components/q2-legend/q2-legend.d.ts +41 -0
  345. package/dist/types/components.d.ts +111 -2
  346. package/package.json +3 -3
  347. package/dist/cjs/index-0e15dc8d.js.map +0 -1
  348. package/dist/esm/index-0a702dd6.js.map +0 -1
  349. package/dist/q2-tecton-elements/p-1b37b8c6.entry.js.map +0 -1
  350. package/dist/q2-tecton-elements/p-1c4aa7e3.entry.js.map +0 -1
  351. package/dist/q2-tecton-elements/p-22661533.entry.js.map +0 -1
  352. package/dist/q2-tecton-elements/p-36398b59.entry.js.map +0 -1
  353. package/dist/q2-tecton-elements/p-391acc00.entry.js.map +0 -1
  354. package/dist/q2-tecton-elements/p-42302f6f.js +0 -2
  355. package/dist/q2-tecton-elements/p-42302f6f.js.map +0 -1
  356. package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +0 -1
  357. package/dist/q2-tecton-elements/p-66af375f.entry.js.map +0 -1
  358. package/dist/q2-tecton-elements/p-71180fcd.entry.js.map +0 -1
  359. package/dist/q2-tecton-elements/p-89305707.entry.js +0 -2
  360. package/dist/q2-tecton-elements/p-89305707.entry.js.map +0 -1
  361. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js +0 -2
  362. package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +0 -1
  363. package/dist/q2-tecton-elements/p-c56b58e9.entry.js +0 -2
  364. package/dist/q2-tecton-elements/p-c56b58e9.entry.js.map +0 -1
  365. package/dist/q2-tecton-elements/p-cb4f9b33.entry.js.map +0 -1
  366. package/dist/q2-tecton-elements/p-f0813fb4.entry.js.map +0 -1
  367. package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +0 -1
  368. /package/dist/q2-tecton-elements/{p-aec64fcb.entry.js.map → p-0e27ea75.entry.js.map} +0 -0
  369. /package/dist/q2-tecton-elements/{p-7e1dc7e8.entry.js.map → p-0e482a7c.entry.js.map} +0 -0
  370. /package/dist/q2-tecton-elements/{p-57bf9342.entry.js.map → p-1b89b9c3.entry.js.map} +0 -0
  371. /package/dist/q2-tecton-elements/{p-d1522382.entry.js.map → p-1d824cdf.entry.js.map} +0 -0
  372. /package/dist/q2-tecton-elements/{p-176ad382.entry.js.map → p-23183c61.entry.js.map} +0 -0
  373. /package/dist/q2-tecton-elements/{p-f1265647.entry.js.map → p-2d6a9a94.entry.js.map} +0 -0
  374. /package/dist/q2-tecton-elements/{p-4570ff06.entry.js.map → p-30d70f4a.entry.js.map} +0 -0
  375. /package/dist/q2-tecton-elements/{p-79df783e.entry.js.map → p-33af97b0.entry.js.map} +0 -0
  376. /package/dist/q2-tecton-elements/{p-47868d6d.entry.js.map → p-35cc1039.entry.js.map} +0 -0
  377. /package/dist/q2-tecton-elements/{p-dc057a9c.entry.js.map → p-3f665c56.entry.js.map} +0 -0
  378. /package/dist/q2-tecton-elements/{p-12326313.entry.js.map → p-3fe532bc.entry.js.map} +0 -0
  379. /package/dist/q2-tecton-elements/{p-e47dbfbe.entry.js.map → p-45d70da2.entry.js.map} +0 -0
  380. /package/dist/q2-tecton-elements/{p-d9e19f70.entry.js.map → p-52e277b8.entry.js.map} +0 -0
  381. /package/dist/q2-tecton-elements/{p-d635e39f.entry.js.map → p-63038a54.entry.js.map} +0 -0
  382. /package/dist/q2-tecton-elements/{p-87bbeb9c.entry.js.map → p-66ae329f.entry.js.map} +0 -0
  383. /package/dist/q2-tecton-elements/{p-da7fc914.entry.js.map → p-774975fa.entry.js.map} +0 -0
  384. /package/dist/q2-tecton-elements/{p-2132da06.entry.js.map → p-81bb9436.entry.js.map} +0 -0
  385. /package/dist/q2-tecton-elements/{p-515d424b.entry.js.map → p-8a00552f.entry.js.map} +0 -0
  386. /package/dist/q2-tecton-elements/{p-e762526f.entry.js.map → p-a3d58a50.entry.js.map} +0 -0
  387. /package/dist/q2-tecton-elements/{p-e3230823.entry.js.map → p-a891571c.entry.js.map} +0 -0
  388. /package/dist/q2-tecton-elements/{p-6ebe37ea.entry.js.map → p-abe30d0c.entry.js.map} +0 -0
  389. /package/dist/q2-tecton-elements/{p-1e927478.entry.js.map → p-b849365e.entry.js.map} +0 -0
  390. /package/dist/q2-tecton-elements/{p-e4a2469f.entry.js.map → p-ca17f7ca.entry.js.map} +0 -0
  391. /package/dist/q2-tecton-elements/{p-7523305d.entry.js.map → p-ca43e917.entry.js.map} +0 -0
  392. /package/dist/q2-tecton-elements/{p-fc9f43f8.entry.js.map → p-ced89010.entry.js.map} +0 -0
  393. /package/dist/q2-tecton-elements/{p-195a133c.entry.js.map → p-d5776227.entry.js.map} +0 -0
  394. /package/dist/q2-tecton-elements/{p-df297a77.entry.js.map → p-d75e4752.entry.js.map} +0 -0
  395. /package/dist/q2-tecton-elements/{p-c016bd18.entry.js.map → p-f18caa3f.entry.js.map} +0 -0
  396. /package/dist/q2-tecton-elements/{p-ad274c67.entry.js.map → p-fce6bc58.entry.js.map} +0 -0
  397. /package/dist/q2-tecton-elements/{p-0eff37c6.entry.js.map → p-ff39ba49.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatDateISO","value","date","Date","isValidDate","formatISO","representation","memoizedFormatDateShort","formatDateShort","isoDate","toISOString","Intl","DateTimeFormat","month","day","year","timeZone","resolvedOptions","format","memoizedFormatDateLong","formatDateLong","memoizedFormatDateFull","formatDateFull","weekday","convertMomentFormat","stringFormat","replace","stringToDate","isString","undefined","result","dateParts","split","map","part","padStart","isIsoString","length","isCompleteDate","isPartialDate","isStandardSlashDate","includes","unshift","pop","UTC","parseInt","now","yearNumber","monthNumber","dayNumber","getFullYear","removeTimezoneOffset","timeZoneOffset","getTimezoneOffset","setMinutes","Math","abs","stringArrayToDate","dateArray","Array","isArray","setupMonthYear","monthIndex","getMonth","selectedYear","validateInput","input","validDays","validDates","invalidDates","startDate","endDate","formatString","assume","isValid","isAvailable","messageType","message","loc","inputDate","buildInputDate","getDate","calendarPosition","monthName","getMonths","getDay","isoString","isNotValidDate","isInvalidDate","isBeforeStartDate","isAfterEndDate","isInvalid","Number","twoDigitDay","fourDigitYear","assumeYear","monthDay","mm","dd","nowLocal","assumedYear","slice","toString","handleMissingZeros","match","sp","reorderDateString","firstDayOfWeekInMonth","getDays","getDaysOfWeek","generateDatesFromMonthYear","daysInMonth","getDaysInMonth","keys","reduce","acc","stepIndex","push","getValidDaysOfWeek","checksum","sunValid","monValid","tuesValid","wedsValid","thursValid","friValid","satValid","ret","validateAgainstChecksum","validDaysOfWeek","newDate","validateAgainstBlacklist","validateAgainstWhitelist","some","validDate","isSameDay","buildDates","selectedMonthYear","currentSelection","dateValidators","typedValue","validationFns","baseValidation","bind","generateDateList","isIncompleteDate","datesInMonth","dayInMonth","dateIndex","fn","dayState","getDayState","classList","generateClassesForCalDay","Object","assign","integer","isEmpty","isActivity","startOfMonthEmpties","addEmptiesMonthStart","endOfMonthEmpties","addEmptiesMonthEnd","isNewDateBeforeStartDate","isAfter","isNewDateAfterEndDate","isBefore","isNowAfterCutoffTime","cutOffTime","currentDate","isSelected","isToday","isStartDate","isEndDate","classes","join","monthStartDayOfWeek","addEmptyDates","monthEndDayOfWeek","emptyDate","from","to","q2CalendarCss","Q2CalendarStyle0","Q2Calendar","this","formatModifier","defaultFormatString","scheduledAfterRender","internalError","dayAbbrStrings","dayStrings","monthStrings","closeCalendar","open","focusInput","openCalendar","readonly","dateValue","dateList","buildDateList","toggleCalendar","onClickElsewhere","event","target","localName","stopPropagation","onPopupKeyup","key","onInputBlur","onInputInput","detail","onInputKeydown","preventDefault","activateDay","typeable","onInputKeyup","disabled","isTypeable","daysOfWeekChecksum","yyyy","validateDate","setCompleteInput","change","emit","keyboardSelection","setHints","onInputChange","defaultHintMessage","valueOnBlur","onInputFocus","controlElement","tmpTypedValue","onInputClick","onRefocus","_a","btnPrevMonth","dispatchEvent","FocusEvent","goToMonthYear","checkActiveCellForBlankness","selectDate","find","invalid","success","onDateSelection","dateCell","closest","clickedDate","dataset","onHeaderControlKeydown","generateDateFromDay","hasSelectedCell","calendarBody","querySelector","onDateKeydown","currentDay","addDays","shiftKey","connectedCallback","componentWillLoad","popDirectionHandler","handleAriaLabel","componentDidRender","setTimeout","forEach","componentDidLoad","overrideFocus","hostElement","selectedDate","selectedCell","innerInputField","_b","shadowRoot","innerInputContainer","canClear","clearable","currentWeeks","weeks","accum","item","index","chunkIndex","floor","formattedValue","displayFormat","computedPlaceholder","disabledMsg","buttonLabel","placeholder","isMoment","toDate","isMomentString","test","ct","cutoffTime","errorList","errors","list","filter","error","concat","hintList","hints","hintMessageType","hintMessage","hint","defaultChangeHandler","onchange","defaultErrorHandler","onerror","defaultSuccessHandler","onsuccess","delegateFocus","isEventFromElement","focus","handleClear","popoverStateHandler","_togglePopover","toggleElement","btnCalendarToggle","click","openPopover","closePopover","setValue","waitForNextPaint","tableCell","calendarTable","typeValue","formattedDate","InputEvent","KeyboardEvent","handleRenamedProp","ariaLabelObserver","typeableChanged","valueObserver","newValue","shortFormattedValue","daysOfWeekChecksumObserver","validDatesObserver","invalidDatesObserver","startDateObserver","endDateObserver","cutoffTimeObserver","monthYear","isSelectedMonthAndYear","calculationDateList","dateValueDayOfMonth","_c","isDateValueInvalid","errorCode","console","warn","activeElement","tagName","hasAttribute","calendarCells","querySelectorAll","indexOfCell","indexOf","dayToFocus","cell","focusDay","render","h","class","onChange","inputField","ref","el","popoverElement","direction","popoverDirection","minHeight","popoverMinHeight","align","popoverAlignment","mode","popoverMode","block","hintField","calendarPopover","hintMessageElement","type","present","label","hideLabel","optional","ariaExpanded","onClick","onInput","onKeyDown","onKeyUp","onBlur","onFocus","_role","_preventEntry","slot","calendarLabel","elm","btnNextMonth","btnPrevYear","btnNextYear","id","calendarDays","disclaimer","role","scope","week","ariaLabel","tabindex"],"sources":["src/components/q2-calendar/q2-calendar-helpers.ts","src/components/q2-calendar/q2-calendar-validation.ts","src/components/q2-calendar/q2-calendar.scss?tag=q2-calendar&encapsulation=shadow","src/components/q2-calendar/q2-calendar.tsx"],"sourcesContent":["import { isValid as isValidDate, formatISO, setMinutes } from 'date-fns';\nimport { loc } from '../../utils';\nimport { ISelectedMonthYear, InputValidation } from './q2-calendar-types';\n\nexport interface IMomentLikeObject {\n toDate(): Date;\n}\n\nexport function formatDateISO(value: string | Date) {\n const date = new Date(value);\n if (!isValidDate(date)) return;\n\n return formatISO(date, { representation: 'date' });\n}\n\nlet memoizedFormatDateShort: Intl.DateTimeFormat;\nexport function formatDateShort(value: string | Date) {\n const date = new Date(value);\n if (!isValidDate(date)) return;\n\n const isoDate = date.toISOString();\n if (!memoizedFormatDateShort) {\n memoizedFormatDateShort = new Intl.DateTimeFormat('en-US', {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n }\n\n return memoizedFormatDateShort.format(new Date(isoDate));\n}\n\nlet memoizedFormatDateLong: Intl.DateTimeFormat;\nexport function formatDateLong(value: string | Date) {\n const date = new Date(value);\n if (!isValidDate(date)) return;\n if (!memoizedFormatDateLong) {\n memoizedFormatDateLong = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n });\n }\n\n return memoizedFormatDateLong.format(date);\n}\n\nlet memoizedFormatDateFull: Intl.DateTimeFormat;\nexport function formatDateFull(value: string | Date) {\n if (!value) return;\n const date = new Date(value);\n if (!isValidDate(date)) return;\n if (!memoizedFormatDateFull) {\n memoizedFormatDateFull = new Intl.DateTimeFormat('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n weekday: 'long',\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n }\n\n return memoizedFormatDateFull.format(date);\n}\n\nexport function convertMomentFormat(stringFormat: string) {\n return stringFormat\n .replace(/[d]/g, 'E')\n .replace(/[D]/g, 'd')\n .replace(/[Y]/g, 'y')\n .replace(/[l]/g, 'P')\n .replace(/[W]/g, 'I');\n}\n\nexport function stringToDate(date: string | null | void): Date | undefined {\n const isString = typeof date === 'string';\n if (!isString && date && isValidDate(new Date(date || undefined))) {\n date = formatDateISO(date);\n } else if (!date || !isValidDate(new Date(date))) {\n return undefined;\n }\n\n let result: Date;\n const dateParts = date.split(/[\\/\\-]/).map(part => part.padStart(2, '0'));\n const isIsoString = isString && date.length >= 24 && date[10] === 'T';\n const isCompleteDate = dateParts.length === 3;\n const isPartialDate = dateParts.length < 3;\n if (isIsoString) {\n date = date.split('T')[0];\n result = new Date(date);\n } else if (isCompleteDate) {\n const isStandardSlashDate = date.includes('/') && dateParts[2].length === 4;\n\n // Reorder mm/dd/yyyy dates for ISO formatting\n // [mm, dd, yyyy] -> [yyyy, mm, dd]\n if (isStandardSlashDate) dateParts.unshift(dateParts.pop());\n\n result = new Date(Date.UTC(parseInt(dateParts[0]), parseInt(dateParts[1]) - 1, parseInt(dateParts[2])));\n } else if (isPartialDate) {\n const now = new Date();\n\n let yearNumber: number;\n let monthNumber: string;\n let dayNumber: string;\n switch (dateParts.length) {\n case 1:\n yearNumber = now.getFullYear();\n monthNumber = dateParts[0];\n dayNumber = '01';\n break;\n\n case 2:\n yearNumber = now.getFullYear();\n monthNumber = dateParts[0];\n dayNumber = dateParts[1];\n break;\n }\n\n result = new Date(`${yearNumber}-${monthNumber}-${dayNumber}`);\n }\n\n if (!isValidDate(result)) return undefined;\n\n // result = setHours(result, 0);\n result = removeTimezoneOffset(result);\n\n return isValidDate(result) ? result : undefined;\n}\n\nexport function removeTimezoneOffset(date: Date) {\n const timeZoneOffset = date.getTimezoneOffset();\n // Minutes compensation for some timezones like India, Central Australia and etc use GMT+5:30, GMT+9:30\n return setMinutes(date, timeZoneOffset + Math.abs(timeZoneOffset % 60));\n}\n\nexport function stringArrayToDate(dateArray: string[]): Date[] {\n if (!Array.isArray(dateArray) || dateArray.length === 0) {\n return [];\n }\n return dateArray.map(date => stringToDate(date));\n}\n\nexport function setupMonthYear(value: Date | undefined = new Date()): ISelectedMonthYear {\n return {\n monthIndex: value.getMonth(),\n selectedYear: value.getFullYear(),\n };\n}\n\nexport function validateInput(\n input: string = '',\n validDays: number[] = [],\n validDates: string[] = [], // white list\n invalidDates: string[] = [], // black list\n startDate: string,\n endDate: string,\n formatString: string = 'mm/dd/yyyy',\n assume: string\n): InputValidation {\n let isValid: boolean = true;\n let isAvailable: boolean = false;\n let messageType: string = 'info';\n let message: string = `${loc('tecton.element.calendar.hint.format')}: ${formatString}`;\n if (!input) {\n return { isValid, inputDate: new Date(''), isAvailable, messageType, message };\n }\n\n const inputDate = buildInputDate(input, assume);\n const month = inputDate.getMonth() + 1;\n const date = inputDate.getDate();\n const year = inputDate.getFullYear();\n const calendarPosition = [month, date, year];\n\n if (isValidDate(inputDate)) {\n const monthName = getMonths()[inputDate.getMonth()];\n\n if (input.length === 10) {\n isValid = true;\n messageType = null;\n message = null;\n }\n\n isAvailable = validDays.includes(inputDate.getDay());\n const isoString = formatDateISO(inputDate);\n\n if (isAvailable) {\n const isNotValidDate = validDates.length && !validDates.includes(isoString);\n const isInvalidDate = invalidDates.length && invalidDates.includes(isoString);\n const isBeforeStartDate = startDate && startDate > isoString;\n const isAfterEndDate = endDate && endDate < isoString;\n\n if (isNotValidDate || isInvalidDate || isBeforeStartDate || isAfterEndDate) {\n isAvailable = false;\n }\n }\n\n if (input.length >= 5 && !isAvailable) {\n isValid = false;\n messageType = 'error';\n const isInvalid = !monthName || !date || !year;\n message = isInvalid\n ? `${loc('tecton.element.calendar.hint.invalidDate')}: ${formatString}`\n : loc('tecton.element.calendar.hint.notAvailableDate', [formatDateLong(inputDate)]);\n }\n } else {\n isValid = false;\n messageType = 'error';\n message = `${loc('tecton.element.calendar.hint.invalidDate')}: ${formatString}`;\n }\n\n return {\n isValid,\n messageType,\n message,\n inputDate,\n isAvailable,\n calendarPosition,\n };\n}\n\nexport function buildInputDate(input: string, assume: string) {\n const now = new Date();\n // eslint-disable-next-line prefer-const\n let [month, day, year] = input.split('/');\n if (month === '0') month = '01';\n if (day === '0') day = '01';\n if (input.length === 10) {\n return new Date(input);\n } else if (month && day && Number(day) > 0) {\n const twoDigitDay = Number(day) < 10 ? `0${Number(day)}` : day;\n const fourDigitYear = !year || year.length < 4 ? assumeYear(month, day, assume) : year;\n return new Date(`${month}/${twoDigitDay}/${fourDigitYear}`);\n } else if (month) {\n return new Date(`${month}/01/${now.getFullYear()}`);\n }\n}\n\nfunction assumeYear(month: string, day: string, assume: string): string {\n const monthDay = `${month}/${day}`;\n const now = new Date();\n const mm: string = now.getMonth() < 9 ? `0${now.getMonth() + 1}` : `${now.getMonth() + 1}`;\n const dd: string = now.getDate() < 10 ? `0${now.getDate()}` : `${now.getDate()}`;\n const nowLocal = `${mm}/${dd}/${now.getFullYear()}`;\n let assumedYear = now.getFullYear();\n if (assume === 'future' && nowLocal.slice(0, 5) > monthDay) {\n assumedYear = now.getFullYear() + 1;\n } else if (assume === 'past' && nowLocal.slice(0, 5) < monthDay) {\n assumedYear = now.getFullYear() - 1;\n }\n return assumedYear.toString();\n}\n\nexport function handleMissingZeros(input): string {\n if (!input) {\n return '';\n }\n if (input.match(/^[1-9]\\/$/)) {\n return `0${input}/`;\n } else if (input.match(/^[0-9]{2}\\/[1-9]{1}\\/$/)) {\n const sp = input.split('/');\n return `${sp[0]}/0${sp[1]}/`;\n }\n return input;\n}\n\nexport function reorderDateString(input: string): string {\n const dateParts = (input || '').split('-');\n if (dateParts.length !== 3) return '';\n return `${dateParts[1]}/${dateParts[2]}/${dateParts[0]}`;\n}\n\nexport function firstDayOfWeekInMonth(month: number, year: number): number {\n return new Date(year, month, 1, 1, 1, 1, 1).getDay();\n}\n\nexport function getDays(): string[] {\n return [\n loc('tecton.element.calendar.days.short.Sunday'),\n loc('tecton.element.calendar.days.short.Monday'),\n loc('tecton.element.calendar.days.short.Tuesday'),\n loc('tecton.element.calendar.days.short.Wednesday'),\n loc('tecton.element.calendar.days.short.Thursday'),\n loc('tecton.element.calendar.days.short.Friday'),\n loc('tecton.element.calendar.days.short.Saturday'),\n ];\n}\n\nexport function getDaysOfWeek(): string[] {\n return [\n loc('tecton.element.calendar.days.Sunday'),\n loc('tecton.element.calendar.days.Monday'),\n loc('tecton.element.calendar.days.Tuesday'),\n loc('tecton.element.calendar.days.Wednesday'),\n loc('tecton.element.calendar.days.Thursday'),\n loc('tecton.element.calendar.days.Friday'),\n loc('tecton.element.calendar.days.Saturday'),\n ];\n}\n\nexport function getMonths(): string[] {\n return [\n loc('tecton.element.calendar.months.January'),\n loc('tecton.element.calendar.months.February'),\n loc('tecton.element.calendar.months.March'),\n loc('tecton.element.calendar.months.April'),\n loc('tecton.element.calendar.months.May'),\n loc('tecton.element.calendar.months.June'),\n loc('tecton.element.calendar.months.July'),\n loc('tecton.element.calendar.months.August'),\n loc('tecton.element.calendar.months.September'),\n loc('tecton.element.calendar.months.October'),\n loc('tecton.element.calendar.months.November'),\n loc('tecton.element.calendar.months.December'),\n ];\n}\n","import { firstDayOfWeekInMonth } from './q2-calendar-helpers';\nimport { getDaysInMonth, isSameDay, isBefore, isAfter, isValid as isValidDate } from 'date-fns';\nimport { CalendarDay, DateEmpty, Year, IDateValidators, ISelectedMonthYear } from './q2-calendar-types';\n\n// Validation Helpers\nexport type DateList = CalendarDay[];\nexport type IsValid = boolean;\nexport type IsActivityDate = boolean;\nexport type DateValidation = (date: Date) => IsValid;\n\nexport function generateDatesFromMonthYear(month: number, year: Year): Date[] {\n const daysInMonth = getDaysInMonth(new Date(year, month));\n\n return [...Array(daysInMonth).keys()].reduce((acc, stepIndex) => {\n acc.push(new Date(year, month, stepIndex + 1));\n return acc;\n }, []);\n}\n\nexport function getValidDaysOfWeek(checksum: number = 127): number[] {\n /* tslint:disable:no-bitwise */\n const sunValid = checksum & 1;\n const monValid = checksum & 2;\n const tuesValid = checksum & 4;\n const wedsValid = checksum & 8;\n const thursValid = checksum & 16;\n const friValid = checksum & 32;\n const satValid = checksum & 64;\n /* tslint:enable:no-bitwise */\n const ret = [];\n\n if (checksum <= 0) return ret;\n if (sunValid) ret.push(0);\n if (monValid) ret.push(1);\n if (tuesValid) ret.push(2);\n if (wedsValid) ret.push(3);\n if (thursValid) ret.push(4);\n if (friValid) ret.push(5);\n if (satValid) ret.push(6);\n\n return ret;\n}\n\nexport function validateAgainstChecksum(validDaysOfWeek: number[], newDate: Date): IsValid {\n return validDaysOfWeek.includes(newDate.getDay());\n}\n\nexport function validateAgainstBlacklist(invalidDates: Date[], newDate: Date): IsValid {\n return !validateAgainstWhitelist(invalidDates, newDate);\n}\n\nexport function validateAgainstWhitelist(validDates: Date[], newDate: Date): IsValid {\n return validDates.some(validDate => isSameDay(validDate, newDate));\n}\n\nexport function buildDates(\n validDaysOfWeek: number[],\n validDates: Date[],\n invalidDates: Date[],\n selectedMonthYear: ISelectedMonthYear,\n currentSelection: Date | undefined,\n dateValidators: IDateValidators,\n typedValue: string\n): DateList {\n const validationFns = [baseValidation.bind(null, dateValidators, new Date())];\n if (validDates?.length) {\n validationFns.push(validateAgainstWhitelist.bind(null, validDates));\n } else {\n validationFns.push(validateAgainstChecksum.bind(null, validDaysOfWeek));\n }\n validationFns.push(validateAgainstBlacklist.bind(null, invalidDates));\n\n return generateDateList(selectedMonthYear, currentSelection, dateValidators, validationFns, typedValue);\n}\n\nexport function generateDateList(\n { monthIndex, selectedYear }: ISelectedMonthYear,\n currentSelection: Date | undefined,\n dateValidators: IDateValidators,\n validationFns: DateValidation[],\n typedValue: string\n): DateList {\n const isIncompleteDate = !isValidDate(new Date(typedValue));\n const datesInMonth = generateDatesFromMonthYear(monthIndex, selectedYear).map((dayInMonth, dateIndex) => {\n const isInvalid = validationFns.some(fn => !fn(dayInMonth));\n const dayState = getDayState(dayInMonth, dateValidators, currentSelection);\n const classList = generateClassesForCalDay({\n ...dayState,\n isInvalid,\n isIncompleteDate,\n });\n\n return {\n ...dayState,\n isValid: !isInvalid,\n date: dayInMonth,\n integer: dateIndex + 1,\n isEmpty: false,\n isActivity: false,\n classList,\n };\n });\n\n const startOfMonthEmpties = addEmptiesMonthStart(firstDayOfWeekInMonth(monthIndex, selectedYear));\n const endOfMonthEmpties = addEmptiesMonthEnd((startOfMonthEmpties.length + datesInMonth.length) % 7);\n\n return [...startOfMonthEmpties, ...datesInMonth, ...endOfMonthEmpties] as CalendarDay[];\n}\n\nexport function baseValidation(dateValidators: IDateValidators, now: Date, newDate: Date): boolean {\n const isNewDateBeforeStartDate = isAfter(dateValidators?.startDate, newDate);\n const isNewDateAfterEndDate = isBefore(dateValidators?.endDate, newDate);\n const isNowAfterCutoffTime = isSameDay(now, newDate) && isAfter(now, dateValidators?.cutOffTime);\n\n return !(isNewDateBeforeStartDate || isNowAfterCutoffTime || isNewDateAfterEndDate);\n}\n\nexport function getDayState(dayInMonth: Date, dateValidators: IDateValidators, currentDate: Date | undefined) {\n if (!currentDate) currentDate = new Date();\n const isSelected = currentDate && isSameDay(currentDate, dayInMonth);\n const isToday = isSameDay(dayInMonth, new Date());\n const isStartDate = isSameDay(dayInMonth, dateValidators?.startDate);\n const isEndDate = isSameDay(dayInMonth, dateValidators?.endDate);\n\n return { isSelected, isToday, isStartDate, isEndDate };\n}\n\nexport function generateClassesForCalDay({\n isInvalid,\n isSelected,\n isEndDate,\n isStartDate,\n isToday,\n isIncompleteDate,\n}: {\n isInvalid: boolean;\n isSelected: boolean;\n isEndDate: boolean;\n isStartDate: boolean;\n isToday: boolean;\n isIncompleteDate: boolean;\n}): string {\n const classes = [];\n if (!isInvalid) classes.push('is-valid');\n if (isSelected) classes.push('is-selected');\n if (isEndDate) classes.push('is-end-date');\n if (isStartDate) classes.push('is-start-date');\n if (isToday) classes.push('is-today');\n if (isSelected && isInvalid && !isIncompleteDate) classes.push('is-unavailable');\n\n return classes.join(' ');\n}\n\nexport function addEmptiesMonthStart(monthStartDayOfWeek: number): DateEmpty[] {\n return addEmptyDates(0, monthStartDayOfWeek);\n}\n\nexport function addEmptiesMonthEnd(monthEndDayOfWeek: number): DateEmpty[] {\n if (monthEndDayOfWeek === 0) return [];\n return addEmptyDates(monthEndDayOfWeek, 7);\n}\n\nexport const emptyDate: DateEmpty = {\n date: null,\n integer: null,\n isActivity: false,\n isEmpty: true,\n isValid: false,\n isToday: false,\n isSelected: false,\n isStartDate: false,\n isEndDate: false,\n classList: '',\n};\n\nexport function addEmptyDates(from: number, to: number): DateEmpty[] {\n if (from === 7) from = 0;\n return [...Array(to - from).keys()].map(() => ({ ...emptyDate }) as DateEmpty);\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n:host[hidden] {\n display: none;\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n\nq2-input {\n margin: 0;\n cursor: pointer;\n}\n\nq2-popover {\n --comp-min-tappable-size: 44px;\n --comp-table-border-spacing: 2px;\n --comp-min-tappable-size-and-spacing: calc(var(--comp-min-tappable-size) + var(--comp-table-border-spacing));\n --comp-popover-padding: #{var-list(var-prefixer(calendar-popover-padding), --app-scale-1x, 5px)};\n --comp-min-table-width: calc(var(--comp-min-tappable-size-and-spacing) * 7);\n --comp-table-container-border-spacing: calc(var(--comp-table-border-spacing) * 2);\n --comp-popover-total-padding: calc(var(--comp-popover-padding) * 2);\n\n --tct-popover-min-width: calc(\n var(--comp-min-table-width) + var(--comp-table-container-border-spacing) + var(--comp-popover-total-padding)\n );\n}\n\n.calendar-field-popup {\n padding: var(--comp-popover-padding);\n}\n\n.calendar-label {\n --comp-label-padding: #{var-list(\n --tct-calendar-label-padding,\n unquote('#{var-list(var-prefixer(calendar-label-vertical-padding), --tct-scale-2, --app-scale-2x, 10px)} 0')\n )};\n font-size: var-list(var-prefixer(calendar-label-font-size), 16px);\n flex: 1 1;\n flex-basis: calc(100% - var-list(--tct-btn-icon-width, 44px));\n margin: 0;\n padding: var(--comp-label-padding);\n}\n\n.cal-month-heading {\n padding: 0 0 0.75rem;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: var-list(var-prefixer(calendar-month-font-size), 16px);\n font-weight: var-list(var-prefixer(calendar-month-font-weight), 600);\n text-align: center;\n}\n\n.cal-month-text {\n min-width: 82px;\n display: inline-block;\n}\n\n.cal-year-text {\n min-width: 50px;\n display: inline-block;\n}\n\ntable {\n width: 100%;\n margin-bottom: 2px;\n text-align: center;\n border-spacing: var(--comp-table-border-spacing);\n}\n\nth {\n font-size: var-list(var-prefixer(calendar-day-heading-font-size), inherit);\n font-weight: var-list(var-prefixer(calendar-day-heading-font-weight), 600);\n width: 14.285714%;\n}\n\ntd {\n height: var(--comp-min-tappable-size);\n cursor: pointer;\n border: var-list(var-prefixer(calendar-day-border), 0);\n border-radius: var-list(var-prefixer(calendar-day-border-radius));\n\n &.is-unavailable {\n border: 1px solid var-list(--tct-input-error-border-color, --const-stoplight-alert, #d20a0a);\n }\n\n &.is-valid:hover {\n border: var-list(var-prefixer(calendar-day-hover-border), var-prefixer(calendar-day-border) 0);\n border-radius: var-list(\n var-prefixer(calendar-day-hover-border-radius),\n var-prefixer(calendar-day-border-radius)\n );\n\n background: var-list(\n --tct-calendar-day-hover-background,\n var-prefixer(calendar-day-hover-bg),\n --tct-gray-14,\n --app-gray14,\n --tct-gray-l4,\n --app-gray-l4,\n #f2f2f2\n );\n color: var-list(var-prefixer(calendar-day-hover-font-color), inherit);\n }\n\n &[aria-hidden],\n &[aria-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n }\n\n &[aria-disabled] {\n opacity: var-list(var-prefixer(calendar-day-disabled-opacity), --app-disabled-opacity, 0.4);\n }\n\n &[aria-selected] {\n border: var-list(var-prefixer(calendar-day-selected-border), var-prefixer(calendar-day-border) 0);\n border-radius: var-list(\n var-prefixer(calendar-day-selected-border-radius),\n var-prefixer(calendar-day-border-radius)\n );\n background: var-list(\n --tct-calendar-day-selected-background,\n var-prefixer(calendar-day-selected-bg),\n --tct-calendar-day-hover-background, \n var-prefixer(calendar-day-hover-bg),\n var-prefixer(gray-14),\n --tct-gray-l4,\n --app-gray-l4,\n #f2f2f2\n );\n color: var-list(\n var-prefixer(calendar-day-selected-font-color),\n var-prefixer(calendar-day-hover-font-color),\n inherit\n );\n box-shadow: 0 0 0 2px\n var-list(\n var-prefixer(calendar-day-selected-outline-color),\n --tct-stoplight-info,\n --const-stoplight-info,\n #0079c1\n );\n \n }\n &[aria-selected]:focus {\n box-shadow: 0 0 0 2px\n var-list(\n var-prefixer(calendar-day-selected-outline-color),\n --tct-stoplight-info,\n --const-stoplight-info,\n #0079c1\n ),\n 0 0 0 4px var(--const-focus-color, #0066cc)\n }\n}\n\n.today-decorator {\n text-transform: uppercase;\n font-weight: 700;\n font-size: 10px;\n height: 12px;\n}\n\n\n.calendar-disclaimer {\n font-size: var-list(\n var-prefixer(calendar-disclaimer-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n border-style: solid;\n border-width: var-list(var-prefixer(calendar-disclaimer-border-width), unquote('1px 0 0 0'));\n border-color: var-list(\n var-prefixer(calendar-disclaimer-border-color),\n var-prefixer(gray-13),\n --tct-gray-l3,\n --app-gray-l3,\n #e6e6e6\n );\n padding: var-list(--tct-calendar-disclaimer-padding, --tct-scale-2, --app-scale-2x, 10px);\n text-align: left;\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Listen,\n Watch,\n Method,\n h,\n} from '@stencil/core';\nimport { ISelectedMonthYear, CalendarDay, IDateValidators } from './q2-calendar-types';\nimport { addDays, isSameDay, format, isValid as isValidDate } from 'date-fns';\nimport {\n stringToDate,\n setupMonthYear,\n getMonths,\n getDays,\n getDaysOfWeek,\n stringArrayToDate,\n convertMomentFormat,\n validateInput,\n handleMissingZeros,\n formatDateISO,\n formatDateShort,\n IMomentLikeObject,\n removeTimezoneOffset,\n reorderDateString,\n formatDateFull,\n} from './q2-calendar-helpers';\nimport { buildDates, getValidDaysOfWeek, DateList } from './q2-calendar-validation';\nimport {\n handleAriaLabel,\n loc,\n overrideFocus,\n isEventFromElement,\n handleRenamedProp,\n waitForNextPaint,\n} from '../../utils';\nimport { IEventDetail } from '../q2-input/q2-input-types';\nimport { Q2InputCustomEvent } from 'src/components';\n\n@Component({ tag: 'q2-calendar', shadow: true, styleUrl: 'q2-calendar.scss' })\nexport class Q2Calendar implements ComponentInterface {\n /**\n * Detects the year automatically based on today's date when the user presses the `Escape` key or the `Blur` mouse event occurs.\n * Setting `future` or `past` as the value will increase or decrease the year by one, respectively.\n */\n @Prop({ reflect: true }) assume: 'current' | 'future' | 'past' = 'current';\n\n /** A label shown at the top of the popover date picker. */\n @Prop({ reflect: true }) calendarLabel: string;\n\n /** Display a button in the input field allowing the user to clear their selection. */\n @Prop({ reflect: true }) clearable: boolean;\n\n /**\n * Specifies a time of day after which a date is no longer valid.\n *\n * @warning\n * Must be a valid ISO date string.\n */\n @Prop({ reflect: true }) cutoffTime: string;\n\n /**\n * The most concise way to define valid days of the week for calendar. Each day of the week has a checksum value:\n *\n * - Sunday = 1\n * - Monday = 2\n * - Tuesday = 4\n * - Wednesday = 8\n * - Thursday = 16\n * - Friday = 32\n * - Saturday = 64\n *\n * Add the checksum values of your desired valid days together, and set `daysOfWeekChecksum` to that summed value.\n *\n * **Example:**\n * @snippet\n * element.daysOfWeekChecksum = 127 // All days of the week are valid\n * element.daysOfWeekChecksum = 62; // Only weekdays are valid\n * element.daysOfWeekChecksum = 65; // Only Saturday and Sunday are valid\n *\n */\n @Prop({ reflect: true }) daysOfWeekChecksum: number;\n\n /** Disable the input field. */\n @Prop({ reflect: true }) disabled: boolean;\n\n /**\n * Text that displays as the placeholder when the field is marked `disabled`.\n * @localizable\n */\n @Prop({ reflect: true }) disabledMsg: string;\n\n /** Text that appears at the bottom of the popover date picker. */\n @Prop({ reflect: true }) disclaimer: string;\n\n /**\n * Determines the display format of the date field value.\n *\n * Must follow the [date-fns](https://date-fns.org/v2.28.0/docs/format) token specification.\n */\n @Prop({ reflect: true }) displayFormat: string;\n\n /**\n * Defines the last selectable date in the date picker popover.\n *\n * @warning\n * Must be a valid ISO date string.\n */\n @Prop({ reflect: true }) endDate: string;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused and `typeable` is `true`.\n * @localizable\n */\n @Prop({ mutable: true }) errors: string[];\n\n /** Hide the input field's ` <label> ` element from view. */\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused and `typeable` is true.\n * @localizable\n */\n @Prop({ mutable: true }) hints: string[];\n\n /** Show error styles when the calendar is in an errant state. */\n @Prop({ reflect: true, mutable: true }) invalid: boolean;\n\n /**\n * Defines an explicit date blacklist.\n *\n * @warning\n * Must be a valid ISO date string.\n *\n * @info\n * When explicit date definitions like `invalidDates` is used, other date validity methods like `daysOfWeekChecksum` are overriden.\n */\n @Prop() invalidDates: string[];\n\n /** The visible label for the `q2-calendar` input field. */\n @Prop({ reflect: true, mutable: true }) label: string;\n\n /** Determine whether the popover is open or closed. */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** Appends \"(optional)\" to the label and sets `aria-required=\"false\"`. */\n @Prop({ reflect: true }) optional: boolean;\n\n /**\n * Text that appears within the input field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n */\n @Prop({ reflect: true }) placeholder: string;\n\n /** Aligns the popover date picker to the left or right side of the input field. */\n @Prop() popoverAlignment: 'left' | 'right';\n\n /**\n * Force the direction of the popover date picker when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ mutable: true }) popoverDirection: 'up' | 'down';\n\n /**\n * Determines the display mode of the popover.\n *\n * Providing a value of `legacy` instructs the popover to use absolute positioning instead of fixed positioning.\n *\n * @info\n * This is a temporary solution to work around styling issues related to using fixed positioning for the popover\n * when nested inside of elements with transform properties. This will be removed once the popover API is available\n * for use.\n */\n @Prop({ mutable: true }) popoverMode: 'legacy' = null;\n\n /** @deprecated */\n @Prop() popoverMinHeight: number = 355;\n\n /**\n * The field's content is not editable, but the field remains focusable.\n *\n * Appends \"(readonly)\" to the field label. Supersedes `optional` if both are `true`.\n */\n @Prop({ reflect: true }) readonly: boolean;\n\n /**\n * Defines the first selectabe date in the date picker popover.\n *\n * @warning\n * Must be a valid ISO date string.\n */\n @Prop({ reflect: true }) startDate: string;\n\n /** The user can type in the field. Only available in desktop browsers. */\n @Prop({ reflect: true }) typeable: boolean;\n\n /**\n * Defines an explicit date whitelist.\n *\n * @warning\n * Must be a valid ISO date string.\n *\n * @info\n * When explicit date definitions like `validDates` is used, other date validity methods like `daysOfWeekChecksum` are overriden.\n */\n @Prop() validDates: string[];\n\n /**\n * The value of the `q2-calendar` element, e.g. the selected date.\n *\n * **How to change or clear the value with javascript:**\n * @snippet\n * // change date\n * element.value = '2022-12-21';\n * // clear date\n * element.value = null;\n */\n @Prop({ mutable: true, reflect: true }) value: string | { toDate(): Date };\n\n /** @deprecated */\n @Prop({ reflect: true }) popDirection: 'up' | 'down';\n /** @deprecated */\n @Prop() onsuccess: (e: CustomEvent) => void;\n /** @deprecated */\n @Prop({ reflect: true }) buttonLabel: string;\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() keyboardSelection: boolean = false;\n @State() typedValue: string = '';\n @State() dateList: CalendarDay[];\n @State() hintMessage: string = this.defaultHintMessage;\n @State() hintMessageType: 'info' | 'error' = 'info';\n formatModifier: string = 'M/D/YYYY'; // To allow missing leading zero, 4/3/2021 => converts into 04/03/2021\n hintMessageElement: HTMLQ2MessageElement;\n controlElement: HTMLQ2InputElement;\n btnCalendarToggle: HTMLQ2BtnElement;\n calendarTable: HTMLTableElement;\n btnPrevMonth: HTMLQ2BtnElement;\n btnNextMonth: HTMLQ2BtnElement;\n btnPrevYear: HTMLQ2BtnElement;\n btnNextYear: HTMLQ2BtnElement;\n calendarBody: HTMLDivElement;\n defaultFormatString = 'mm/dd/yyyy';\n selectedMonthYear: ISelectedMonthYear;\n scheduledAfterRender: (() => void)[] = [];\n privatePopDirection: 'up' | 'down';\n popoverElement?: HTMLQ2PopoverElement;\n internalError: string = '';\n valueOnBlur: string | { toDate(): Date };\n\n connectedCallback() {\n this.selectedMonthYear = setupMonthYear(this.dateValue);\n this.dateList = this.buildDateList(this.selectedMonthYear);\n if (this.value && this.isTypeable && !this.typedValue) {\n this.typedValue = reorderDateString(this.value as string);\n }\n this.validateDate();\n }\n\n componentWillLoad() {\n this.popDirectionHandler();\n handleAriaLabel(this);\n }\n\n componentDidRender() {\n setTimeout(() => {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }, 25);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n dayAbbrStrings = getDays();\n dayStrings = getDaysOfWeek();\n monthStrings = getMonths();\n\n get selectedDate() {\n const selectedCell = this.calendarBody?.querySelector<HTMLTableCellElement>('[aria-selected=\"true\"]');\n return selectedCell ? removeTimezoneOffset(new Date(selectedCell.dataset.date)) : null;\n }\n\n get innerInputField(): HTMLInputElement | HTMLButtonElement {\n return this.controlElement?.shadowRoot?.querySelector('.input-field');\n }\n\n get innerInputContainer(): HTMLElement {\n return this.controlElement?.shadowRoot?.querySelector('.input-container');\n }\n\n get defaultHintMessage() {\n return this.typeable\n ? loc('tecton.element.calendar.hint.format') + ': ' + this.defaultFormatString\n : loc('tecton.element.calendar.hint.select');\n }\n\n get canClear() {\n if (this.isTypeable) {\n return this.clearable && !!this.typedValue;\n } else {\n return this.clearable && !!this.value;\n }\n }\n\n get currentWeeks() {\n const weeks = this.dateList.reduce<CalendarDay[][]>((accum, item, index) => {\n const chunkIndex = Math.floor(index / 7);\n\n if (!accum[chunkIndex]) {\n accum[chunkIndex] = [];\n }\n\n accum[chunkIndex].push(item);\n\n return accum;\n }, []);\n\n return weeks;\n }\n\n get formattedValue() {\n const { typedValue, dateValue, displayFormat, isTypeable } = this;\n if (isTypeable) return typedValue;\n\n if (dateValue === undefined) return '';\n if (displayFormat) return format(dateValue, convertMomentFormat(displayFormat));\n\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n }).format(dateValue);\n }\n\n get computedPlaceholder(): string {\n if (this.disabled && this.disabledMsg) {\n return loc(this.disabledMsg);\n }\n\n if (this.buttonLabel && (this.disabled || this.placeholder)) {\n return loc(this.buttonLabel);\n }\n\n return (this.placeholder && loc(this.placeholder)) || '';\n }\n\n get dateValue(): Date | undefined {\n if (this.isTypeable) {\n return stringToDate(this.typedValue);\n } else {\n let { value } = this;\n const isMoment = value && typeof value !== 'string' && 'toDate' in value;\n if (isMoment) return (value as IMomentLikeObject).toDate();\n\n // stringified moment value assigned in html template e.g.) handlebar\n const isMomentString =\n typeof value === 'string' && value.split(' ').length === 6 && /GMT-\\d{4}/g.test(value);\n if (isMomentString) {\n value = formatDateISO(value as string);\n }\n\n return stringToDate(value as string);\n }\n }\n\n get dateValidators(): IDateValidators {\n const ct = new Date(this.cutoffTime || ''); // should fallback to InvalidDate\n return {\n startDate: stringToDate(this.startDate),\n endDate: stringToDate(this.endDate),\n cutOffTime: isValidDate(ct) ? ct : undefined,\n };\n }\n\n get isTypeable(): boolean {\n return this.typeable;\n }\n\n get errorList() {\n const { errors, internalError, invalid } = this;\n let list = [];\n if (internalError) {\n list = [internalError];\n }\n if (Array.isArray(errors) && errors.length) {\n list = errors\n .filter(error => !!error)\n .map(error => loc(error))\n .concat(list);\n } else if (!internalError && invalid) {\n return ['tecton.element.calendar.invalid'];\n }\n return list;\n }\n\n get hintList() {\n const { hints, hintMessageType, hintMessage } = this;\n if (Array.isArray(hints) && hints.length) return hints.filter(hint => !!hint).map(hint => loc(hint));\n if (hintMessageType === 'info' && hintMessage) return [hintMessage];\n return [];\n }\n\n //////// Host Element Events ////////\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange && !!event.detail) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('error')\n defaultErrorHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onerror) {\n if (this.hintMessageType === 'error' && this.hintMessage) {\n this.internalError = this.hintMessage;\n } else {\n this.internalError = loc('tecton.element.calendar.hint.invalidDate');\n }\n }\n }\n\n @Listen('success')\n defaultSuccessHandler(event: CustomEvent) {\n if (event.target !== this.hostElement) {\n return;\n }\n\n if (typeof this.onsuccess === 'function') {\n this.onsuccess(event);\n } else {\n this.internalError = '';\n if (this.hintMessageType === 'error' && this.hintMessage) {\n this.hintMessage = null;\n this.hintMessageType = null;\n this.invalid = false;\n }\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.controlElement.shadowRoot.querySelector<HTMLElement>('.input-field').focus();\n }\n\n @Listen('clear')\n handleClear() {\n this.change.emit({ value: null });\n this.value = null;\n this.typedValue = '';\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n }\n\n /// Methods ///\n _togglePopover() {\n const toggleElement = this.typeable ? this.btnCalendarToggle : this.innerInputField;\n toggleElement?.click();\n toggleElement?.focus();\n toggleElement.dispatchEvent(new FocusEvent('focus'));\n }\n\n /**\n * Emulates clicking the `<input>` to display the popover if it is hidden.\n *\n * @testOnly\n */\n @Method()\n async openPopover() {\n if (this.open) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the `<input>` to hide the popover if it is visible.\n *\n * @testOnly\n */\n @Method()\n async closePopover() {\n if (!this.open) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the `<input>` to display the popover, moving to the correct month and year, and clicking the\n * provided date.\n *\n * While a `string` value can be passed, we recommended passing a `Date` object. If the value is invalid, the method\n * will not select the date.\n *\n * @testOnly\n */\n @Method()\n async setValue(value: string | Date) {\n const date = typeof value === 'string' ? stringToDate(value) : value;\n if (!isValidDate(date)) return;\n\n await this.openPopover();\n await waitForNextPaint();\n\n this.goToMonthYear(date.getMonth(), date.getFullYear());\n await waitForNextPaint();\n const tableCell = this.calendarTable?.querySelector<HTMLTableCellElement>(\n `td[data-date=\"${formatDateISO(date)}\"]`\n );\n tableCell?.click();\n }\n\n /**\n * Emulates focusing the `<input>`, entering the provided value, and emitting an `input` event.\n *\n * While a `string` value can be passed, we recommended passing a `Date` object. If the value is invalid, the method\n * will not select the date.\n *\n * @warning\n * Only applicable when the input is typeable.\n *\n * @testOnly\n */\n @Method()\n async typeValue(value: string | Date) {\n if (!this.typeable) return;\n\n const date = typeof value === 'string' ? stringToDate(value) : value;\n const formattedDate = formatDateShort(date);\n if (!isValidDate(date)) return;\n\n const { innerInputField, controlElement } = this;\n innerInputField.focus();\n innerInputField.dispatchEvent(new FocusEvent('focus'));\n innerInputField.value = formattedDate;\n innerInputField.dispatchEvent(new InputEvent('input'));\n controlElement.dispatchEvent(new KeyboardEvent('keyup'));\n }\n\n //////// Observers //////////\n @Watch('popDirection')\n popDirectionHandler() {\n handleRenamedProp(this, 'popDirection', 'popoverDirection');\n }\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('typeable')\n typeableChanged() {\n this.valueObserver(this.value);\n }\n\n @Watch('value')\n valueObserver(newValue: string | IMomentLikeObject) {\n // resetting by empty string\n if (newValue === '') {\n this.value = undefined;\n this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });\n return;\n }\n const isMoment = newValue && typeof newValue !== 'string' && 'toDate' in newValue;\n const newDate = isMoment ? (newValue as IMomentLikeObject).toDate() : stringToDate(newValue as string);\n const shortFormattedValue = formatDateShort(newDate);\n if (this.isTypeable) {\n this.typedValue = shortFormattedValue;\n } else {\n this.controlElement.value = shortFormattedValue;\n this.selectedMonthYear = setupMonthYear(newDate);\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n // reset hint when value is cleared\n if (this.invalid) return;\n\n if (shortFormattedValue) {\n this.setHints({\n isValid: true,\n message: null,\n messageType: null,\n });\n } else {\n this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });\n }\n }\n\n @Watch('daysOfWeekChecksum')\n daysOfWeekChecksumObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n @Watch('validDates')\n validDatesObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n @Watch('invalidDates')\n invalidDatesObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n @Watch('startDate')\n startDateObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n @Watch('endDate')\n endDateObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n @Watch('cutoffTime')\n cutoffTimeObserver() {\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n\n ///////// Event /////////\n /**\n * Emitted when a date is selected or typed in the input field.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{\n // ISO formatted date\n value: string | null;\n }>;\n\n /**\n * Emitted when an invalid date is entered into the field.\n */\n @Event() error: EventEmitter<{ errors: { message: string; errorCode: string }[] }>;\n\n /**\n * Emitted when a valid date is entered or selected.\n */\n @Event() success: EventEmitter<{\n // ISO formatted date\n value: string;\n }>;\n\n ///// Actions ////////\n\n buildDateList(monthYear: ISelectedMonthYear): DateList {\n const invalidDates = stringArrayToDate(this.invalidDates);\n const validDaysOfWeek = getValidDaysOfWeek(this.daysOfWeekChecksum);\n const validDates = stringArrayToDate(this.validDates);\n return buildDates(\n validDaysOfWeek,\n validDates,\n invalidDates,\n monthYear,\n this.dateValue,\n this.dateValidators,\n this.typedValue\n );\n }\n\n validateDate() {\n try {\n if (!!this.value) {\n const { dateValue } = this;\n const month = dateValue?.getMonth() ?? undefined;\n const year = dateValue?.getFullYear() ?? undefined;\n const { monthIndex, selectedYear } = this.selectedMonthYear;\n\n const isSelectedMonthAndYear = month === monthIndex && year === selectedYear;\n let calculationDateList = [];\n\n if (!dateValue) {\n calculationDateList = [];\n } else if (isSelectedMonthAndYear) {\n calculationDateList = this.dateList;\n } else {\n calculationDateList = this.buildDateList({\n monthIndex: month,\n selectedYear: year,\n });\n }\n\n const dateValueDayOfMonth = dateValue?.getDate() ?? undefined;\n const isDateValueInvalid = dateValueDayOfMonth\n ? !calculationDateList.find(({ integer }) => integer === dateValueDayOfMonth).isValid\n : true;\n if (isDateValueInvalid) {\n this.error.emit({\n errors: [\n {\n message: `Value passed is invalid: The date ${this.value} is not valid`,\n errorCode: 'generalInvalid',\n },\n ],\n });\n } else {\n this.success.emit({ value: formatDateISO(dateValue) });\n }\n }\n } catch (error) {\n console.warn('Invalid moment value ', this.dateValue);\n }\n }\n\n focusInput() {\n this.controlElement?.focus();\n }\n\n closeCalendar = () => {\n if (!this.open) return;\n this.open = false;\n this.focusInput();\n };\n\n openCalendar = () => {\n if (this.readonly || this.open) return;\n this.selectedMonthYear = setupMonthYear(this.dateValue);\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.open = true;\n };\n\n toggleCalendar = () => {\n if (this.readonly) return;\n if (this.open) {\n this.closeCalendar();\n } else {\n this.openCalendar();\n }\n };\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n this.closeCalendar();\n }\n };\n\n onPopupKeyup = (event: KeyboardEvent) => {\n if (event.key === 'Escape' || event.key === 'Esc') {\n this.onInputBlur();\n this.closeCalendar();\n }\n };\n\n onInputInput = ({ detail: { value } }: Q2InputCustomEvent<IEventDetail> & InputEvent) => {\n this.typedValue = value;\n };\n\n onInputKeydown = (event: KeyboardEvent) => {\n const { dateValue } = this;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.openCalendar();\n this.activateDay(dateValue || new Date());\n break;\n\n case 'Enter':\n case ' ':\n if (this.typeable) break;\n event.preventDefault();\n if (this.open) {\n this.closeCalendar();\n } else {\n this.openCalendar();\n this.activateDay(dateValue || new Date());\n }\n break;\n }\n };\n\n onInputKeyup = (event: KeyboardEvent) => {\n if (this.disabled) {\n return;\n }\n\n switch (event.key) {\n case 'Escape':\n this.onInputBlur();\n this.closeCalendar();\n break;\n }\n\n if (!this.isTypeable) return;\n\n // handle missing zero in month and date\n this.typedValue = handleMissingZeros(this.typedValue);\n const { typedValue } = this;\n const validDays = getValidDaysOfWeek(this.daysOfWeekChecksum);\n const { isValid, message, messageType, inputDate, isAvailable, calendarPosition } = validateInput(\n typedValue,\n validDays,\n this.validDates,\n this.invalidDates,\n this.startDate,\n this.endDate,\n this.defaultFormatString,\n this.assume\n );\n\n if (calendarPosition) {\n const [mm, dd, yyyy] = calendarPosition;\n const date = new Date(yyyy, mm - 1, dd);\n if (isValidDate(date)) {\n this.selectedMonthYear = setupMonthYear(date);\n this.dateList = this.buildDateList(this.selectedMonthYear);\n this.validateDate();\n }\n }\n\n if (event.key === 'Enter') {\n if (\n isValid ||\n (typedValue &&\n typedValue.length > 4 && // at least mm/dd provided\n inputDate &&\n isValidDate(inputDate) &&\n isAvailable)\n ) {\n this.setCompleteInput(inputDate);\n } else if (this.value) {\n this.value = null;\n this.change.emit({ value: null });\n this.typedValue = typedValue;\n }\n\n if (this.keyboardSelection) {\n this.keyboardSelection = false;\n this.closeCalendar();\n } else {\n this.toggleCalendar();\n }\n } else {\n this.setHints({ isValid, message, messageType });\n }\n };\n\n onInputChange = (event: Event) => {\n event.stopPropagation();\n };\n\n onInputBlur = () => {\n if (!this.isTypeable) return;\n\n const validDays = getValidDaysOfWeek(this.daysOfWeekChecksum);\n const { typedValue } = this;\n const { isValid, inputDate, isAvailable } = validateInput(\n this.typedValue,\n validDays,\n this.validDates,\n this.invalidDates,\n this.startDate,\n this.endDate,\n this.defaultFormatString,\n this.assume\n );\n\n if (!typedValue && inputDate?.toString() === 'Invalid Date') {\n // initial/clear state\n this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });\n } else if (\n isValid ||\n (typedValue &&\n typedValue.length > 4 && // at least mm/dd provided\n inputDate &&\n isValidDate(inputDate) &&\n isAvailable)\n ) {\n this.setCompleteInput(inputDate);\n } else if (this.value) {\n this.valueOnBlur = this.value;\n this.value = null;\n this.change.emit({ value: null });\n this.typedValue = typedValue;\n }\n };\n\n onInputFocus = (event: FocusEvent) => {\n if (!this.isTypeable) return;\n if (event.target === this.controlElement) {\n if (this.valueOnBlur && !this.value) {\n const tmpTypedValue = this.typedValue;\n this.value = this.valueOnBlur;\n this.typedValue = tmpTypedValue;\n this.valueOnBlur = null;\n }\n this.closeCalendar();\n }\n };\n\n onInputClick = () => {\n if (this.disabled) return;\n this.toggleCalendar();\n };\n\n onRefocus = () => {\n this.btnPrevMonth?.dispatchEvent(new FocusEvent('focus'));\n };\n\n goToMonthYear = (monthIndex: number, year: number) => {\n if (monthIndex < 0) {\n monthIndex = 11;\n year--;\n } else if (monthIndex > 11) {\n monthIndex = 0;\n year++;\n }\n this.selectedMonthYear = {\n monthIndex,\n selectedYear: year,\n };\n this.dateList = this.buildDateList(this.selectedMonthYear);\n\n this.scheduledAfterRender.push(() => this.checkActiveCellForBlankness());\n };\n\n checkActiveCellForBlankness() {\n const activeElement = this.hostElement.shadowRoot.activeElement;\n if (!activeElement || activeElement.tagName !== 'TD' || !activeElement.hasAttribute('aria-hidden')) return;\n\n const { calendarBody } = this;\n const calendarCells = Array.from(calendarBody.querySelectorAll<Element>('td'));\n const indexOfCell = Array.from(calendarCells).indexOf(activeElement);\n\n const dayToFocus =\n indexOfCell < 15 ? 1 : calendarCells.filter(cell => !cell.hasAttribute('aria-hidden')).length;\n\n this.focusDay(this.generateDateFromDay(dayToFocus));\n }\n\n selectDate = (newDate: Date) => {\n const { isValid } = this.dateList.find(({ date }) => isSameDay(date, newDate));\n if (!isValid) return;\n this.change.emit({ value: formatDateISO(newDate) });\n this.typedValue = formatDateShort(newDate);\n this.invalid = false;\n this.success.emit({ value: formatDateISO(newDate) });\n };\n\n onDateSelection = (event: MouseEvent) => {\n const dateCell = (event.target as HTMLElement).closest<HTMLElement>('td:not([aria-hidden])');\n if (!dateCell) return;\n const clickedDate = removeTimezoneOffset(new Date(dateCell.dataset.date));\n this.selectDate(clickedDate);\n this.closeCalendar();\n };\n\n generateDateFromDay(day: number) {\n const { monthIndex, selectedYear } = this.selectedMonthYear;\n return new Date(selectedYear, monthIndex, day);\n }\n\n onHeaderControlKeydown = (event: KeyboardEvent) => {\n const currentDate = this.generateDateFromDay(1);\n const hasSelectedCell = this.calendarBody?.querySelector<HTMLTableCellElement>('[aria-selected=\"true\"]');\n\n if (event.key === 'Tab' && !hasSelectedCell) {\n event.preventDefault();\n this.activateDay(currentDate);\n }\n };\n\n onDateKeydown = (event: KeyboardEvent) => {\n const { monthIndex, selectedYear } = this.selectedMonthYear;\n const currentDay = parseInt((event.target as HTMLElement).dataset.day);\n const currentDate = this.generateDateFromDay(currentDay);\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n this.activateDay(addDays(currentDate, -7));\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.activateDay(addDays(currentDate, 7));\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n this.activateDay(addDays(currentDate, 1));\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.activateDay(addDays(currentDate, -1));\n break;\n\n case 'PageUp':\n event.preventDefault();\n if (event.shiftKey) this.goToMonthYear(monthIndex, selectedYear - 1);\n else this.goToMonthYear(monthIndex - 1, selectedYear);\n break;\n\n case 'PageDown':\n event.preventDefault();\n if (event.shiftKey) this.goToMonthYear(monthIndex, selectedYear + 1);\n else this.goToMonthYear(monthIndex + 1, selectedYear);\n break;\n\n case 'Home':\n event.preventDefault();\n this.activateDay(addDays(currentDate, -currentDate.getDay()));\n break;\n\n case 'End':\n event.preventDefault();\n this.activateDay(addDays(currentDate, 6 - currentDate.getDay()));\n break;\n\n case 'Escape':\n event.preventDefault();\n this.closeCalendar();\n this.focusInput();\n break;\n\n case 'Enter':\n event.preventDefault();\n if (!this.dateList.find(({ date }) => isSameDay(date, currentDate)).isValid) return;\n this.selectDate(currentDate);\n this.closeCalendar();\n this.focusInput();\n break;\n\n case ' ':\n event.preventDefault();\n if (!this.dateList.find(({ date }) => isSameDay(date, currentDate)).isValid) return;\n this.selectDate(currentDate);\n this.closeCalendar();\n this.focusInput();\n break;\n }\n };\n\n activateDay(date: Date) {\n this.goToMonthYear(date.getMonth(), date.getFullYear());\n this.scheduledAfterRender.push(() => this.focusDay(date));\n }\n\n async focusDay(date: Date) {\n if (!date) return;\n await waitForNextPaint();\n this.calendarBody.querySelector<HTMLElement>(`td[data-day=\"${date.getDate()}\"]`)?.focus();\n }\n\n render() {\n return (\n <click-elsewhere\n class={this.open ? 'dropdown-open' : undefined}\n onChange={this.onClickElsewhere}\n >\n {this.inputField()}\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.innerInputContainer}\n open={this.open}\n direction={this.popoverDirection}\n minHeight={this.popoverMinHeight}\n align={this.popoverAlignment}\n mode={this.popoverMode || undefined}\n block\n >\n {this.hintField()}\n {this.calendarPopover()}\n </q2-popover>\n </click-elsewhere>\n );\n }\n\n hintField() {\n if (!this.hintMessage) return;\n\n return (\n <q2-message\n class=\"calendar-hint sr\"\n ref={el => (this.hintMessageElement = el)}\n type={this.hintMessageType}\n >\n {this.hintMessage}\n </q2-message>\n );\n }\n\n setHints({ isValid, message, messageType }) {\n if (message === this.hintMessage) return this.hintMessageElement?.present();\n this.invalid = !isValid;\n this.hintMessage = message;\n this.hintMessageType = messageType;\n if (messageType === 'error' && message) {\n this.internalError = message;\n this.error.emit({\n errors: [\n {\n message,\n errorCode: 'generalInvalid',\n },\n ],\n });\n }\n }\n\n setCompleteInput(inputDate: Date) {\n const formattedDate = formatDateShort(inputDate);\n this.change.emit({ value: formatDateISO(inputDate) });\n this.typedValue = formattedDate;\n this.internalError = null;\n this.setHints({\n isValid: true,\n message: null,\n messageType: null,\n });\n }\n\n inputField() {\n const { isTypeable } = this;\n return (\n <q2-input\n ref={el => (this.controlElement = el)}\n class=\"calendar-input-field\"\n value={this.formattedValue}\n label={loc(this.label)}\n hideLabel={this.hideLabel}\n disabled={!!this.disabled}\n readonly={!!this.readonly}\n clearable={this.canClear}\n placeholder={this.computedPlaceholder}\n optional={!!this.optional}\n ariaExpanded={`${!!this.open}`}\n hints={this.hintList}\n errors={this.errorList}\n onClick={isTypeable ? undefined : this.onInputClick}\n onChange={this.onInputChange}\n onInput={this.onInputInput}\n onKeyDown={this.onInputKeydown}\n onKeyUp={this.onInputKeyup}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n icon-right={isTypeable ? undefined : 'calendar'}\n format-modifier={isTypeable ? this.formatModifier : this.displayFormat || this.formatModifier}\n type=\"date\"\n hide-messages={!isTypeable}\n test-id=\"inputAndCalendarToggle\"\n _role=\"combobox\"\n _preventEntry={!isTypeable}\n >\n {isTypeable && (\n <q2-btn\n ref={el => (this.btnCalendarToggle = el)}\n slot=\"input-right\"\n onClick={this.onInputClick}\n test-id=\"calendarToggle\"\n label=\"tecton.element.calendar.toggleAriaLabel\"\n hide-label\n >\n <q2-icon type=\"calendar\" />\n </q2-btn>\n )}\n </q2-input>\n );\n }\n\n calendarPopover() {\n const { monthIndex, selectedYear } = this.selectedMonthYear;\n return (\n <div\n class=\"calendar-field-popup\"\n onKeyUp={this.onPopupKeyup}\n >\n {this.calendarLabel && <p class=\"calendar-label\">{loc(this.calendarLabel)}</p>}\n <div class=\"cal-month-heading\">\n <q2-btn\n label={loc('tecton.element.calendar.previousMonth')}\n hide-label\n ref={elm => (this.btnPrevMonth = elm)}\n class=\"cal-nav-btn prev-month\"\n test-id=\"previousMonthButton\"\n onClick={() => this.goToMonthYear(monthIndex - 1, selectedYear)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n <span class=\"cal-month-text\">{this.monthStrings[monthIndex]}</span>\n <q2-btn\n label={loc('tecton.element.calendar.nextMonth')}\n hide-label\n class=\"cal-nav-btn next-month\"\n ref={elm => (this.btnNextMonth = elm)}\n test-id=\"nextMonthButton\"\n onClick={() => this.goToMonthYear(monthIndex + 1, selectedYear)}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n label={loc('tecton.element.calendar.previousYear')}\n hide-label\n class=\"cal-nav-btn prev-year\"\n ref={elm => (this.btnPrevYear = elm)}\n test-id=\"previousYearButton\"\n onClick={() => this.goToMonthYear(monthIndex, selectedYear - 1)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n <span class=\"cal-year-text\">{this.selectedMonthYear.selectedYear}</span>\n <q2-btn\n label={loc('tecton.element.calendar.nextYear')}\n hide-label\n class=\"cal-nav-btn next-year\"\n ref={elm => (this.btnNextYear = elm)}\n test-id=\"nextYearButton\"\n onClick={() => this.goToMonthYear(monthIndex, selectedYear + 1)}\n onKeyDown={this.onHeaderControlKeydown}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n </div>\n <div\n class=\"sr\"\n aria-live=\"polite\"\n id=\"table-label\"\n >\n {`${this.monthStrings[monthIndex]} ${selectedYear}`}\n </div>\n {this.calendarDays()}\n {this.disclaimer && <div class=\"calendar-disclaimer\">{loc(this.disclaimer)}</div>}\n <q2-btn\n class=\"sr refocus-popup\"\n onFocus={this.onRefocus}\n />\n </div>\n );\n }\n\n calendarDays() {\n return (\n <table\n role=\"grid\"\n aria-labelledby=\"table-label\"\n ref={ref => (this.calendarTable = ref)}\n >\n <thead>\n <tr>\n {[...Array(7).keys()].map(index => (\n <th\n scope=\"col\"\n aria-label={this.dayStrings[index]}\n >\n {this.dayAbbrStrings[index]}\n </th>\n ))}\n </tr>\n </thead>\n <tbody\n onClick={this.onDateSelection}\n onKeyDown={this.onDateKeydown}\n ref={elm => (this.calendarBody = elm)}\n test-id=\"calendarTableBody\"\n >\n {this.currentWeeks.map(week => (\n <tr>\n {week.map(day => {\n let ariaLabel = '';\n if (day.isToday) ariaLabel = `${loc('tecton.element.calendar.today')}, `;\n ariaLabel += formatDateFull(day.date);\n if (day.isSelected) ariaLabel += ` (${loc('tecton.element.calendar.selected')})`;\n return (\n <td\n class={day.classList}\n aria-hidden={day.isEmpty ? 'true' : undefined}\n tabindex={day.isSelected ? 0 : -1}\n role={day.isSelected ? 'gridcell' : undefined}\n aria-selected={day.isSelected ? 'true' : undefined}\n aria-disabled={day.isValid ? undefined : 'true'}\n data-day={day.integer || undefined}\n data-date={day.date ? formatDateISO(day.date) : undefined}\n >\n {day?.isToday && (\n <div\n class=\"today-decorator\"\n aria-hidden=\"true\"\n >\n {loc('tecton.element.calendar.today')}\n </div>\n )}\n <div aria-label={ariaLabel}>{day?.integer ?? ''}</div>\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r,c as a,h as t,g as i}from"./p-a5f18e27.js";import{o as n,l as e}from"./p-42302f6f.js";import{g as v,c as s,a as o,i as f,b as u,d as l,e as c,f as h,h as d,j as p,k as m,l as y}from"./p-15c6d86f.js";import{_ as b,c as w,e as M,l as g,u as x,s as S,i as I,g as k,n as N,Z as T,a as D,b as L,t as C,d as U,r as A,f as O,G as z,h as G,j as P,S as F,m as _,k as j,o as X,p as Y,q as E,P as R,v as Z,w as J,x as K,y as V,z as q,A as H,C as W,B,D as Q,E as $,F as rr,H as ar,I as tr,L as ir,J as nr,K as er,M as vr,N as sr,O as or,Q as fr,R as ur,T as lr,U as cr,V as hr,W as dr,X as pr,Y as mr,$ as yr,a0 as br,a1 as wr,a2 as Mr,a3 as gr,a4 as xr,a5 as Sr,a6 as Ir,a7 as kr,a8 as Nr,a9 as Tr,aa as Dr,ab as Lr,ac as Cr}from"./p-dfed434e.js";var Ur=function(r){b(a,r);function a(a,t,i,n){var e=r.call(this)||this;e.updateData(a,t,i,n);return e}a.prototype._createSymbol=function(r,a,t,i,n){this.removeAll();var e=w(r,-1,-1,2,2,null,n);e.attr({z2:100,culling:true,scaleX:i[0]/2,scaleY:i[1]/2});e.drift=Ar;this._symbolType=r;this.add(e)};a.prototype.stopSymbolAnimation=function(r){this.childAt(0).stopAnimation(null,r)};a.prototype.getSymbolType=function(){return this._symbolType};a.prototype.getSymbolPath=function(){return this.childAt(0)};a.prototype.highlight=function(){M(this.childAt(0))};a.prototype.downplay=function(){g(this.childAt(0))};a.prototype.setZ=function(r,a){var t=this.childAt(0);t.zlevel=r;t.z=a};a.prototype.setDraggable=function(r,a){var t=this.childAt(0);t.draggable=r;t.cursor=!a&&r?"move":t.cursor};a.prototype.updateData=function(r,t,i,n){this.silent=false;var e=r.getItemVisual(t,"symbol")||"circle";var v=r.hostModel;var s=a.getSymbolSize(r,t);var o=e!==this._symbolType;var f=n&&n.disableAnimation;if(o){var u=r.getItemVisual(t,"symbolKeepAspect");this._createSymbol(e,r,t,s,u)}else{var l=this.childAt(0);l.silent=false;var c={scaleX:s[0]/2,scaleY:s[1]/2};f?l.attr(c):x(l,c,v,t);S(l)}this._updateCommon(r,t,s,i,n);if(o){var l=this.childAt(0);if(!f){var c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:l.style.opacity}};l.scaleX=l.scaleY=0;l.style.opacity=0;I(l,c,v,t)}}if(f){this.childAt(0).stopAnimation("leave")}};a.prototype._updateCommon=function(r,a,t,i,n){var e=this.childAt(0);var s=r.hostModel;var o;var f;var u;var l;var c;var h;var d;var p;var m;if(i){o=i.emphasisItemStyle;f=i.blurItemStyle;u=i.selectItemStyle;l=i.focus;c=i.blurScope;d=i.labelStatesModels;p=i.hoverScale;m=i.cursorStyle;h=i.emphasisDisabled}if(!i||r.hasItemOption){var y=i&&i.itemModel?i.itemModel:r.getItemModel(a);var b=y.getModel("emphasis");o=b.getModel("itemStyle").getItemStyle();u=y.getModel(["select","itemStyle"]).getItemStyle();f=y.getModel(["blur","itemStyle"]).getItemStyle();l=b.get("focus");c=b.get("blurScope");h=b.get("disabled");d=k(y);p=b.getShallow("scale");m=y.getShallow("cursor")}var w=r.getItemVisual(a,"symbolRotate");e.attr("rotation",(w||0)*Math.PI/180||0);var M=N(r.getItemVisual(a,"symbolOffset"),t);if(M){e.x=M[0];e.y=M[1]}m&&e.attr("cursor",m);var g=r.getItemVisual(a,"style");var x=g.fill;if(e instanceof T){var S=e.style;e.useStyle(D({image:S.image,x:S.x,y:S.y,width:S.width,height:S.height},g))}else{if(e.__isEmptyBrush){e.useStyle(D({},g))}else{e.useStyle(g)}e.style.decal=null;e.setColor(x,n&&n.symbolInnerColor);e.style.strokeNoScale=true}var I=r.getItemVisual(a,"liftZ");var U=this._z2;if(I!=null){if(U==null){this._z2=e.z2;e.z2+=I}}else if(U!=null){e.z2=U;this._z2=null}var A=n&&n.useNameLabel;L(e,d,{labelFetcher:s,labelDataIndex:a,defaultText:O,inheritColor:x,defaultOpacity:g.opacity});function O(a){return A?r.getName(a):v(r,a)}this._sizeX=t[0]/2;this._sizeY=t[1]/2;var z=e.ensureState("emphasis");z.style=o;e.ensureState("select").style=u;e.ensureState("blur").style=f;var G=p==null||p===true?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;z.scaleX=this._sizeX*G;z.scaleY=this._sizeY*G;this.setSymbolScale(1);C(this,l,c,h)};a.prototype.setSymbolScale=function(r){this.scaleX=this.scaleY=r};a.prototype.fadeOut=function(r,a,t){var i=this.childAt(0);var n=U(this).dataIndex;var e=t&&t.animation;this.silent=i.silent=true;if(t&&t.fadeLabel){var v=i.getTextContent();if(v){A(v,{style:{opacity:0}},a,{dataIndex:n,removeOpt:e,cb:function(){i.removeTextContent()}})}}else{i.removeTextContent()}A(i,{style:{opacity:0},scaleX:0,scaleY:0},a,{dataIndex:n,cb:r,removeOpt:e})};a.getSymbolSize=function(r,a){return O(r.getItemVisual(a,"symbolSize"))};return a}(z);function Ar(r,a){this.parent.drift(r,a)}const Or=Ur;function zr(r,a,t,i){return a&&!isNaN(a[0])&&!isNaN(a[1])&&!(i.isIgnore&&i.isIgnore(t))&&!(i.clipShape&&!i.clipShape.contain(a[0],a[1]))&&r.getItemVisual(t,"symbol")!=="none"}function Gr(r){if(r!=null&&!P(r)){r={isIgnore:r}}return r||{}}function Pr(r){var a=r.hostModel;var t=a.getModel("emphasis");return{emphasisItemStyle:t.getModel("itemStyle").getItemStyle(),blurItemStyle:a.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:a.getModel(["select","itemStyle"]).getItemStyle(),focus:t.get("focus"),blurScope:t.get("blurScope"),emphasisDisabled:t.get("disabled"),hoverScale:t.get("scale"),labelStatesModels:k(a),cursorStyle:a.get("cursor")}}var Fr=function(){function r(r){this.group=new z;this._SymbolCtor=r||Or}r.prototype.updateData=function(r,a){this._progressiveEls=null;a=Gr(a);var t=this.group;var i=r.hostModel;var n=this._data;var e=this._SymbolCtor;var v=a.disableAnimation;var s=Pr(r);var o={disableAnimation:v};var f=a.getSymbolPoint||function(a){return r.getItemLayout(a)};if(!n){t.removeAll()}r.diff(n).add((function(i){var n=f(i);if(zr(r,n,i,a)){var v=new e(r,i,s,o);v.setPosition(n);r.setItemGraphicEl(i,v);t.add(v)}})).update((function(u,l){var c=n.getItemGraphicEl(l);var h=f(u);if(!zr(r,h,u,a)){t.remove(c);return}var d=r.getItemVisual(u,"symbol")||"circle";var p=c&&c.getSymbolType&&c.getSymbolType();if(!c||p&&p!==d){t.remove(c);c=new e(r,u,s,o);c.setPosition(h)}else{c.updateData(r,u,s,o);var m={x:h[0],y:h[1]};v?c.attr(m):x(c,m,i)}t.add(c);r.setItemGraphicEl(u,c)})).remove((function(r){var a=n.getItemGraphicEl(r);a&&a.fadeOut((function(){t.remove(a)}),i)})).execute();this._getSymbolPoint=f;this._data=r};r.prototype.updateLayout=function(){var r=this;var a=this._data;if(a){a.eachItemGraphicEl((function(a,t){var i=r._getSymbolPoint(t);a.setPosition(i);a.markRedraw()}))}};r.prototype.incrementalPrepareUpdate=function(r){this._seriesScope=Pr(r);this._data=null;this.group.removeAll()};r.prototype.incrementalUpdate=function(r,a,t){this._progressiveEls=[];t=Gr(t);function i(r){if(!r.isGroup){r.incremental=true;r.ensureState("emphasis").hoverLayer=true}}for(var n=r.start;n<r.end;n++){var e=a.getItemLayout(n);if(zr(a,e,n,t)){var v=new this._SymbolCtor(a,n,this._seriesScope);v.traverse(i);v.setPosition(e);this.group.add(v);a.setItemGraphicEl(n,v);this._progressiveEls.push(v)}}};r.prototype.eachRendered=function(r){G(this._progressiveEls||this.group,r)};r.prototype.remove=function(r){var a=this.group;var t=this._data;if(t&&r){t.eachItemGraphicEl((function(r){r.fadeOut((function(){a.remove(r)}),t.hostModel)}))}else{a.removeAll()}};return r}();const _r=Fr;var jr=function(r){b(a,r);function a(){var t=r!==null&&r.apply(this,arguments)||this;t.type=a.type;t.hasSymbolVisual=true;return t}a.prototype.getInitialData=function(r){return s(null,this,{useEncodeDefaulter:true})};a.prototype.getLegendIcon=function(r){var a=new z;var t=w("line",0,r.itemHeight/2,r.itemWidth,0,r.lineStyle.stroke,false);a.add(t);t.setStyle(r.lineStyle);var i=this.getData().getVisual("symbol");var n=this.getData().getVisual("symbolRotate");var e=i==="none"?"circle":i;var v=r.itemHeight*.8;var s=w(e,(r.itemWidth-v)/2,(r.itemHeight-v)/2,v,v,r.itemStyle.fill);a.add(s);s.setStyle(r.itemStyle);var o=r.iconRotate==="inherit"?n:r.iconRotate||0;s.rotation=o*Math.PI/180;s.setOrigin([r.itemWidth/2,r.itemHeight/2]);if(e.indexOf("empty")>-1){s.style.stroke=s.style.fill;s.style.fill="#fff";s.style.lineWidth=2}return a};a.type="series.line";a.dependencies=["grid","polar"];a.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:true,clip:true,label:{position:"top"},endLabel:{show:false,valueAnimation:true,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:true},step:false,smooth:false,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:true,showAllSymbol:"auto",connectNulls:false,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:Infinity,universalTransition:{divideShape:"clone"},triggerLineEvent:false};return a}(F);const Xr=jr;function Yr(r,a,t){var i=r.getBaseAxis();var n=r.getOtherAxis(i);var e=Er(n,t);var v=i.dim;var s=n.dim;var o=a.mapDimension(s);var f=a.mapDimension(v);var u=s==="x"||s==="radius"?1:0;var l=_(r.dimensions,(function(r){return a.mapDimension(r)}));var c=false;var h=a.getCalculationInfo("stackResultDimension");if(j(a,l[0])){c=true;l[0]=h}if(j(a,l[1])){c=true;l[1]=h}return{dataDimsForPoint:l,valueStart:e,valueAxisDim:s,baseAxisDim:v,stacked:!!c,valueDim:o,baseDim:f,baseDataOffset:u,stackedOverDimension:a.getCalculationInfo("stackedOverDimension")}}function Er(r,a){var t=0;var i=r.scale.getExtent();if(a==="start"){t=i[0]}else if(a==="end"){t=i[1]}else if(X(a)&&!isNaN(a)){t=a}else{if(i[0]>0){t=i[0]}else if(i[1]<0){t=i[1]}}return t}function Rr(r,a,t,i){var n=NaN;if(r.stacked){n=t.get(t.getCalculationInfo("stackedOverDimension"),i)}if(isNaN(n)){n=r.valueStart}var e=r.baseDataOffset;var v=[];v[e]=t.get(r.baseDim,i);v[1-e]=n;return a.dataToPoint(v)}function Zr(r,a){var t=[];a.diff(r).add((function(r){t.push({cmd:"+",idx:r})})).update((function(r,a){t.push({cmd:"=",idx:a,idx1:r})})).remove((function(r){t.push({cmd:"-",idx:r})})).execute();return t}function Jr(r,a,t,i,n,e,v,s){var o=Zr(r,a);var f=[];var u=[];var l=[];var c=[];var h=[];var d=[];var p=[];var m=Yr(n,a,v);var y=r.getLayout("points")||[];var b=a.getLayout("points")||[];for(var w=0;w<o.length;w++){var M=o[w];var g=true;var x=void 0;var S=void 0;switch(M.cmd){case"=":x=M.idx*2;S=M.idx1*2;var I=y[x];var k=y[x+1];var N=b[S];var T=b[S+1];if(isNaN(I)||isNaN(k)){I=N;k=T}f.push(I,k);u.push(N,T);l.push(t[x],t[x+1]);c.push(i[S],i[S+1]);p.push(a.getRawIndex(M.idx1));break;case"+":var D=M.idx;var L=m.dataDimsForPoint;var C=n.dataToPoint([a.get(L[0],D),a.get(L[1],D)]);S=D*2;f.push(C[0],C[1]);u.push(b[S],b[S+1]);var U=Rr(m,n,a,D);l.push(U[0],U[1]);c.push(i[S],i[S+1]);p.push(a.getRawIndex(D));break;case"-":g=false}if(g){h.push(M);d.push(d.length)}}d.sort((function(r,a){return p[r]-p[a]}));var A=f.length;var O=Y(A);var z=Y(A);var G=Y(A);var P=Y(A);var F=[];for(var w=0;w<d.length;w++){var _=d[w];var j=w*2;var X=_*2;O[j]=f[X];O[j+1]=f[X+1];z[j]=u[X];z[j+1]=u[X+1];G[j]=l[X];G[j+1]=l[X+1];P[j]=c[X];P[j+1]=c[X+1];F[w]=h[_]}return{current:O,next:z,stackedOnCurrent:G,stackedOnNext:P,status:F}}var Kr=Math.min;var Vr=Math.max;function qr(r,a){return isNaN(r)||isNaN(a)}function Hr(r,a,t,i,n,e,v,s,o){var f;var u;var l;var c;var h;var d;var p=t;var m=0;for(;m<i;m++){var y=a[p*2];var b=a[p*2+1];if(p>=n||p<0){break}if(qr(y,b)){if(o){p+=e;continue}break}if(p===t){r[e>0?"moveTo":"lineTo"](y,b);l=y;c=b}else{var w=y-f;var M=b-u;if(w*w+M*M<.5){p+=e;continue}if(v>0){var g=p+e;var x=a[g*2];var S=a[g*2+1];while(x===y&&S===b&&m<i){m++;g+=e;p+=e;x=a[g*2];S=a[g*2+1];y=a[p*2];b=a[p*2+1];w=y-f;M=b-u}var I=m+1;if(o){while(qr(x,S)&&I<i){I++;g+=e;x=a[g*2];S=a[g*2+1]}}var k=.5;var N=0;var T=0;var D=void 0;var L=void 0;if(I>=i||qr(x,S)){h=y;d=b}else{N=x-f;T=S-u;var C=y-f;var U=x-y;var A=b-u;var O=S-b;var z=void 0;var G=void 0;if(s==="x"){z=Math.abs(C);G=Math.abs(U);var P=N>0?1:-1;h=y-P*z*v;d=b;D=y+P*G*v;L=b}else if(s==="y"){z=Math.abs(A);G=Math.abs(O);var F=T>0?1:-1;h=y;d=b-F*z*v;D=y;L=b+F*G*v}else{z=Math.sqrt(C*C+A*A);G=Math.sqrt(U*U+O*O);k=G/(G+z);h=y-N*v*(1-k);d=b-T*v*(1-k);D=y+N*v*k;L=b+T*v*k;D=Kr(D,Vr(x,y));L=Kr(L,Vr(S,b));D=Vr(D,Kr(x,y));L=Vr(L,Kr(S,b));N=D-y;T=L-b;h=y-N*z/G;d=b-T*z/G;h=Kr(h,Vr(f,y));d=Kr(d,Vr(u,b));h=Vr(h,Kr(f,y));d=Vr(d,Kr(u,b));N=y-h;T=b-d;D=y+N*G/z;L=b+T*G/z}}r.bezierCurveTo(l,c,h,d,y,b);l=D;c=L}else{r.lineTo(y,b)}}f=y;u=b;p+=e}return m}var Wr=function(){function r(){this.smooth=0;this.smoothConstraint=true}return r}();var Br=function(r){b(a,r);function a(a){var t=r.call(this,a)||this;t.type="ec-polyline";return t}a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new Wr};a.prototype.buildPath=function(r,a){var t=a.points;var i=0;var n=t.length/2;if(a.connectNulls){for(;n>0;n--){if(!qr(t[n*2-2],t[n*2-1])){break}}for(;i<n;i++){if(!qr(t[i*2],t[i*2+1])){break}}}while(i<n){i+=Hr(r,t,i,n,n,1,a.smooth,a.smoothMonotone,a.connectNulls)+1}};a.prototype.getPointOn=function(r,a){if(!this.path){this.createPathProxy();this.buildPath(this.path,this.shape)}var t=this.path;var i=t.data;var n=Z.CMD;var e;var v;var s=a==="x";var o=[];for(var f=0;f<i.length;){var u=i[f++];var l=void 0;var c=void 0;var h=void 0;var d=void 0;var p=void 0;var m=void 0;var y=void 0;switch(u){case n.M:e=i[f++];v=i[f++];break;case n.L:l=i[f++];c=i[f++];y=s?(r-e)/(l-e):(r-v)/(c-v);if(y<=1&&y>=0){var b=s?(c-v)*y+v:(l-e)*y+e;return s?[r,b]:[b,r]}e=l;v=c;break;case n.C:l=i[f++];c=i[f++];h=i[f++];d=i[f++];p=i[f++];m=i[f++];var w=s?E(e,l,h,p,r,o):E(v,c,d,m,r,o);if(w>0){for(var M=0;M<w;M++){var g=o[M];if(g<=1&&g>=0){var b=s?J(v,c,d,m,g):J(e,l,h,p,g);return s?[r,b]:[b,r]}}}e=p;v=m;break}}};return a}(R);var Qr=function(r){b(a,r);function a(){return r!==null&&r.apply(this,arguments)||this}return a}(Wr);var $r=function(r){b(a,r);function a(a){var t=r.call(this,a)||this;t.type="ec-polygon";return t}a.prototype.getDefaultShape=function(){return new Qr};a.prototype.buildPath=function(r,a){var t=a.points;var i=a.stackedOnPoints;var n=0;var e=t.length/2;var v=a.smoothMonotone;if(a.connectNulls){for(;e>0;e--){if(!qr(t[e*2-2],t[e*2-1])){break}}for(;n<e;n++){if(!qr(t[n*2],t[n*2+1])){break}}}while(n<e){var s=Hr(r,t,n,e,e,1,a.smooth,v,a.connectNulls);Hr(r,i,n+s-1,s,e,-1,a.stackedOnSmooth,v,a.connectNulls);n+=s+1;r.closePath()}};return a}(R);function ra(r,a){if(r.length!==a.length){return}for(var t=0;t<r.length;t++){if(r[t]!==a[t]){return}}return true}function aa(r){var a=Infinity;var t=Infinity;var i=-Infinity;var n=-Infinity;for(var e=0;e<r.length;){var v=r[e++];var s=r[e++];if(!isNaN(v)){a=Math.min(v,a);i=Math.max(v,i)}if(!isNaN(s)){t=Math.min(s,t);n=Math.max(s,n)}}return[[a,t],[i,n]]}function ta(r,a){var t=aa(r),i=t[0],n=t[1];var e=aa(a),v=e[0],s=e[1];return Math.max(Math.abs(i[0]-v[0]),Math.abs(i[1]-v[1]),Math.abs(n[0]-s[0]),Math.abs(n[1]-s[1]))}function ia(r){return X(r)?r:r?.5:0}function na(r,a,t){if(!t.valueDim){return[]}var i=a.count();var n=Y(i*2);for(var e=0;e<i;e++){var v=Rr(t,r,a,e);n[e*2]=v[0];n[e*2+1]=v[1]}return n}function ea(r,a,t,i){var n=a.getBaseAxis();var e=n.dim==="x"||n.dim==="radius"?0:1;var v=[];var s=0;var o=[];var f=[];var u=[];var l=[];if(i){for(s=0;s<r.length;s+=2){if(!isNaN(r[s])&&!isNaN(r[s+1])){l.push(r[s],r[s+1])}}r=l}for(s=0;s<r.length-2;s+=2){u[0]=r[s+2];u[1]=r[s+3];f[0]=r[s];f[1]=r[s+1];v.push(f[0],f[1]);switch(t){case"end":o[e]=u[e];o[1-e]=f[1-e];v.push(o[0],o[1]);break;case"middle":var c=(f[e]+u[e])/2;var h=[];o[e]=h[e]=c;o[1-e]=f[1-e];h[1-e]=u[1-e];v.push(o[0],o[1]);v.push(h[0],h[1]);break;default:o[e]=f[e];o[1-e]=u[1-e];v.push(o[0],o[1])}}v.push(r[s++],r[s++]);return v}function va(r,a){var t=[];var i=r.length;var n;var e;function v(r,a,t){var i=r.coord;var n=(t-i)/(a.coord-i);var e=er(n,[r.color,a.color]);return{coord:t,color:e}}for(var s=0;s<i;s++){var o=r[s];var f=o.coord;if(f<0){n=o}else if(f>a){if(e){t.push(v(e,o,a))}else if(n){t.push(v(n,o,0),v(n,o,a))}break}else{if(n){t.push(v(n,o,0));n=null}t.push(o);e=o}}return t}function sa(r,a,t){var i=r.getVisual("visualMeta");if(!i||!i.length||!r.count()){return}if(a.type!=="cartesian2d"){return}var n;var e;for(var v=i.length-1;v>=0;v--){var s=r.getDimensionInfo(i[v].dimension);n=s&&s.coordDim;if(n==="x"||n==="y"){e=i[v];break}}if(!e){return}var o=a.getAxis(n);var f=_(e.stops,(function(r){return{coord:o.toGlobalCoord(o.dataToCoord(r.value)),color:r.color}}));var u=f.length;var l=e.outerColors.slice();if(u&&f[0].coord>f[u-1].coord){f.reverse();l.reverse()}var c=va(f,n==="x"?t.getWidth():t.getHeight());var h=c.length;if(!h&&u){return f[0].coord<0?l[1]?l[1]:f[u-1].color:l[0]?l[0]:f[0].color}var d=10;var p=c[0].coord-d;var m=c[h-1].coord+d;var y=m-p;if(y<.001){return"transparent"}tr(c,(function(r){r.offset=(r.coord-p)/y}));c.push({offset:h?c[h-1].offset:.5,color:l[1]||"transparent"});c.unshift({offset:h?c[0].offset:.5,color:l[0]||"transparent"});var b=new ir(0,0,0,0,c,true);b[n]=p;b[n+"2"]=m;return b}function oa(r,a,t){var i=r.get("showAllSymbol");var n=i==="auto";if(i&&!n){return}var e=t.getAxesByScale("ordinal")[0];if(!e){return}if(n&&fa(e,a)){return}var v=a.mapDimension(e.dim);var s={};tr(e.getViewLabels(),(function(r){var a=e.scale.getRawOrdinalNumber(r.tickValue);s[a]=1}));return function(r){return!s.hasOwnProperty(a.get(v,r))}}function fa(r,a){var t=r.getExtent();var i=Math.abs(t[1]-t[0])/r.scale.count();isNaN(i)&&(i=0);var n=a.count();var e=Math.max(1,Math.round(n/5));for(var v=0;v<n;v+=e){if(Or.getSymbolSize(a,v)[r.isHorizontal()?1:0]*1.5>i){return false}}return true}function ua(r,a){return isNaN(r)||isNaN(a)}function la(r){var a=r.length/2;for(;a>0;a--){if(!ua(r[a*2-2],r[a*2-1])){break}}return a-1}function ca(r,a){return[r[a*2],r[a*2+1]]}function ha(r,a,t){var i=r.length/2;var n=t==="x"?0:1;var e;var v;var s=0;var o=-1;for(var f=0;f<i;f++){v=r[f*2+n];if(isNaN(v)||isNaN(r[f*2+1-n])){continue}if(f===0){e=v;continue}if(e<=a&&v>=a||e>=a&&v<=a){o=f;break}s=f;e=v}return{range:[s,o],t:(a-e)/(v-e)}}function da(r){if(r.get(["endLabel","show"])){return true}for(var a=0;a<nr.length;a++){if(r.get([nr[a],"endLabel","show"])){return true}}return false}function pa(r,a,t,i){if(f(a,"cartesian2d")){var n=i.getModel("endLabel");var e=n.get("valueAnimation");var v=i.getData();var s={lastFrameIndex:0};var o=da(i)?function(t,i){r._endLabelOnDuring(t,i,v,s,e,n,a)}:null;var c=a.getBaseAxis().isHorizontal();var h=u(a,t,i,(function(){var a=r._endLabel;if(a&&t){if(s.originalX!=null){a.attr({x:s.originalX,y:s.originalY})}}}),o);if(!i.get("clip",true)){var d=h.shape;var p=Math.max(d.width,d.height);if(c){d.y-=p;d.height+=p*2}else{d.x-=p;d.width+=p*2}}if(o){o(1,h)}return h}else{return l(a,t,i)}}function ma(r,a){var t=a.getBaseAxis();var i=t.isHorizontal();var n=t.inverse;var e=i?n?"right":"left":"center";var v=i?"middle":n?"top":"bottom";return{normal:{align:r.get("align")||e,verticalAlign:r.get("verticalAlign")||v}}}var ya=function(r){b(a,r);function a(){return r!==null&&r.apply(this,arguments)||this}a.prototype.init=function(){var r=new z;var a=new _r;this.group.add(a.group);this._symbolDraw=a;this._lineGroup=r};a.prototype.render=function(r,a,t){var i=this;var n=r.coordinateSystem;var e=this.group;var v=r.getData();var s=r.getModel("lineStyle");var o=r.getModel("areaStyle");var f=v.getLayout("points")||[];var u=n.type==="polar";var l=this._coordSys;var c=this._symbolDraw;var h=this._polyline;var d=this._polygon;var p=this._lineGroup;var m=!a.ssr&&r.get("animation");var y=!o.isEmpty();var b=o.get("origin");var w=Yr(n,v,b);var M=y&&na(n,v,w);var g=r.get("showSymbol");var x=r.get("connectNulls");var S=g&&!u&&oa(r,v,n);var k=this._data;k&&k.eachItemGraphicEl((function(r,a){if(r.__temp){e.remove(r);k.setItemGraphicEl(a,null)}}));if(!g){c.remove()}e.add(p);var N=!u?r.get("step"):false;var T;if(n&&n.getArea&&r.get("clip",true)){T=n.getArea();if(T.width!=null){T.x-=.1;T.y-=.1;T.width+=.2;T.height+=.2}else if(T.r0){T.r0-=.5;T.r+=.5}}this._clipShapeForSymbol=T;var D=sa(v,n,t)||v.getVisual("style")[v.getVisual("drawType")];if(!(h&&l.type===n.type&&N===this._step)){g&&c.updateData(v,{isIgnore:S,clipShape:T,disableAnimation:true,getSymbolPoint:function(r){return[f[r*2],f[r*2+1]]}});m&&this._initSymbolLabelAnimation(v,n,T);if(N){f=ea(f,n,N,x);if(M){M=ea(M,n,N,x)}}h=this._newPolyline(f);if(y){d=this._newPolygon(f,M)}else if(d){p.remove(d);d=this._polygon=null}if(!u){this._initOrUpdateEndLabel(r,n,K(D))}p.setClipPath(pa(this,n,true,r))}else{if(y&&!d){d=this._newPolygon(f,M)}else if(d&&!y){p.remove(d);d=this._polygon=null}if(!u){this._initOrUpdateEndLabel(r,n,K(D))}var L=p.getClipPath();if(L){var A=pa(this,n,false,r);I(L,{shape:A.shape},r)}else{p.setClipPath(pa(this,n,true,r))}g&&c.updateData(v,{isIgnore:S,clipShape:T,disableAnimation:true,getSymbolPoint:function(r){return[f[r*2],f[r*2+1]]}});if(!ra(this._stackedOnPoints,M)||!ra(this._points,f)){if(m){this._doUpdateAnimation(v,M,n,t,N,b,x)}else{if(N){f=ea(f,n,N,x);if(M){M=ea(M,n,N,x)}}h.setShape({points:f});d&&d.setShape({points:f,stackedOnPoints:M})}}}var O=r.getModel("emphasis");var z=O.get("focus");var G=O.get("blurScope");var P=O.get("disabled");h.useStyle(V(s.getLineStyle(),{fill:"none",stroke:D,lineJoin:"bevel"}));q(h,r,"lineStyle");if(h.style.lineWidth>0&&r.get(["emphasis","lineStyle","width"])==="bolder"){var F=h.getState("emphasis").style;F.lineWidth=+h.style.lineWidth+1}U(h).seriesIndex=r.seriesIndex;C(h,z,G,P);var _=ia(r.get("smooth"));var j=r.get("smoothMonotone");h.setShape({smooth:_,smoothMonotone:j,connectNulls:x});if(d){var X=v.getCalculationInfo("stackedOnSeries");var Y=0;d.useStyle(V(o.getAreaStyle(),{fill:D,opacity:.7,lineJoin:"bevel",decal:v.getVisual("style").decal}));if(X){Y=ia(X.get("smooth"))}d.setShape({smooth:_,stackedOnSmooth:Y,smoothMonotone:j,connectNulls:x});q(d,r,"areaStyle");U(d).seriesIndex=r.seriesIndex;C(d,z,G,P)}var E=function(r){i._changePolyState(r)};v.eachItemGraphicEl((function(r){r&&(r.onHoverStateChange=E)}));this._polyline.onHoverStateChange=E;this._data=v;this._coordSys=n;this._stackedOnPoints=M;this._points=f;this._step=N;this._valueOrigin=b;if(r.get("triggerLineEvent")){this.packEventData(r,h);d&&this.packEventData(r,d)}};a.prototype.packEventData=function(r,a){U(a).eventData={componentType:"series",componentSubType:"line",componentIndex:r.componentIndex,seriesIndex:r.seriesIndex,seriesName:r.name,seriesType:"line"}};a.prototype.highlight=function(r,a,t,i){var n=r.getData();var e=H(n,i);this._changePolyState("emphasis");if(!(e instanceof Array)&&e!=null&&e>=0){var v=n.getLayout("points");var s=n.getItemGraphicEl(e);if(!s){var o=v[e*2];var f=v[e*2+1];if(isNaN(o)||isNaN(f)){return}if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(o,f)){return}var u=r.get("zlevel")||0;var l=r.get("z")||0;s=new Or(n,e);s.x=o;s.y=f;s.setZ(u,l);var c=s.getSymbolPath().getTextContent();if(c){c.zlevel=u;c.z=l;c.z2=this._polyline.z2+1}s.__temp=true;n.setItemGraphicEl(e,s);s.stopSymbolAnimation(true);this.group.add(s)}s.highlight()}else{W.prototype.highlight.call(this,r,a,t,i)}};a.prototype.downplay=function(r,a,t,i){var n=r.getData();var e=H(n,i);this._changePolyState("normal");if(e!=null&&e>=0){var v=n.getItemGraphicEl(e);if(v){if(v.__temp){n.setItemGraphicEl(e,null);this.group.remove(v)}else{v.downplay()}}}else{W.prototype.downplay.call(this,r,a,t,i)}};a.prototype._changePolyState=function(r){var a=this._polygon;B(this._polyline,r);a&&B(a,r)};a.prototype._newPolyline=function(r){var a=this._polyline;if(a){this._lineGroup.remove(a)}a=new Br({shape:{points:r},segmentIgnoreThreshold:2,z2:10});this._lineGroup.add(a);this._polyline=a;return a};a.prototype._newPolygon=function(r,a){var t=this._polygon;if(t){this._lineGroup.remove(t)}t=new $r({shape:{points:r,stackedOnPoints:a},segmentIgnoreThreshold:2});this._lineGroup.add(t);this._polygon=t;return t};a.prototype._initSymbolLabelAnimation=function(r,a,t){var i;var n;var e=a.getBaseAxis();var v=e.inverse;if(a.type==="cartesian2d"){i=e.isHorizontal();n=false}else if(a.type==="polar"){i=e.dim==="angle";n=true}var s=r.hostModel;var o=s.get("animationDuration");if(Q(o)){o=o(null)}var f=s.get("animationDelay")||0;var u=Q(f)?f(null):f;r.eachItemGraphicEl((function(r,e){var s=r;if(s){var l=[r.x,r.y];var c=void 0;var h=void 0;var d=void 0;if(t){if(n){var p=t;var m=a.pointToCoord(l);if(i){c=p.startAngle;h=p.endAngle;d=-m[1]/180*Math.PI}else{c=p.r0;h=p.r;d=m[0]}}else{var y=t;if(i){c=y.x;h=y.x+y.width;d=r.x}else{c=y.y+y.height;h=y.y;d=r.y}}}var b=h===c?0:(d-c)/(h-c);if(v){b=1-b}var w=Q(f)?f(e):o*b+u;var M=s.getSymbolPath();var g=M.getTextContent();s.attr({scaleX:0,scaleY:0});s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:true,delay:w});if(g){g.animateFrom({style:{opacity:0}},{duration:300,delay:w})}M.disableLabelAnimation=true}}))};a.prototype._initOrUpdateEndLabel=function(r,a,t){var i=r.getModel("endLabel");if(da(r)){var n=r.getData();var e=this._polyline;var s=n.getLayout("points");if(!s){e.removeTextContent();this._endLabel=null;return}var f=this._endLabel;if(!f){f=this._endLabel=new $({z2:200});f.ignoreClip=true;e.setTextContent(this._endLabel);e.disableLabelAnimation=true}var u=la(s);if(u>=0){L(e,k(r,"endLabel"),{inheritColor:t,labelFetcher:r,labelDataIndex:u,defaultText:function(r,a,t){return t!=null?o(n,t):v(n,r)},enableTextSetter:true},ma(i,a));e.textConfig.position=null}}else if(this._endLabel){this._polyline.removeTextContent();this._endLabel=null}};a.prototype._endLabelOnDuring=function(r,a,t,i,n,e,v){var s=this._endLabel;var o=this._polyline;if(s){if(r<1&&i.originalX==null){i.originalX=s.x;i.originalY=s.y}var f=t.getLayout("points");var u=t.hostModel;var l=u.get("connectNulls");var c=e.get("precision");var h=e.get("distance")||0;var d=v.getBaseAxis();var p=d.isHorizontal();var m=d.inverse;var y=a.shape;var b=m?p?y.x:y.y+y.height:p?y.x+y.width:y.y;var w=(p?h:0)*(m?-1:1);var M=(p?0:-h)*(m?-1:1);var g=p?"x":"y";var x=ha(f,b,g);var S=x.range;var I=S[1]-S[0];var k=void 0;if(I>=1){if(I>1&&!l){var N=ca(f,S[0]);s.attr({x:N[0]+w,y:N[1]+M});n&&(k=u.getRawValue(S[0]))}else{var N=o.getPointOn(b,g);N&&s.attr({x:N[0]+w,y:N[1]+M});var T=u.getRawValue(S[0]);var D=u.getRawValue(S[1]);n&&(k=rr(t,c,T,D,x.t))}i.lastFrameIndex=S[0]}else{var L=r===1||i.lastFrameIndex>0?S[0]:0;var N=ca(f,L);n&&(k=u.getRawValue(L));s.attr({x:N[0]+w,y:N[1]+M})}if(n){var C=ar(s);if(typeof C.setLabelText==="function"){C.setLabelText(k)}}}};a.prototype._doUpdateAnimation=function(r,a,t,i,n,e,v){var s=this._polyline;var o=this._polygon;var f=r.hostModel;var u=Jr(this._data,r,this._stackedOnPoints,a,this._coordSys,t,this._valueOrigin);var l=u.current;var c=u.stackedOnCurrent;var h=u.next;var d=u.stackedOnNext;if(n){l=ea(u.current,t,n,v);c=ea(u.stackedOnCurrent,t,n,v);h=ea(u.next,t,n,v);d=ea(u.stackedOnNext,t,n,v)}if(ta(l,h)>3e3||o&&ta(c,d)>3e3){s.stopAnimation();s.setShape({points:h});if(o){o.stopAnimation();o.setShape({points:h,stackedOnPoints:d})}return}s.shape.__points=u.current;s.shape.points=l;var p={shape:{points:h}};if(u.current!==l){p.shape.__points=u.next}s.stopAnimation();x(s,p,f);if(o){o.setShape({points:l,stackedOnPoints:c});o.stopAnimation();x(o,{shape:{stackedOnPoints:d}},f);if(s.shape.points!==o.shape.points){o.shape.points=s.shape.points}}var m=[];var y=u.status;for(var b=0;b<y.length;b++){var w=y[b].cmd;if(w==="="){var M=r.getItemGraphicEl(y[b].idx1);if(M){m.push({el:M,ptIdx:b})}}}if(s.animators&&s.animators.length){s.animators[0].during((function(){o&&o.dirtyShape();var r=s.shape.__points;for(var a=0;a<m.length;a++){var t=m[a].el;var i=m[a].ptIdx*2;t.x=r[i];t.y=r[i+1];t.markRedraw()}}))}};a.prototype.remove=function(r){var a=this.group;var t=this._data;this._lineGroup.removeAll();this._symbolDraw.remove(true);t&&t.eachItemGraphicEl((function(r,i){if(r.__temp){a.remove(r);t.setItemGraphicEl(i,null)}}));this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null};a.type="line";return a}(W);const ba=ya;function wa(r,a){return{seriesType:r,plan:vr(),reset:function(r){var t=r.getData();var i=r.coordinateSystem;var n=r.pipelineContext;var e=a||n.large;if(!i){return}var v=_(i.dimensions,(function(r){return t.mapDimension(r)})).slice(0,2);var s=v.length;var o=t.getCalculationInfo("stackResultDimension");if(j(t,v[0])){v[0]=o}if(j(t,v[1])){v[1]=o}var f=t.getStore();var u=t.getDimensionIndex(v[0]);var l=t.getDimensionIndex(v[1]);return s&&{progress:function(r,a){var t=r.end-r.start;var n=e&&Y(t*s);var v=[];var o=[];for(var c=r.start,h=0;c<r.end;c++){var d=void 0;if(s===1){var p=f.get(u,c);d=i.dataToPoint(p,null,o)}else{v[0]=f.get(u,c);v[1]=f.get(l,c);d=i.dataToPoint(v,null,o)}if(e){n[h++]=d[0];n[h++]=d[1]}else{a.setItemLayout(c,d.slice())}}e&&a.setLayout("points",n)}}}}}function Ma(r){r.registerChartView(ba);r.registerSeriesModel(Xr);r.registerLayout(wa("line",true));r.registerVisual({seriesType:"line",reset:function(r){var a=r.getData();var t=r.getModel("lineStyle").getLineStyle();if(t&&!t.stroke){t.stroke=a.getVisual("style").fill}a.setVisual("legendLineStyle",t)}});r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,c("line"))}var ga=Z.CMD;function xa(r,a){return Math.abs(r-a)<1e-5}function Sa(r){var a=r.data;var t=r.len();var i=[];var n;var e=0;var v=0;var s=0;var o=0;function f(r,a){if(n&&n.length>2){i.push(n)}n=[r,a]}function u(r,a,t,i){if(!(xa(r,t)&&xa(a,i))){n.push(r,a,t,i,t,i)}}function l(r,a,t,i,e,v){var s=Math.abs(a-r);var o=Math.tan(s/4)*4/3;var f=a<r?-1:1;var u=Math.cos(r);var l=Math.sin(r);var c=Math.cos(a);var h=Math.sin(a);var d=u*e+t;var p=l*v+i;var m=c*e+t;var y=h*v+i;var b=e*o*f;var w=v*o*f;n.push(d-b*l,p+w*u,m+b*h,y-w*c,m,y)}var c;var h;var d;var p;for(var m=0;m<t;){var y=a[m++];var b=m===1;if(b){e=a[m];v=a[m+1];s=e;o=v;if(y===ga.L||y===ga.C||y===ga.Q){n=[s,o]}}switch(y){case ga.M:e=s=a[m++];v=o=a[m++];f(s,o);break;case ga.L:c=a[m++];h=a[m++];u(e,v,c,h);e=c;v=h;break;case ga.C:n.push(a[m++],a[m++],a[m++],a[m++],e=a[m++],v=a[m++]);break;case ga.Q:c=a[m++];h=a[m++];d=a[m++];p=a[m++];n.push(e+2/3*(c-e),v+2/3*(h-v),d+2/3*(c-d),p+2/3*(h-p),d,p);e=d;v=p;break;case ga.A:var w=a[m++];var M=a[m++];var g=a[m++];var x=a[m++];var S=a[m++];var I=a[m++]+S;m+=1;var k=!a[m++];c=Math.cos(S)*g+w;h=Math.sin(S)*x+M;if(b){s=c;o=h;f(s,o)}else{u(e,v,c,h)}e=Math.cos(I)*g+w;v=Math.sin(I)*x+M;var N=(k?-1:1)*Math.PI/2;for(var T=S;k?T>I:T<I;T+=N){var D=k?Math.max(T+N,I):Math.min(T+N,I);l(T,D,w,M,g,x)}break;case ga.R:s=e=a[m++];o=v=a[m++];c=s+a[m++];h=o+a[m++];f(c,o);u(c,o,c,h);u(c,h,s,h);u(s,h,s,o);u(s,o,c,o);break;case ga.Z:n&&u(e,v,s,o);e=s;v=o;break}}if(n&&n.length>2){i.push(n)}return i}function Ia(r,a,t,i,n,e,v,s,o,f){if(xa(r,t)&&xa(a,i)&&xa(n,v)&&xa(e,s)){o.push(v,s);return}var u=2/f;var l=u*u;var c=v-r;var h=s-a;var d=Math.sqrt(c*c+h*h);c/=d;h/=d;var p=t-r;var m=i-a;var y=n-v;var b=e-s;var w=p*p+m*m;var M=y*y+b*b;if(w<l&&M<l){o.push(v,s);return}var g=c*p+h*m;var x=-c*y-h*b;var S=w-g*g;var I=M-x*x;if(S<l&&g>=0&&I<l&&x>=0){o.push(v,s);return}var k=[];var N=[];sr(r,t,n,v,.5,k);sr(a,i,e,s,.5,N);Ia(k[0],N[0],k[1],N[1],k[2],N[2],k[3],N[3],o,f);Ia(k[4],N[4],k[5],N[5],k[6],N[6],k[7],N[7],o,f)}function ka(r,a){var t=Sa(r);var i=[];a=a||1;for(var n=0;n<t.length;n++){var e=t[n];var v=[];var s=e[0];var o=e[1];v.push(s,o);for(var f=2;f<e.length;){var u=e[f++];var l=e[f++];var c=e[f++];var h=e[f++];var d=e[f++];var p=e[f++];Ia(s,o,u,l,c,h,d,p,v,a);s=d;o=p}i.push(v)}return i}function Na(r,a,t){var i=r[a];var n=r[1-a];var e=Math.abs(i/n);var v=Math.ceil(Math.sqrt(e*t));var s=Math.floor(t/v);if(s===0){s=1;v=t}var o=[];for(var f=0;f<v;f++){o.push(s)}var u=v*s;var l=t-u;if(l>0){for(var f=0;f<l;f++){o[f%v]+=1}}return o}function Ta(r,a,t){var i=r.r0;var n=r.r;var e=r.startAngle;var v=r.endAngle;var s=Math.abs(v-e);var o=s*n;var f=n-i;var u=o>Math.abs(f);var l=Na([o,f],u?0:1,a);var c=(u?s:f)/l.length;for(var h=0;h<l.length;h++){var d=(u?f:s)/l[h];for(var p=0;p<l[h];p++){var m={};if(u){m.startAngle=e+c*h;m.endAngle=e+c*(h+1);m.r0=i+d*p;m.r=i+d*(p+1)}else{m.startAngle=e+d*p;m.endAngle=e+d*(p+1);m.r0=i+c*h;m.r=i+c*(h+1)}m.clockwise=r.clockwise;m.cx=r.cx;m.cy=r.cy;t.push(m)}}}function Da(r,a,t){var i=r.width;var n=r.height;var e=i>n;var v=Na([i,n],e?0:1,a);var s=e?"width":"height";var o=e?"height":"width";var f=e?"x":"y";var u=e?"y":"x";var l=r[s]/v.length;for(var c=0;c<v.length;c++){var h=r[o]/v[c];for(var d=0;d<v[c];d++){var p={};p[f]=c*l;p[u]=d*h;p[s]=l;p[o]=h;p.x+=r.x;p.y+=r.y;t.push(p)}}}function La(r,a,t,i){return r*i-t*a}function Ca(r,a,t,i,n,e,v,s){var o=t-r;var f=i-a;var u=v-n;var l=s-e;var c=La(u,l,o,f);if(Math.abs(c)<1e-6){return null}var h=r-n;var d=a-e;var p=La(h,d,u,l)/c;if(p<0||p>1){return null}return new ur(p*o+r,p*f+a)}function Ua(r,a,t){var i=new ur;ur.sub(i,t,a);i.normalize();var n=new ur;ur.sub(n,r,a);var e=n.dot(i);return e}function Aa(r,a){var t=r[r.length-1];if(t&&t[0]===a[0]&&t[1]===a[1]){return}r.push(a)}function Oa(r,a,t){var i=r.length;var n=[];for(var e=0;e<i;e++){var v=r[e];var s=r[(e+1)%i];var o=Ca(v[0],v[1],s[0],s[1],a.x,a.y,t.x,t.y);if(o){n.push({projPt:Ua(o,a,t),pt:o,idx:e})}}if(n.length<2){return[{points:r},{points:r}]}n.sort((function(r,a){return r.projPt-a.projPt}));var f=n[0];var u=n[n.length-1];if(u.idx<f.idx){var l=f;f=u;u=l}var c=[f.pt.x,f.pt.y];var h=[u.pt.x,u.pt.y];var d=[c];var p=[h];for(var e=f.idx+1;e<=u.idx;e++){Aa(d,r[e].slice())}Aa(d,h);Aa(d,c);for(var e=u.idx+1;e<=f.idx+i;e++){Aa(p,r[e%i].slice())}Aa(p,c);Aa(p,h);return[{points:d},{points:p}]}function za(r){var a=r.points;var t=[];var i=[];or(a,t,i);var n=new fr(t[0],t[1],i[0]-t[0],i[1]-t[1]);var e=n.width;var v=n.height;var s=n.x;var o=n.y;var f=new ur;var u=new ur;if(e>v){f.x=u.x=s+e/2;f.y=o;u.y=o+v}else{f.y=u.y=o+v/2;f.x=s;u.x=s+e}return Oa(a,f,u)}function Ga(r,a,t,i){if(t===1){i.push(a)}else{var n=Math.floor(t/2);var e=r(a);Ga(r,e[0],n,i);Ga(r,e[1],t-n,i)}return i}function Pa(r,a){var t=[];for(var i=0;i<a;i++){t.push(lr(r))}return t}function Fa(r,a){a.setStyle(r.style);a.z=r.z;a.z2=r.z2;a.zlevel=r.zlevel}function _a(r){var a=[];for(var t=0;t<r.length;){a.push([r[t++],r[t++]])}return a}function ja(r,a){var t=[];var i=r.shape;var n;switch(r.type){case"rect":Da(i,a,t);n=dr;break;case"sector":Ta(i,a,t);n=hr;break;case"circle":Ta({r0:0,r:i.r,startAngle:0,endAngle:Math.PI*2,cx:i.cx,cy:i.cy},a,t);n=hr;break;default:var e=r.getComputedTransform();var v=e?Math.sqrt(Math.max(e[0]*e[0]+e[1]*e[1],e[2]*e[2]+e[3]*e[3])):1;var s=_(ka(r.getUpdatedPathProxy(),v),(function(r){return _a(r)}));var o=s.length;if(o===0){Ga(za,{points:s[0]},a,t)}else if(o===a){for(var f=0;f<o;f++){t.push({points:s[f]})}}else{var u=0;var l=_(s,(function(r){var a=[];var t=[];or(r,a,t);var i=(t[1]-a[1])*(t[0]-a[0]);u+=i;return{poly:r,area:i}}));l.sort((function(r,a){return a.area-r.area}));var c=a;for(var f=0;f<o;f++){var h=l[f];if(c<=0){break}var d=f===o-1?c:Math.ceil(h.area/u*a);if(d<0){continue}Ga(za,{points:h.poly},d,t);c-=d}}n=cr;break}if(!n){return Pa(r,a)}var p=[];for(var f=0;f<t.length;f++){var m=new n;m.setShape(t[f]);Fa(r,m);p.push(m)}return p}function Xa(r,a){var t=r.length;var i=a.length;if(t===i){return[r,a]}var n=[];var e=[];var v=t<i?r:a;var s=Math.min(t,i);var o=Math.abs(i-t)/6;var f=(s-2)/6;var u=Math.ceil(o/f)+1;var l=[v[0],v[1]];var c=o;for(var h=2;h<s;){var d=v[h-2];var p=v[h-1];var m=v[h++];var y=v[h++];var b=v[h++];var w=v[h++];var M=v[h++];var g=v[h++];if(c<=0){l.push(m,y,b,w,M,g);continue}var x=Math.min(c,u-1)+1;for(var S=1;S<=x;S++){var I=S/x;sr(d,m,b,M,I,n);sr(p,y,w,g,I,e);d=n[3];p=e[3];l.push(n[1],e[1],n[2],e[2],d,p);m=n[5];y=e[5];b=n[6];w=e[6]}c-=x-1}return v===r?[l,a]:[r,l]}function Ya(r,a){var t=r.length;var i=r[t-2];var n=r[t-1];var e=[];for(var v=0;v<a.length;){e[v++]=i;e[v++]=n}return e}function Ea(r,a){var t;var i;var n;var e=[];var v=[];for(var s=0;s<Math.max(r.length,a.length);s++){var o=r[s];var f=a[s];var u=void 0;var l=void 0;if(!o){u=Ya(i||f,f);l=f}else if(!f){l=Ya(n||o,o);u=o}else{t=Xa(o,f),u=t[0],l=t[1];i=u;n=l}e.push(u);v.push(l)}return[e,v]}function Ra(r){var a=0;var t=0;var i=0;var n=r.length;for(var e=0,v=n-2;e<n;v=e,e+=2){var s=r[v];var o=r[v+1];var f=r[e];var u=r[e+1];var l=s*u-f*o;a+=l;t+=(s+f)*l;i+=(o+u)*l}if(a===0){return[r[0]||0,r[1]||0]}return[t/a/3,i/a/3,a]}function Za(r,a,t,i){var n=(r.length-2)/6;var e=Infinity;var v=0;var s=r.length;var o=s-2;for(var f=0;f<n;f++){var u=f*6;var l=0;for(var c=0;c<s;c+=2){var h=c===0?u:(u+c-2)%o+2;var d=r[h]-t[0];var p=r[h+1]-t[1];var m=a[c]-i[0];var y=a[c+1]-i[1];var b=m-d;var w=y-p;l+=b*b+w*w}if(l<e){e=l;v=f}}return v}function Ja(r){var a=[];var t=r.length;for(var i=0;i<t;i+=2){a[i]=r[t-i-2];a[i+1]=r[t-i-1]}return a}function Ka(r,a,t,i){var n=[];var e;for(var v=0;v<r.length;v++){var s=r[v];var o=a[v];var f=Ra(s);var u=Ra(o);if(e==null){e=f[2]<0!==u[2]<0}var l=[];var c=[];var h=0;var d=Infinity;var p=[];var m=s.length;if(e){s=Ja(s)}var y=Za(s,o,f,u)*6;var b=m-2;for(var w=0;w<b;w+=2){var M=(y+w)%b+2;l[w+2]=s[M]-f[0];l[w+3]=s[M+1]-f[1]}l[0]=s[y]-f[0];l[1]=s[y+1]-f[1];if(t>0){var g=i/t;for(var x=-i/2;x<=i/2;x+=g){var S=Math.sin(x);var I=Math.cos(x);var k=0;for(var w=0;w<s.length;w+=2){var N=l[w];var T=l[w+1];var D=o[w]-u[0];var L=o[w+1]-u[1];var C=D*I-L*S;var U=D*S+L*I;p[w]=C;p[w+1]=U;var A=C-N;var O=U-T;k+=A*A+O*O}if(k<d){d=k;h=x;for(var z=0;z<p.length;z++){c[z]=p[z]}}}}else{for(var G=0;G<m;G+=2){c[G]=o[G]-u[0];c[G+1]=o[G+1]-u[1]}}n.push({from:l,to:c,fromCp:f,toCp:u,rotation:-h})}return n}function Va(r){return r.__isCombineMorphing}var qa="__mOriginal_";function Ha(r,a,t){var i=qa+a;var n=r[i]||r[a];if(!r[i]){r[i]=r[a]}var e=t.replace;var v=t.after;var s=t.before;r[a]=function(){var r=arguments;var a;s&&s.apply(this,r);if(e){a=e.apply(this,r)}else{a=n.apply(this,r)}v&&v.apply(this,r);return a}}function Wa(r,a){var t=qa+a;if(r[t]){r[a]=r[t];r[t]=null}}function Ba(r,a){for(var t=0;t<r.length;t++){var i=r[t];for(var n=0;n<i.length;){var e=i[n];var v=i[n+1];i[n++]=a[0]*e+a[2]*v+a[4];i[n++]=a[1]*e+a[3]*v+a[5]}}}function Qa(r,a){var t=r.getUpdatedPathProxy();var i=a.getUpdatedPathProxy();var n=Ea(Sa(t),Sa(i)),e=n[0],v=n[1];var s=r.getComputedTransform();var o=a.getComputedTransform();function f(){this.transform=null}s&&Ba(e,s);o&&Ba(v,o);Ha(a,"updateTransform",{replace:f});a.transform=null;var u=Ka(e,v,10,Math.PI);var l=[];Ha(a,"buildPath",{replace:function(r){var t=a.__morphT;var i=1-t;var n=[];for(var e=0;e<u.length;e++){var v=u[e];var s=v.from;var o=v.to;var f=v.rotation*t;var c=v.fromCp;var h=v.toCp;var d=Math.sin(f);var p=Math.cos(f);mr(n,c,h,t);for(var m=0;m<s.length;m+=2){var y=s[m];var b=s[m+1];var w=o[m];var M=o[m+1];var g=y*i+w*t;var x=b*i+M*t;l[m]=g*p-x*d+n[0];l[m+1]=g*d+x*p+n[1]}var S=l[0];var I=l[1];r.moveTo(S,I);for(var m=2;m<s.length;){var w=l[m++];var M=l[m++];var k=l[m++];var N=l[m++];var T=l[m++];var D=l[m++];if(S===w&&I===M&&k===T&&N===D){r.lineTo(T,D)}else{r.bezierCurveTo(w,M,k,N,T,D)}S=T;I=D}}}})}function $a(r,a,t){if(!r||!a){return a}var i=t.done;var n=t.during;Qa(r,a);a.__morphT=0;function e(){Wa(a,"buildPath");Wa(a,"updateTransform");a.__morphT=-1;a.createPathProxy();a.dirtyShape()}a.animateTo({__morphT:1},V({during:function(r){a.dirtyShape();n&&n(r)},done:function(){e();i&&i()}},t));return a}function rt(r,a,t,i,n,e){var v=16;r=n===t?0:Math.round(32767*(r-t)/(n-t));a=e===i?0:Math.round(32767*(a-i)/(e-i));var s=0;var o;for(var f=(1<<v)/2;f>0;f/=2){var u=0;var l=0;if((r&f)>0){u=1}if((a&f)>0){l=1}s+=f*f*(3*u^l);if(l===0){if(u===1){r=f-1-r;a=f-1-a}o=r;r=a;a=o}}return s}function at(r){var a=Infinity;var t=Infinity;var i=-Infinity;var n=-Infinity;var e=_(r,(function(r){var e=r.getBoundingRect();var v=r.getComputedTransform();var s=e.x+e.width/2+(v?v[4]:0);var o=e.y+e.height/2+(v?v[5]:0);a=Math.min(s,a);t=Math.min(o,t);i=Math.max(s,i);n=Math.max(o,n);return[s,o]}));var v=_(e,(function(e,v){return{cp:e,z:rt(e[0],e[1],a,t,i,n),path:r[v]}}));return v.sort((function(r,a){return r.z-a.z})).map((function(r){return r.path}))}function tt(r){return ja(r.path,r.count)}function it(){return{fromIndividuals:[],toIndividuals:[],count:0}}function nt(r,a,t){var i=[];function n(r){for(var a=0;a<r.length;a++){var t=r[a];if(Va(t)){n(t.childrenRef())}else if(t instanceof R){i.push(t)}}}n(r);var e=i.length;if(!e){return it()}var v=t.dividePath||tt;var s=v({path:a,count:e});if(s.length!==e){console.error("Invalid morphing: unmatched splitted path");return it()}i=at(i);s=at(s);var o=t.done;var f=t.during;var u=t.individualDelay;var l=new pr;for(var c=0;c<e;c++){var h=i[c];var d=s[c];d.parent=a;d.copyTransform(l);if(!u){Qa(h,d)}}a.__isCombineMorphing=true;a.childrenRef=function(){return s};function p(r){for(var a=0;a<s.length;a++){s[a].addSelfToZr(r)}}Ha(a,"addSelfToZr",{after:function(r){p(r)}});Ha(a,"removeSelfFromZr",{after:function(r){for(var a=0;a<s.length;a++){s[a].removeSelfFromZr(r)}}});function m(){a.__isCombineMorphing=false;a.__morphT=-1;a.childrenRef=null;Wa(a,"addSelfToZr");Wa(a,"removeSelfFromZr")}var y=s.length;if(u){var b=y;var w=function(){b--;if(b===0){m();o&&o()}};for(var c=0;c<y;c++){var M=u?V({delay:(t.delay||0)+u(c,y,i[c],s[c]),done:w},t):t;$a(i[c],s[c],M)}}else{a.__morphT=0;a.animateTo({__morphT:1},V({during:function(r){for(var t=0;t<y;t++){var i=s[t];i.__morphT=a.__morphT;i.dirtyShape()}f&&f(r)},done:function(){m();for(var a=0;a<r.length;a++){Wa(r[a],"updateTransform")}o&&o()}},t))}if(a.__zr){p(a.__zr)}return{fromIndividuals:i,toIndividuals:s,count:y}}function et(r,a,t){var i=a.length;var n=[];var e=t.dividePath||tt;function v(r){for(var a=0;a<r.length;a++){var t=r[a];if(Va(t)){v(t.childrenRef())}else if(t instanceof R){n.push(t)}}}if(Va(r)){v(r.childrenRef());var s=n.length;if(s<i){var o=0;for(var f=s;f<i;f++){n.push(lr(n[o++%s]))}}n.length=i}else{n=e({path:r,count:i});var u=r.getComputedTransform();for(var f=0;f<n.length;f++){n[f].setLocalTransform(u)}if(n.length!==i){console.error("Invalid morphing: unmatched splitted path");return it()}}n=at(n);a=at(a);var l=t.individualDelay;for(var f=0;f<i;f++){var c=l?V({delay:(t.delay||0)+l(f,i,n[f],a[f])},t):t;$a(n[f],a[f],c)}return{fromIndividuals:n,toIndividuals:a,count:a.length}}function vt(r){return br(r[0])}function st(r,a){var t=[];var i=r.length;for(var n=0;n<i;n++){t.push({one:r[n],many:[]})}for(var n=0;n<a.length;n++){var e=a[n].length;var v=void 0;for(v=0;v<e;v++){t[v%i].many.push(a[n][v])}}var s=0;for(var n=i-1;n>=0;n--){if(!t[n].many.length){var o=t[s].many;if(o.length<=1){if(s){s=0}else{return t}}var e=o.length;var f=Math.ceil(e/2);t[n].many=o.slice(f,e);t[s].many=o.slice(0,f);s++}}return t}var ot={clone:function(r){var a=[];var t=1-Math.pow(1-r.path.style.opacity,1/r.count);for(var i=0;i<r.count;i++){var n=lr(r.path);n.setStyle("opacity",t);a.push(n)}return a},split:null};function ft(r,a,t,i,n,e){if(!r.length||!a.length){return}var v=yr("update",i,n);if(!(v&&v.duration>0)){return}var s=i.getModel("universalTransition").get("delay");var o=Object.assign({setToFinal:true},v);var f;var u;if(vt(r)){f=r;u=a}if(vt(a)){f=a;u=r}function l(r,a,i,n,v){var f=r.many;var u=r.one;if(f.length===1&&!v){var c=a?f[0]:u;var h=a?u:f[0];if(Va(c)){l({many:[c],one:h},true,i,n,true)}else{var d=s?V({delay:s(i,n)},o):o;$a(c,h,d);e(c,h,c,h,d)}}else{var p=V({dividePath:ot[t],individualDelay:s&&function(r,a,t,e){return s(r+i,n)}},o);var m=a?nt(f,u,p):et(u,f,p),y=m.fromIndividuals,b=m.toIndividuals;var w=y.length;for(var M=0;M<w;M++){var d=s?V({delay:s(M,w)},o):o;e(y[M],b[M],a?f[M]:r.one,a?r.one:f[M],d)}}}var c=f?f===r:r.length>a.length;var h=f?st(u,f):st(c?a:r,[c?r:a]);var d=0;for(var p=0;p<h.length;p++){d+=h[p].many.length}var m=0;for(var p=0;p<h.length;p++){l(h[p],c,m,d);m+=h[p].many.length}}function ut(r){if(!r){return[]}if(br(r)){var a=[];for(var t=0;t<r.length;t++){a.push(ut(r[t]))}return a}var i=[];r.traverse((function(r){if(r instanceof R&&!r.disableMorphing&&!r.invisible&&!r.ignore){i.push(r)}}));return i}var lt=1e4;var ct=0;var ht=1;var dt=2;var pt=gr();function mt(r,a){var t=r.dimensions;for(var i=0;i<t.length;i++){var n=r.getDimensionInfo(t[i]);if(n&&n.otherDims[a]===0){return t[i]}}}function yt(r,a,t){var i=r.getDimensionInfo(t);var n=i&&i.ordinalMeta;if(i){var e=r.get(i.name,a);if(n){return n.categories[e]||e+""}return e+""}}function bt(r,a,t,i){var n=i?"itemChildGroupId":"itemGroupId";var e=mt(r,n);if(e){var v=yt(r,a,e);return v}var s=r.getRawDataItem(a);var o=i?"childGroupId":"groupId";if(s&&s[o]){return s[o]+""}if(i){return}return t||r.getId(a)}function wt(r){var a=[];tr(r,(function(r){var t=r.data;var i=r.dataGroupId;if(t.count()>lt){return}var n=t.getIndices();for(var e=0;e<n.length;e++){a.push({data:t,groupId:bt(t,e,i,false),childGroupId:bt(t,e,i,true),divide:r.divide,dataIndex:e})}}));return a}function Mt(r,a,t){r.traverse((function(r){if(r instanceof R){I(r,{style:{opacity:0}},a,{dataIndex:t,isFrom:true})}}))}function gt(r){if(r.parent){var a=r.getComputedTransform();r.setLocalTransform(a);r.parent.remove(r)}}function xt(r){r.stopAnimation();if(r.isGroup){r.traverse((function(r){r.stopAnimation()}))}}function St(r,a,t){var i=yr("update",t,a);i&&r.traverse((function(r){if(r instanceof kr){var a=Nr(r);if(a){r.animateFrom({style:a},i)}}}))}function It(r,a){var t=r.length;if(t!==a.length){return false}for(var i=0;i<t;i++){var n=r[i];var e=a[i];if(n.data.getId(n.dataIndex)!==e.data.getId(e.dataIndex)){return false}}return true}function kt(r,a,t){var i=wt(r);var n=wt(a);function e(r,a,t,i,n){if(t||r){a.animateFrom({style:t&&t!==r?D(D({},t.style),r.style):r.style},n)}}var v=false;var s=ct;var o=xr();var f=xr();i.forEach((function(r){r.groupId&&o.set(r.groupId,true);r.childGroupId&&f.set(r.childGroupId,true)}));for(var u=0;u<n.length;u++){var l=n[u].groupId;if(f.get(l)){s=ht;break}var c=n[u].childGroupId;if(c&&o.get(c)){s=dt;break}}function h(r,a){return function(t){var i=t.data;var n=t.dataIndex;if(a){return i.getId(n)}if(r){return s===ht?t.childGroupId:t.groupId}else{return s===dt?t.childGroupId:t.groupId}}}var d=It(i,n);var p={};if(!d){for(var u=0;u<n.length;u++){var m=n[u];var y=m.data.getItemGraphicEl(m.dataIndex);if(y){p[y.id]=true}}}function b(r,a){var t=i[a];var s=n[r];var o=s.data.hostModel;var f=t.data.getItemGraphicEl(t.dataIndex);var u=s.data.getItemGraphicEl(s.dataIndex);if(f===u){u&&St(u,s.dataIndex,o);return}if(f&&p[f.id]){return}if(u){xt(u);if(f){xt(f);gt(f);v=true;ft(ut(f),ut(u),s.divide,o,r,e)}else{Mt(u,o,r)}}}new Sr(i,n,h(true,d),h(false,d),null,"multiple").update(b).updateManyToOne((function(r,a){var t=n[r];var s=t.data;var o=s.hostModel;var f=s.getItemGraphicEl(t.dataIndex);var u=Ir(_(a,(function(r){return i[r].data.getItemGraphicEl(i[r].dataIndex)})),(function(r){return r&&r!==f&&!p[r.id]}));if(f){xt(f);if(u.length){tr(u,(function(r){xt(r);gt(r)}));v=true;ft(ut(u),ut(f),t.divide,o,r,e)}else{Mt(f,o,t.dataIndex)}}})).updateOneToMany((function(r,a){var t=i[a];var s=t.data.getItemGraphicEl(t.dataIndex);if(s&&p[s.id]){return}var o=Ir(_(r,(function(r){return n[r].data.getItemGraphicEl(n[r].dataIndex)})),(function(r){return r&&r!==s}));var f=n[r[0]].data.hostModel;if(o.length){tr(o,(function(r){return xt(r)}));if(s){xt(s);gt(s);v=true;ft(ut(s),ut(o),t.divide,f,r[0],e)}else{tr(o,(function(a){return Mt(a,f,r[0])}))}}})).updateManyToMany((function(r,a){new Sr(a,r,(function(r){return i[r].data.getId(i[r].dataIndex)}),(function(r){return n[r].data.getId(n[r].dataIndex)})).update((function(t,i){b(r[t],a[i])})).execute()})).execute();if(v){tr(a,(function(r){var a=r.data;var i=a.hostModel;var n=i&&t.getViewOfSeriesModel(i);var e=yr("update",i,0);if(n&&i.isAnimationEnabled()&&e&&e.duration>0){n.group.traverse((function(r){if(r instanceof R&&!r.animators.length){r.animateFrom({style:{opacity:0}},e)}}))}}))}}function Nt(r){var a=r.getModel("universalTransition").get("seriesKey");if(!a){return r.id}return a}function Tt(r){if(br(r)){return r.sort().join(",")}return r}function Dt(r){if(r.hostModel){return r.hostModel.getModel("universalTransition").get("divideShape")}}function Lt(r,a){var t=xr();var i=xr();var n=xr();tr(r.oldSeries,(function(a,t){var e=r.oldDataGroupIds[t];var v=r.oldData[t];var s=Nt(a);var o=Tt(s);i.set(o,{dataGroupId:e,data:v});if(br(s)){tr(s,(function(r){n.set(r,{key:o,dataGroupId:e,data:v})}))}}));tr(a.updatedSeries,(function(r){if(r.isUniversalTransitionEnabled()&&r.isAnimationEnabled()){var a=r.get("dataGroupId");var e=r.getData();var v=Nt(r);var s=Tt(v);var o=i.get(s);if(o){t.set(s,{oldSeries:[{dataGroupId:o.dataGroupId,divide:Dt(o.data),data:o.data}],newSeries:[{dataGroupId:a,divide:Dt(e),data:e}]})}else{if(br(v)){var f=[];tr(v,(function(r){var a=i.get(r);if(a.data){f.push({dataGroupId:a.dataGroupId,divide:Dt(a.data),data:a.data})}}));if(f.length){t.set(s,{oldSeries:f,newSeries:[{dataGroupId:a,data:e,divide:Dt(e)}]})}}else{var u=n.get(v);if(u){var l=t.get(u.key);if(!l){l={oldSeries:[{dataGroupId:u.dataGroupId,data:u.data,divide:Dt(u.data)}],newSeries:[]};t.set(u.key,l)}l.newSeries.push({dataGroupId:a,data:e,divide:Dt(e)})}}}}}));return t}function Ct(r,a){for(var t=0;t<r.length;t++){var i=a.seriesIndex!=null&&a.seriesIndex===r[t].seriesIndex||a.seriesId!=null&&a.seriesId===r[t].id;if(i){return t}}}function Ut(r,a,t,i){var n=[];var e=[];tr(wr(r.from),(function(r){var t=Ct(a.oldSeries,r);if(t>=0){n.push({dataGroupId:a.oldDataGroupIds[t],data:a.oldData[t],divide:Dt(a.oldData[t]),groupIdDim:r.dimension})}}));tr(wr(r.to),(function(r){var i=Ct(t.updatedSeries,r);if(i>=0){var n=t.updatedSeries[i].getData();e.push({dataGroupId:a.oldDataGroupIds[i],data:n,divide:Dt(n),groupIdDim:r.dimension})}}));if(n.length>0&&e.length>0){kt(n,e,i)}}function At(r){r.registerUpdateLifecycle("series:beforeupdate",(function(r,a,t){tr(wr(t.seriesTransition),(function(r){tr(wr(r.to),(function(r){var a=t.updatedSeries;for(var i=0;i<a.length;i++){if(r.seriesIndex!=null&&r.seriesIndex===a[i].seriesIndex||r.seriesId!=null&&r.seriesId===a[i].id){a[i][Mr]=true}}}))}))}));r.registerUpdateLifecycle("series:transition",(function(r,a,t){var i=pt(a);if(i.oldSeries&&t.updatedSeries&&t.optionChanged){var n=t.seriesTransition;if(n){tr(wr(n),(function(r){Ut(r,i,t,a)}))}else{var e=Lt(i,t);tr(e.keys(),(function(r){var t=e.get(r);kt(t.oldSeries,t.newSeries,a)}))}tr(t.updatedSeries,(function(r){if(r[Mr]){r[Mr]=false}}))}var v=r.getSeries();var s=i.oldSeries=[];var o=i.oldDataGroupIds=[];var f=i.oldData=[];for(var u=0;u<v.length;u++){var l=v[u].getData();if(l.count()<lt){s.push(v[u]);o.push(v[u].get("dataGroupId"));f.push(l)}}}))}const Ot="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{width:var(--tct-area-chart-width, 100%);height:var(--tct-area-chart-height, 100%);display:block}.container{width:100%;height:100%}.chart-container{width:100%;height:100%}";const zt=Ot;Tr([Dr,Ma,Lr,At,h,d]);const Gt=class{constructor(t){r(this,t);this.change=a(this,"change",7);this.data=[];this.alignChartName=undefined;this.areaColor=undefined;this.chartName=undefined;this.chartSubTitle=undefined;this.dataNamesOverflow=undefined;this.dataNamesWidth=undefined;this.format=undefined;this.formatModifier=undefined;this.gridLines=undefined;this.hideNameAxisLabels=false;this.hideValueAxisLabels=false;this.lineColor=undefined;this.offsetDataNames=false;this.offsetDataValues=false;this.pointerLineColor=undefined;this.pointerLineStyle=undefined;this.showChartName=false;this.showDatapointLabels=false;this.showGradient=false}componentDidLoad(){const r=Cr(this.chartContainer);this.chart=r;this.resizeEventListener=()=>this.resizeChart();window.addEventListener("resize",this.resizeEventListener);this.cacheComputedStyles();this.updateChart(r);n(this.hostElement)}disconnectedCallback(){window.removeEventListener("resize",this.resizeEventListener)}cacheComputedStyles(){this.chartContainerStyles=getComputedStyle(this.chartContainer);this.hostElementStyles=getComputedStyle(this.hostElement)}getAreaFill(){if(this.showGradient){return{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:this.getColor(this.areaColor)},{offset:1,color:"white"}],global:false}}return this.getColor(this.areaColor)}getColor(r){const a=p("var(--t-primary)",this.chartContainerStyles,this.hostElementStyles);const t=p(r,this.chartContainerStyles,this.hostElementStyles);if(t)return t;if(m(r))return r;return a}updateChart(r){var a;const t=((a=this.formatModifier)===null||a===void 0?void 0:a.includes("dec"))?this.formatModifier.replace("dec",""):0;const i={type:"value",axisLabel:{formatter:r=>y(r,{type:this.format,decimals:t}),rotate:this.offsetDataValues?45:0,margin:this.offsetDataValues?15:8,show:!this.hideValueAxisLabels},splitLine:{show:this.gridLines==="horizontal"||!this.gridLines}};const n={type:"category",boundaryGap:false,data:this.data.map((r=>e(r.name)||"")),axisLabel:{rotate:this.offsetDataNames?45:0,margin:this.offsetDataNames?15:8,width:this.dataNamesWidth||50,overflow:this.dataNamesOverflow||"none",truncate:"ellipsis",show:!this.hideNameAxisLabels},axisLine:{show:!this.hideNameAxisLabels},axisTick:{show:!this.hideNameAxisLabels},axisPointer:{show:true,type:"line",label:{show:false,formatter:r=>{const a=r.seriesData[0].dataIndex;this.change.emit({index:a,data:this.data[a]})}},lineStyle:{color:this.getColor(this.pointerLineColor||"var(--t-gray-10)"),type:this.pointerLineStyle||"solid",width:1.5},z:1},splitLine:{show:this.gridLines==="vertical"}};return r.setOption({aria:{enabled:true},title:{text:e(this.chartName),show:this.showChartName,left:this.alignChartName,subtext:this.chartSubTitle},grid:{containLabel:true},xAxis:n,yAxis:i,series:[{data:this.data.map((r=>r.value||0)),id:"area",type:"line",lineStyle:{color:this.getColor(this.lineColor)},itemStyle:{color:this.getColor(this.lineColor)},areaStyle:{color:this.getAreaFill()},symbolSize:10,showSymbol:false,label:{show:this.showDatapointLabels,position:"right",formatter:r=>y(r.value,{type:this.format,decimals:t})}}]})}resizeChart(){this.chart.resize()}propsUpdates(){this.updateChart(this.chart)}render(){return t("div",{key:"c9e469efcd0cb91b3116d1a5dae051c38b70657f",class:"container"},t("div",{key:"22ea317a0f8506a9ccf1ac5f454a5e97cb3f7621",ref:r=>this.chartContainer=r,class:"chart-container","test-id":"areaChartContainer"}))}get hostElement(){return i(this)}static get watchers(){return{data:["propsUpdates"],alignChartName:["propsUpdates"],chartName:["propsUpdates"],chartSubTitle:["propsUpdates"],lineColor:["propsUpdates"],pointerLineColor:["propsUpdates"],pointerLineStyle:["propsUpdates"],areaColor:["propsUpdates"],dataNamesOverflow:["propsUpdates"],dataNamesWidth:["propsUpdates"],format:["propsUpdates"],formatModifier:["propsUpdates"],hideNameAxisLabels:["propsUpdates"],hideValueAxisLabels:["propsUpdates"],offsetDataNames:["propsUpdates"],offsetDataValues:["propsUpdates"],showChartName:["propsUpdates"],showDatapointLabels:["propsUpdates"],showGradient:["propsUpdates"],gridLines:["propsUpdates"]}}};Gt.style=zt;export{Gt as q2_chart_area};
2
- //# sourceMappingURL=p-f1265647.entry.js.map
1
+ import{r,c as a,h as t,g as i}from"./p-a5f18e27.js";import{o as n,l as e}from"./p-84190698.js";import{g as v,c as s,a as o,i as f,b as u,d as l,e as c,f as h,h as d,j as p,k as m,l as y}from"./p-15c6d86f.js";import{_ as b,c as w,e as M,l as g,u as x,s as S,i as I,g as k,n as N,Z as T,a as D,b as L,t as C,d as U,r as A,f as O,G as z,h as G,j as P,S as F,m as _,k as j,o as X,p as Y,q as E,P as R,v as Z,w as J,x as K,y as V,z as q,A as H,C as W,B,D as Q,E as $,F as rr,H as ar,I as tr,L as ir,J as nr,K as er,M as vr,N as sr,O as or,Q as fr,R as ur,T as lr,U as cr,V as hr,W as dr,X as pr,Y as mr,$ as yr,a0 as br,a1 as wr,a2 as Mr,a3 as gr,a4 as xr,a5 as Sr,a6 as Ir,a7 as kr,a8 as Nr,a9 as Tr,aa as Dr,ab as Lr,ac as Cr}from"./p-dfed434e.js";var Ur=function(r){b(a,r);function a(a,t,i,n){var e=r.call(this)||this;e.updateData(a,t,i,n);return e}a.prototype._createSymbol=function(r,a,t,i,n){this.removeAll();var e=w(r,-1,-1,2,2,null,n);e.attr({z2:100,culling:true,scaleX:i[0]/2,scaleY:i[1]/2});e.drift=Ar;this._symbolType=r;this.add(e)};a.prototype.stopSymbolAnimation=function(r){this.childAt(0).stopAnimation(null,r)};a.prototype.getSymbolType=function(){return this._symbolType};a.prototype.getSymbolPath=function(){return this.childAt(0)};a.prototype.highlight=function(){M(this.childAt(0))};a.prototype.downplay=function(){g(this.childAt(0))};a.prototype.setZ=function(r,a){var t=this.childAt(0);t.zlevel=r;t.z=a};a.prototype.setDraggable=function(r,a){var t=this.childAt(0);t.draggable=r;t.cursor=!a&&r?"move":t.cursor};a.prototype.updateData=function(r,t,i,n){this.silent=false;var e=r.getItemVisual(t,"symbol")||"circle";var v=r.hostModel;var s=a.getSymbolSize(r,t);var o=e!==this._symbolType;var f=n&&n.disableAnimation;if(o){var u=r.getItemVisual(t,"symbolKeepAspect");this._createSymbol(e,r,t,s,u)}else{var l=this.childAt(0);l.silent=false;var c={scaleX:s[0]/2,scaleY:s[1]/2};f?l.attr(c):x(l,c,v,t);S(l)}this._updateCommon(r,t,s,i,n);if(o){var l=this.childAt(0);if(!f){var c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:l.style.opacity}};l.scaleX=l.scaleY=0;l.style.opacity=0;I(l,c,v,t)}}if(f){this.childAt(0).stopAnimation("leave")}};a.prototype._updateCommon=function(r,a,t,i,n){var e=this.childAt(0);var s=r.hostModel;var o;var f;var u;var l;var c;var h;var d;var p;var m;if(i){o=i.emphasisItemStyle;f=i.blurItemStyle;u=i.selectItemStyle;l=i.focus;c=i.blurScope;d=i.labelStatesModels;p=i.hoverScale;m=i.cursorStyle;h=i.emphasisDisabled}if(!i||r.hasItemOption){var y=i&&i.itemModel?i.itemModel:r.getItemModel(a);var b=y.getModel("emphasis");o=b.getModel("itemStyle").getItemStyle();u=y.getModel(["select","itemStyle"]).getItemStyle();f=y.getModel(["blur","itemStyle"]).getItemStyle();l=b.get("focus");c=b.get("blurScope");h=b.get("disabled");d=k(y);p=b.getShallow("scale");m=y.getShallow("cursor")}var w=r.getItemVisual(a,"symbolRotate");e.attr("rotation",(w||0)*Math.PI/180||0);var M=N(r.getItemVisual(a,"symbolOffset"),t);if(M){e.x=M[0];e.y=M[1]}m&&e.attr("cursor",m);var g=r.getItemVisual(a,"style");var x=g.fill;if(e instanceof T){var S=e.style;e.useStyle(D({image:S.image,x:S.x,y:S.y,width:S.width,height:S.height},g))}else{if(e.__isEmptyBrush){e.useStyle(D({},g))}else{e.useStyle(g)}e.style.decal=null;e.setColor(x,n&&n.symbolInnerColor);e.style.strokeNoScale=true}var I=r.getItemVisual(a,"liftZ");var U=this._z2;if(I!=null){if(U==null){this._z2=e.z2;e.z2+=I}}else if(U!=null){e.z2=U;this._z2=null}var A=n&&n.useNameLabel;L(e,d,{labelFetcher:s,labelDataIndex:a,defaultText:O,inheritColor:x,defaultOpacity:g.opacity});function O(a){return A?r.getName(a):v(r,a)}this._sizeX=t[0]/2;this._sizeY=t[1]/2;var z=e.ensureState("emphasis");z.style=o;e.ensureState("select").style=u;e.ensureState("blur").style=f;var G=p==null||p===true?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;z.scaleX=this._sizeX*G;z.scaleY=this._sizeY*G;this.setSymbolScale(1);C(this,l,c,h)};a.prototype.setSymbolScale=function(r){this.scaleX=this.scaleY=r};a.prototype.fadeOut=function(r,a,t){var i=this.childAt(0);var n=U(this).dataIndex;var e=t&&t.animation;this.silent=i.silent=true;if(t&&t.fadeLabel){var v=i.getTextContent();if(v){A(v,{style:{opacity:0}},a,{dataIndex:n,removeOpt:e,cb:function(){i.removeTextContent()}})}}else{i.removeTextContent()}A(i,{style:{opacity:0},scaleX:0,scaleY:0},a,{dataIndex:n,cb:r,removeOpt:e})};a.getSymbolSize=function(r,a){return O(r.getItemVisual(a,"symbolSize"))};return a}(z);function Ar(r,a){this.parent.drift(r,a)}const Or=Ur;function zr(r,a,t,i){return a&&!isNaN(a[0])&&!isNaN(a[1])&&!(i.isIgnore&&i.isIgnore(t))&&!(i.clipShape&&!i.clipShape.contain(a[0],a[1]))&&r.getItemVisual(t,"symbol")!=="none"}function Gr(r){if(r!=null&&!P(r)){r={isIgnore:r}}return r||{}}function Pr(r){var a=r.hostModel;var t=a.getModel("emphasis");return{emphasisItemStyle:t.getModel("itemStyle").getItemStyle(),blurItemStyle:a.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:a.getModel(["select","itemStyle"]).getItemStyle(),focus:t.get("focus"),blurScope:t.get("blurScope"),emphasisDisabled:t.get("disabled"),hoverScale:t.get("scale"),labelStatesModels:k(a),cursorStyle:a.get("cursor")}}var Fr=function(){function r(r){this.group=new z;this._SymbolCtor=r||Or}r.prototype.updateData=function(r,a){this._progressiveEls=null;a=Gr(a);var t=this.group;var i=r.hostModel;var n=this._data;var e=this._SymbolCtor;var v=a.disableAnimation;var s=Pr(r);var o={disableAnimation:v};var f=a.getSymbolPoint||function(a){return r.getItemLayout(a)};if(!n){t.removeAll()}r.diff(n).add((function(i){var n=f(i);if(zr(r,n,i,a)){var v=new e(r,i,s,o);v.setPosition(n);r.setItemGraphicEl(i,v);t.add(v)}})).update((function(u,l){var c=n.getItemGraphicEl(l);var h=f(u);if(!zr(r,h,u,a)){t.remove(c);return}var d=r.getItemVisual(u,"symbol")||"circle";var p=c&&c.getSymbolType&&c.getSymbolType();if(!c||p&&p!==d){t.remove(c);c=new e(r,u,s,o);c.setPosition(h)}else{c.updateData(r,u,s,o);var m={x:h[0],y:h[1]};v?c.attr(m):x(c,m,i)}t.add(c);r.setItemGraphicEl(u,c)})).remove((function(r){var a=n.getItemGraphicEl(r);a&&a.fadeOut((function(){t.remove(a)}),i)})).execute();this._getSymbolPoint=f;this._data=r};r.prototype.updateLayout=function(){var r=this;var a=this._data;if(a){a.eachItemGraphicEl((function(a,t){var i=r._getSymbolPoint(t);a.setPosition(i);a.markRedraw()}))}};r.prototype.incrementalPrepareUpdate=function(r){this._seriesScope=Pr(r);this._data=null;this.group.removeAll()};r.prototype.incrementalUpdate=function(r,a,t){this._progressiveEls=[];t=Gr(t);function i(r){if(!r.isGroup){r.incremental=true;r.ensureState("emphasis").hoverLayer=true}}for(var n=r.start;n<r.end;n++){var e=a.getItemLayout(n);if(zr(a,e,n,t)){var v=new this._SymbolCtor(a,n,this._seriesScope);v.traverse(i);v.setPosition(e);this.group.add(v);a.setItemGraphicEl(n,v);this._progressiveEls.push(v)}}};r.prototype.eachRendered=function(r){G(this._progressiveEls||this.group,r)};r.prototype.remove=function(r){var a=this.group;var t=this._data;if(t&&r){t.eachItemGraphicEl((function(r){r.fadeOut((function(){a.remove(r)}),t.hostModel)}))}else{a.removeAll()}};return r}();const _r=Fr;var jr=function(r){b(a,r);function a(){var t=r!==null&&r.apply(this,arguments)||this;t.type=a.type;t.hasSymbolVisual=true;return t}a.prototype.getInitialData=function(r){return s(null,this,{useEncodeDefaulter:true})};a.prototype.getLegendIcon=function(r){var a=new z;var t=w("line",0,r.itemHeight/2,r.itemWidth,0,r.lineStyle.stroke,false);a.add(t);t.setStyle(r.lineStyle);var i=this.getData().getVisual("symbol");var n=this.getData().getVisual("symbolRotate");var e=i==="none"?"circle":i;var v=r.itemHeight*.8;var s=w(e,(r.itemWidth-v)/2,(r.itemHeight-v)/2,v,v,r.itemStyle.fill);a.add(s);s.setStyle(r.itemStyle);var o=r.iconRotate==="inherit"?n:r.iconRotate||0;s.rotation=o*Math.PI/180;s.setOrigin([r.itemWidth/2,r.itemHeight/2]);if(e.indexOf("empty")>-1){s.style.stroke=s.style.fill;s.style.fill="#fff";s.style.lineWidth=2}return a};a.type="series.line";a.dependencies=["grid","polar"];a.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:true,clip:true,label:{position:"top"},endLabel:{show:false,valueAnimation:true,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:true},step:false,smooth:false,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:true,showAllSymbol:"auto",connectNulls:false,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:Infinity,universalTransition:{divideShape:"clone"},triggerLineEvent:false};return a}(F);const Xr=jr;function Yr(r,a,t){var i=r.getBaseAxis();var n=r.getOtherAxis(i);var e=Er(n,t);var v=i.dim;var s=n.dim;var o=a.mapDimension(s);var f=a.mapDimension(v);var u=s==="x"||s==="radius"?1:0;var l=_(r.dimensions,(function(r){return a.mapDimension(r)}));var c=false;var h=a.getCalculationInfo("stackResultDimension");if(j(a,l[0])){c=true;l[0]=h}if(j(a,l[1])){c=true;l[1]=h}return{dataDimsForPoint:l,valueStart:e,valueAxisDim:s,baseAxisDim:v,stacked:!!c,valueDim:o,baseDim:f,baseDataOffset:u,stackedOverDimension:a.getCalculationInfo("stackedOverDimension")}}function Er(r,a){var t=0;var i=r.scale.getExtent();if(a==="start"){t=i[0]}else if(a==="end"){t=i[1]}else if(X(a)&&!isNaN(a)){t=a}else{if(i[0]>0){t=i[0]}else if(i[1]<0){t=i[1]}}return t}function Rr(r,a,t,i){var n=NaN;if(r.stacked){n=t.get(t.getCalculationInfo("stackedOverDimension"),i)}if(isNaN(n)){n=r.valueStart}var e=r.baseDataOffset;var v=[];v[e]=t.get(r.baseDim,i);v[1-e]=n;return a.dataToPoint(v)}function Zr(r,a){var t=[];a.diff(r).add((function(r){t.push({cmd:"+",idx:r})})).update((function(r,a){t.push({cmd:"=",idx:a,idx1:r})})).remove((function(r){t.push({cmd:"-",idx:r})})).execute();return t}function Jr(r,a,t,i,n,e,v,s){var o=Zr(r,a);var f=[];var u=[];var l=[];var c=[];var h=[];var d=[];var p=[];var m=Yr(n,a,v);var y=r.getLayout("points")||[];var b=a.getLayout("points")||[];for(var w=0;w<o.length;w++){var M=o[w];var g=true;var x=void 0;var S=void 0;switch(M.cmd){case"=":x=M.idx*2;S=M.idx1*2;var I=y[x];var k=y[x+1];var N=b[S];var T=b[S+1];if(isNaN(I)||isNaN(k)){I=N;k=T}f.push(I,k);u.push(N,T);l.push(t[x],t[x+1]);c.push(i[S],i[S+1]);p.push(a.getRawIndex(M.idx1));break;case"+":var D=M.idx;var L=m.dataDimsForPoint;var C=n.dataToPoint([a.get(L[0],D),a.get(L[1],D)]);S=D*2;f.push(C[0],C[1]);u.push(b[S],b[S+1]);var U=Rr(m,n,a,D);l.push(U[0],U[1]);c.push(i[S],i[S+1]);p.push(a.getRawIndex(D));break;case"-":g=false}if(g){h.push(M);d.push(d.length)}}d.sort((function(r,a){return p[r]-p[a]}));var A=f.length;var O=Y(A);var z=Y(A);var G=Y(A);var P=Y(A);var F=[];for(var w=0;w<d.length;w++){var _=d[w];var j=w*2;var X=_*2;O[j]=f[X];O[j+1]=f[X+1];z[j]=u[X];z[j+1]=u[X+1];G[j]=l[X];G[j+1]=l[X+1];P[j]=c[X];P[j+1]=c[X+1];F[w]=h[_]}return{current:O,next:z,stackedOnCurrent:G,stackedOnNext:P,status:F}}var Kr=Math.min;var Vr=Math.max;function qr(r,a){return isNaN(r)||isNaN(a)}function Hr(r,a,t,i,n,e,v,s,o){var f;var u;var l;var c;var h;var d;var p=t;var m=0;for(;m<i;m++){var y=a[p*2];var b=a[p*2+1];if(p>=n||p<0){break}if(qr(y,b)){if(o){p+=e;continue}break}if(p===t){r[e>0?"moveTo":"lineTo"](y,b);l=y;c=b}else{var w=y-f;var M=b-u;if(w*w+M*M<.5){p+=e;continue}if(v>0){var g=p+e;var x=a[g*2];var S=a[g*2+1];while(x===y&&S===b&&m<i){m++;g+=e;p+=e;x=a[g*2];S=a[g*2+1];y=a[p*2];b=a[p*2+1];w=y-f;M=b-u}var I=m+1;if(o){while(qr(x,S)&&I<i){I++;g+=e;x=a[g*2];S=a[g*2+1]}}var k=.5;var N=0;var T=0;var D=void 0;var L=void 0;if(I>=i||qr(x,S)){h=y;d=b}else{N=x-f;T=S-u;var C=y-f;var U=x-y;var A=b-u;var O=S-b;var z=void 0;var G=void 0;if(s==="x"){z=Math.abs(C);G=Math.abs(U);var P=N>0?1:-1;h=y-P*z*v;d=b;D=y+P*G*v;L=b}else if(s==="y"){z=Math.abs(A);G=Math.abs(O);var F=T>0?1:-1;h=y;d=b-F*z*v;D=y;L=b+F*G*v}else{z=Math.sqrt(C*C+A*A);G=Math.sqrt(U*U+O*O);k=G/(G+z);h=y-N*v*(1-k);d=b-T*v*(1-k);D=y+N*v*k;L=b+T*v*k;D=Kr(D,Vr(x,y));L=Kr(L,Vr(S,b));D=Vr(D,Kr(x,y));L=Vr(L,Kr(S,b));N=D-y;T=L-b;h=y-N*z/G;d=b-T*z/G;h=Kr(h,Vr(f,y));d=Kr(d,Vr(u,b));h=Vr(h,Kr(f,y));d=Vr(d,Kr(u,b));N=y-h;T=b-d;D=y+N*G/z;L=b+T*G/z}}r.bezierCurveTo(l,c,h,d,y,b);l=D;c=L}else{r.lineTo(y,b)}}f=y;u=b;p+=e}return m}var Wr=function(){function r(){this.smooth=0;this.smoothConstraint=true}return r}();var Br=function(r){b(a,r);function a(a){var t=r.call(this,a)||this;t.type="ec-polyline";return t}a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new Wr};a.prototype.buildPath=function(r,a){var t=a.points;var i=0;var n=t.length/2;if(a.connectNulls){for(;n>0;n--){if(!qr(t[n*2-2],t[n*2-1])){break}}for(;i<n;i++){if(!qr(t[i*2],t[i*2+1])){break}}}while(i<n){i+=Hr(r,t,i,n,n,1,a.smooth,a.smoothMonotone,a.connectNulls)+1}};a.prototype.getPointOn=function(r,a){if(!this.path){this.createPathProxy();this.buildPath(this.path,this.shape)}var t=this.path;var i=t.data;var n=Z.CMD;var e;var v;var s=a==="x";var o=[];for(var f=0;f<i.length;){var u=i[f++];var l=void 0;var c=void 0;var h=void 0;var d=void 0;var p=void 0;var m=void 0;var y=void 0;switch(u){case n.M:e=i[f++];v=i[f++];break;case n.L:l=i[f++];c=i[f++];y=s?(r-e)/(l-e):(r-v)/(c-v);if(y<=1&&y>=0){var b=s?(c-v)*y+v:(l-e)*y+e;return s?[r,b]:[b,r]}e=l;v=c;break;case n.C:l=i[f++];c=i[f++];h=i[f++];d=i[f++];p=i[f++];m=i[f++];var w=s?E(e,l,h,p,r,o):E(v,c,d,m,r,o);if(w>0){for(var M=0;M<w;M++){var g=o[M];if(g<=1&&g>=0){var b=s?J(v,c,d,m,g):J(e,l,h,p,g);return s?[r,b]:[b,r]}}}e=p;v=m;break}}};return a}(R);var Qr=function(r){b(a,r);function a(){return r!==null&&r.apply(this,arguments)||this}return a}(Wr);var $r=function(r){b(a,r);function a(a){var t=r.call(this,a)||this;t.type="ec-polygon";return t}a.prototype.getDefaultShape=function(){return new Qr};a.prototype.buildPath=function(r,a){var t=a.points;var i=a.stackedOnPoints;var n=0;var e=t.length/2;var v=a.smoothMonotone;if(a.connectNulls){for(;e>0;e--){if(!qr(t[e*2-2],t[e*2-1])){break}}for(;n<e;n++){if(!qr(t[n*2],t[n*2+1])){break}}}while(n<e){var s=Hr(r,t,n,e,e,1,a.smooth,v,a.connectNulls);Hr(r,i,n+s-1,s,e,-1,a.stackedOnSmooth,v,a.connectNulls);n+=s+1;r.closePath()}};return a}(R);function ra(r,a){if(r.length!==a.length){return}for(var t=0;t<r.length;t++){if(r[t]!==a[t]){return}}return true}function aa(r){var a=Infinity;var t=Infinity;var i=-Infinity;var n=-Infinity;for(var e=0;e<r.length;){var v=r[e++];var s=r[e++];if(!isNaN(v)){a=Math.min(v,a);i=Math.max(v,i)}if(!isNaN(s)){t=Math.min(s,t);n=Math.max(s,n)}}return[[a,t],[i,n]]}function ta(r,a){var t=aa(r),i=t[0],n=t[1];var e=aa(a),v=e[0],s=e[1];return Math.max(Math.abs(i[0]-v[0]),Math.abs(i[1]-v[1]),Math.abs(n[0]-s[0]),Math.abs(n[1]-s[1]))}function ia(r){return X(r)?r:r?.5:0}function na(r,a,t){if(!t.valueDim){return[]}var i=a.count();var n=Y(i*2);for(var e=0;e<i;e++){var v=Rr(t,r,a,e);n[e*2]=v[0];n[e*2+1]=v[1]}return n}function ea(r,a,t,i){var n=a.getBaseAxis();var e=n.dim==="x"||n.dim==="radius"?0:1;var v=[];var s=0;var o=[];var f=[];var u=[];var l=[];if(i){for(s=0;s<r.length;s+=2){if(!isNaN(r[s])&&!isNaN(r[s+1])){l.push(r[s],r[s+1])}}r=l}for(s=0;s<r.length-2;s+=2){u[0]=r[s+2];u[1]=r[s+3];f[0]=r[s];f[1]=r[s+1];v.push(f[0],f[1]);switch(t){case"end":o[e]=u[e];o[1-e]=f[1-e];v.push(o[0],o[1]);break;case"middle":var c=(f[e]+u[e])/2;var h=[];o[e]=h[e]=c;o[1-e]=f[1-e];h[1-e]=u[1-e];v.push(o[0],o[1]);v.push(h[0],h[1]);break;default:o[e]=f[e];o[1-e]=u[1-e];v.push(o[0],o[1])}}v.push(r[s++],r[s++]);return v}function va(r,a){var t=[];var i=r.length;var n;var e;function v(r,a,t){var i=r.coord;var n=(t-i)/(a.coord-i);var e=er(n,[r.color,a.color]);return{coord:t,color:e}}for(var s=0;s<i;s++){var o=r[s];var f=o.coord;if(f<0){n=o}else if(f>a){if(e){t.push(v(e,o,a))}else if(n){t.push(v(n,o,0),v(n,o,a))}break}else{if(n){t.push(v(n,o,0));n=null}t.push(o);e=o}}return t}function sa(r,a,t){var i=r.getVisual("visualMeta");if(!i||!i.length||!r.count()){return}if(a.type!=="cartesian2d"){return}var n;var e;for(var v=i.length-1;v>=0;v--){var s=r.getDimensionInfo(i[v].dimension);n=s&&s.coordDim;if(n==="x"||n==="y"){e=i[v];break}}if(!e){return}var o=a.getAxis(n);var f=_(e.stops,(function(r){return{coord:o.toGlobalCoord(o.dataToCoord(r.value)),color:r.color}}));var u=f.length;var l=e.outerColors.slice();if(u&&f[0].coord>f[u-1].coord){f.reverse();l.reverse()}var c=va(f,n==="x"?t.getWidth():t.getHeight());var h=c.length;if(!h&&u){return f[0].coord<0?l[1]?l[1]:f[u-1].color:l[0]?l[0]:f[0].color}var d=10;var p=c[0].coord-d;var m=c[h-1].coord+d;var y=m-p;if(y<.001){return"transparent"}tr(c,(function(r){r.offset=(r.coord-p)/y}));c.push({offset:h?c[h-1].offset:.5,color:l[1]||"transparent"});c.unshift({offset:h?c[0].offset:.5,color:l[0]||"transparent"});var b=new ir(0,0,0,0,c,true);b[n]=p;b[n+"2"]=m;return b}function oa(r,a,t){var i=r.get("showAllSymbol");var n=i==="auto";if(i&&!n){return}var e=t.getAxesByScale("ordinal")[0];if(!e){return}if(n&&fa(e,a)){return}var v=a.mapDimension(e.dim);var s={};tr(e.getViewLabels(),(function(r){var a=e.scale.getRawOrdinalNumber(r.tickValue);s[a]=1}));return function(r){return!s.hasOwnProperty(a.get(v,r))}}function fa(r,a){var t=r.getExtent();var i=Math.abs(t[1]-t[0])/r.scale.count();isNaN(i)&&(i=0);var n=a.count();var e=Math.max(1,Math.round(n/5));for(var v=0;v<n;v+=e){if(Or.getSymbolSize(a,v)[r.isHorizontal()?1:0]*1.5>i){return false}}return true}function ua(r,a){return isNaN(r)||isNaN(a)}function la(r){var a=r.length/2;for(;a>0;a--){if(!ua(r[a*2-2],r[a*2-1])){break}}return a-1}function ca(r,a){return[r[a*2],r[a*2+1]]}function ha(r,a,t){var i=r.length/2;var n=t==="x"?0:1;var e;var v;var s=0;var o=-1;for(var f=0;f<i;f++){v=r[f*2+n];if(isNaN(v)||isNaN(r[f*2+1-n])){continue}if(f===0){e=v;continue}if(e<=a&&v>=a||e>=a&&v<=a){o=f;break}s=f;e=v}return{range:[s,o],t:(a-e)/(v-e)}}function da(r){if(r.get(["endLabel","show"])){return true}for(var a=0;a<nr.length;a++){if(r.get([nr[a],"endLabel","show"])){return true}}return false}function pa(r,a,t,i){if(f(a,"cartesian2d")){var n=i.getModel("endLabel");var e=n.get("valueAnimation");var v=i.getData();var s={lastFrameIndex:0};var o=da(i)?function(t,i){r._endLabelOnDuring(t,i,v,s,e,n,a)}:null;var c=a.getBaseAxis().isHorizontal();var h=u(a,t,i,(function(){var a=r._endLabel;if(a&&t){if(s.originalX!=null){a.attr({x:s.originalX,y:s.originalY})}}}),o);if(!i.get("clip",true)){var d=h.shape;var p=Math.max(d.width,d.height);if(c){d.y-=p;d.height+=p*2}else{d.x-=p;d.width+=p*2}}if(o){o(1,h)}return h}else{return l(a,t,i)}}function ma(r,a){var t=a.getBaseAxis();var i=t.isHorizontal();var n=t.inverse;var e=i?n?"right":"left":"center";var v=i?"middle":n?"top":"bottom";return{normal:{align:r.get("align")||e,verticalAlign:r.get("verticalAlign")||v}}}var ya=function(r){b(a,r);function a(){return r!==null&&r.apply(this,arguments)||this}a.prototype.init=function(){var r=new z;var a=new _r;this.group.add(a.group);this._symbolDraw=a;this._lineGroup=r};a.prototype.render=function(r,a,t){var i=this;var n=r.coordinateSystem;var e=this.group;var v=r.getData();var s=r.getModel("lineStyle");var o=r.getModel("areaStyle");var f=v.getLayout("points")||[];var u=n.type==="polar";var l=this._coordSys;var c=this._symbolDraw;var h=this._polyline;var d=this._polygon;var p=this._lineGroup;var m=!a.ssr&&r.get("animation");var y=!o.isEmpty();var b=o.get("origin");var w=Yr(n,v,b);var M=y&&na(n,v,w);var g=r.get("showSymbol");var x=r.get("connectNulls");var S=g&&!u&&oa(r,v,n);var k=this._data;k&&k.eachItemGraphicEl((function(r,a){if(r.__temp){e.remove(r);k.setItemGraphicEl(a,null)}}));if(!g){c.remove()}e.add(p);var N=!u?r.get("step"):false;var T;if(n&&n.getArea&&r.get("clip",true)){T=n.getArea();if(T.width!=null){T.x-=.1;T.y-=.1;T.width+=.2;T.height+=.2}else if(T.r0){T.r0-=.5;T.r+=.5}}this._clipShapeForSymbol=T;var D=sa(v,n,t)||v.getVisual("style")[v.getVisual("drawType")];if(!(h&&l.type===n.type&&N===this._step)){g&&c.updateData(v,{isIgnore:S,clipShape:T,disableAnimation:true,getSymbolPoint:function(r){return[f[r*2],f[r*2+1]]}});m&&this._initSymbolLabelAnimation(v,n,T);if(N){f=ea(f,n,N,x);if(M){M=ea(M,n,N,x)}}h=this._newPolyline(f);if(y){d=this._newPolygon(f,M)}else if(d){p.remove(d);d=this._polygon=null}if(!u){this._initOrUpdateEndLabel(r,n,K(D))}p.setClipPath(pa(this,n,true,r))}else{if(y&&!d){d=this._newPolygon(f,M)}else if(d&&!y){p.remove(d);d=this._polygon=null}if(!u){this._initOrUpdateEndLabel(r,n,K(D))}var L=p.getClipPath();if(L){var A=pa(this,n,false,r);I(L,{shape:A.shape},r)}else{p.setClipPath(pa(this,n,true,r))}g&&c.updateData(v,{isIgnore:S,clipShape:T,disableAnimation:true,getSymbolPoint:function(r){return[f[r*2],f[r*2+1]]}});if(!ra(this._stackedOnPoints,M)||!ra(this._points,f)){if(m){this._doUpdateAnimation(v,M,n,t,N,b,x)}else{if(N){f=ea(f,n,N,x);if(M){M=ea(M,n,N,x)}}h.setShape({points:f});d&&d.setShape({points:f,stackedOnPoints:M})}}}var O=r.getModel("emphasis");var z=O.get("focus");var G=O.get("blurScope");var P=O.get("disabled");h.useStyle(V(s.getLineStyle(),{fill:"none",stroke:D,lineJoin:"bevel"}));q(h,r,"lineStyle");if(h.style.lineWidth>0&&r.get(["emphasis","lineStyle","width"])==="bolder"){var F=h.getState("emphasis").style;F.lineWidth=+h.style.lineWidth+1}U(h).seriesIndex=r.seriesIndex;C(h,z,G,P);var _=ia(r.get("smooth"));var j=r.get("smoothMonotone");h.setShape({smooth:_,smoothMonotone:j,connectNulls:x});if(d){var X=v.getCalculationInfo("stackedOnSeries");var Y=0;d.useStyle(V(o.getAreaStyle(),{fill:D,opacity:.7,lineJoin:"bevel",decal:v.getVisual("style").decal}));if(X){Y=ia(X.get("smooth"))}d.setShape({smooth:_,stackedOnSmooth:Y,smoothMonotone:j,connectNulls:x});q(d,r,"areaStyle");U(d).seriesIndex=r.seriesIndex;C(d,z,G,P)}var E=function(r){i._changePolyState(r)};v.eachItemGraphicEl((function(r){r&&(r.onHoverStateChange=E)}));this._polyline.onHoverStateChange=E;this._data=v;this._coordSys=n;this._stackedOnPoints=M;this._points=f;this._step=N;this._valueOrigin=b;if(r.get("triggerLineEvent")){this.packEventData(r,h);d&&this.packEventData(r,d)}};a.prototype.packEventData=function(r,a){U(a).eventData={componentType:"series",componentSubType:"line",componentIndex:r.componentIndex,seriesIndex:r.seriesIndex,seriesName:r.name,seriesType:"line"}};a.prototype.highlight=function(r,a,t,i){var n=r.getData();var e=H(n,i);this._changePolyState("emphasis");if(!(e instanceof Array)&&e!=null&&e>=0){var v=n.getLayout("points");var s=n.getItemGraphicEl(e);if(!s){var o=v[e*2];var f=v[e*2+1];if(isNaN(o)||isNaN(f)){return}if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(o,f)){return}var u=r.get("zlevel")||0;var l=r.get("z")||0;s=new Or(n,e);s.x=o;s.y=f;s.setZ(u,l);var c=s.getSymbolPath().getTextContent();if(c){c.zlevel=u;c.z=l;c.z2=this._polyline.z2+1}s.__temp=true;n.setItemGraphicEl(e,s);s.stopSymbolAnimation(true);this.group.add(s)}s.highlight()}else{W.prototype.highlight.call(this,r,a,t,i)}};a.prototype.downplay=function(r,a,t,i){var n=r.getData();var e=H(n,i);this._changePolyState("normal");if(e!=null&&e>=0){var v=n.getItemGraphicEl(e);if(v){if(v.__temp){n.setItemGraphicEl(e,null);this.group.remove(v)}else{v.downplay()}}}else{W.prototype.downplay.call(this,r,a,t,i)}};a.prototype._changePolyState=function(r){var a=this._polygon;B(this._polyline,r);a&&B(a,r)};a.prototype._newPolyline=function(r){var a=this._polyline;if(a){this._lineGroup.remove(a)}a=new Br({shape:{points:r},segmentIgnoreThreshold:2,z2:10});this._lineGroup.add(a);this._polyline=a;return a};a.prototype._newPolygon=function(r,a){var t=this._polygon;if(t){this._lineGroup.remove(t)}t=new $r({shape:{points:r,stackedOnPoints:a},segmentIgnoreThreshold:2});this._lineGroup.add(t);this._polygon=t;return t};a.prototype._initSymbolLabelAnimation=function(r,a,t){var i;var n;var e=a.getBaseAxis();var v=e.inverse;if(a.type==="cartesian2d"){i=e.isHorizontal();n=false}else if(a.type==="polar"){i=e.dim==="angle";n=true}var s=r.hostModel;var o=s.get("animationDuration");if(Q(o)){o=o(null)}var f=s.get("animationDelay")||0;var u=Q(f)?f(null):f;r.eachItemGraphicEl((function(r,e){var s=r;if(s){var l=[r.x,r.y];var c=void 0;var h=void 0;var d=void 0;if(t){if(n){var p=t;var m=a.pointToCoord(l);if(i){c=p.startAngle;h=p.endAngle;d=-m[1]/180*Math.PI}else{c=p.r0;h=p.r;d=m[0]}}else{var y=t;if(i){c=y.x;h=y.x+y.width;d=r.x}else{c=y.y+y.height;h=y.y;d=r.y}}}var b=h===c?0:(d-c)/(h-c);if(v){b=1-b}var w=Q(f)?f(e):o*b+u;var M=s.getSymbolPath();var g=M.getTextContent();s.attr({scaleX:0,scaleY:0});s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:true,delay:w});if(g){g.animateFrom({style:{opacity:0}},{duration:300,delay:w})}M.disableLabelAnimation=true}}))};a.prototype._initOrUpdateEndLabel=function(r,a,t){var i=r.getModel("endLabel");if(da(r)){var n=r.getData();var e=this._polyline;var s=n.getLayout("points");if(!s){e.removeTextContent();this._endLabel=null;return}var f=this._endLabel;if(!f){f=this._endLabel=new $({z2:200});f.ignoreClip=true;e.setTextContent(this._endLabel);e.disableLabelAnimation=true}var u=la(s);if(u>=0){L(e,k(r,"endLabel"),{inheritColor:t,labelFetcher:r,labelDataIndex:u,defaultText:function(r,a,t){return t!=null?o(n,t):v(n,r)},enableTextSetter:true},ma(i,a));e.textConfig.position=null}}else if(this._endLabel){this._polyline.removeTextContent();this._endLabel=null}};a.prototype._endLabelOnDuring=function(r,a,t,i,n,e,v){var s=this._endLabel;var o=this._polyline;if(s){if(r<1&&i.originalX==null){i.originalX=s.x;i.originalY=s.y}var f=t.getLayout("points");var u=t.hostModel;var l=u.get("connectNulls");var c=e.get("precision");var h=e.get("distance")||0;var d=v.getBaseAxis();var p=d.isHorizontal();var m=d.inverse;var y=a.shape;var b=m?p?y.x:y.y+y.height:p?y.x+y.width:y.y;var w=(p?h:0)*(m?-1:1);var M=(p?0:-h)*(m?-1:1);var g=p?"x":"y";var x=ha(f,b,g);var S=x.range;var I=S[1]-S[0];var k=void 0;if(I>=1){if(I>1&&!l){var N=ca(f,S[0]);s.attr({x:N[0]+w,y:N[1]+M});n&&(k=u.getRawValue(S[0]))}else{var N=o.getPointOn(b,g);N&&s.attr({x:N[0]+w,y:N[1]+M});var T=u.getRawValue(S[0]);var D=u.getRawValue(S[1]);n&&(k=rr(t,c,T,D,x.t))}i.lastFrameIndex=S[0]}else{var L=r===1||i.lastFrameIndex>0?S[0]:0;var N=ca(f,L);n&&(k=u.getRawValue(L));s.attr({x:N[0]+w,y:N[1]+M})}if(n){var C=ar(s);if(typeof C.setLabelText==="function"){C.setLabelText(k)}}}};a.prototype._doUpdateAnimation=function(r,a,t,i,n,e,v){var s=this._polyline;var o=this._polygon;var f=r.hostModel;var u=Jr(this._data,r,this._stackedOnPoints,a,this._coordSys,t,this._valueOrigin);var l=u.current;var c=u.stackedOnCurrent;var h=u.next;var d=u.stackedOnNext;if(n){l=ea(u.current,t,n,v);c=ea(u.stackedOnCurrent,t,n,v);h=ea(u.next,t,n,v);d=ea(u.stackedOnNext,t,n,v)}if(ta(l,h)>3e3||o&&ta(c,d)>3e3){s.stopAnimation();s.setShape({points:h});if(o){o.stopAnimation();o.setShape({points:h,stackedOnPoints:d})}return}s.shape.__points=u.current;s.shape.points=l;var p={shape:{points:h}};if(u.current!==l){p.shape.__points=u.next}s.stopAnimation();x(s,p,f);if(o){o.setShape({points:l,stackedOnPoints:c});o.stopAnimation();x(o,{shape:{stackedOnPoints:d}},f);if(s.shape.points!==o.shape.points){o.shape.points=s.shape.points}}var m=[];var y=u.status;for(var b=0;b<y.length;b++){var w=y[b].cmd;if(w==="="){var M=r.getItemGraphicEl(y[b].idx1);if(M){m.push({el:M,ptIdx:b})}}}if(s.animators&&s.animators.length){s.animators[0].during((function(){o&&o.dirtyShape();var r=s.shape.__points;for(var a=0;a<m.length;a++){var t=m[a].el;var i=m[a].ptIdx*2;t.x=r[i];t.y=r[i+1];t.markRedraw()}}))}};a.prototype.remove=function(r){var a=this.group;var t=this._data;this._lineGroup.removeAll();this._symbolDraw.remove(true);t&&t.eachItemGraphicEl((function(r,i){if(r.__temp){a.remove(r);t.setItemGraphicEl(i,null)}}));this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null};a.type="line";return a}(W);const ba=ya;function wa(r,a){return{seriesType:r,plan:vr(),reset:function(r){var t=r.getData();var i=r.coordinateSystem;var n=r.pipelineContext;var e=a||n.large;if(!i){return}var v=_(i.dimensions,(function(r){return t.mapDimension(r)})).slice(0,2);var s=v.length;var o=t.getCalculationInfo("stackResultDimension");if(j(t,v[0])){v[0]=o}if(j(t,v[1])){v[1]=o}var f=t.getStore();var u=t.getDimensionIndex(v[0]);var l=t.getDimensionIndex(v[1]);return s&&{progress:function(r,a){var t=r.end-r.start;var n=e&&Y(t*s);var v=[];var o=[];for(var c=r.start,h=0;c<r.end;c++){var d=void 0;if(s===1){var p=f.get(u,c);d=i.dataToPoint(p,null,o)}else{v[0]=f.get(u,c);v[1]=f.get(l,c);d=i.dataToPoint(v,null,o)}if(e){n[h++]=d[0];n[h++]=d[1]}else{a.setItemLayout(c,d.slice())}}e&&a.setLayout("points",n)}}}}}function Ma(r){r.registerChartView(ba);r.registerSeriesModel(Xr);r.registerLayout(wa("line",true));r.registerVisual({seriesType:"line",reset:function(r){var a=r.getData();var t=r.getModel("lineStyle").getLineStyle();if(t&&!t.stroke){t.stroke=a.getVisual("style").fill}a.setVisual("legendLineStyle",t)}});r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,c("line"))}var ga=Z.CMD;function xa(r,a){return Math.abs(r-a)<1e-5}function Sa(r){var a=r.data;var t=r.len();var i=[];var n;var e=0;var v=0;var s=0;var o=0;function f(r,a){if(n&&n.length>2){i.push(n)}n=[r,a]}function u(r,a,t,i){if(!(xa(r,t)&&xa(a,i))){n.push(r,a,t,i,t,i)}}function l(r,a,t,i,e,v){var s=Math.abs(a-r);var o=Math.tan(s/4)*4/3;var f=a<r?-1:1;var u=Math.cos(r);var l=Math.sin(r);var c=Math.cos(a);var h=Math.sin(a);var d=u*e+t;var p=l*v+i;var m=c*e+t;var y=h*v+i;var b=e*o*f;var w=v*o*f;n.push(d-b*l,p+w*u,m+b*h,y-w*c,m,y)}var c;var h;var d;var p;for(var m=0;m<t;){var y=a[m++];var b=m===1;if(b){e=a[m];v=a[m+1];s=e;o=v;if(y===ga.L||y===ga.C||y===ga.Q){n=[s,o]}}switch(y){case ga.M:e=s=a[m++];v=o=a[m++];f(s,o);break;case ga.L:c=a[m++];h=a[m++];u(e,v,c,h);e=c;v=h;break;case ga.C:n.push(a[m++],a[m++],a[m++],a[m++],e=a[m++],v=a[m++]);break;case ga.Q:c=a[m++];h=a[m++];d=a[m++];p=a[m++];n.push(e+2/3*(c-e),v+2/3*(h-v),d+2/3*(c-d),p+2/3*(h-p),d,p);e=d;v=p;break;case ga.A:var w=a[m++];var M=a[m++];var g=a[m++];var x=a[m++];var S=a[m++];var I=a[m++]+S;m+=1;var k=!a[m++];c=Math.cos(S)*g+w;h=Math.sin(S)*x+M;if(b){s=c;o=h;f(s,o)}else{u(e,v,c,h)}e=Math.cos(I)*g+w;v=Math.sin(I)*x+M;var N=(k?-1:1)*Math.PI/2;for(var T=S;k?T>I:T<I;T+=N){var D=k?Math.max(T+N,I):Math.min(T+N,I);l(T,D,w,M,g,x)}break;case ga.R:s=e=a[m++];o=v=a[m++];c=s+a[m++];h=o+a[m++];f(c,o);u(c,o,c,h);u(c,h,s,h);u(s,h,s,o);u(s,o,c,o);break;case ga.Z:n&&u(e,v,s,o);e=s;v=o;break}}if(n&&n.length>2){i.push(n)}return i}function Ia(r,a,t,i,n,e,v,s,o,f){if(xa(r,t)&&xa(a,i)&&xa(n,v)&&xa(e,s)){o.push(v,s);return}var u=2/f;var l=u*u;var c=v-r;var h=s-a;var d=Math.sqrt(c*c+h*h);c/=d;h/=d;var p=t-r;var m=i-a;var y=n-v;var b=e-s;var w=p*p+m*m;var M=y*y+b*b;if(w<l&&M<l){o.push(v,s);return}var g=c*p+h*m;var x=-c*y-h*b;var S=w-g*g;var I=M-x*x;if(S<l&&g>=0&&I<l&&x>=0){o.push(v,s);return}var k=[];var N=[];sr(r,t,n,v,.5,k);sr(a,i,e,s,.5,N);Ia(k[0],N[0],k[1],N[1],k[2],N[2],k[3],N[3],o,f);Ia(k[4],N[4],k[5],N[5],k[6],N[6],k[7],N[7],o,f)}function ka(r,a){var t=Sa(r);var i=[];a=a||1;for(var n=0;n<t.length;n++){var e=t[n];var v=[];var s=e[0];var o=e[1];v.push(s,o);for(var f=2;f<e.length;){var u=e[f++];var l=e[f++];var c=e[f++];var h=e[f++];var d=e[f++];var p=e[f++];Ia(s,o,u,l,c,h,d,p,v,a);s=d;o=p}i.push(v)}return i}function Na(r,a,t){var i=r[a];var n=r[1-a];var e=Math.abs(i/n);var v=Math.ceil(Math.sqrt(e*t));var s=Math.floor(t/v);if(s===0){s=1;v=t}var o=[];for(var f=0;f<v;f++){o.push(s)}var u=v*s;var l=t-u;if(l>0){for(var f=0;f<l;f++){o[f%v]+=1}}return o}function Ta(r,a,t){var i=r.r0;var n=r.r;var e=r.startAngle;var v=r.endAngle;var s=Math.abs(v-e);var o=s*n;var f=n-i;var u=o>Math.abs(f);var l=Na([o,f],u?0:1,a);var c=(u?s:f)/l.length;for(var h=0;h<l.length;h++){var d=(u?f:s)/l[h];for(var p=0;p<l[h];p++){var m={};if(u){m.startAngle=e+c*h;m.endAngle=e+c*(h+1);m.r0=i+d*p;m.r=i+d*(p+1)}else{m.startAngle=e+d*p;m.endAngle=e+d*(p+1);m.r0=i+c*h;m.r=i+c*(h+1)}m.clockwise=r.clockwise;m.cx=r.cx;m.cy=r.cy;t.push(m)}}}function Da(r,a,t){var i=r.width;var n=r.height;var e=i>n;var v=Na([i,n],e?0:1,a);var s=e?"width":"height";var o=e?"height":"width";var f=e?"x":"y";var u=e?"y":"x";var l=r[s]/v.length;for(var c=0;c<v.length;c++){var h=r[o]/v[c];for(var d=0;d<v[c];d++){var p={};p[f]=c*l;p[u]=d*h;p[s]=l;p[o]=h;p.x+=r.x;p.y+=r.y;t.push(p)}}}function La(r,a,t,i){return r*i-t*a}function Ca(r,a,t,i,n,e,v,s){var o=t-r;var f=i-a;var u=v-n;var l=s-e;var c=La(u,l,o,f);if(Math.abs(c)<1e-6){return null}var h=r-n;var d=a-e;var p=La(h,d,u,l)/c;if(p<0||p>1){return null}return new ur(p*o+r,p*f+a)}function Ua(r,a,t){var i=new ur;ur.sub(i,t,a);i.normalize();var n=new ur;ur.sub(n,r,a);var e=n.dot(i);return e}function Aa(r,a){var t=r[r.length-1];if(t&&t[0]===a[0]&&t[1]===a[1]){return}r.push(a)}function Oa(r,a,t){var i=r.length;var n=[];for(var e=0;e<i;e++){var v=r[e];var s=r[(e+1)%i];var o=Ca(v[0],v[1],s[0],s[1],a.x,a.y,t.x,t.y);if(o){n.push({projPt:Ua(o,a,t),pt:o,idx:e})}}if(n.length<2){return[{points:r},{points:r}]}n.sort((function(r,a){return r.projPt-a.projPt}));var f=n[0];var u=n[n.length-1];if(u.idx<f.idx){var l=f;f=u;u=l}var c=[f.pt.x,f.pt.y];var h=[u.pt.x,u.pt.y];var d=[c];var p=[h];for(var e=f.idx+1;e<=u.idx;e++){Aa(d,r[e].slice())}Aa(d,h);Aa(d,c);for(var e=u.idx+1;e<=f.idx+i;e++){Aa(p,r[e%i].slice())}Aa(p,c);Aa(p,h);return[{points:d},{points:p}]}function za(r){var a=r.points;var t=[];var i=[];or(a,t,i);var n=new fr(t[0],t[1],i[0]-t[0],i[1]-t[1]);var e=n.width;var v=n.height;var s=n.x;var o=n.y;var f=new ur;var u=new ur;if(e>v){f.x=u.x=s+e/2;f.y=o;u.y=o+v}else{f.y=u.y=o+v/2;f.x=s;u.x=s+e}return Oa(a,f,u)}function Ga(r,a,t,i){if(t===1){i.push(a)}else{var n=Math.floor(t/2);var e=r(a);Ga(r,e[0],n,i);Ga(r,e[1],t-n,i)}return i}function Pa(r,a){var t=[];for(var i=0;i<a;i++){t.push(lr(r))}return t}function Fa(r,a){a.setStyle(r.style);a.z=r.z;a.z2=r.z2;a.zlevel=r.zlevel}function _a(r){var a=[];for(var t=0;t<r.length;){a.push([r[t++],r[t++]])}return a}function ja(r,a){var t=[];var i=r.shape;var n;switch(r.type){case"rect":Da(i,a,t);n=dr;break;case"sector":Ta(i,a,t);n=hr;break;case"circle":Ta({r0:0,r:i.r,startAngle:0,endAngle:Math.PI*2,cx:i.cx,cy:i.cy},a,t);n=hr;break;default:var e=r.getComputedTransform();var v=e?Math.sqrt(Math.max(e[0]*e[0]+e[1]*e[1],e[2]*e[2]+e[3]*e[3])):1;var s=_(ka(r.getUpdatedPathProxy(),v),(function(r){return _a(r)}));var o=s.length;if(o===0){Ga(za,{points:s[0]},a,t)}else if(o===a){for(var f=0;f<o;f++){t.push({points:s[f]})}}else{var u=0;var l=_(s,(function(r){var a=[];var t=[];or(r,a,t);var i=(t[1]-a[1])*(t[0]-a[0]);u+=i;return{poly:r,area:i}}));l.sort((function(r,a){return a.area-r.area}));var c=a;for(var f=0;f<o;f++){var h=l[f];if(c<=0){break}var d=f===o-1?c:Math.ceil(h.area/u*a);if(d<0){continue}Ga(za,{points:h.poly},d,t);c-=d}}n=cr;break}if(!n){return Pa(r,a)}var p=[];for(var f=0;f<t.length;f++){var m=new n;m.setShape(t[f]);Fa(r,m);p.push(m)}return p}function Xa(r,a){var t=r.length;var i=a.length;if(t===i){return[r,a]}var n=[];var e=[];var v=t<i?r:a;var s=Math.min(t,i);var o=Math.abs(i-t)/6;var f=(s-2)/6;var u=Math.ceil(o/f)+1;var l=[v[0],v[1]];var c=o;for(var h=2;h<s;){var d=v[h-2];var p=v[h-1];var m=v[h++];var y=v[h++];var b=v[h++];var w=v[h++];var M=v[h++];var g=v[h++];if(c<=0){l.push(m,y,b,w,M,g);continue}var x=Math.min(c,u-1)+1;for(var S=1;S<=x;S++){var I=S/x;sr(d,m,b,M,I,n);sr(p,y,w,g,I,e);d=n[3];p=e[3];l.push(n[1],e[1],n[2],e[2],d,p);m=n[5];y=e[5];b=n[6];w=e[6]}c-=x-1}return v===r?[l,a]:[r,l]}function Ya(r,a){var t=r.length;var i=r[t-2];var n=r[t-1];var e=[];for(var v=0;v<a.length;){e[v++]=i;e[v++]=n}return e}function Ea(r,a){var t;var i;var n;var e=[];var v=[];for(var s=0;s<Math.max(r.length,a.length);s++){var o=r[s];var f=a[s];var u=void 0;var l=void 0;if(!o){u=Ya(i||f,f);l=f}else if(!f){l=Ya(n||o,o);u=o}else{t=Xa(o,f),u=t[0],l=t[1];i=u;n=l}e.push(u);v.push(l)}return[e,v]}function Ra(r){var a=0;var t=0;var i=0;var n=r.length;for(var e=0,v=n-2;e<n;v=e,e+=2){var s=r[v];var o=r[v+1];var f=r[e];var u=r[e+1];var l=s*u-f*o;a+=l;t+=(s+f)*l;i+=(o+u)*l}if(a===0){return[r[0]||0,r[1]||0]}return[t/a/3,i/a/3,a]}function Za(r,a,t,i){var n=(r.length-2)/6;var e=Infinity;var v=0;var s=r.length;var o=s-2;for(var f=0;f<n;f++){var u=f*6;var l=0;for(var c=0;c<s;c+=2){var h=c===0?u:(u+c-2)%o+2;var d=r[h]-t[0];var p=r[h+1]-t[1];var m=a[c]-i[0];var y=a[c+1]-i[1];var b=m-d;var w=y-p;l+=b*b+w*w}if(l<e){e=l;v=f}}return v}function Ja(r){var a=[];var t=r.length;for(var i=0;i<t;i+=2){a[i]=r[t-i-2];a[i+1]=r[t-i-1]}return a}function Ka(r,a,t,i){var n=[];var e;for(var v=0;v<r.length;v++){var s=r[v];var o=a[v];var f=Ra(s);var u=Ra(o);if(e==null){e=f[2]<0!==u[2]<0}var l=[];var c=[];var h=0;var d=Infinity;var p=[];var m=s.length;if(e){s=Ja(s)}var y=Za(s,o,f,u)*6;var b=m-2;for(var w=0;w<b;w+=2){var M=(y+w)%b+2;l[w+2]=s[M]-f[0];l[w+3]=s[M+1]-f[1]}l[0]=s[y]-f[0];l[1]=s[y+1]-f[1];if(t>0){var g=i/t;for(var x=-i/2;x<=i/2;x+=g){var S=Math.sin(x);var I=Math.cos(x);var k=0;for(var w=0;w<s.length;w+=2){var N=l[w];var T=l[w+1];var D=o[w]-u[0];var L=o[w+1]-u[1];var C=D*I-L*S;var U=D*S+L*I;p[w]=C;p[w+1]=U;var A=C-N;var O=U-T;k+=A*A+O*O}if(k<d){d=k;h=x;for(var z=0;z<p.length;z++){c[z]=p[z]}}}}else{for(var G=0;G<m;G+=2){c[G]=o[G]-u[0];c[G+1]=o[G+1]-u[1]}}n.push({from:l,to:c,fromCp:f,toCp:u,rotation:-h})}return n}function Va(r){return r.__isCombineMorphing}var qa="__mOriginal_";function Ha(r,a,t){var i=qa+a;var n=r[i]||r[a];if(!r[i]){r[i]=r[a]}var e=t.replace;var v=t.after;var s=t.before;r[a]=function(){var r=arguments;var a;s&&s.apply(this,r);if(e){a=e.apply(this,r)}else{a=n.apply(this,r)}v&&v.apply(this,r);return a}}function Wa(r,a){var t=qa+a;if(r[t]){r[a]=r[t];r[t]=null}}function Ba(r,a){for(var t=0;t<r.length;t++){var i=r[t];for(var n=0;n<i.length;){var e=i[n];var v=i[n+1];i[n++]=a[0]*e+a[2]*v+a[4];i[n++]=a[1]*e+a[3]*v+a[5]}}}function Qa(r,a){var t=r.getUpdatedPathProxy();var i=a.getUpdatedPathProxy();var n=Ea(Sa(t),Sa(i)),e=n[0],v=n[1];var s=r.getComputedTransform();var o=a.getComputedTransform();function f(){this.transform=null}s&&Ba(e,s);o&&Ba(v,o);Ha(a,"updateTransform",{replace:f});a.transform=null;var u=Ka(e,v,10,Math.PI);var l=[];Ha(a,"buildPath",{replace:function(r){var t=a.__morphT;var i=1-t;var n=[];for(var e=0;e<u.length;e++){var v=u[e];var s=v.from;var o=v.to;var f=v.rotation*t;var c=v.fromCp;var h=v.toCp;var d=Math.sin(f);var p=Math.cos(f);mr(n,c,h,t);for(var m=0;m<s.length;m+=2){var y=s[m];var b=s[m+1];var w=o[m];var M=o[m+1];var g=y*i+w*t;var x=b*i+M*t;l[m]=g*p-x*d+n[0];l[m+1]=g*d+x*p+n[1]}var S=l[0];var I=l[1];r.moveTo(S,I);for(var m=2;m<s.length;){var w=l[m++];var M=l[m++];var k=l[m++];var N=l[m++];var T=l[m++];var D=l[m++];if(S===w&&I===M&&k===T&&N===D){r.lineTo(T,D)}else{r.bezierCurveTo(w,M,k,N,T,D)}S=T;I=D}}}})}function $a(r,a,t){if(!r||!a){return a}var i=t.done;var n=t.during;Qa(r,a);a.__morphT=0;function e(){Wa(a,"buildPath");Wa(a,"updateTransform");a.__morphT=-1;a.createPathProxy();a.dirtyShape()}a.animateTo({__morphT:1},V({during:function(r){a.dirtyShape();n&&n(r)},done:function(){e();i&&i()}},t));return a}function rt(r,a,t,i,n,e){var v=16;r=n===t?0:Math.round(32767*(r-t)/(n-t));a=e===i?0:Math.round(32767*(a-i)/(e-i));var s=0;var o;for(var f=(1<<v)/2;f>0;f/=2){var u=0;var l=0;if((r&f)>0){u=1}if((a&f)>0){l=1}s+=f*f*(3*u^l);if(l===0){if(u===1){r=f-1-r;a=f-1-a}o=r;r=a;a=o}}return s}function at(r){var a=Infinity;var t=Infinity;var i=-Infinity;var n=-Infinity;var e=_(r,(function(r){var e=r.getBoundingRect();var v=r.getComputedTransform();var s=e.x+e.width/2+(v?v[4]:0);var o=e.y+e.height/2+(v?v[5]:0);a=Math.min(s,a);t=Math.min(o,t);i=Math.max(s,i);n=Math.max(o,n);return[s,o]}));var v=_(e,(function(e,v){return{cp:e,z:rt(e[0],e[1],a,t,i,n),path:r[v]}}));return v.sort((function(r,a){return r.z-a.z})).map((function(r){return r.path}))}function tt(r){return ja(r.path,r.count)}function it(){return{fromIndividuals:[],toIndividuals:[],count:0}}function nt(r,a,t){var i=[];function n(r){for(var a=0;a<r.length;a++){var t=r[a];if(Va(t)){n(t.childrenRef())}else if(t instanceof R){i.push(t)}}}n(r);var e=i.length;if(!e){return it()}var v=t.dividePath||tt;var s=v({path:a,count:e});if(s.length!==e){console.error("Invalid morphing: unmatched splitted path");return it()}i=at(i);s=at(s);var o=t.done;var f=t.during;var u=t.individualDelay;var l=new pr;for(var c=0;c<e;c++){var h=i[c];var d=s[c];d.parent=a;d.copyTransform(l);if(!u){Qa(h,d)}}a.__isCombineMorphing=true;a.childrenRef=function(){return s};function p(r){for(var a=0;a<s.length;a++){s[a].addSelfToZr(r)}}Ha(a,"addSelfToZr",{after:function(r){p(r)}});Ha(a,"removeSelfFromZr",{after:function(r){for(var a=0;a<s.length;a++){s[a].removeSelfFromZr(r)}}});function m(){a.__isCombineMorphing=false;a.__morphT=-1;a.childrenRef=null;Wa(a,"addSelfToZr");Wa(a,"removeSelfFromZr")}var y=s.length;if(u){var b=y;var w=function(){b--;if(b===0){m();o&&o()}};for(var c=0;c<y;c++){var M=u?V({delay:(t.delay||0)+u(c,y,i[c],s[c]),done:w},t):t;$a(i[c],s[c],M)}}else{a.__morphT=0;a.animateTo({__morphT:1},V({during:function(r){for(var t=0;t<y;t++){var i=s[t];i.__morphT=a.__morphT;i.dirtyShape()}f&&f(r)},done:function(){m();for(var a=0;a<r.length;a++){Wa(r[a],"updateTransform")}o&&o()}},t))}if(a.__zr){p(a.__zr)}return{fromIndividuals:i,toIndividuals:s,count:y}}function et(r,a,t){var i=a.length;var n=[];var e=t.dividePath||tt;function v(r){for(var a=0;a<r.length;a++){var t=r[a];if(Va(t)){v(t.childrenRef())}else if(t instanceof R){n.push(t)}}}if(Va(r)){v(r.childrenRef());var s=n.length;if(s<i){var o=0;for(var f=s;f<i;f++){n.push(lr(n[o++%s]))}}n.length=i}else{n=e({path:r,count:i});var u=r.getComputedTransform();for(var f=0;f<n.length;f++){n[f].setLocalTransform(u)}if(n.length!==i){console.error("Invalid morphing: unmatched splitted path");return it()}}n=at(n);a=at(a);var l=t.individualDelay;for(var f=0;f<i;f++){var c=l?V({delay:(t.delay||0)+l(f,i,n[f],a[f])},t):t;$a(n[f],a[f],c)}return{fromIndividuals:n,toIndividuals:a,count:a.length}}function vt(r){return br(r[0])}function st(r,a){var t=[];var i=r.length;for(var n=0;n<i;n++){t.push({one:r[n],many:[]})}for(var n=0;n<a.length;n++){var e=a[n].length;var v=void 0;for(v=0;v<e;v++){t[v%i].many.push(a[n][v])}}var s=0;for(var n=i-1;n>=0;n--){if(!t[n].many.length){var o=t[s].many;if(o.length<=1){if(s){s=0}else{return t}}var e=o.length;var f=Math.ceil(e/2);t[n].many=o.slice(f,e);t[s].many=o.slice(0,f);s++}}return t}var ot={clone:function(r){var a=[];var t=1-Math.pow(1-r.path.style.opacity,1/r.count);for(var i=0;i<r.count;i++){var n=lr(r.path);n.setStyle("opacity",t);a.push(n)}return a},split:null};function ft(r,a,t,i,n,e){if(!r.length||!a.length){return}var v=yr("update",i,n);if(!(v&&v.duration>0)){return}var s=i.getModel("universalTransition").get("delay");var o=Object.assign({setToFinal:true},v);var f;var u;if(vt(r)){f=r;u=a}if(vt(a)){f=a;u=r}function l(r,a,i,n,v){var f=r.many;var u=r.one;if(f.length===1&&!v){var c=a?f[0]:u;var h=a?u:f[0];if(Va(c)){l({many:[c],one:h},true,i,n,true)}else{var d=s?V({delay:s(i,n)},o):o;$a(c,h,d);e(c,h,c,h,d)}}else{var p=V({dividePath:ot[t],individualDelay:s&&function(r,a,t,e){return s(r+i,n)}},o);var m=a?nt(f,u,p):et(u,f,p),y=m.fromIndividuals,b=m.toIndividuals;var w=y.length;for(var M=0;M<w;M++){var d=s?V({delay:s(M,w)},o):o;e(y[M],b[M],a?f[M]:r.one,a?r.one:f[M],d)}}}var c=f?f===r:r.length>a.length;var h=f?st(u,f):st(c?a:r,[c?r:a]);var d=0;for(var p=0;p<h.length;p++){d+=h[p].many.length}var m=0;for(var p=0;p<h.length;p++){l(h[p],c,m,d);m+=h[p].many.length}}function ut(r){if(!r){return[]}if(br(r)){var a=[];for(var t=0;t<r.length;t++){a.push(ut(r[t]))}return a}var i=[];r.traverse((function(r){if(r instanceof R&&!r.disableMorphing&&!r.invisible&&!r.ignore){i.push(r)}}));return i}var lt=1e4;var ct=0;var ht=1;var dt=2;var pt=gr();function mt(r,a){var t=r.dimensions;for(var i=0;i<t.length;i++){var n=r.getDimensionInfo(t[i]);if(n&&n.otherDims[a]===0){return t[i]}}}function yt(r,a,t){var i=r.getDimensionInfo(t);var n=i&&i.ordinalMeta;if(i){var e=r.get(i.name,a);if(n){return n.categories[e]||e+""}return e+""}}function bt(r,a,t,i){var n=i?"itemChildGroupId":"itemGroupId";var e=mt(r,n);if(e){var v=yt(r,a,e);return v}var s=r.getRawDataItem(a);var o=i?"childGroupId":"groupId";if(s&&s[o]){return s[o]+""}if(i){return}return t||r.getId(a)}function wt(r){var a=[];tr(r,(function(r){var t=r.data;var i=r.dataGroupId;if(t.count()>lt){return}var n=t.getIndices();for(var e=0;e<n.length;e++){a.push({data:t,groupId:bt(t,e,i,false),childGroupId:bt(t,e,i,true),divide:r.divide,dataIndex:e})}}));return a}function Mt(r,a,t){r.traverse((function(r){if(r instanceof R){I(r,{style:{opacity:0}},a,{dataIndex:t,isFrom:true})}}))}function gt(r){if(r.parent){var a=r.getComputedTransform();r.setLocalTransform(a);r.parent.remove(r)}}function xt(r){r.stopAnimation();if(r.isGroup){r.traverse((function(r){r.stopAnimation()}))}}function St(r,a,t){var i=yr("update",t,a);i&&r.traverse((function(r){if(r instanceof kr){var a=Nr(r);if(a){r.animateFrom({style:a},i)}}}))}function It(r,a){var t=r.length;if(t!==a.length){return false}for(var i=0;i<t;i++){var n=r[i];var e=a[i];if(n.data.getId(n.dataIndex)!==e.data.getId(e.dataIndex)){return false}}return true}function kt(r,a,t){var i=wt(r);var n=wt(a);function e(r,a,t,i,n){if(t||r){a.animateFrom({style:t&&t!==r?D(D({},t.style),r.style):r.style},n)}}var v=false;var s=ct;var o=xr();var f=xr();i.forEach((function(r){r.groupId&&o.set(r.groupId,true);r.childGroupId&&f.set(r.childGroupId,true)}));for(var u=0;u<n.length;u++){var l=n[u].groupId;if(f.get(l)){s=ht;break}var c=n[u].childGroupId;if(c&&o.get(c)){s=dt;break}}function h(r,a){return function(t){var i=t.data;var n=t.dataIndex;if(a){return i.getId(n)}if(r){return s===ht?t.childGroupId:t.groupId}else{return s===dt?t.childGroupId:t.groupId}}}var d=It(i,n);var p={};if(!d){for(var u=0;u<n.length;u++){var m=n[u];var y=m.data.getItemGraphicEl(m.dataIndex);if(y){p[y.id]=true}}}function b(r,a){var t=i[a];var s=n[r];var o=s.data.hostModel;var f=t.data.getItemGraphicEl(t.dataIndex);var u=s.data.getItemGraphicEl(s.dataIndex);if(f===u){u&&St(u,s.dataIndex,o);return}if(f&&p[f.id]){return}if(u){xt(u);if(f){xt(f);gt(f);v=true;ft(ut(f),ut(u),s.divide,o,r,e)}else{Mt(u,o,r)}}}new Sr(i,n,h(true,d),h(false,d),null,"multiple").update(b).updateManyToOne((function(r,a){var t=n[r];var s=t.data;var o=s.hostModel;var f=s.getItemGraphicEl(t.dataIndex);var u=Ir(_(a,(function(r){return i[r].data.getItemGraphicEl(i[r].dataIndex)})),(function(r){return r&&r!==f&&!p[r.id]}));if(f){xt(f);if(u.length){tr(u,(function(r){xt(r);gt(r)}));v=true;ft(ut(u),ut(f),t.divide,o,r,e)}else{Mt(f,o,t.dataIndex)}}})).updateOneToMany((function(r,a){var t=i[a];var s=t.data.getItemGraphicEl(t.dataIndex);if(s&&p[s.id]){return}var o=Ir(_(r,(function(r){return n[r].data.getItemGraphicEl(n[r].dataIndex)})),(function(r){return r&&r!==s}));var f=n[r[0]].data.hostModel;if(o.length){tr(o,(function(r){return xt(r)}));if(s){xt(s);gt(s);v=true;ft(ut(s),ut(o),t.divide,f,r[0],e)}else{tr(o,(function(a){return Mt(a,f,r[0])}))}}})).updateManyToMany((function(r,a){new Sr(a,r,(function(r){return i[r].data.getId(i[r].dataIndex)}),(function(r){return n[r].data.getId(n[r].dataIndex)})).update((function(t,i){b(r[t],a[i])})).execute()})).execute();if(v){tr(a,(function(r){var a=r.data;var i=a.hostModel;var n=i&&t.getViewOfSeriesModel(i);var e=yr("update",i,0);if(n&&i.isAnimationEnabled()&&e&&e.duration>0){n.group.traverse((function(r){if(r instanceof R&&!r.animators.length){r.animateFrom({style:{opacity:0}},e)}}))}}))}}function Nt(r){var a=r.getModel("universalTransition").get("seriesKey");if(!a){return r.id}return a}function Tt(r){if(br(r)){return r.sort().join(",")}return r}function Dt(r){if(r.hostModel){return r.hostModel.getModel("universalTransition").get("divideShape")}}function Lt(r,a){var t=xr();var i=xr();var n=xr();tr(r.oldSeries,(function(a,t){var e=r.oldDataGroupIds[t];var v=r.oldData[t];var s=Nt(a);var o=Tt(s);i.set(o,{dataGroupId:e,data:v});if(br(s)){tr(s,(function(r){n.set(r,{key:o,dataGroupId:e,data:v})}))}}));tr(a.updatedSeries,(function(r){if(r.isUniversalTransitionEnabled()&&r.isAnimationEnabled()){var a=r.get("dataGroupId");var e=r.getData();var v=Nt(r);var s=Tt(v);var o=i.get(s);if(o){t.set(s,{oldSeries:[{dataGroupId:o.dataGroupId,divide:Dt(o.data),data:o.data}],newSeries:[{dataGroupId:a,divide:Dt(e),data:e}]})}else{if(br(v)){var f=[];tr(v,(function(r){var a=i.get(r);if(a.data){f.push({dataGroupId:a.dataGroupId,divide:Dt(a.data),data:a.data})}}));if(f.length){t.set(s,{oldSeries:f,newSeries:[{dataGroupId:a,data:e,divide:Dt(e)}]})}}else{var u=n.get(v);if(u){var l=t.get(u.key);if(!l){l={oldSeries:[{dataGroupId:u.dataGroupId,data:u.data,divide:Dt(u.data)}],newSeries:[]};t.set(u.key,l)}l.newSeries.push({dataGroupId:a,data:e,divide:Dt(e)})}}}}}));return t}function Ct(r,a){for(var t=0;t<r.length;t++){var i=a.seriesIndex!=null&&a.seriesIndex===r[t].seriesIndex||a.seriesId!=null&&a.seriesId===r[t].id;if(i){return t}}}function Ut(r,a,t,i){var n=[];var e=[];tr(wr(r.from),(function(r){var t=Ct(a.oldSeries,r);if(t>=0){n.push({dataGroupId:a.oldDataGroupIds[t],data:a.oldData[t],divide:Dt(a.oldData[t]),groupIdDim:r.dimension})}}));tr(wr(r.to),(function(r){var i=Ct(t.updatedSeries,r);if(i>=0){var n=t.updatedSeries[i].getData();e.push({dataGroupId:a.oldDataGroupIds[i],data:n,divide:Dt(n),groupIdDim:r.dimension})}}));if(n.length>0&&e.length>0){kt(n,e,i)}}function At(r){r.registerUpdateLifecycle("series:beforeupdate",(function(r,a,t){tr(wr(t.seriesTransition),(function(r){tr(wr(r.to),(function(r){var a=t.updatedSeries;for(var i=0;i<a.length;i++){if(r.seriesIndex!=null&&r.seriesIndex===a[i].seriesIndex||r.seriesId!=null&&r.seriesId===a[i].id){a[i][Mr]=true}}}))}))}));r.registerUpdateLifecycle("series:transition",(function(r,a,t){var i=pt(a);if(i.oldSeries&&t.updatedSeries&&t.optionChanged){var n=t.seriesTransition;if(n){tr(wr(n),(function(r){Ut(r,i,t,a)}))}else{var e=Lt(i,t);tr(e.keys(),(function(r){var t=e.get(r);kt(t.oldSeries,t.newSeries,a)}))}tr(t.updatedSeries,(function(r){if(r[Mr]){r[Mr]=false}}))}var v=r.getSeries();var s=i.oldSeries=[];var o=i.oldDataGroupIds=[];var f=i.oldData=[];for(var u=0;u<v.length;u++){var l=v[u].getData();if(l.count()<lt){s.push(v[u]);o.push(v[u].get("dataGroupId"));f.push(l)}}}))}const Ot="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{width:var(--tct-area-chart-width, 100%);height:var(--tct-area-chart-height, 100%);display:block}.container{width:100%;height:100%}.chart-container{width:100%;height:100%}";const zt=Ot;Tr([Dr,Ma,Lr,At,h,d]);const Gt=class{constructor(t){r(this,t);this.change=a(this,"change",7);this.data=[];this.alignChartName=undefined;this.areaColor=undefined;this.chartName=undefined;this.chartSubTitle=undefined;this.dataNamesOverflow=undefined;this.dataNamesWidth=undefined;this.format=undefined;this.formatModifier=undefined;this.gridLines=undefined;this.hideNameAxisLabels=false;this.hideValueAxisLabels=false;this.lineColor=undefined;this.offsetDataNames=false;this.offsetDataValues=false;this.pointerLineColor=undefined;this.pointerLineStyle=undefined;this.showChartName=false;this.showDatapointLabels=false;this.showGradient=false}componentDidLoad(){const r=Cr(this.chartContainer);this.chart=r;this.resizeEventListener=()=>this.resizeChart();window.addEventListener("resize",this.resizeEventListener);this.cacheComputedStyles();this.updateChart(r);n(this.hostElement)}disconnectedCallback(){window.removeEventListener("resize",this.resizeEventListener)}cacheComputedStyles(){this.chartContainerStyles=getComputedStyle(this.chartContainer);this.hostElementStyles=getComputedStyle(this.hostElement)}getAreaFill(){if(this.showGradient){return{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:this.getColor(this.areaColor)},{offset:1,color:"white"}],global:false}}return this.getColor(this.areaColor)}getColor(r){const a=p("var(--t-primary)",this.chartContainerStyles,this.hostElementStyles);const t=p(r,this.chartContainerStyles,this.hostElementStyles);if(t)return t;if(m(r))return r;return a}updateChart(r){var a;const t=((a=this.formatModifier)===null||a===void 0?void 0:a.includes("dec"))?this.formatModifier.replace("dec",""):0;const i={type:"value",axisLabel:{formatter:r=>y(r,{type:this.format,decimals:t}),rotate:this.offsetDataValues?45:0,margin:this.offsetDataValues?15:8,show:!this.hideValueAxisLabels},splitLine:{show:this.gridLines==="horizontal"||!this.gridLines}};const n={type:"category",boundaryGap:false,data:this.data.map((r=>e(r.name)||"")),axisLabel:{rotate:this.offsetDataNames?45:0,margin:this.offsetDataNames?15:8,width:this.dataNamesWidth||50,overflow:this.dataNamesOverflow||"none",truncate:"ellipsis",show:!this.hideNameAxisLabels},axisLine:{show:!this.hideNameAxisLabels},axisTick:{show:!this.hideNameAxisLabels},axisPointer:{show:true,type:"line",label:{show:false,formatter:r=>{const a=r.seriesData[0].dataIndex;this.change.emit({index:a,data:this.data[a]})}},lineStyle:{color:this.getColor(this.pointerLineColor||"var(--t-gray-10)"),type:this.pointerLineStyle||"solid",width:1.5},z:1},splitLine:{show:this.gridLines==="vertical"}};return r.setOption({aria:{enabled:true},title:{text:e(this.chartName),show:this.showChartName,left:this.alignChartName,subtext:this.chartSubTitle},grid:{containLabel:true},xAxis:n,yAxis:i,series:[{data:this.data.map((r=>r.value||0)),id:"area",type:"line",lineStyle:{color:this.getColor(this.lineColor)},itemStyle:{color:this.getColor(this.lineColor)},areaStyle:{color:this.getAreaFill()},symbolSize:10,showSymbol:false,label:{show:this.showDatapointLabels,position:"right",formatter:r=>y(r.value,{type:this.format,decimals:t})}}]})}resizeChart(){this.chart.resize()}propsUpdates(){this.updateChart(this.chart)}render(){return t("div",{key:"c9e469efcd0cb91b3116d1a5dae051c38b70657f",class:"container"},t("div",{key:"22ea317a0f8506a9ccf1ac5f454a5e97cb3f7621",ref:r=>this.chartContainer=r,class:"chart-container","test-id":"areaChartContainer"}))}get hostElement(){return i(this)}static get watchers(){return{data:["propsUpdates"],alignChartName:["propsUpdates"],chartName:["propsUpdates"],chartSubTitle:["propsUpdates"],lineColor:["propsUpdates"],pointerLineColor:["propsUpdates"],pointerLineStyle:["propsUpdates"],areaColor:["propsUpdates"],dataNamesOverflow:["propsUpdates"],dataNamesWidth:["propsUpdates"],format:["propsUpdates"],formatModifier:["propsUpdates"],hideNameAxisLabels:["propsUpdates"],hideValueAxisLabels:["propsUpdates"],offsetDataNames:["propsUpdates"],offsetDataValues:["propsUpdates"],showChartName:["propsUpdates"],showDatapointLabels:["propsUpdates"],showGradient:["propsUpdates"],gridLines:["propsUpdates"]}}};Gt.style=zt;export{Gt as q2_chart_area};
2
+ //# sourceMappingURL=p-2d6a9a94.entry.js.map