@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,323 @@
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/Bar.tsx
30
+ var Bar_exports = {};
31
+ __export(Bar_exports, {
32
+ default: () => Bar_default
33
+ });
34
+ module.exports = __toCommonJS(Bar_exports);
35
+ var import_antd = require("antd");
36
+ var import_classnames = __toESM(require("classnames"));
37
+ var import_decimal = __toESM(require("decimal.js"));
38
+ var echarts = __toESM(require("echarts"));
39
+ var import_lodash = require("lodash");
40
+ var import_react = __toESM(require("react"));
41
+ var import_server = __toESM(require("react-dom/server"));
42
+ var import_constants = require("./constants");
43
+ var import_index_module = __toESM(require("./index.module.less"));
44
+ var import_utils = require("./utils");
45
+ var MAX_SECTORS = 500;
46
+ var Bar = ({
47
+ count,
48
+ // 指标显示数量
49
+ metric,
50
+ // 指标
51
+ groupBys,
52
+ // 维度
53
+ tableData,
54
+ // 表格数据
55
+ baseData,
56
+ // 基础数据
57
+ columnConfigMap,
58
+ // 列配置
59
+ sqlFormatMap,
60
+ // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)
61
+ height
62
+ }) => {
63
+ const { x = [], x_field, group_by } = tableData;
64
+ const chartContainerRef = (0, import_react.useRef)(null);
65
+ const chartInstanceRef = (0, import_react.useRef)(null);
66
+ const onlyOneMetric = (0, import_react.useMemo)(() => {
67
+ return metric.length === 1;
68
+ }, [metric]);
69
+ const seriesData = (0, import_react.useMemo)(() => {
70
+ if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {
71
+ return [];
72
+ }
73
+ const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
74
+ const validGroupByKeys = validGroupBys.map((g) => g.key);
75
+ if (!baseData || baseData.length === 0) {
76
+ return [];
77
+ }
78
+ const filteredBaseData = baseData.filter((item) => {
79
+ return validGroupBys.every((g) => {
80
+ const itemValue = String(item[g.key] ?? "");
81
+ return g.selected.includes(itemValue);
82
+ });
83
+ });
84
+ const dataIndexMap = /* @__PURE__ */ new Map();
85
+ const existingCombinations = /* @__PURE__ */ new Map();
86
+ const getName = (category, groupByObj) => {
87
+ if (group_by && group_by.length > 0) {
88
+ if (onlyOneMetric) {
89
+ return group_by.map((g) => groupByObj[g]).join(",");
90
+ }
91
+ return [category, ...group_by.map((g) => groupByObj[g])].join(",");
92
+ }
93
+ return category;
94
+ };
95
+ filteredBaseData.forEach((item) => {
96
+ const groupByValues = validGroupByKeys.map((key) => String(item[key] ?? "")).join("|");
97
+ metric.forEach((cat) => {
98
+ const key = `${item[x_field]}|${groupByValues}|${cat}`;
99
+ dataIndexMap.set(key, item);
100
+ const combinationKey = `${groupByValues}|${cat}`;
101
+ if (!existingCombinations.has(combinationKey)) {
102
+ const groupByObj = { category: cat };
103
+ validGroupByKeys.forEach((gKey) => {
104
+ groupByObj[gKey] = item[gKey];
105
+ });
106
+ const name = getName(cat, groupByObj);
107
+ existingCombinations.set(combinationKey, {
108
+ groupByValues,
109
+ category: cat,
110
+ groupByObj,
111
+ name
112
+ // 预先计算好的 name
113
+ });
114
+ }
115
+ });
116
+ });
117
+ const result = Array.from(existingCombinations.values()).map(({ groupByValues, category, name }) => {
118
+ const data = new Array(x.length);
119
+ for (let i = 0; i < x.length; i++) {
120
+ const item = x[i];
121
+ const key = `${item}|${groupByValues}|${category}`;
122
+ const itemData = dataIndexMap.get(key);
123
+ data[i] = itemData == null ? void 0 : itemData[category];
124
+ }
125
+ return {
126
+ name,
127
+ type: "bar",
128
+ barMaxWidth: 20,
129
+ stack: name.split(",")[0],
130
+ smooth: true,
131
+ showSymbol: false,
132
+ data,
133
+ dataSum: data.reduce((sum, val) => {
134
+ const num = typeof val === "number" ? val : 0;
135
+ return sum + (Number.isNaN(num) ? 0 : num);
136
+ }, 0)
137
+ };
138
+ });
139
+ const sortedResult = result.sort((a, b) => {
140
+ const sumA = a.dataSum;
141
+ const sumB = b.dataSum;
142
+ return sumB - sumA;
143
+ });
144
+ return sortedResult;
145
+ }, [baseData, metric, groupBys, x, x_field, group_by, onlyOneMetric]);
146
+ const yAxisFormatter = (0, import_react.useMemo)(() => {
147
+ var _a, _b;
148
+ if (!(0, import_lodash.isEmpty)(sqlFormatMap) && metric.length > 0) {
149
+ const format = (_a = sqlFormatMap[metric[0]]) == null ? void 0 : _a.format;
150
+ if ((format == null ? void 0 : format.type) === "currency") {
151
+ return "number";
152
+ }
153
+ if ((format == null ? void 0 : format.type) === "percent") {
154
+ return "percent";
155
+ }
156
+ if ((format == null ? void 0 : format.decimals) > 0) {
157
+ return "decimal";
158
+ }
159
+ return "number";
160
+ }
161
+ if (metric.length === 1) {
162
+ return (_b = columnConfigMap[metric[0]]) == null ? void 0 : _b.format;
163
+ }
164
+ return null;
165
+ }, [metric, columnConfigMap, sqlFormatMap]);
166
+ const grid = {
167
+ top: 10,
168
+ left: 0,
169
+ right: 10,
170
+ bottom: 40,
171
+ containLabel: true
172
+ };
173
+ const legend = {
174
+ bottom: 0,
175
+ type: "scroll"
176
+ };
177
+ const xAxis = {
178
+ type: "category",
179
+ data: x,
180
+ axisLine: {
181
+ lineStyle: {
182
+ color: "#EBEEF4"
183
+ }
184
+ },
185
+ axisLabel: {
186
+ color: "#9CA4B3",
187
+ fontSize: 12
188
+ },
189
+ axisTick: {
190
+ alignWithLabel: true
191
+ },
192
+ boundaryGap: true
193
+ };
194
+ const yAxis = {
195
+ type: "value",
196
+ splitNumber: 4,
197
+ // 设置Y轴坐标点数量
198
+ axisLine: {
199
+ show: true,
200
+ lineStyle: {
201
+ color: "#EBEEF4",
202
+ shadowOffsetY: -10,
203
+ shadowColor: "#EBEEF4"
204
+ }
205
+ },
206
+ axisLabel: {
207
+ color: "#999999",
208
+ fontSize: 12,
209
+ formatter: (value) => {
210
+ if (yAxisFormatter === "percent") {
211
+ return new import_decimal.default(value).mul(100) + "%";
212
+ }
213
+ if (yAxisFormatter === "decimal") {
214
+ return (0, import_utils.formatValue)(value, yAxisFormatter);
215
+ }
216
+ const [result, unit] = (0, import_utils.formatNumber)(value, true);
217
+ return result + unit;
218
+ }
219
+ },
220
+ splitLine: {
221
+ lineStyle: {
222
+ type: [2, 3],
223
+ // 虚线
224
+ color: "#E7E7E7"
225
+ // 背景线颜色
226
+ }
227
+ },
228
+ axisTick: {
229
+ show: true
230
+ }
231
+ };
232
+ const tooltipFormatter = (params) => {
233
+ var _a;
234
+ const title = ((_a = params[0]) == null ? void 0 : _a.axisValue) ?? "";
235
+ const tooltipDom = /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.tooltip }, /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.title }, /* @__PURE__ */ import_react.default.createElement("span", null, title), /* @__PURE__ */ import_react.default.createElement("span", { style: { float: "right", paddingRight: 10 } }, onlyOneMetric && metric.length === 1 ? " " + metric[0] : "")), /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.content }, params.map((m) => {
236
+ var _a2;
237
+ const metricName = onlyOneMetric && metric.length === 1 ? metric[0] : m.seriesName.split(",")[0];
238
+ const columnConfig = columnConfigMap[metricName];
239
+ const format = (columnConfig == null ? void 0 : columnConfig.format) ?? "string";
240
+ let showValue = format === "currency" ? (0, import_utils.formatNumber)(m.value, true) : (0, import_utils.formatValue)(m.value, format);
241
+ if (!(0, import_lodash.isEmpty)(sqlFormatMap) && metric.length > 0) {
242
+ const format2 = (_a2 = sqlFormatMap[metricName]) == null ? void 0 : _a2.format;
243
+ showValue = (0, import_utils.sqlFormat)(m.value, format2);
244
+ }
245
+ const showValueText = showValue === "" || showValue[0] === "" ? "-" : showValue;
246
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.item, key: m.seriesName }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(import_index_module.default.point, import_index_module.default.pointBar), style: { background: m.color } }), /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.category }, m.seriesName), /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.value }, showValueText));
247
+ })));
248
+ return import_server.default.renderToStaticMarkup(tooltipDom);
249
+ };
250
+ const tooltip = {
251
+ trigger: "axis",
252
+ padding: 0,
253
+ confine: true,
254
+ enterable: true,
255
+ axisPointer: {
256
+ type: "shadow"
257
+ },
258
+ formatter: tooltipFormatter
259
+ };
260
+ const chartOptions = (0, import_react.useMemo)(() => {
261
+ if (seriesData.length > MAX_SECTORS) {
262
+ import_antd.message.warning(`数据量过大,仅绘制前 ${MAX_SECTORS} 条数据`);
263
+ }
264
+ const result = {
265
+ color: import_constants.chartColors,
266
+ grid,
267
+ legend: {
268
+ ...legend,
269
+ itemWidth: 10,
270
+ itemHeight: 10
271
+ },
272
+ xAxis,
273
+ yAxis,
274
+ // 前端这里做个限制,防止数据量过大导致性能问题
275
+ series: seriesData.length > MAX_SECTORS ? seriesData.slice(0, MAX_SECTORS) : seriesData,
276
+ tooltip,
277
+ barGap: "0%"
278
+ };
279
+ return result;
280
+ }, [seriesData]);
281
+ (0, import_react.useEffect)(() => {
282
+ if (!chartContainerRef.current)
283
+ return;
284
+ let chart = chartInstanceRef.current;
285
+ if (!chart) {
286
+ chart = echarts.init(chartContainerRef.current);
287
+ chartInstanceRef.current = chart;
288
+ }
289
+ chart == null ? void 0 : chart.setOption(chartOptions, true);
290
+ return () => {
291
+ if (chartInstanceRef.current) {
292
+ chartInstanceRef.current.dispose();
293
+ chartInstanceRef.current = null;
294
+ }
295
+ };
296
+ }, [chartOptions]);
297
+ (0, import_react.useEffect)(() => {
298
+ const chartElement = chartContainerRef.current;
299
+ if (!chartElement)
300
+ return;
301
+ const resizeObserver = new ResizeObserver(() => {
302
+ const chart = chartInstanceRef.current;
303
+ if (chart) {
304
+ chart.resize();
305
+ }
306
+ });
307
+ resizeObserver.observe(chartElement);
308
+ return () => {
309
+ resizeObserver.unobserve(chartElement);
310
+ resizeObserver.disconnect();
311
+ };
312
+ }, [seriesData]);
313
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, seriesData.length > 0 ? /* @__PURE__ */ import_react.default.createElement(
314
+ "div",
315
+ {
316
+ ref: chartContainerRef,
317
+ className: import_index_module.default.echarts,
318
+ style: { width: "100%", height: height || "100%", minHeight: 220 }
319
+ }
320
+ ) : /* @__PURE__ */ import_react.default.createElement(import_antd.Empty, { className: import_index_module.default.empty, description: "暂无数据", image: import_antd.Empty.PRESENTED_IMAGE_SIMPLE }));
321
+ };
322
+ var Bar_default = (0, import_react.memo)(Bar);
323
+ //# sourceMappingURL=Bar.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/YkCharts/Bar.tsx"],
4
+ "sourcesContent": ["import { Empty, message } from 'antd';\nimport classNames from 'classnames';\nimport Decimal from 'decimal.js';\nimport * as echarts from 'echarts';\nimport { isEmpty } from 'lodash';\nimport React, { type FC, memo, useEffect, useMemo, useRef } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport { chartColors } from './constants';\nimport styles from './index.module.less';\nimport type { ColumnConfig, GroupByItem, SqlMetaConfig, TableData } from './typing';\nimport { formatNumber, formatValue, sqlFormat } from './utils';\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 sqlFormatMap?: { [key: string]: SqlMetaConfig };\n height?: number;\n};\n\nconst MAX_SECTORS = 500;\n\nconst Bar: FC<PageTypes> = ({\n count, // 指标显示数量\n metric, // 指标\n groupBys, // 维度\n tableData, // 表格数据\n baseData, // 基础数据\n columnConfigMap, // 列配置\n sqlFormatMap, // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)\n height,\n}) => {\n const { x = [], x_field, group_by } = tableData;\n const chartContainerRef = useRef<HTMLDivElement | null>(null);\n const chartInstanceRef = useRef<echarts.ECharts | null>(null);\n\n // 是否只有一个指标\n const onlyOneMetric = useMemo(() => {\n return metric.length === 1;\n }, [metric]);\n\n // 获取series数据\n const seriesData = useMemo(() => {\n if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {\n return [];\n }\n // 提前计算 validGroupBys 和 validGroupByKeys\n const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);\n const validGroupByKeys = validGroupBys.map((g) => g.key);\n // 如果没有 baseData,直接返回空数组\n if (!baseData || baseData.length === 0) {\n return [];\n }\n // 根据 groupBys 的 selected 过滤 baseData\n // 只保留符合所有 groupBy selected 条件的数据\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 // 建立 baseData 索引 Map,使用复合键 (x_field + validGroupByKeys + category) 作为 key\n // 格式: `${x_field}|${groupByKey1}|${groupByKey2}|...|${category}`\n const dataIndexMap = new Map<string, RowItem>();\n // 从 baseData 中提取实际存在的 groupBy 组合(而不是生成所有可能的组合)\n // 使用 Set 存储唯一的组合标识符,格式: `${groupByValue1}|${groupByValue2}|...|${metric}`\n const existingCombinations = new Map<\n string,\n {\n groupByValues: string;\n category: string;\n groupByObj: any;\n name: string;\n }\n >();\n\n // 预计算 name 的生成函数(提取到循环外,避免重复创建函数)\n const getName = (category: string, groupByObj: any) => {\n if (group_by && group_by.length > 0) {\n if (onlyOneMetric) {\n return group_by.map((g) => groupByObj[g]).join(',');\n }\n return [category, ...group_by.map((g) => groupByObj[g])].join(',');\n }\n return category;\n };\n\n filteredBaseData.forEach((item) => {\n const groupByValues = validGroupByKeys.map((key) => String(item[key] ?? '')).join('|');\n // 为每个 metric 建立索引和记录组合\n metric.forEach((cat) => {\n const key = `${item[x_field]}|${groupByValues}|${cat}`;\n dataIndexMap.set(key, item);\n // 记录实际存在的组合(每个 metric + groupBy 组合只记录一次)\n const combinationKey = `${groupByValues}|${cat}`;\n if (!existingCombinations.has(combinationKey)) {\n // 构建 groupBy 对象,用于后续生成 name\n const groupByObj: any = { category: cat };\n validGroupByKeys.forEach((gKey) => {\n groupByObj[gKey] = item[gKey];\n });\n // 预先计算 name,避免在 map 时重复计算\n const name = getName(cat, groupByObj);\n existingCombinations.set(combinationKey, {\n groupByValues,\n category: cat,\n groupByObj,\n name, // 预先计算好的 name\n });\n }\n });\n });\n\n // 直接从实际存在的组合生成 series,避免生成数百万个无效组合\n const result = Array.from(existingCombinations.values()).map(({ groupByValues, category, name }) => {\n // 预分配数组,避免动态扩容\n const data = new Array(x.length);\n for (let i = 0; i < x.length; i++) {\n const item = x[i];\n const key = `${item}|${groupByValues}|${category}`;\n const itemData = dataIndexMap.get(key);\n data[i] = itemData?.[category];\n }\n return {\n name,\n type: 'bar',\n barMaxWidth: 20,\n stack: (name as string).split(',')[0],\n smooth: true,\n showSymbol: false,\n data,\n dataSum: data.reduce((sum, val) => {\n const num = typeof val === 'number' ? val : 0;\n return sum + (Number.isNaN(num) ? 0 : num);\n }, 0),\n };\n });\n\n // 按照 data 中数值合计从大到小排序\n const sortedResult = result.sort((a, b) => {\n const sumA = a.dataSum;\n const sumB = b.dataSum;\n return sumB - sumA; // 从大到小排序\n });\n return sortedResult;\n }, [baseData, metric, groupBys, x, x_field, group_by, onlyOneMetric]);\n\n // 获取y轴的格式化方式\n const yAxisFormatter = useMemo(() => {\n // SQL可视化中的特殊格式化处理\n if (!isEmpty(sqlFormatMap) && metric.length > 0) {\n const format = sqlFormatMap[metric[0]]?.format;\n if (format?.type === 'currency') {\n return 'number';\n }\n if (format?.type === 'percent') {\n return 'percent';\n }\n if (format?.decimals > 0) {\n return 'decimal';\n }\n return 'number';\n }\n if (metric.length === 1) {\n return columnConfigMap[metric[0]]?.format;\n }\n return null;\n }, [metric, columnConfigMap, sqlFormatMap]);\n\n const grid = {\n top: 10,\n left: 0,\n right: 10,\n bottom: 40,\n containLabel: true,\n };\n const legend = {\n bottom: 0,\n type: 'scroll',\n };\n const xAxis = {\n type: 'category',\n data: x,\n axisLine: {\n lineStyle: {\n color: '#EBEEF4',\n },\n },\n axisLabel: {\n color: '#9CA4B3',\n fontSize: 12,\n },\n axisTick: {\n alignWithLabel: true,\n },\n boundaryGap: true,\n };\n const yAxis = {\n type: 'value',\n splitNumber: 4, // 设置Y轴坐标点数量\n axisLine: {\n show: true,\n lineStyle: {\n color: '#EBEEF4',\n shadowOffsetY: -10,\n shadowColor: '#EBEEF4',\n },\n },\n axisLabel: {\n color: '#999999',\n fontSize: 12,\n formatter: (value: number) => {\n if (yAxisFormatter === 'percent') {\n return new Decimal(value).mul(100) + '%';\n }\n if (yAxisFormatter === 'decimal') {\n return formatValue(value, yAxisFormatter);\n }\n const [result, unit] = formatNumber(value, true);\n return result + unit;\n },\n },\n splitLine: {\n lineStyle: {\n type: [2, 3], // 虚线\n color: '#E7E7E7', // 背景线颜色\n },\n },\n axisTick: {\n show: true,\n },\n };\n const tooltipFormatter = (params: any) => {\n const title = params[0]?.axisValue ?? '';\n const tooltipDom = (\n <div className={styles.tooltip}>\n <div className={styles.title}>\n <span>{title}</span>\n <span style={{ float: 'right', paddingRight: 10 }}>\n {onlyOneMetric && metric.length === 1 ? ' ' + metric[0] : ''}\n </span>\n </div>\n <div className={styles.content}>\n {params.map((m: any) => {\n const metricName = onlyOneMetric && metric.length === 1 ? metric[0] : m.seriesName.split(',')[0];\n const columnConfig = columnConfigMap[metricName];\n const format = columnConfig?.format ?? 'string'; // 使用可选链和默认值\n let showValue = format === 'currency' ? formatNumber(m.value, true) : formatValue(m.value, format);\n // SQL可视化中的特殊格式化处理\n if (!isEmpty(sqlFormatMap) && metric.length > 0) {\n const format = sqlFormatMap[metricName]?.format;\n showValue = sqlFormat(m.value, format);\n }\n const showValueText = showValue === '' || showValue[0] === '' ? '-' : showValue;\n return (\n <div className={styles.item} key={m.seriesName}>\n <div className={classNames(styles.point, styles.pointBar)} style={{ background: m.color }}></div>\n <div className={styles.category}>{m.seriesName}</div>\n <div className={styles.value}>{showValueText}</div>\n </div>\n );\n })}\n </div>\n </div>\n );\n return ReactDOMServer.renderToStaticMarkup(tooltipDom);\n };\n\n const tooltip = {\n trigger: 'axis',\n padding: 0,\n confine: true,\n enterable: true,\n axisPointer: {\n type: 'shadow',\n },\n formatter: tooltipFormatter,\n };\n\n // 图表配置\n const chartOptions = useMemo(() => {\n if (seriesData.length > MAX_SECTORS) {\n message.warning(`数据量过大,仅绘制前 ${MAX_SECTORS} 条数据`);\n }\n const result = {\n color: chartColors,\n grid,\n legend: {\n ...legend,\n itemWidth: 10,\n itemHeight: 10,\n },\n xAxis,\n yAxis,\n // 前端这里做个限制,防止数据量过大导致性能问题\n series: seriesData.length > MAX_SECTORS ? seriesData.slice(0, MAX_SECTORS) : seriesData,\n tooltip,\n barGap: '0%',\n };\n return result;\n }, [seriesData]);\n\n // 初始化图表\n useEffect(() => {\n if (!chartContainerRef.current) return;\n let chart = chartInstanceRef.current;\n if (!chart) {\n chart = echarts.init(chartContainerRef.current);\n chartInstanceRef.current = chart;\n }\n chart?.setOption(chartOptions, true);\n return () => {\n if (chartInstanceRef.current) {\n chartInstanceRef.current.dispose();\n chartInstanceRef.current = null;\n }\n };\n }, [chartOptions]);\n\n // 监听图表容器大小变化\n useEffect(() => {\n const chartElement = chartContainerRef.current;\n if (!chartElement) return;\n const resizeObserver = new ResizeObserver(() => {\n const chart = chartInstanceRef.current;\n if (chart) {\n chart.resize();\n }\n });\n resizeObserver.observe(chartElement);\n return () => {\n resizeObserver.unobserve(chartElement);\n resizeObserver.disconnect();\n };\n }, [seriesData]);\n\n return (\n <>\n {seriesData.length > 0 ? (\n <div\n ref={chartContainerRef}\n className={styles.echarts}\n style={{ width: '100%', height: height || '100%', minHeight: 220 }}\n ></div>\n ) : (\n <Empty className={styles.empty} description='暂无数据' image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </>\n );\n};\n\nexport default memo(Bar);\n"],
5
+ "mappings": "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",
6
+ "names": ["Decimal", "React", "styles", "_a", "format", "classNames", "ReactDOMServer"]
7
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 用户分析-柱状图
3
+ */
4
+ import { type FC } from 'react';
5
+ import type { ColumnConfig, GroupByItem, TableData } from './typing';
6
+ type RowItem = {
7
+ [key: string]: number | string;
8
+ };
9
+ type PageTypes = {
10
+ count?: number;
11
+ metric: string[];
12
+ groupBys: GroupByItem[];
13
+ tableData: TableData;
14
+ baseData: RowItem[];
15
+ columnConfigMap: {
16
+ [key: string]: ColumnConfig;
17
+ };
18
+ height?: number;
19
+ };
20
+ declare const BarProperty: FC<PageTypes>;
21
+ export default BarProperty;