@yoka-ui/ui 1.0.10-test → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/@Docs-yoka/exports.generated.md +68 -62
  2. package/LICENSE +21 -0
  3. package/README.md +40 -189
  4. package/dist/es/assets/image/skills.zip +0 -0
  5. package/dist/es/business/AiChat/aichat-logo.svg +1 -0
  6. package/dist/es/business/AiChat/index.d.ts +3 -3
  7. package/dist/es/business/AiChat/index.js +322 -137
  8. package/dist/es/business/AiChat/index.js.map +3 -3
  9. package/dist/es/business/AiChat/index.module.less +24 -0
  10. package/dist/es/business/AiChat/intentRecognizer.js.map +1 -1
  11. package/dist/es/business/AiChat/navigationManager.js +6 -6
  12. package/dist/es/business/AiChat/navigationManager.js.map +2 -2
  13. package/dist/es/business/AiChat/sse.d.ts +15 -0
  14. package/dist/es/business/AiChat/sse.js +118 -7
  15. package/dist/es/business/AiChat/sse.js.map +2 -2
  16. package/dist/es/business/AiChat/type.d.ts +22 -23
  17. package/dist/es/business/AiChat/useAiChat.js +105 -75
  18. package/dist/es/business/AiChat/useAiChat.js.map +3 -3
  19. package/dist/es/business/AiChat/useTaskWorkflow.d.ts +1 -2
  20. package/dist/es/business/AiChat/useTaskWorkflow.js +2 -36
  21. package/dist/es/business/AiChat/useTaskWorkflow.js.map +2 -2
  22. package/dist/es/business/DrawerPageInfo/index.js.map +1 -1
  23. package/dist/es/business/Editor/index.d.ts +1 -1
  24. package/dist/es/business/Editor/index.js.map +2 -2
  25. package/dist/es/business/Empty/index.js +1 -1
  26. package/dist/es/business/Empty/index.js.map +1 -1
  27. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +2 -2
  28. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +2 -2
  29. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +3 -3
  30. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +2 -2
  31. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +2 -2
  32. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +2 -2
  33. package/dist/es/business/ModCommonFilter/index.d.ts +1 -1
  34. package/dist/es/business/ModCommonFilter/index.js.map +2 -2
  35. package/dist/es/business/YkCharts/Area.d.ts +18 -0
  36. package/dist/es/business/YkCharts/Area.js +336 -0
  37. package/dist/es/business/YkCharts/Area.js.map +7 -0
  38. package/dist/es/business/YkCharts/Bar.d.ts +21 -0
  39. package/dist/es/business/YkCharts/Bar.js +316 -0
  40. package/dist/es/business/YkCharts/Bar.js.map +7 -0
  41. package/dist/es/business/YkCharts/BarProperty.d.ts +21 -0
  42. package/dist/es/business/YkCharts/BarProperty.js +357 -0
  43. package/dist/es/business/YkCharts/BarProperty.js.map +7 -0
  44. package/dist/es/business/YkCharts/BarTotal.d.ts +21 -0
  45. package/dist/es/business/YkCharts/BarTotal.js +292 -0
  46. package/dist/es/business/YkCharts/BarTotal.js.map +7 -0
  47. package/dist/es/business/YkCharts/Line.d.ts +21 -0
  48. package/dist/es/business/YkCharts/Line.js +342 -0
  49. package/dist/es/business/YkCharts/Line.js.map +7 -0
  50. package/dist/es/business/YkCharts/Pie.d.ts +19 -0
  51. package/dist/es/business/YkCharts/Pie.js +107 -0
  52. package/dist/es/business/YkCharts/Pie.js.map +7 -0
  53. package/dist/es/business/YkCharts/PieProperty.d.ts +18 -0
  54. package/dist/es/business/YkCharts/PieProperty.js +180 -0
  55. package/dist/es/business/YkCharts/PieProperty.js.map +7 -0
  56. package/dist/es/business/YkCharts/Pies.d.ts +26 -0
  57. package/dist/es/business/YkCharts/Pies.js +352 -0
  58. package/dist/es/business/YkCharts/Pies.js.map +7 -0
  59. package/dist/es/business/YkCharts/constants.d.ts +1 -0
  60. package/dist/es/business/YkCharts/constants.js +47 -0
  61. package/dist/es/business/YkCharts/constants.js.map +7 -0
  62. package/dist/es/business/YkCharts/hooks.d.ts +4 -0
  63. package/dist/es/business/YkCharts/hooks.js +37 -0
  64. package/dist/es/business/YkCharts/hooks.js.map +7 -0
  65. package/dist/es/business/YkCharts/index.d.ts +9 -0
  66. package/dist/es/business/YkCharts/index.js +20 -0
  67. package/dist/es/business/YkCharts/index.js.map +7 -0
  68. package/dist/es/business/YkCharts/index.module.less +164 -0
  69. package/dist/es/business/YkCharts/tooltip.less +92 -0
  70. package/dist/es/business/YkCharts/transformData.js +16 -0
  71. package/dist/es/business/YkCharts/transformData.js.map +7 -0
  72. package/dist/es/business/YkCharts/typing.d.ts +74 -0
  73. package/dist/es/business/YkCharts/typing.js +1 -0
  74. package/dist/es/business/YkCharts/typing.js.map +7 -0
  75. package/dist/es/business/YkCharts/utils.d.ts +4 -0
  76. package/dist/es/business/YkCharts/utils.js +109 -0
  77. package/dist/es/business/YkCharts/utils.js.map +7 -0
  78. package/dist/es/business/YkCharts/variables.less +13 -0
  79. package/dist/es/business/YkLoginModule/SmsLoginForm.d.ts +25 -0
  80. package/dist/es/business/YkLoginModule/SmsLoginForm.js +178 -0
  81. package/dist/es/business/YkLoginModule/SmsLoginForm.js.map +7 -0
  82. package/dist/es/business/YkLoginModule/index.d.ts +48 -0
  83. package/dist/es/business/YkLoginModule/index.js +198 -0
  84. package/dist/es/business/YkLoginModule/index.js.map +7 -0
  85. package/dist/es/business/YkLoginModule/styles.module.less +169 -0
  86. package/dist/es/business/YkPorjectSelect/index.d.ts +1 -1
  87. package/dist/es/business/YkPorjectSelect/index.js +2 -2
  88. package/dist/es/business/YkPorjectSelect/index.js.map +2 -2
  89. package/dist/es/business/YkSqlEdit/code-mirror-custom.module.less +154 -0
  90. package/dist/es/business/YkSqlEdit/index.d.ts +20 -0
  91. package/dist/es/business/YkSqlEdit/index.js +180 -0
  92. package/dist/es/business/YkSqlEdit/index.js.map +7 -0
  93. package/dist/es/business/YkSqlEdit/sql-language.d.ts +11 -0
  94. package/dist/es/business/YkSqlEdit/sql-language.js +1460 -0
  95. package/dist/es/business/YkSqlEdit/sql-language.js.map +7 -0
  96. package/dist/es/components/DebounceInput/index.js.map +2 -2
  97. package/dist/es/components/MultipleSelect/index.d.ts +14 -0
  98. package/dist/es/components/MultipleSelect/index.js +1 -1
  99. package/dist/es/components/MultipleSelect/index.js.map +2 -2
  100. package/dist/es/components/RefreshButton/index.js.map +2 -2
  101. package/dist/es/components/SearchWithHistory/index.js +1 -1
  102. package/dist/es/components/SearchWithHistory/index.js.map +2 -2
  103. package/dist/es/components/TextWithToolTip/index.d.ts +1 -1
  104. package/dist/es/components/TextWithToolTip/index.js.map +2 -2
  105. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +1 -24
  106. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +2 -2
  107. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +2 -2
  108. package/dist/es/components/TreeTransfer/index.d.ts +1 -24
  109. package/dist/es/components/TreeTransfer/index.js +8 -8
  110. package/dist/es/components/TreeTransfer/index.js.map +2 -2
  111. package/dist/es/components/TreeTransfer/utils/index.d.ts +1 -1
  112. package/dist/es/components/TreeTransfer/utils/index.js.map +2 -2
  113. package/dist/es/components/YKMarkdown/index.d.ts +11 -0
  114. package/dist/es/components/YKMarkdown/index.js +236 -0
  115. package/dist/es/components/YKMarkdown/index.js.map +7 -0
  116. package/dist/es/components/YKMarkdown/index.module.less +83 -0
  117. package/dist/es/components/YkDateRangePicker/YkDateRangePicker.mdx +194 -0
  118. package/dist/es/components/YkDateRangePicker/index.d.ts +9 -1
  119. package/dist/es/components/YkDateRangePicker/index.js +127 -61
  120. package/dist/es/components/YkDateRangePicker/index.js.map +2 -2
  121. package/dist/es/components/YkDateRangePicker/index.module.less +33 -9
  122. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +1 -1
  123. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +3 -2
  124. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +2 -2
  125. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +1 -1
  126. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +23 -3
  127. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +2 -2
  128. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +1 -1
  129. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +2 -2
  130. package/dist/es/components/YkRangeDateWithVS/index.d.ts +2 -2
  131. package/dist/es/components/YkRangeDateWithVS/index.js.map +2 -2
  132. package/dist/es/components/YkRangeDateWithVS/index.module.less +22 -4
  133. package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +1 -1
  134. package/dist/es/components/YkRangeTimeWithRecent/index.js.map +2 -2
  135. package/dist/es/creative/ArcCheckbox/index.d.ts +12 -0
  136. package/dist/es/creative/ArcCheckbox/index.js +49 -0
  137. package/dist/es/creative/ArcCheckbox/index.js.map +7 -0
  138. package/dist/es/creative/ArcCheckbox/index.module.less +102 -0
  139. package/dist/es/creative/ButtonRadioWithInfo/index.js.map +1 -1
  140. package/dist/es/creative/ButtonWithProgress/index.d.ts +1 -1
  141. package/dist/es/creative/ButtonWithProgress/index.js.map +2 -2
  142. package/dist/es/creative/GlassSegmentedRadio/index.d.ts +24 -0
  143. package/dist/es/creative/GlassSegmentedRadio/index.js +75 -0
  144. package/dist/es/creative/GlassSegmentedRadio/index.js.map +7 -0
  145. package/dist/es/creative/GlassSegmentedRadio/index.module.less +241 -0
  146. package/dist/es/creative/SkillsWriter/index.d.ts +3 -0
  147. package/dist/es/creative/SkillsWriter/index.js +191 -0
  148. package/dist/es/creative/SkillsWriter/index.js.map +7 -0
  149. package/dist/es/creative/SkillsWriter/index.module.less +21 -0
  150. package/dist/es/index.d.ts +32 -24
  151. package/dist/es/index.js +90 -80
  152. package/dist/es/index.js.map +2 -2
  153. package/dist/es/index.less +45 -0
  154. package/dist/es/layout/FlexGrid/index.d.ts +1 -1
  155. package/dist/es/layout/FlexGrid/index.js.map +2 -2
  156. package/dist/es/layout/YkContainer/index.js.map +1 -1
  157. package/dist/es/layout/YkDrawer/index.d.ts +1 -1
  158. package/dist/es/layout/YkDrawer/index.js.map +2 -2
  159. package/dist/es/ui/LabelSelect/demo.js +1 -1
  160. package/dist/es/ui/LabelSelect/demo.js.map +2 -2
  161. package/dist/es/ui/LabelSelect/index.d.ts +1 -1
  162. package/dist/es/ui/LabelSelect/index.js +1 -1
  163. package/dist/es/ui/LabelSelect/index.js.map +2 -2
  164. package/dist/es/ui/LogicOperator/index.d.ts +1 -1
  165. package/dist/es/ui/LogicOperator/index.js.map +2 -2
  166. package/dist/es/ui/YkButton/index.d.ts +1 -1
  167. package/dist/es/ui/YkButton/index.js.map +2 -2
  168. package/dist/es/ui/YkCard/index.d.ts +1 -1
  169. package/dist/es/ui/YkCard/index.js +1 -1
  170. package/dist/es/ui/YkCard/index.js.map +2 -2
  171. package/dist/es/ui/YkCheckbox/index.d.ts +1 -1
  172. package/dist/es/ui/YkCheckbox/index.js.map +2 -2
  173. package/dist/es/ui/YkDescriptions/index.d.ts +1 -1
  174. package/dist/es/ui/YkDescriptions/index.js.map +2 -2
  175. package/dist/es/ui/YkPagination/index.d.ts +1 -1
  176. package/dist/es/ui/YkPagination/index.js.map +2 -2
  177. package/dist/es/ui/YkRadio/index.d.ts +1 -1
  178. package/dist/es/ui/YkRadio/index.js.map +2 -2
  179. package/dist/es/ui/YkSegmented/index.d.ts +1 -1
  180. package/dist/es/ui/YkSegmented/index.js.map +2 -2
  181. package/dist/es/ui/YkSelect/index.d.ts +1 -1
  182. package/dist/es/ui/YkSelect/index.js.map +2 -2
  183. package/dist/es/ui/YkSpin/index.d.ts +1 -1
  184. package/dist/es/ui/YkSpin/index.js.map +2 -2
  185. package/dist/es/ui/YkStatistic/index.d.ts +1 -1
  186. package/dist/es/ui/YkStatistic/index.js.map +2 -2
  187. package/dist/es/ui/YkSwitch/index.d.ts +1 -1
  188. package/dist/es/ui/YkSwitch/index.js.map +2 -2
  189. package/dist/es/ui/YkTabs/index.d.ts +1 -1
  190. package/dist/es/ui/YkTabs/index.js.map +2 -2
  191. package/dist/es/ui/YkTooltip/index.d.ts +1 -1
  192. package/dist/es/ui/YkTooltip/index.js.map +2 -2
  193. package/dist/es/utils/styleUtils.js.map +2 -2
  194. package/dist/es/utils/ykStorybookDoc.d.ts +15 -0
  195. package/dist/es/utils/ykStorybookDoc.js +24 -2
  196. package/dist/es/utils/ykStorybookDoc.js.map +2 -2
  197. package/dist/lib/assets/image/skills.zip +0 -0
  198. package/dist/lib/business/AiChat/aichat-logo.svg +1 -0
  199. package/dist/lib/business/AiChat/index.d.ts +3 -3
  200. package/dist/lib/business/AiChat/index.js +311 -129
  201. package/dist/lib/business/AiChat/index.js.map +3 -3
  202. package/dist/lib/business/AiChat/index.module.less +24 -0
  203. package/dist/lib/business/AiChat/intentRecognizer.js.map +1 -1
  204. package/dist/lib/business/AiChat/navigationManager.js +6 -6
  205. package/dist/lib/business/AiChat/navigationManager.js.map +2 -2
  206. package/dist/lib/business/AiChat/sse.d.ts +15 -0
  207. package/dist/lib/business/AiChat/sse.js +117 -7
  208. package/dist/lib/business/AiChat/sse.js.map +2 -2
  209. package/dist/lib/business/AiChat/type.d.ts +22 -23
  210. package/dist/lib/business/AiChat/type.js.map +1 -1
  211. package/dist/lib/business/AiChat/useAiChat.js +104 -74
  212. package/dist/lib/business/AiChat/useAiChat.js.map +3 -3
  213. package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +1 -2
  214. package/dist/lib/business/AiChat/useTaskWorkflow.js +0 -34
  215. package/dist/lib/business/AiChat/useTaskWorkflow.js.map +2 -2
  216. package/dist/lib/business/DrawerPageInfo/index.js.map +1 -1
  217. package/dist/lib/business/Editor/index.d.ts +1 -1
  218. package/dist/lib/business/Editor/index.js.map +2 -2
  219. package/dist/lib/business/Empty/index.js +1 -1
  220. package/dist/lib/business/Empty/index.js.map +1 -1
  221. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +3 -3
  222. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +2 -2
  223. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +4 -4
  224. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +2 -2
  225. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +3 -3
  226. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +2 -2
  227. package/dist/lib/business/ModCommonFilter/index.d.ts +1 -1
  228. package/dist/lib/business/ModCommonFilter/index.js.map +2 -2
  229. package/dist/lib/business/YkCharts/Area.d.ts +18 -0
  230. package/dist/lib/business/YkCharts/Area.js +346 -0
  231. package/dist/lib/business/YkCharts/Area.js.map +7 -0
  232. package/dist/lib/business/YkCharts/Bar.d.ts +21 -0
  233. package/dist/lib/business/YkCharts/Bar.js +323 -0
  234. package/dist/lib/business/YkCharts/Bar.js.map +7 -0
  235. package/dist/lib/business/YkCharts/BarProperty.d.ts +21 -0
  236. package/dist/lib/business/YkCharts/BarProperty.js +370 -0
  237. package/dist/lib/business/YkCharts/BarProperty.js.map +7 -0
  238. package/dist/lib/business/YkCharts/BarTotal.d.ts +21 -0
  239. package/dist/lib/business/YkCharts/BarTotal.js +298 -0
  240. package/dist/lib/business/YkCharts/BarTotal.js.map +7 -0
  241. package/dist/lib/business/YkCharts/Line.d.ts +21 -0
  242. package/dist/lib/business/YkCharts/Line.js +349 -0
  243. package/dist/lib/business/YkCharts/Line.js.map +7 -0
  244. package/dist/lib/business/YkCharts/Pie.d.ts +19 -0
  245. package/dist/lib/business/YkCharts/Pie.js +117 -0
  246. package/dist/lib/business/YkCharts/Pie.js.map +7 -0
  247. package/dist/lib/business/YkCharts/PieProperty.d.ts +18 -0
  248. package/dist/lib/business/YkCharts/PieProperty.js +193 -0
  249. package/dist/lib/business/YkCharts/PieProperty.js.map +7 -0
  250. package/dist/lib/business/YkCharts/Pies.d.ts +26 -0
  251. package/dist/lib/business/YkCharts/Pies.js +341 -0
  252. package/dist/lib/business/YkCharts/Pies.js.map +7 -0
  253. package/dist/lib/business/YkCharts/constants.d.ts +1 -0
  254. package/dist/lib/business/YkCharts/constants.js +71 -0
  255. package/dist/lib/business/YkCharts/constants.js.map +7 -0
  256. package/dist/lib/business/YkCharts/hooks.d.ts +4 -0
  257. package/dist/lib/business/YkCharts/hooks.js +62 -0
  258. package/dist/lib/business/YkCharts/hooks.js.map +7 -0
  259. package/dist/lib/business/YkCharts/index.d.ts +9 -0
  260. package/dist/lib/business/YkCharts/index.js +61 -0
  261. package/dist/lib/business/YkCharts/index.js.map +7 -0
  262. package/dist/lib/business/YkCharts/index.module.less +164 -0
  263. package/dist/lib/business/YkCharts/tooltip.less +92 -0
  264. package/dist/lib/business/YkCharts/transformData.js +40 -0
  265. package/dist/lib/business/YkCharts/transformData.js.map +7 -0
  266. package/dist/lib/business/YkCharts/typing.d.ts +74 -0
  267. package/dist/lib/business/YkCharts/typing.js +18 -0
  268. package/dist/lib/business/YkCharts/typing.js.map +7 -0
  269. package/dist/lib/business/YkCharts/utils.d.ts +4 -0
  270. package/dist/lib/business/YkCharts/utils.js +143 -0
  271. package/dist/lib/business/YkCharts/utils.js.map +7 -0
  272. package/dist/lib/business/YkCharts/variables.less +13 -0
  273. package/dist/lib/business/YkLoginModule/SmsLoginForm.d.ts +25 -0
  274. package/dist/lib/business/YkLoginModule/SmsLoginForm.js +171 -0
  275. package/dist/lib/business/YkLoginModule/SmsLoginForm.js.map +7 -0
  276. package/dist/lib/business/YkLoginModule/index.d.ts +48 -0
  277. package/dist/lib/business/YkLoginModule/index.js +206 -0
  278. package/dist/lib/business/YkLoginModule/index.js.map +7 -0
  279. package/dist/lib/business/YkLoginModule/styles.module.less +169 -0
  280. package/dist/lib/business/YkPorjectSelect/index.d.ts +1 -1
  281. package/dist/lib/business/YkPorjectSelect/index.js +3 -3
  282. package/dist/lib/business/YkPorjectSelect/index.js.map +2 -2
  283. package/dist/lib/business/YkSqlEdit/code-mirror-custom.module.less +154 -0
  284. package/dist/lib/business/YkSqlEdit/index.d.ts +20 -0
  285. package/dist/lib/business/YkSqlEdit/index.js +202 -0
  286. package/dist/lib/business/YkSqlEdit/index.js.map +7 -0
  287. package/dist/lib/business/YkSqlEdit/sql-language.d.ts +11 -0
  288. package/dist/lib/business/YkSqlEdit/sql-language.js +1493 -0
  289. package/dist/lib/business/YkSqlEdit/sql-language.js.map +7 -0
  290. package/dist/lib/components/DebounceInput/index.js.map +2 -2
  291. package/dist/lib/components/MultipleSelect/index.d.ts +14 -0
  292. package/dist/lib/components/MultipleSelect/index.js +1 -1
  293. package/dist/lib/components/MultipleSelect/index.js.map +2 -2
  294. package/dist/lib/components/RefreshButton/index.js.map +2 -2
  295. package/dist/lib/components/SearchWithHistory/index.js +1 -1
  296. package/dist/lib/components/SearchWithHistory/index.js.map +2 -2
  297. package/dist/lib/components/TextWithToolTip/index.d.ts +1 -1
  298. package/dist/lib/components/TextWithToolTip/index.js.map +2 -2
  299. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +1 -24
  300. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +2 -2
  301. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +2 -2
  302. package/dist/lib/components/TreeTransfer/index.d.ts +1 -24
  303. package/dist/lib/components/TreeTransfer/index.js +3 -3
  304. package/dist/lib/components/TreeTransfer/index.js.map +2 -2
  305. package/dist/lib/components/TreeTransfer/utils/index.d.ts +1 -1
  306. package/dist/lib/components/TreeTransfer/utils/index.js.map +2 -2
  307. package/dist/lib/components/YKMarkdown/index.d.ts +11 -0
  308. package/dist/lib/components/YKMarkdown/index.js +188 -0
  309. package/dist/lib/components/YKMarkdown/index.js.map +7 -0
  310. package/dist/lib/components/YKMarkdown/index.module.less +83 -0
  311. package/dist/lib/components/YkDateRangePicker/YkDateRangePicker.mdx +194 -0
  312. package/dist/lib/components/YkDateRangePicker/index.d.ts +9 -1
  313. package/dist/lib/components/YkDateRangePicker/index.js +127 -61
  314. package/dist/lib/components/YkDateRangePicker/index.js.map +2 -2
  315. package/dist/lib/components/YkDateRangePicker/index.module.less +33 -9
  316. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +1 -1
  317. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +3 -2
  318. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +2 -2
  319. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +1 -1
  320. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +22 -2
  321. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +2 -2
  322. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +1 -1
  323. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +2 -2
  324. package/dist/lib/components/YkRangeDateWithVS/index.d.ts +2 -2
  325. package/dist/lib/components/YkRangeDateWithVS/index.js.map +2 -2
  326. package/dist/lib/components/YkRangeDateWithVS/index.module.less +22 -4
  327. package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +1 -1
  328. package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +2 -2
  329. package/dist/lib/creative/ArcCheckbox/index.d.ts +12 -0
  330. package/dist/lib/creative/ArcCheckbox/index.js +50 -0
  331. package/dist/lib/creative/ArcCheckbox/index.js.map +7 -0
  332. package/dist/lib/creative/ArcCheckbox/index.module.less +102 -0
  333. package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +1 -1
  334. package/dist/lib/creative/ButtonWithProgress/index.d.ts +1 -1
  335. package/dist/lib/creative/ButtonWithProgress/index.js.map +2 -2
  336. package/dist/lib/creative/GlassSegmentedRadio/index.d.ts +24 -0
  337. package/dist/lib/creative/GlassSegmentedRadio/index.js +78 -0
  338. package/dist/lib/creative/GlassSegmentedRadio/index.js.map +7 -0
  339. package/dist/lib/creative/GlassSegmentedRadio/index.module.less +241 -0
  340. package/dist/lib/creative/SkillsWriter/index.d.ts +3 -0
  341. package/dist/lib/creative/SkillsWriter/index.js +200 -0
  342. package/dist/lib/creative/SkillsWriter/index.js.map +7 -0
  343. package/dist/lib/creative/SkillsWriter/index.module.less +21 -0
  344. package/dist/lib/index.d.ts +32 -24
  345. package/dist/lib/index.js +39 -24
  346. package/dist/lib/index.js.map +2 -2
  347. package/dist/lib/index.less +45 -0
  348. package/dist/lib/layout/FlexGrid/index.d.ts +1 -1
  349. package/dist/lib/layout/FlexGrid/index.js.map +2 -2
  350. package/dist/lib/layout/YkContainer/index.js.map +1 -1
  351. package/dist/lib/layout/YkDrawer/index.d.ts +1 -1
  352. package/dist/lib/layout/YkDrawer/index.js.map +2 -2
  353. package/dist/lib/ui/LabelSelect/demo.js +1 -1
  354. package/dist/lib/ui/LabelSelect/demo.js.map +2 -2
  355. package/dist/lib/ui/LabelSelect/index.d.ts +1 -1
  356. package/dist/lib/ui/LabelSelect/index.js +1 -1
  357. package/dist/lib/ui/LabelSelect/index.js.map +2 -2
  358. package/dist/lib/ui/LogicOperator/index.d.ts +1 -1
  359. package/dist/lib/ui/LogicOperator/index.js.map +2 -2
  360. package/dist/lib/ui/YkButton/index.d.ts +1 -1
  361. package/dist/lib/ui/YkButton/index.js.map +2 -2
  362. package/dist/lib/ui/YkCard/index.d.ts +1 -1
  363. package/dist/lib/ui/YkCard/index.js.map +2 -2
  364. package/dist/lib/ui/YkCheckbox/index.d.ts +1 -1
  365. package/dist/lib/ui/YkCheckbox/index.js.map +2 -2
  366. package/dist/lib/ui/YkDescriptions/index.d.ts +1 -1
  367. package/dist/lib/ui/YkDescriptions/index.js.map +2 -2
  368. package/dist/lib/ui/YkPagination/index.d.ts +1 -1
  369. package/dist/lib/ui/YkPagination/index.js.map +2 -2
  370. package/dist/lib/ui/YkRadio/index.d.ts +1 -1
  371. package/dist/lib/ui/YkRadio/index.js.map +2 -2
  372. package/dist/lib/ui/YkSegmented/index.d.ts +1 -1
  373. package/dist/lib/ui/YkSegmented/index.js.map +2 -2
  374. package/dist/lib/ui/YkSelect/index.d.ts +1 -1
  375. package/dist/lib/ui/YkSelect/index.js.map +2 -2
  376. package/dist/lib/ui/YkSpin/index.d.ts +1 -1
  377. package/dist/lib/ui/YkSpin/index.js.map +2 -2
  378. package/dist/lib/ui/YkStatistic/index.d.ts +1 -1
  379. package/dist/lib/ui/YkStatistic/index.js.map +2 -2
  380. package/dist/lib/ui/YkSwitch/index.d.ts +1 -1
  381. package/dist/lib/ui/YkSwitch/index.js.map +2 -2
  382. package/dist/lib/ui/YkTabs/index.d.ts +1 -1
  383. package/dist/lib/ui/YkTabs/index.js.map +2 -2
  384. package/dist/lib/ui/YkTooltip/index.d.ts +1 -1
  385. package/dist/lib/ui/YkTooltip/index.js.map +2 -2
  386. package/dist/lib/utils/styleUtils.js.map +2 -2
  387. package/dist/lib/utils/ykStorybookDoc.d.ts +15 -0
  388. package/dist/lib/utils/ykStorybookDoc.js +23 -1
  389. package/dist/lib/utils/ykStorybookDoc.js.map +2 -2
  390. package/package.json +151 -144
