@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,292 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+
21
+ // src/business/YkCharts/BarTotal.tsx
22
+ import { Empty, message } from "antd";
23
+ import classNames from "classnames";
24
+ import Decimal from "decimal.js";
25
+ import * as echarts from "echarts";
26
+ import React, { useEffect, useMemo, useRef } from "react";
27
+ import ReactDOMServer from "react-dom/server";
28
+ import { chartColors } from "./constants";
29
+ import styles from "./index.module.less";
30
+ import { formatNumber, formatValue } from "./utils";
31
+ var MAX_SECTORS = 500;
32
+ var BarTotal = ({
33
+ count,
34
+ // 指标显示数量
35
+ metric,
36
+ // 指标
37
+ groupBys,
38
+ // 维度
39
+ tableData,
40
+ // 表格数据
41
+ baseData,
42
+ // 基础数据
43
+ columnConfigMap,
44
+ // 列配置
45
+ height
46
+ }) => {
47
+ const chartContainerRef = useRef(null);
48
+ const chartInstanceRef = useRef(null);
49
+ const validGroupByKeys = useMemo(() => {
50
+ return groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0).map((g) => g.key);
51
+ }, [groupBys]);
52
+ const seriesData = useMemo(() => {
53
+ if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {
54
+ return [];
55
+ }
56
+ const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
57
+ if (!baseData || baseData.length === 0) {
58
+ return [];
59
+ }
60
+ const filteredBaseData = baseData.filter((item) => {
61
+ return validGroupBys.every((g) => {
62
+ var _a;
63
+ const itemValue = String((_a = item[g.key]) != null ? _a : "");
64
+ return g.selected.includes(itemValue);
65
+ });
66
+ });
67
+ const byGroupBy = /* @__PURE__ */ new Map();
68
+ filteredBaseData.forEach((item) => {
69
+ const groupByValues = validGroupByKeys.map((key) => {
70
+ var _a;
71
+ return String((_a = item[key]) != null ? _a : "");
72
+ }).join("|");
73
+ const name = validGroupByKeys.map((key) => item[key]).join(",");
74
+ if (!byGroupBy.has(groupByValues)) {
75
+ byGroupBy.set(groupByValues, { name, rows: [] });
76
+ }
77
+ byGroupBy.get(groupByValues).rows.push(item);
78
+ });
79
+ const result = Array.from(byGroupBy.entries()).map(([, { name, rows }]) => {
80
+ const data = metric.map((m) => {
81
+ const sum = rows.reduce((s, r) => s + (Number(r[m]) || 0), 0);
82
+ return sum;
83
+ });
84
+ const dataSum = data.reduce((s, v) => s + (Number.isNaN(v) ? 0 : v), 0);
85
+ return {
86
+ name,
87
+ type: "bar",
88
+ barMaxWidth: 20,
89
+ smooth: true,
90
+ showSymbol: false,
91
+ data,
92
+ dataSum
93
+ };
94
+ });
95
+ result.sort((a, b) => b.dataSum - a.dataSum);
96
+ return result;
97
+ }, [baseData, metric, groupBys, validGroupByKeys]);
98
+ const series = useMemo(() => {
99
+ const list = seriesData.length > MAX_SECTORS ? seriesData.slice(0, MAX_SECTORS) : seriesData;
100
+ if (seriesData.length > MAX_SECTORS) {
101
+ message.warning(`数据量过大,仅绘制前 ${MAX_SECTORS} 条数据`);
102
+ }
103
+ return list.map(({ name, data, type, barMaxWidth, smooth, showSymbol }) => ({
104
+ name,
105
+ type,
106
+ barMaxWidth,
107
+ smooth,
108
+ showSymbol,
109
+ data
110
+ }));
111
+ }, [seriesData]);
112
+ const chartData = useMemo(() => {
113
+ return series.map((s) => {
114
+ const obj = {};
115
+ metric.forEach((m, i) => {
116
+ obj[m] = s.data[i];
117
+ });
118
+ return __spreadValues({ name: s.name }, obj);
119
+ });
120
+ }, [series, metric]);
121
+ const yAxisFormatter = useMemo(() => {
122
+ var _a;
123
+ if (metric.length === 1) {
124
+ return (_a = columnConfigMap[metric[0]]) == null ? void 0 : _a.format;
125
+ }
126
+ return null;
127
+ }, [metric, columnConfigMap]);
128
+ const grid = {
129
+ top: 10,
130
+ left: 0,
131
+ right: 10,
132
+ bottom: 40,
133
+ containLabel: true
134
+ };
135
+ const legend = {
136
+ bottom: 0,
137
+ type: "scroll"
138
+ };
139
+ const xAxis = {
140
+ type: "category",
141
+ data: metric,
142
+ axisLine: {
143
+ lineStyle: {
144
+ color: "#EBEEF4"
145
+ }
146
+ },
147
+ axisLabel: {
148
+ color: "#9CA4B3",
149
+ fontSize: 12
150
+ },
151
+ axisTick: {
152
+ alignWithLabel: true
153
+ },
154
+ boundaryGap: true
155
+ };
156
+ const yAxis = {
157
+ type: "value",
158
+ splitNumber: 4,
159
+ // 设置Y轴坐标点数量
160
+ axisLine: {
161
+ show: true,
162
+ lineStyle: {
163
+ color: "#EBEEF4",
164
+ shadowOffsetY: -10,
165
+ shadowColor: "#EBEEF4"
166
+ }
167
+ },
168
+ axisLabel: {
169
+ color: "#999999",
170
+ fontSize: 12,
171
+ formatter: (value) => {
172
+ if (yAxisFormatter) {
173
+ if (yAxisFormatter === "currency") {
174
+ const [result2, unit2] = formatNumber(value, true);
175
+ return result2 + unit2;
176
+ }
177
+ if (yAxisFormatter === "percent") {
178
+ return new Decimal(value).mul(100) + "%";
179
+ }
180
+ return formatValue(value, yAxisFormatter);
181
+ }
182
+ const [result, unit] = formatNumber(value, true);
183
+ return result + unit;
184
+ }
185
+ },
186
+ splitLine: {
187
+ lineStyle: {
188
+ type: [2, 3],
189
+ // 虚线
190
+ color: "#E7E7E7"
191
+ // 背景线颜色
192
+ }
193
+ },
194
+ axisTick: {
195
+ show: true
196
+ }
197
+ };
198
+ const tooltipFormatter = (params) => {
199
+ var _a, _b;
200
+ const title = (_b = (_a = params[0]) == null ? void 0 : _a.axisValue) != null ? _b : "";
201
+ const filterParams = params.filter((f) => {
202
+ const { name, seriesName } = f;
203
+ if (name === "合计") {
204
+ return true;
205
+ } else if (chartData.some((dataItem) => {
206
+ return (dataItem == null ? void 0 : dataItem.name) === seriesName;
207
+ })) {
208
+ return true;
209
+ }
210
+ return false;
211
+ });
212
+ const tooltipDom = /* @__PURE__ */ React.createElement("div", { className: styles.tooltip }, /* @__PURE__ */ React.createElement("div", { className: styles.title }, title), /* @__PURE__ */ React.createElement("div", { className: styles.content }, filterParams.map((m) => {
213
+ var _a2;
214
+ const columnConfig = columnConfigMap[metric[0]];
215
+ const format = (_a2 = columnConfig == null ? void 0 : columnConfig.format) != null ? _a2 : "string";
216
+ const showValue = format === "currency" ? formatNumber(m.value, true) : formatValue(m.value, format);
217
+ const showValueText = showValue === "" || showValue[0] === "" ? "-" : showValue;
218
+ return /* @__PURE__ */ React.createElement("div", { className: styles.item, key: m.seriesName }, /* @__PURE__ */ React.createElement("div", { className: classNames(styles.point, styles.pointBar), style: { background: m.color } }), /* @__PURE__ */ React.createElement("div", { className: styles.category }, m.seriesName), /* @__PURE__ */ React.createElement("div", { className: styles.value }, showValueText));
219
+ })));
220
+ return ReactDOMServer.renderToStaticMarkup(tooltipDom);
221
+ };
222
+ const tooltip = {
223
+ trigger: "axis",
224
+ padding: 0,
225
+ confine: true,
226
+ enterable: true,
227
+ axisPointer: {
228
+ type: "shadow"
229
+ },
230
+ formatter: tooltipFormatter
231
+ };
232
+ const chartOptions = useMemo(() => {
233
+ return {
234
+ color: chartColors,
235
+ grid,
236
+ legend: __spreadProps(__spreadValues({}, legend), {
237
+ itemWidth: 10,
238
+ itemHeight: 10
239
+ }),
240
+ xAxis,
241
+ yAxis,
242
+ series,
243
+ tooltip
244
+ };
245
+ }, [series]);
246
+ useEffect(() => {
247
+ return () => {
248
+ if (chartInstanceRef.current) {
249
+ chartInstanceRef.current.dispose();
250
+ chartInstanceRef.current = null;
251
+ }
252
+ };
253
+ }, []);
254
+ useEffect(() => {
255
+ const container = chartContainerRef.current;
256
+ if (!container)
257
+ return;
258
+ let chart = chartInstanceRef.current;
259
+ if (!chart) {
260
+ chart = echarts.init(container);
261
+ chartInstanceRef.current = chart;
262
+ }
263
+ chart.setOption(chartOptions, true);
264
+ }, [chartOptions]);
265
+ useEffect(() => {
266
+ const chartElement = chartContainerRef.current;
267
+ if (!chartElement)
268
+ return;
269
+ const resizeObserver = new ResizeObserver(() => {
270
+ var _a;
271
+ (_a = chartInstanceRef.current) == null ? void 0 : _a.resize();
272
+ });
273
+ resizeObserver.observe(chartElement);
274
+ return () => {
275
+ resizeObserver.unobserve(chartElement);
276
+ resizeObserver.disconnect();
277
+ };
278
+ }, []);
279
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, chartData.length > 0 ? /* @__PURE__ */ React.createElement(
280
+ "div",
281
+ {
282
+ ref: chartContainerRef,
283
+ className: styles.echarts,
284
+ style: { width: "100%", height: height || "100%", minHeight: 220 }
285
+ }
286
+ ) : /* @__PURE__ */ React.createElement(Empty, { className: styles.empty, description: "暂无数据", image: Empty.PRESENTED_IMAGE_SIMPLE }));
287
+ };
288
+ var BarTotal_default = BarTotal;
289
+ export {
290
+ BarTotal_default as default
291
+ };
292
+ //# sourceMappingURL=BarTotal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/YkCharts/BarTotal.tsx"],
4
+ "sourcesContent": ["/**\n * 基础分析-合计且有维度时的柱状图\n */\n\nimport { Empty, message } from 'antd';\nimport classNames from 'classnames';\nimport Decimal from 'decimal.js';\nimport * as echarts from 'echarts';\nimport React, { type FC, 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, TableData } from './typing';\nimport { formatNumber, formatValue } 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 height?: number;\n};\n\nconst MAX_SECTORS = 500;\n\nconst BarTotal: FC<PageTypes> = ({\n count, // 指标显示数量\n metric, // 指标\n groupBys, // 维度\n tableData, // 表格数据\n baseData, // 基础数据\n columnConfigMap, // 列配置\n height,\n}) => {\n const chartContainerRef = useRef<HTMLDivElement | null>(null);\n const chartInstanceRef = useRef<echarts.ECharts | null>(null);\n\n const validGroupByKeys = useMemo(() => {\n return groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0).map((g) => g.key);\n }, [groupBys]);\n\n // 参照 Bar:从 baseData 提取实际存在的维度组合,不做笛卡尔积\n const seriesData = useMemo(() => {\n if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {\n return [];\n }\n const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);\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 // 按维度组合聚合行(同一组合可能多行,如多日期需汇总指标)\n const byGroupBy = new Map<string, { name: string; rows: RowItem[] }>();\n filteredBaseData.forEach((item) => {\n const groupByValues = validGroupByKeys.map((key) => String(item[key] ?? '')).join('|');\n const name = validGroupByKeys.map((key) => item[key]).join(',');\n if (!byGroupBy.has(groupByValues)) {\n byGroupBy.set(groupByValues, { name, rows: [] });\n }\n byGroupBy.get(groupByValues)!.rows.push(item);\n });\n const result = Array.from(byGroupBy.entries()).map(([, { name, rows }]) => {\n const data = metric.map((m) => {\n const sum = rows.reduce((s, r) => s + (Number(r[m]) || 0), 0);\n return sum;\n });\n const dataSum = data.reduce((s, v) => s + (Number.isNaN(v) ? 0 : v), 0);\n return {\n name,\n type: 'bar' as const,\n barMaxWidth: 20,\n smooth: true,\n showSymbol: false,\n data,\n dataSum,\n };\n });\n result.sort((a, b) => b.dataSum - a.dataSum);\n return result;\n }, [baseData, metric, groupBys, validGroupByKeys]);\n\n const series = useMemo(() => {\n const list = seriesData.length > MAX_SECTORS ? seriesData.slice(0, MAX_SECTORS) : seriesData;\n if (seriesData.length > MAX_SECTORS) {\n message.warning(`数据量过大,仅绘制前 ${MAX_SECTORS} 条数据`);\n }\n return list.map(({ name, data, type, barMaxWidth, smooth, showSymbol }) => ({\n name,\n type,\n barMaxWidth,\n smooth,\n showSymbol,\n data,\n }));\n }, [seriesData]);\n\n // 供 tooltip 使用:由 series 反推 chartData 结构\n const chartData = useMemo(() => {\n return series.map((s) => {\n const obj: Record<string, number> = {};\n metric.forEach((m, i) => {\n obj[m] = s.data[i];\n });\n return { name: s.name, ...obj };\n });\n }, [series, metric]);\n\n // 获取y轴的格式化方式\n const yAxisFormatter = useMemo(() => {\n if (metric.length === 1) {\n return columnConfigMap[metric[0]]?.format;\n }\n return null;\n }, [metric, columnConfigMap]);\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: metric,\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 // 目前只有一个指标时, Y轴进行格式化\n if (yAxisFormatter) {\n if (yAxisFormatter === 'currency') {\n const [result, unit] = formatNumber(value, true);\n return result + unit;\n }\n if (yAxisFormatter === 'percent') {\n return new Decimal(value).mul(100) + '%';\n }\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 filterParams = params.filter((f: any) => {\n const { name, seriesName } = f;\n if (name === '合计') {\n return true;\n } else if (\n chartData.some((dataItem) => {\n return dataItem?.name === seriesName;\n })\n ) {\n return true;\n }\n return false;\n });\n\n const tooltipDom = (\n <div className={styles.tooltip}>\n <div className={styles.title}>{title}</div>\n <div className={styles.content}>\n {filterParams.map((m: any) => {\n const columnConfig = columnConfigMap[metric[0]];\n const format = columnConfig?.format ?? 'string'; // 使用可选链和默认值\n const showValue = format === 'currency' ? formatNumber(m.value, true) : formatValue(m.value, format);\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 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 return {\n color: chartColors,\n grid,\n legend: {\n ...legend,\n itemWidth: 10,\n itemHeight: 10,\n },\n xAxis,\n yAxis,\n series,\n tooltip,\n };\n }, [series]);\n\n // 仅卸载时销毁实例\n useEffect(() => {\n return () => {\n if (chartInstanceRef.current) {\n chartInstanceRef.current.dispose();\n chartInstanceRef.current = null;\n }\n };\n }, []);\n\n // 配置变化时仅 setOption\n useEffect(() => {\n const container = chartContainerRef.current;\n if (!container) return;\n let chart = chartInstanceRef.current;\n if (!chart) {\n chart = echarts.init(container);\n chartInstanceRef.current = chart;\n }\n chart.setOption(chartOptions, true);\n }, [chartOptions]);\n\n // 监听容器大小变化(仅挂载时注册)\n useEffect(() => {\n const chartElement = chartContainerRef.current;\n if (!chartElement) return;\n const resizeObserver = new ResizeObserver(() => {\n chartInstanceRef.current?.resize();\n });\n resizeObserver.observe(chartElement);\n return () => {\n resizeObserver.unobserve(chartElement);\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <>\n {chartData.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 BarTotal;\n"],
5
+ "mappings": "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",
6
+ "names": ["result", "unit", "_a"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { ColumnConfig, GroupByItem, SqlMetaConfig, TableData } from './typing';
3
+ type RowItem = {
4
+ [key: string]: number | string;
5
+ };
6
+ type PageTypes = {
7
+ count?: number;
8
+ metric: string[];
9
+ groupBys: GroupByItem[];
10
+ tableData: TableData;
11
+ baseData: RowItem[];
12
+ columnConfigMap: {
13
+ [key: string]: ColumnConfig;
14
+ };
15
+ sqlFormatMap?: {
16
+ [key: string]: SqlMetaConfig;
17
+ };
18
+ height?: number;
19
+ };
20
+ declare const _default: React.NamedExoticComponent<PageTypes>;
21
+ export default _default;
@@ -0,0 +1,342 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+
21
+ // src/business/YkCharts/Line.tsx
22
+ import { Empty, message } from "antd";
23
+ import Decimal from "decimal.js";
24
+ import * as echarts from "echarts";
25
+ import { isEmpty } from "lodash";
26
+ import React, { memo, useEffect, useMemo, useRef } from "react";
27
+ import ReactDOMServer from "react-dom/server";
28
+ import { chartColors } from "./constants";
29
+ import styles from "./index.module.less";
30
+ import { formatNumber, formatValue, sqlFormat } from "./utils";
31
+ var MAX_SECTORS = 500;
32
+ var Line = ({
33
+ count,
34
+ // 指标显示数量
35
+ metric,
36
+ // 指标
37
+ groupBys,
38
+ // 维度
39
+ tableData,
40
+ // 表格数据
41
+ baseData,
42
+ // 基础数据
43
+ columnConfigMap,
44
+ // 列配置
45
+ sqlFormatMap,
46
+ // 列配置(用于SQL可视化中的格式化处理,SQL中的格式化走了另一套逻辑)
47
+ height
48
+ }) => {
49
+ const { x = [], x_field, group_by } = tableData;
50
+ const chartContainerRef = useRef(null);
51
+ const chartInstanceRef = useRef(null);
52
+ const onlyOneMetric = useMemo(() => {
53
+ return metric.length === 1;
54
+ }, [metric]);
55
+ const seriesData = useMemo(() => {
56
+ if (Array.isArray(groupBys) && groupBys.some((g) => Array.isArray(g.selected) && g.selected.length === 0)) {
57
+ return [];
58
+ }
59
+ const validGroupBys = groupBys.filter((g) => Array.isArray(g.selected) && g.selected.length > 0);
60
+ const validGroupByKeys = validGroupBys.map((g) => g.key);
61
+ if (!baseData || baseData.length === 0) {
62
+ return [];
63
+ }
64
+ const filteredBaseData = baseData.filter((item) => {
65
+ return validGroupBys.every((g) => {
66
+ var _a;
67
+ const itemValue = String((_a = item[g.key]) != null ? _a : "");
68
+ return g.selected.includes(itemValue);
69
+ });
70
+ });
71
+ const dataIndexMap = /* @__PURE__ */ new Map();
72
+ const existingCombinations = /* @__PURE__ */ new Map();
73
+ const getName = (category, groupByObj) => {
74
+ if (group_by && group_by.length > 0) {
75
+ if (onlyOneMetric) {
76
+ return group_by.map((g) => groupByObj[g]).join(",");
77
+ }
78
+ return [category, ...group_by.map((g) => groupByObj[g])].join(",");
79
+ }
80
+ return category;
81
+ };
82
+ filteredBaseData.forEach((item) => {
83
+ const groupByValues = validGroupByKeys.map((key) => {
84
+ var _a;
85
+ return String((_a = item[key]) != null ? _a : "");
86
+ }).join("|");
87
+ metric.forEach((cat) => {
88
+ const key = `${item[x_field]}|${groupByValues}|${cat}`;
89
+ dataIndexMap.set(key, item);
90
+ const combinationKey = `${groupByValues}|${cat}`;
91
+ if (!existingCombinations.has(combinationKey)) {
92
+ const groupByObj = { category: cat };
93
+ validGroupByKeys.forEach((gKey) => {
94
+ groupByObj[gKey] = item[gKey];
95
+ });
96
+ const name = getName(cat, groupByObj);
97
+ existingCombinations.set(combinationKey, {
98
+ groupByValues,
99
+ category: cat,
100
+ groupByObj,
101
+ name
102
+ // 预先计算好的 name
103
+ });
104
+ }
105
+ });
106
+ });
107
+ const result = Array.from(existingCombinations.values()).map(({ groupByValues, category, name }) => {
108
+ const data = new Array(x.length);
109
+ for (let i = 0; i < x.length; i++) {
110
+ const item = x[i];
111
+ const key = `${item}|${groupByValues}|${category}`;
112
+ const itemData = dataIndexMap.get(key);
113
+ data[i] = itemData == null ? void 0 : itemData[category];
114
+ }
115
+ return {
116
+ name,
117
+ type: "line",
118
+ smooth: true,
119
+ showSymbol: true,
120
+ symbol: "emptyCircle",
121
+ symbolSize: 0.8,
122
+ lineStyle: {
123
+ width: 1.5
124
+ },
125
+ emphasis: {
126
+ scale: 8
127
+ },
128
+ data,
129
+ dataSum: data.reduce((sum, val) => {
130
+ const num = typeof val === "number" ? val : 0;
131
+ return sum + (Number.isNaN(num) ? 0 : num);
132
+ }, 0)
133
+ };
134
+ });
135
+ const sortedResult = result.sort((a, b) => {
136
+ const sumA = a.dataSum;
137
+ const sumB = b.dataSum;
138
+ return sumB - sumA;
139
+ });
140
+ return sortedResult;
141
+ }, [baseData, metric, groupBys, x, x_field, group_by, onlyOneMetric]);
142
+ const yAxisFormatter = useMemo(() => {
143
+ var _a, _b;
144
+ if (!isEmpty(sqlFormatMap) && metric.length > 0) {
145
+ const format = (_a = sqlFormatMap[metric[0]]) == null ? void 0 : _a.format;
146
+ if ((format == null ? void 0 : format.type) === "currency") {
147
+ return "number";
148
+ }
149
+ if ((format == null ? void 0 : format.type) === "percent") {
150
+ return "percent";
151
+ }
152
+ if ((format == null ? void 0 : format.decimals) > 0) {
153
+ return "decimal";
154
+ }
155
+ return "number";
156
+ }
157
+ if (metric.length === 1) {
158
+ return (_b = columnConfigMap[metric[0]]) == null ? void 0 : _b.format;
159
+ }
160
+ return null;
161
+ }, [metric, columnConfigMap, sqlFormatMap]);
162
+ const grid = {
163
+ top: 10,
164
+ left: 5,
165
+ right: 10,
166
+ bottom: 40,
167
+ containLabel: true
168
+ };
169
+ const legend = {
170
+ bottom: 0,
171
+ type: "scroll",
172
+ itemWidth: 13,
173
+ itemStyle: {
174
+ opacity: 0
175
+ },
176
+ lineStyle: {
177
+ width: 2,
178
+ type: "solid"
179
+ }
180
+ };
181
+ const xAxis = {
182
+ type: "category",
183
+ data: x,
184
+ axisLine: {
185
+ lineStyle: {
186
+ color: "#EBEEF4"
187
+ }
188
+ },
189
+ axisLabel: {
190
+ color: "#9CA4B3",
191
+ fontSize: 12
192
+ },
193
+ axisTick: {
194
+ alignWithLabel: true
195
+ },
196
+ boundaryGap: true
197
+ };
198
+ const yAxis = {
199
+ type: "value",
200
+ splitNumber: 4,
201
+ // 设置Y轴坐标点数量
202
+ axisLine: {
203
+ show: true,
204
+ lineStyle: {
205
+ color: "#EBEEF4",
206
+ shadowOffsetY: -10,
207
+ shadowColor: "#EBEEF4"
208
+ }
209
+ },
210
+ axisLabel: {
211
+ color: "#999999",
212
+ fontSize: 12,
213
+ padding: [0, 0, 0, 5],
214
+ formatter: (value) => {
215
+ if (yAxisFormatter === "percent") {
216
+ return new Decimal(value).mul(100) + "%";
217
+ }
218
+ if (yAxisFormatter === "decimal") {
219
+ return formatValue(value, yAxisFormatter);
220
+ }
221
+ const [result, unit] = formatNumber(value, true);
222
+ return result + unit;
223
+ }
224
+ },
225
+ splitLine: {
226
+ lineStyle: {
227
+ type: [2, 3],
228
+ // 虚线
229
+ color: "#E7E7E7"
230
+ // 背景线颜色
231
+ }
232
+ },
233
+ axisTick: {
234
+ show: true
235
+ }
236
+ };
237
+ const tooltipFormatter = (params) => {
238
+ var _a, _b;
239
+ const title = (_b = (_a = params[0]) == null ? void 0 : _a.axisValue) != null ? _b : "";
240
+ const tooltipDom = /* @__PURE__ */ React.createElement("div", { className: styles.tooltip }, /* @__PURE__ */ React.createElement("div", { className: styles.title }, /* @__PURE__ */ React.createElement("span", null, title), /* @__PURE__ */ React.createElement("span", { style: { float: "right", paddingRight: 10 } }, onlyOneMetric && metric.length === 1 ? " " + metric[0] : "")), /* @__PURE__ */ React.createElement("div", { className: styles.content }, params.map((m) => {
241
+ var _a2, _b2;
242
+ const metricName = onlyOneMetric && metric.length === 1 ? metric[0] : m.seriesName.split(",")[0];
243
+ const columnConfig = columnConfigMap[metricName];
244
+ const format = (_a2 = columnConfig == null ? void 0 : columnConfig.format) != null ? _a2 : "string";
245
+ let showValue = format === "currency" ? formatNumber(m.value, true) : formatValue(m.value, format);
246
+ if (!isEmpty(sqlFormatMap) && metric.length > 0) {
247
+ const format2 = (_b2 = sqlFormatMap[metricName]) == null ? void 0 : _b2.format;
248
+ showValue = sqlFormat(m.value, format2);
249
+ }
250
+ const showValueText = showValue === "" || showValue[0] === "" ? "-" : showValue;
251
+ return /* @__PURE__ */ React.createElement("div", { className: styles.item, key: m.seriesName }, /* @__PURE__ */ React.createElement("div", { className: styles.point, style: { background: m.color } }), /* @__PURE__ */ React.createElement("div", { className: styles.category }, m.seriesName), /* @__PURE__ */ React.createElement("div", { className: styles.value }, showValueText));
252
+ })));
253
+ return ReactDOMServer.renderToStaticMarkup(tooltipDom);
254
+ };
255
+ const tooltip = {
256
+ trigger: "axis",
257
+ padding: 0,
258
+ confine: true,
259
+ enterable: true,
260
+ axisPointer: {
261
+ type: "line",
262
+ // 设置悬浮指针为线
263
+ lineStyle: {
264
+ color: "#EBEEF4",
265
+ // 设置线的颜色
266
+ type: "dashed"
267
+ // 设置虚线样式
268
+ }
269
+ },
270
+ formatter: tooltipFormatter
271
+ };
272
+ const chartOptions = useMemo(() => {
273
+ if (seriesData.length > MAX_SECTORS) {
274
+ message.warning(`数据量过大,仅绘制前 ${MAX_SECTORS} 条数据`);
275
+ }
276
+ const result = {
277
+ color: chartColors,
278
+ grid,
279
+ legend: __spreadProps(__spreadValues({}, legend), {
280
+ itemWidth: 13,
281
+ itemStyle: {
282
+ opacity: 0
283
+ },
284
+ lineStyle: {
285
+ width: 2,
286
+ type: "solid"
287
+ }
288
+ }),
289
+ xAxis,
290
+ yAxis,
291
+ // 前端这里做个限制,防止数据量过大导致性能问题
292
+ series: seriesData.length > MAX_SECTORS ? seriesData.slice(0, MAX_SECTORS) : seriesData,
293
+ tooltip
294
+ };
295
+ return result;
296
+ }, [seriesData]);
297
+ useEffect(() => {
298
+ if (!chartContainerRef.current)
299
+ return;
300
+ let chart = chartInstanceRef.current;
301
+ if (!chart) {
302
+ chart = echarts.init(chartContainerRef.current);
303
+ chartInstanceRef.current = chart;
304
+ }
305
+ chart == null ? void 0 : chart.setOption(chartOptions, true);
306
+ return () => {
307
+ if (chartInstanceRef.current) {
308
+ chartInstanceRef.current.dispose();
309
+ chartInstanceRef.current = null;
310
+ }
311
+ };
312
+ }, [chartOptions]);
313
+ useEffect(() => {
314
+ const chartElement = chartContainerRef.current;
315
+ if (!chartElement)
316
+ return;
317
+ const resizeObserver = new ResizeObserver(() => {
318
+ const chart = chartInstanceRef.current;
319
+ if (chart) {
320
+ chart.resize();
321
+ }
322
+ });
323
+ resizeObserver.observe(chartElement);
324
+ return () => {
325
+ resizeObserver.unobserve(chartElement);
326
+ resizeObserver.disconnect();
327
+ };
328
+ }, [seriesData]);
329
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, seriesData.length > 0 ? /* @__PURE__ */ React.createElement(
330
+ "div",
331
+ {
332
+ ref: chartContainerRef,
333
+ className: styles.echarts,
334
+ style: { width: "100%", height: height || "100%", minHeight: 220 }
335
+ }
336
+ ) : /* @__PURE__ */ React.createElement(Empty, { className: styles.empty, description: "暂无数据", image: Empty.PRESENTED_IMAGE_SIMPLE }));
337
+ };
338
+ var Line_default = memo(Line);
339
+ export {
340
+ Line_default as default
341
+ };
342
+ //# sourceMappingURL=Line.js.map