@@ -0,0 +1,193 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/business/YkCharts/PieProperty.tsx
30
+ var PieProperty_exports = {};
31
+ __export(PieProperty_exports, {
32
+ default: () => PieProperty_default
33
+ });
34
+ module.exports = __toCommonJS(PieProperty_exports);
35
+ var import_antd = require("antd");
36
+ var import_react = __toESM(require("react"));
37
+ var import_index_module = __toESM(require("./index.module.less"));
38
+ var import_Pie = __toESM(require("./Pie"));
39
+ var PieProperty = ({
40
+ count,
41
+ // 指标显示数量
42
+ metric,
43
+ // 指标
44
+ groupBys,
45
+ // 维度
46
+ tableData,
47
+ // 表格数据
48
+ baseData,
49
+ // 基础数据
50
+ columnConfigMap,
51
+ // 列配置
52
+ height
53
+ }) => {
54
+ const { x_field } = tableData;
55
+ const legendNames = (0, import_react.useMemo)(() => {
56
+ if (groupBys && groupBys.length > 1) {
57
+ const validGroups = groupBys.slice(1).filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
58
+ const arrays = validGroups.map((g) => g.selected);
59
+ const product = arrays.reduce(
60
+ (acc, curr) => {
61
+ const res = [];
62
+ acc.forEach((a) => {
63
+ curr.forEach((b) => {
64
+ res.push(Array.isArray(a) ? [...a, b] : [a, b]);
65
+ });
66
+ });
67
+ return res;
68
+ },
69
+ [[]]
70
+ );
71
+ return product.map((arr) => arr.join(","));
72
+ } else {
73
+ return metric;
74
+ }
75
+ }, [groupBys, metric]);
76
+ const legendItems = (0, import_react.useMemo)(() => {
77
+ var _a, _b;
78
+ let rows = [];
79
+ let fieldType = "string";
80
+ if (groupBys.length === 0) {
81
+ rows = baseData.map((item) => item[x_field]);
82
+ rows = Array.from(new Set(rows));
83
+ fieldType = ((_a = columnConfigMap[x_field]) == null ? void 0 : _a.type) || "string";
84
+ } else {
85
+ rows = groupBys[0].options.filter((option) => groupBys[0].selected.includes(option));
86
+ fieldType = ((_b = columnConfigMap[groupBys[0].key]) == null ? void 0 : _b.type) || "string";
87
+ }
88
+ if (fieldType === "number") {
89
+ rows = rows.sort((a, b) => {
90
+ return Number(a) > Number(b) ? 1 : -1;
91
+ });
92
+ }
93
+ return count ? rows.slice(0, count) : rows;
94
+ }, [baseData, groupBys, x_field, count]);
95
+ const chartData = (0, import_react.useMemo)(() => {
96
+ if (groupBys && groupBys.length > 1) {
97
+ if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {
98
+ return [];
99
+ }
100
+ const validGroups = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
101
+ const arrays = validGroups.map((g) => g.selected);
102
+ const product = arrays.reduce(
103
+ (acc, curr) => {
104
+ const res = [];
105
+ acc.forEach((a) => {
106
+ curr.forEach((b) => {
107
+ res.push(Array.isArray(a) ? [...a, b] : [a, b]);
108
+ });
109
+ });
110
+ return res;
111
+ },
112
+ [[]]
113
+ );
114
+ const result = product.map((arr) => {
115
+ const item = baseData.find((d) => {
116
+ return arr.every((a, i) => {
117
+ return d[groupBys[i].key] === a;
118
+ });
119
+ });
120
+ if (!item)
121
+ return null;
122
+ return {
123
+ ...item,
124
+ name: arr.join(","),
125
+ value: item[metric[0]],
126
+ metricName: metric[0],
127
+ format: columnConfigMap[metric[0]]
128
+ };
129
+ }).filter(Boolean);
130
+ return count ? result.slice(0, count) : result;
131
+ } else if (groupBys && groupBys.length === 1) {
132
+ const selected = groupBys[0].selected;
133
+ const result = selected.map((s) => {
134
+ const item = baseData.find((d) => d[groupBys[0].key] === s);
135
+ if (!item)
136
+ return null;
137
+ return {
138
+ ...item,
139
+ name: item[groupBys[0].key],
140
+ value: item[metric[0]],
141
+ metricName: metric[0],
142
+ format: columnConfigMap[metric[0]]
143
+ };
144
+ }).filter((item) => (item == null ? void 0 : item.name) && legendItems.includes(item.name));
145
+ return count ? result.slice(0, count) : result;
146
+ } else {
147
+ const result = baseData.map((item) => {
148
+ return {
149
+ ...item,
150
+ name: item[x_field],
151
+ value: item[metric[0]],
152
+ metricName: metric[0],
153
+ format: columnConfigMap[metric[0]]
154
+ };
155
+ }).filter((item) => {
156
+ return legendItems.includes(item.name);
157
+ });
158
+ return count ? result.slice(0, count) : result;
159
+ }
160
+ }, [baseData, x_field, groupBys, metric, columnConfigMap, count]);
161
+ const series = (0, import_react.useMemo)(() => {
162
+ return {
163
+ name: metric[0],
164
+ type: "pie",
165
+ radius: ["50%", "70%"],
166
+ label: {
167
+ color: "#666"
168
+ },
169
+ data: chartData.map((item) => {
170
+ return {
171
+ name: item == null ? void 0 : item.name,
172
+ value: item == null ? void 0 : item.value,
173
+ format: item == null ? void 0 : item.format
174
+ };
175
+ })
176
+ };
177
+ }, [legendNames, chartData]);
178
+ const legend = {
179
+ bottom: 0,
180
+ type: "scroll",
181
+ data: legendItems.map((item) => {
182
+ return {
183
+ name: item,
184
+ textStyle: {
185
+ color: "#666"
186
+ }
187
+ };
188
+ })
189
+ };
190
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, chartData.length > 0 ? /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.pieLegend, style: { height: height || "100%", width: "100%" } }, /* @__PURE__ */ import_react.default.createElement("div", { style: { height: height || "100%", width: "100%", minHeight: 220 } }, /* @__PURE__ */ import_react.default.createElement(import_Pie.default, { item: series, legend }))) : /* @__PURE__ */ import_react.default.createElement(import_antd.Empty, { className: import_index_module.default.empty, description: "暂无数据", image: import_antd.Empty.PRESENTED_IMAGE_SIMPLE }));
191
+ };
192
+ var PieProperty_default = PieProperty;
193
+ //# sourceMappingURL=PieProperty.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/YkCharts/PieProperty.tsx"],
4
+ "sourcesContent": ["/**\n * 用户分析-饼图\n */\nimport { Empty } from 'antd';\nimport React, { type FC, useMemo } from 'react';\nimport styles from './index.module.less';\nimport Pie from './Pie';\nimport type { ColumnConfig, GroupByItem, TableData } from './typing';\n\ntype RowItem = {\n [key: string]: number | string;\n};\n\ntype PageTypes = {\n count?: number;\n metric: string[];\n groupBys: GroupByItem[];\n tableData: TableData;\n baseData: RowItem[];\n columnConfigMap: { [key: string]: ColumnConfig };\n height?: number;\n};\n\nconst PieProperty: FC<PageTypes> = ({\n count, // 指标显示数量\n metric, // 指标\n groupBys, // 维度\n tableData, // 表格数据\n baseData, // 基础数据\n columnConfigMap, // 列配置\n height,\n}) => {\n const { x_field } = tableData;\n\n // 获取图例名称\n const legendNames = useMemo(() => {\n if (groupBys && groupBys.length > 1) {\n const validGroups = groupBys.slice(1).filter((g) => Array.isArray(g.selected) && g.selected.length > 0);\n const arrays = validGroups.map((g) => g.selected);\n const product = arrays.reduce(\n (acc, curr) => {\n const res: any[] = [];\n acc.forEach((a) => {\n curr.forEach((b) => {\n res.push(Array.isArray(a) ? [...a, b] : [a, b]);\n });\n });\n return res;\n },\n [[]],\n );\n return product.map((arr) => arr.join(','));\n } else {\n return metric;\n }\n }, [groupBys, metric]);\n\n // 获取图例项\n const legendItems = useMemo(() => {\n // 当没有选维度时,x轴为合计\n let rows = [];\n let fieldType = 'string';\n if (groupBys.length === 0) {\n rows = baseData.map((item) => item[x_field]);\n rows = Array.from(new Set(rows)); // 去重\n fieldType = columnConfigMap[x_field]?.type || 'string';\n } else {\n // 当选一个维度时,x轴为维度,按照 options 的顺序排序\n rows = groupBys[0].options.filter((option) => groupBys[0].selected.includes(option));\n fieldType = columnConfigMap[groupBys[0].key]?.type || 'string';\n }\n if (fieldType === 'number') {\n rows = rows.sort((a: string | number, b: string | number) => {\n return Number(a) > Number(b) ? 1 : -1;\n });\n }\n return count ? rows.slice(0, count) : rows;\n }, [baseData, groupBys, x_field, count]);\n const chartData = useMemo(() => {\n // 存在多个维度\n if (groupBys && groupBys.length > 1) {\n // 如果存在已选维度为空,则不显示图表\n if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {\n return [];\n }\n const validGroups = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);\n const arrays = validGroups.map((g) => g.selected);\n const product = arrays.reduce(\n (acc, curr) => {\n const res: any[] = [];\n acc.forEach((a) => {\n curr.forEach((b) => {\n res.push(Array.isArray(a) ? [...a, b] : [a, b]);\n });\n });\n return res;\n },\n [[]],\n );\n const result = product\n .map((arr) => {\n const item = baseData.find((d) => {\n return arr.every((a: string, i: number) => {\n return d[groupBys[i].key] === a;\n });\n });\n if (!item) return null;\n return {\n ...item,\n name: arr.join(','),\n value: item[metric[0]],\n metricName: metric[0],\n format: columnConfigMap[metric[0]],\n };\n })\n .filter(Boolean);\n return count ? result.slice(0, count) : result;\n } else if (groupBys && groupBys.length === 1) {\n // 存在一个维度\n const selected = groupBys[0].selected;\n const result = selected\n .map((s) => {\n const item = baseData.find((d) => d[groupBys[0].key] === s);\n if (!item) return null;\n return {\n ...item,\n name: item[groupBys[0].key],\n value: item[metric[0]],\n metricName: metric[0],\n format: columnConfigMap[metric[0]],\n };\n })\n .filter((item) => item?.name && legendItems.includes(item.name));\n return count ? result.slice(0, count) : result;\n } else {\n // 不存在维度\n const result = baseData\n .map((item) => {\n return {\n ...item,\n name: item[x_field],\n value: item[metric[0]],\n metricName: metric[0],\n format: columnConfigMap[metric[0]],\n };\n })\n .filter((item) => {\n return legendItems.includes(item.name);\n });\n return count ? result.slice(0, count) : result;\n }\n }, [baseData, x_field, groupBys, metric, columnConfigMap, count]);\n\n // 获取series\n const series = useMemo(() => {\n return {\n name: metric[0],\n type: 'pie',\n radius: ['50%', '70%'],\n label: {\n color: '#666',\n },\n data: chartData.map((item) => {\n return {\n name: item?.name,\n value: item?.value,\n format: item?.format,\n };\n }),\n };\n }, [legendNames, chartData]);\n const legend = {\n bottom: 0,\n type: 'scroll',\n data: legendItems.map((item) => {\n return {\n name: item,\n textStyle: {\n color: '#666',\n },\n };\n }),\n };\n\n return (\n <>\n {chartData.length > 0 ? (\n <div className={styles.pieLegend} style={{ height: height || '100%', width: '100%' }}>\n <div style={{ height: height || '100%', width: '100%', minHeight: 220 }}>\n <Pie item={series} legend={legend} />\n </div>\n </div>\n ) : (\n <Empty className={styles.empty} description='暂无数据' image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </>\n );\n};\n\nexport default PieProperty;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "styles", "Pie"]
7
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { ColumnConfig, GroupByItem, SqlMetaConfig, TableData } from './typing';
3
+ import 'swiper/css';
4
+ import 'swiper/css/navigation';
5
+ import 'swiper/css/pagination';
6
+ type RowItem = {
7
+ [key: string]: number | string;
8
+ };
9
+ type PageTypes = {
10
+ count?: number;
11
+ metric: string[];
12
+ groupBys: GroupByItem[];
13
+ reportType: number;
14
+ tableData: TableData;
15
+ baseData: RowItem[];
16
+ columnConfigMap: {
17
+ [key: string]: ColumnConfig;
18
+ };
19
+ sqlFormatMap?: {
20
+ [key: string]: SqlMetaConfig;
21
+ };
22
+ cardSize?: string;
23
+ height?: number;
24
+ };
25
+ declare const _default: React.NamedExoticComponent<PageTypes>;
26
+ export default _default;
@@ -0,0 +1,341 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/business/YkCharts/Pies.tsx
30
+ var Pies_exports = {};
31
+ __export(Pies_exports, {
32
+ default: () => Pies_default
33
+ });
34
+ module.exports = __toCommonJS(Pies_exports);
35
+ var import_antd = require("antd");
36
+ var import_react = __toESM(require("react"));
37
+ var import_utils = require("./utils");
38
+ var import_css = require("swiper/css");
39
+ var import_navigation = require("swiper/css/navigation");
40
+ var import_pagination = require("swiper/css/pagination");
41
+ var import_modules = require("swiper/modules");
42
+ var import_react2 = require("swiper/react");
43
+ var import_index_module = __toESM(require("./index.module.less"));
44
+ var import_Pie = __toESM(require("./Pie"));
45
+ var FULL_DATA_MAX_COMBINATIONS = 2e3;
46
+ var MAX_SECTORS = 500;
47
+ var mergeData = (data, metric, isDistribution, maxSectors = MAX_SECTORS) => {
48
+ var _a;
49
+ const byName = /* @__PURE__ */ new Map();
50
+ for (let i = 0; i < data.length; i++) {
51
+ const item = data[i];
52
+ if (isDistribution ? item.name !== metric : item.metricName !== metric)
53
+ continue;
54
+ const name = item.name.startsWith(item.metricName) ? item.name.slice(item.metricName.length + 1).trim() : item.name;
55
+ const val = Number(item.value) || 0;
56
+ const existing = byName.get(name);
57
+ if (existing) {
58
+ existing.value += val;
59
+ } else {
60
+ byName.set(name, {
61
+ name,
62
+ value: val,
63
+ format: item.format,
64
+ formattedValue: (0, import_utils.formatValue)(val, (_a = item.format) == null ? void 0 : _a.format),
65
+ ...isDistribution ? { metricName: item.name } : {}
66
+ });
67
+ }
68
+ }
69
+ let result = Array.from(byName.values()).map((r) => {
70
+ var _a2;
71
+ return {
72
+ ...r,
73
+ formattedValue: (0, import_utils.formatValue)(r.value, (_a2 = r.format) == null ? void 0 : _a2.format)
74
+ };
75
+ });
76
+ result.sort((a, b) => b.value - a.value);
77
+ if (result.length > maxSectors) {
78
+ import_antd.message.warning(`数据量过大,仅绘制前 ${maxSectors} 条数据`);
79
+ result = result.slice(0, maxSectors);
80
+ }
81
+ return result;
82
+ };
83
+ var Pies = ({
84
+ count,
85
+ // 指标显示数量
86
+ metric,
87
+ // 指标
88
+ groupBys,
89
+ // 维度
90
+ cardSize = "middle",
91
+ // 卡片大小
92
+ tableData,
93
+ // 表格数据
94
+ baseData,
95
+ // 基础数据
96
+ columnConfigMap,
97
+ // 列配置
98
+ sqlFormatMap,
99
+ // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)
100
+ reportType,
101
+ // 分析模型
102
+ height
103
+ }) => {
104
+ const { x = [], table_head = [], table_body = [], x_field, group_by } = tableData;
105
+ const useMetric = (0, import_react.useMemo)(() => {
106
+ if (metric.length > 0) {
107
+ return metric;
108
+ } else {
109
+ return tableData.metric;
110
+ }
111
+ }, [metric]);
112
+ const fullData = (0, import_react.useMemo)(() => {
113
+ if (!metric || metric.length === 0) {
114
+ return [];
115
+ }
116
+ if (x.length === 0 && table_head.indexOf(x_field) === -1 && reportType === 4) {
117
+ return metric.map((m) => ({
118
+ x: "合计",
119
+ name: m,
120
+ metricName: m,
121
+ format: columnConfigMap[m],
122
+ value: baseData.reduce((sum, item) => sum + (Number(item[m]) || 0), 0)
123
+ }));
124
+ }
125
+ const index = table_head.indexOf(x_field);
126
+ if (group_by && group_by.length > 0) {
127
+ if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0) && reportType !== 4) {
128
+ return [];
129
+ }
130
+ const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
131
+ const validGroupByKeys = validGroupBys.map((g) => g.key);
132
+ const onlyOneMetric = metric.length === 1;
133
+ if (!baseData || baseData.length === 0) {
134
+ return [];
135
+ }
136
+ const filteredBaseData = baseData.filter((item) => {
137
+ return validGroupBys.every((g) => {
138
+ const itemValue = String(item[g.key] ?? "");
139
+ return g.selected.includes(itemValue);
140
+ });
141
+ });
142
+ const isDistributionTotal = reportType === 4 && validGroupBys.length === 0;
143
+ if (isDistributionTotal) {
144
+ const xValues2 = x.length > 0 ? x : [...new Set(filteredBaseData.map((item) => String(item[x_field] ?? "")))];
145
+ const chartData2 = [];
146
+ xValues2.forEach((xVal) => {
147
+ metric.forEach((cat) => {
148
+ const value = filteredBaseData.filter((item) => String(item[x_field] ?? "") === xVal).reduce((sum, item) => sum + (Number(item[cat]) || 0), 0);
149
+ chartData2.push({
150
+ [x_field]: xVal,
151
+ x: xVal,
152
+ name: cat,
153
+ metricName: cat,
154
+ value,
155
+ format: columnConfigMap[cat]
156
+ });
157
+ });
158
+ });
159
+ return chartData2;
160
+ }
161
+ const dataIndexMap = /* @__PURE__ */ new Map();
162
+ const existingCombinations = /* @__PURE__ */ new Map();
163
+ const getName = (category, groupByObj) => {
164
+ if (onlyOneMetric) {
165
+ return group_by.map((g) => groupByObj[g]).join(",");
166
+ }
167
+ return [category, ...group_by.map((g) => groupByObj[g]).filter(Boolean)].join(",");
168
+ };
169
+ filteredBaseData.forEach((item) => {
170
+ const groupByValues = validGroupByKeys.map((key) => String(item[key] ?? "")).join("|");
171
+ metric.forEach((cat) => {
172
+ const key = `${item[x_field]}|${groupByValues}|${cat}`;
173
+ dataIndexMap.set(key, item);
174
+ const combinationKey = `${groupByValues}|${cat}`;
175
+ if (!existingCombinations.has(combinationKey)) {
176
+ const groupByObj = { category: cat };
177
+ validGroupByKeys.forEach((gKey) => {
178
+ groupByObj[gKey] = item[gKey];
179
+ });
180
+ const name = getName(cat, groupByObj);
181
+ existingCombinations.set(combinationKey, { groupByValues, category: cat, name });
182
+ }
183
+ });
184
+ });
185
+ const xValues = x.length > 0 ? x : [...new Set(filteredBaseData.map((item) => String(item[x_field] ?? "")))];
186
+ const combinationsList = Array.from(existingCombinations.values());
187
+ const getSumForCombination = (xVal, groupByValues, category) => filteredBaseData.filter(
188
+ (item) => String(item[x_field] ?? "") === xVal && validGroupByKeys.map((k) => String(item[k] ?? "")).join("|") === groupByValues
189
+ ).reduce((sum, item) => sum + (Number(item[category]) || 0), 0);
190
+ if (combinationsList.length > FULL_DATA_MAX_COMBINATIONS) {
191
+ const withSum = combinationsList.map(({ groupByValues, category, name }) => {
192
+ let sum = 0;
193
+ for (let i = 0; i < xValues.length; i++) {
194
+ sum += getSumForCombination(xValues[i], groupByValues, category);
195
+ }
196
+ return { groupByValues, category, name, sum };
197
+ });
198
+ withSum.sort((a, b) => b.sum - a.sum);
199
+ combinationsList.length = 0;
200
+ for (let i = 0; i < FULL_DATA_MAX_COMBINATIONS && i < withSum.length; i++) {
201
+ combinationsList.push({
202
+ groupByValues: withSum[i].groupByValues,
203
+ category: withSum[i].category,
204
+ name: withSum[i].name
205
+ });
206
+ }
207
+ }
208
+ const getSumAndSample = (xVal, groupByValues, category) => {
209
+ const matches = filteredBaseData.filter(
210
+ (item) => String(item[x_field] ?? "") === xVal && validGroupByKeys.map((k) => String(item[k] ?? "")).join("|") === groupByValues
211
+ );
212
+ const value = matches.reduce((sum, item) => sum + (Number(item[category]) || 0), 0);
213
+ const sample = matches[0];
214
+ return { value, sample };
215
+ };
216
+ const chartData = [];
217
+ combinationsList.forEach(({ groupByValues, category, name }) => {
218
+ xValues.forEach((xVal) => {
219
+ const { value, sample } = getSumAndSample(xVal, groupByValues, category);
220
+ const obj = {};
221
+ validGroupByKeys.forEach((k) => {
222
+ obj[k] = sample == null ? void 0 : sample[k];
223
+ });
224
+ chartData.push({
225
+ [x_field]: xVal,
226
+ ...obj,
227
+ x: xVal,
228
+ name,
229
+ metricName: category,
230
+ value: Number(value) || 0,
231
+ format: columnConfigMap[category]
232
+ });
233
+ });
234
+ });
235
+ return chartData;
236
+ } else {
237
+ const chartData = [];
238
+ metric.forEach((m) => {
239
+ x.forEach((item) => {
240
+ const row = table_body.find((d) => d[index] === item);
241
+ const obj = {
242
+ x: item,
243
+ name: m,
244
+ metricName: m,
245
+ format: columnConfigMap[m]
246
+ };
247
+ table_head.forEach((key, i) => {
248
+ obj[key] = row ? row[i] : 0;
249
+ });
250
+ obj.value = obj[m];
251
+ chartData.push(obj);
252
+ });
253
+ });
254
+ return chartData;
255
+ }
256
+ }, [baseData, metric, groupBys, reportType]);
257
+ const series = (0, import_react.useMemo)(() => {
258
+ return useMetric.map((m) => {
259
+ var _a, _b;
260
+ const pieData = mergeData(fullData, m);
261
+ return {
262
+ name: m,
263
+ type: "pie",
264
+ radius: ["50%", "70%"],
265
+ label: {
266
+ show: !(pieData.length <= 1),
267
+ textStyle: {
268
+ color: "#666"
269
+ }
270
+ },
271
+ data: pieData,
272
+ ...sqlFormatMap && ((_a = sqlFormatMap == null ? void 0 : sqlFormatMap[m]) == null ? void 0 : _a.format) && {
273
+ format: (_b = sqlFormatMap == null ? void 0 : sqlFormatMap[m]) == null ? void 0 : _b.format
274
+ }
275
+ };
276
+ });
277
+ }, [fullData, metric, count, groupBys]);
278
+ const distributionPie = (0, import_react.useMemo)(() => {
279
+ const isTotalCase = x.length === 0 && fullData.length > 0 && fullData.every((d) => d.x === "合计") && reportType === 4;
280
+ if (isTotalCase) {
281
+ const data2 = fullData.map((d) => {
282
+ var _a;
283
+ return {
284
+ name: d.name,
285
+ value: Number(d.value) || 0,
286
+ format: d.format,
287
+ formattedValue: (0, import_utils.formatValue)(Number(d.value) || 0, (_a = d.format) == null ? void 0 : _a.format)
288
+ };
289
+ });
290
+ return {
291
+ name: "",
292
+ type: "pie",
293
+ radius: ["50%", "70%"],
294
+ label: { textStyle: { color: "#666" } },
295
+ data: data2
296
+ };
297
+ }
298
+ const firstPointX = x[0];
299
+ if (firstPointX === void 0)
300
+ return [];
301
+ const firstPointData = fullData.filter((d) => d.x === firstPointX);
302
+ const sortedData = reportType === 4 ? firstPointData : firstPointData.sort((a, b) => Number(b.value) - Number(a.value));
303
+ const uniqueNames = [...new Set(sortedData.map((d) => d.name))];
304
+ const sortedNames = reportType === 4 ? uniqueNames : count ? uniqueNames.slice(0, count) : uniqueNames;
305
+ const data = sortedNames.map((item) => {
306
+ return {
307
+ ...mergeData(fullData, item, true)[0],
308
+ name: item
309
+ };
310
+ });
311
+ return {
312
+ name: "",
313
+ type: "pie",
314
+ radius: ["50%", "70%"],
315
+ label: {
316
+ textStyle: {
317
+ color: "#666"
318
+ }
319
+ },
320
+ data
321
+ };
322
+ }, [useMetric, fullData, reportType, groupBys, x]);
323
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, fullData.length > 0 ? /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.pieLegend, style: { height: height || "100%", width: "100%" } }, reportType === 4 ? (
324
+ // 分布分析的饼图
325
+ /* @__PURE__ */ import_react.default.createElement(import_Pie.default, { item: distributionPie })
326
+ ) : series && series.length > 1 ? /* @__PURE__ */ import_react.default.createElement(
327
+ import_react2.Swiper,
328
+ {
329
+ modules: [import_modules.Navigation, import_modules.Pagination],
330
+ navigation: true,
331
+ slidesPerView: cardSize === "large" ? 2 : 1,
332
+ spaceBetween: 10,
333
+ slidesPerGroup: cardSize === "large" ? 2 : 1,
334
+ className: import_index_module.default.pieSlider,
335
+ style: { height: "100%" }
336
+ },
337
+ series == null ? void 0 : series.map((item) => /* @__PURE__ */ import_react.default.createElement(import_react2.SwiperSlide, { key: item.name, className: import_index_module.default.pieSlideItem, tabIndex: -1 }, /* @__PURE__ */ import_react.default.createElement(import_Pie.default, { item })))
338
+ ) : series == null ? void 0 : series.map((item) => /* @__PURE__ */ import_react.default.createElement("div", { key: item.name, style: { height: height || "100%", width: "100%", minHeight: 220 } }, /* @__PURE__ */ import_react.default.createElement(import_Pie.default, { item })))) : /* @__PURE__ */ import_react.default.createElement(import_antd.Empty, { className: import_index_module.default.empty, description: "暂无数据", image: import_antd.Empty.PRESENTED_IMAGE_SIMPLE }));
339
+ };
340
+ var Pies_default = (0, import_react.memo)(Pies);
341
+ //# sourceMappingURL=Pies.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/YkCharts/Pies.tsx"],
4
+ "sourcesContent": ["import { Empty, message } from 'antd';\nimport React, { type FC, memo, useMemo } from 'react';\nimport type { ColumnConfig, GroupByItem, SqlMetaConfig, TableData } from './typing';\nimport { formatValue } from './utils';\nimport 'swiper/css';\nimport 'swiper/css/navigation';\nimport 'swiper/css/pagination';\nimport { Navigation, Pagination } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport styles from './index.module.less';\nimport Pie from './Pie';\n\ntype RowItem = {\n [key: string]: number | string;\n};\n\n// 限制 fullData 组合数量与单饼扇区数,防止维度和选项过多时卡死\nconst FULL_DATA_MAX_COMBINATIONS = 2000;\nconst MAX_SECTORS = 500;\n\ntype PageTypes = {\n count?: number;\n metric: string[];\n groupBys: GroupByItem[];\n reportType: number;\n tableData: TableData;\n baseData: RowItem[];\n columnConfigMap: { [key: string]: ColumnConfig };\n sqlFormatMap?: { [key: string]: SqlMetaConfig }; // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)\n cardSize?: string;\n height?: number;\n};\n\n// 处理饼图数据(用 Map 按 name 聚合,O(n) 避免大数据量时 O(n²) 卡顿)\nconst mergeData = (data: any[], metric: string, isDistribution?: boolean, maxSectors = MAX_SECTORS) => {\n const byName = new Map<\n string,\n { name: string; value: number; format: any; formattedValue?: string; metricName?: string }\n >();\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n // 分布分析时 sortedNames 为完整 name(如 \"(-∞, 1),IOS\"),需按 name 匹配;否则按 metricName 匹配\n if (isDistribution ? item.name !== metric : item.metricName !== metric) continue;\n const name = item.name.startsWith(item.metricName) ? item.name.slice(item.metricName.length + 1).trim() : item.name;\n const val = Number(item.value) || 0;\n const existing = byName.get(name);\n if (existing) {\n existing.value += val;\n } else {\n byName.set(name, {\n name,\n value: val,\n format: item.format,\n formattedValue: formatValue(val, item.format?.format),\n ...(isDistribution ? { metricName: item.name } : {}),\n });\n }\n }\n let result = Array.from(byName.values()).map((r) => ({\n ...r,\n formattedValue: formatValue(r.value, r.format?.format),\n }));\n result.sort((a, b) => b.value - a.value);\n if (result.length > maxSectors) {\n message.warning(`数据量过大,仅绘制前 ${maxSectors} 条数据`);\n result = result.slice(0, maxSectors);\n }\n return result;\n};\n\nconst Pies: FC<PageTypes> = ({\n count, // 指标显示数量\n metric, // 指标\n groupBys, // 维度\n cardSize = 'middle', // 卡片大小\n tableData, // 表格数据\n baseData, // 基础数据\n columnConfigMap, // 列配置\n sqlFormatMap, // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)\n reportType, // 分析模型\n height,\n}) => {\n const { x = [], table_head = [], table_body = [], x_field, group_by } = tableData;\n\n const useMetric = useMemo(() => {\n if (metric.length > 0) {\n return metric;\n } else {\n return tableData.metric;\n }\n }, [metric]);\n\n const fullData = useMemo(() => {\n if (!metric || metric.length === 0) {\n return [];\n }\n // 分布分析的日期选择合计时,需要特殊处理(name 用 '合计' 便于饼图显示;避免 mergeData 把 name 裁成空串)\n if (x.length === 0 && table_head.indexOf(x_field) === -1 && reportType === 4) {\n return metric.map((m) => ({\n x: '合计',\n name: m,\n metricName: m,\n format: columnConfigMap[m],\n value: baseData.reduce((sum, item) => sum + (Number(item[m]) || 0), 0),\n }));\n }\n // x_field 在 table_head 中的索引\n const index = table_head.indexOf(x_field);\n // 存在维度时的数据处理(参照 Bar:从 baseData 提取实际组合,不做笛卡尔积)\n if (group_by && group_by.length > 0) {\n if (\n Array.isArray(groupBys) &&\n groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0) &&\n reportType !== 4 // 分布分析时,维度为空代表选了总体\n ) {\n return [];\n }\n const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);\n const validGroupByKeys = validGroupBys.map((g) => g.key);\n const onlyOneMetric = metric.length === 1;\n if (!baseData || baseData.length === 0) {\n return [];\n }\n const filteredBaseData = baseData.filter((item) => {\n return validGroupBys.every((g) => {\n const itemValue = String(item[g.key] ?? '');\n return g.selected.includes(itemValue);\n });\n });\n // 分布分析且维度 selected 全为空:按「总体」合计,对每个 (x, category) 在 filteredBaseData 上求和\n const isDistributionTotal = reportType === 4 && validGroupBys.length === 0;\n if (isDistributionTotal) {\n const xValues = x.length > 0 ? x : [...new Set(filteredBaseData.map((item) => String(item[x_field] ?? '')))];\n const chartData: any[] = [];\n xValues.forEach((xVal) => {\n metric.forEach((cat) => {\n const value = filteredBaseData\n .filter((item) => String(item[x_field] ?? '') === xVal)\n .reduce((sum, item) => sum + (Number(item[cat]) || 0), 0);\n chartData.push({\n [x_field]: xVal,\n x: xVal,\n name: cat,\n metricName: cat,\n value,\n format: columnConfigMap[cat],\n });\n });\n });\n return chartData;\n }\n const dataIndexMap = new Map<string, RowItem>();\n const existingCombinations = new Map<string, { groupByValues: string; category: string; name: string }>();\n const getName = (category: string, groupByObj: Record<string, string | number>) => {\n if (onlyOneMetric) {\n return group_by.map((g) => groupByObj[g]).join(',');\n }\n return [category, ...group_by.map((g) => groupByObj[g]).filter(Boolean)].join(',');\n };\n filteredBaseData.forEach((item) => {\n const groupByValues = validGroupByKeys.map((key) => String(item[key] ?? '')).join('|');\n metric.forEach((cat) => {\n const key = `${item[x_field]}|${groupByValues}|${cat}`;\n dataIndexMap.set(key, item);\n const combinationKey = `${groupByValues}|${cat}`;\n if (!existingCombinations.has(combinationKey)) {\n const groupByObj: Record<string, string | number> = { category: cat };\n validGroupByKeys.forEach((gKey) => {\n groupByObj[gKey] = item[gKey];\n });\n const name = getName(cat, groupByObj);\n existingCombinations.set(combinationKey, { groupByValues, category: cat, name });\n }\n });\n });\n // x 为空时(如仅分组、无 x 轴)从数据中取 x_field 的唯一值,否则 dataIndexMap 的 key 对不上\n const xValues = x.length > 0 ? x : [...new Set(filteredBaseData.map((item) => String(item[x_field] ?? '')))];\n const combinationsList = Array.from(existingCombinations.values());\n // 按 (xVal, groupByValues) 聚合:未选中的维度会多行共用一个 groupByValues,需求和而非取单条\n const getSumForCombination = (xVal: string, groupByValues: string, category: string) =>\n filteredBaseData\n .filter(\n (item) =>\n String(item[x_field] ?? '') === xVal &&\n validGroupByKeys.map((k) => String(item[k] ?? '')).join('|') === groupByValues,\n )\n .reduce((sum, item) => sum + (Number(item[category]) || 0), 0);\n // 按该组合在所有 x 上的合计排序,只保留前 N 个,避免维度和选项过多时 fullData 爆炸\n if (combinationsList.length > FULL_DATA_MAX_COMBINATIONS) {\n const withSum = combinationsList.map(({ groupByValues, category, name }) => {\n let sum = 0;\n for (let i = 0; i < xValues.length; i++) {\n sum += getSumForCombination(xValues[i], groupByValues, category);\n }\n return { groupByValues, category, name, sum };\n });\n withSum.sort((a, b) => b.sum - a.sum);\n combinationsList.length = 0;\n for (let i = 0; i < FULL_DATA_MAX_COMBINATIONS && i < withSum.length; i++) {\n combinationsList.push({\n groupByValues: withSum[i].groupByValues,\n category: withSum[i].category,\n name: withSum[i].name,\n });\n }\n }\n const getSumAndSample = (xVal: string, groupByValues: string, category: string) => {\n const matches = filteredBaseData.filter(\n (item) =>\n String(item[x_field] ?? '') === xVal &&\n validGroupByKeys.map((k) => String(item[k] ?? '')).join('|') === groupByValues,\n );\n const value = matches.reduce((sum, item) => sum + (Number(item[category]) || 0), 0);\n const sample = matches[0];\n return { value, sample };\n };\n const chartData: any[] = [];\n combinationsList.forEach(({ groupByValues, category, name }) => {\n xValues.forEach((xVal) => {\n const { value, sample } = getSumAndSample(xVal, groupByValues, category);\n const obj: Record<string, any> = {};\n validGroupByKeys.forEach((k) => {\n obj[k] = sample?.[k];\n });\n chartData.push({\n [x_field]: xVal,\n ...obj,\n x: xVal,\n name,\n metricName: category,\n value: Number(value) || 0,\n format: columnConfigMap[category],\n });\n });\n });\n return chartData;\n } else {\n const chartData: any[] = [];\n metric.forEach((m) => {\n x.forEach((item) => {\n const row = table_body.find((d) => d[index] === item);\n const obj: any = {\n x: item,\n name: m,\n metricName: m,\n format: columnConfigMap[m],\n };\n table_head.forEach((key, i) => {\n obj[key] = row ? row[i] : 0;\n });\n obj.value = obj[m];\n chartData.push(obj);\n });\n });\n return chartData;\n }\n }, [baseData, metric, groupBys, reportType]);\n\n // 获取series\n const series = useMemo(() => {\n return useMetric.map((m) => {\n const pieData = mergeData(fullData, m);\n return {\n name: m,\n type: 'pie',\n radius: ['50%', '70%'],\n label: {\n show: !(pieData.length <= 1),\n textStyle: {\n color: '#666',\n },\n },\n data: pieData,\n ...(sqlFormatMap &&\n sqlFormatMap?.[m]?.format && {\n format: sqlFormatMap?.[m]?.format,\n }),\n };\n });\n }, [fullData, metric, count, groupBys]);\n\n // 分布分析的饼图\n const distributionPie = useMemo(() => {\n // 日期选择合计:x 为空,fullData 为「合计」数据,直接用它建一张饼图\n const isTotalCase =\n x.length === 0 && fullData.length > 0 && fullData.every((d) => d.x === '合计') && reportType === 4;\n if (isTotalCase) {\n const data = fullData.map((d) => ({\n name: d.name,\n value: Number(d.value) || 0,\n format: d.format,\n formattedValue: formatValue(Number(d.value) || 0, (d as any).format?.format),\n }));\n return {\n name: '',\n type: 'pie',\n radius: ['50%', '70%'],\n label: { textStyle: { color: '#666' } },\n data,\n };\n }\n const firstPointX = x[0];\n if (firstPointX === undefined) return [];\n const firstPointData = fullData.filter((d) => d.x === firstPointX);\n const sortedData =\n reportType === 4 ? firstPointData : firstPointData.sort((a, b) => Number(b.value) - Number(a.value));\n // 直接从数据中提取名称\n const uniqueNames = [...new Set(sortedData.map((d) => d.name))];\n // 当分析模型为分布分析时,series的顺序直接按照metric的顺序\n const sortedNames = reportType === 4 ? uniqueNames : count ? uniqueNames.slice(0, count) : uniqueNames;\n const data = sortedNames.map((item) => {\n return {\n ...mergeData(fullData, item, true)[0],\n name: item,\n };\n });\n return {\n name: '',\n type: 'pie',\n radius: ['50%', '70%'],\n label: {\n textStyle: {\n color: '#666',\n },\n },\n data: data,\n };\n }, [useMetric, fullData, reportType, groupBys, x]);\n\n return (\n <>\n {fullData.length > 0 ? (\n <div className={styles.pieLegend} style={{ height: height || '100%', width: '100%' }}>\n {reportType === 4 ? (\n // 分布分析的饼图\n <Pie item={distributionPie} />\n ) : series && series.length > 1 ? (\n <Swiper\n modules={[Navigation, Pagination]}\n navigation\n slidesPerView={cardSize === 'large' ? 2 : 1}\n spaceBetween={10}\n slidesPerGroup={cardSize === 'large' ? 2 : 1}\n className={styles.pieSlider}\n style={{ height: '100%' }}\n >\n {series?.map((item) => (\n <SwiperSlide key={item.name} className={styles.pieSlideItem} tabIndex={-1}>\n <Pie item={item} />\n </SwiperSlide>\n ))}\n </Swiper>\n ) : (\n series?.map((item) => (\n <div key={item.name} style={{ height: height || '100%', width: '100%', minHeight: 220 }}>\n <Pie item={item} />\n </div>\n ))\n )}\n </div>\n ) : (\n <Empty className={styles.empty} description='暂无数据' image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </>\n );\n};\n\nexport default memo(Pies);\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "_a", "xValues", "chartData", "data", "React", "styles", "Pie"]
7
+ }
@@ -0,0 +1 @@
1
+ export declare const chartColors: string[];