@yoka-ui/ui 1.0.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 (488) hide show
  1. package/@Docs-yoka/exports.generated.md +93 -0
  2. package/@Docs-yoka/llms.txt +23 -0
  3. package/README.md +113 -0
  4. package/dist/es/Themes/InputTheme/index.d.ts +6 -0
  5. package/dist/es/Themes/InputTheme/index.js +22 -0
  6. package/dist/es/Themes/InputTheme/index.js.map +7 -0
  7. package/dist/es/Themes/TableTheme/index.d.ts +7 -0
  8. package/dist/es/Themes/TableTheme/index.js +31 -0
  9. package/dist/es/Themes/TableTheme/index.js.map +7 -0
  10. package/dist/es/Themes/TableTheme/index.less +46 -0
  11. package/dist/es/assets/image/YKUI-logo.png +0 -0
  12. package/dist/es/assets/less/ant-reset.less +402 -0
  13. package/dist/es/assets/less/index.less +1 -0
  14. package/dist/es/assets/less/variables.less +16 -0
  15. package/dist/es/business/AiChat/MarkdownRender.d.ts +9 -0
  16. package/dist/es/business/AiChat/MarkdownRender.js +72 -0
  17. package/dist/es/business/AiChat/MarkdownRender.js.map +7 -0
  18. package/dist/es/business/AiChat/index.d.ts +16 -0
  19. package/dist/es/business/AiChat/index.js +733 -0
  20. package/dist/es/business/AiChat/index.js.map +7 -0
  21. package/dist/es/business/AiChat/intentRecognizer.d.ts +33 -0
  22. package/dist/es/business/AiChat/intentRecognizer.js +166 -0
  23. package/dist/es/business/AiChat/intentRecognizer.js.map +7 -0
  24. package/dist/es/business/AiChat/navigationManager.d.ts +94 -0
  25. package/dist/es/business/AiChat/navigationManager.js +208 -0
  26. package/dist/es/business/AiChat/navigationManager.js.map +7 -0
  27. package/dist/es/business/AiChat/sse.d.ts +16 -0
  28. package/dist/es/business/AiChat/sse.js +171 -0
  29. package/dist/es/business/AiChat/sse.js.map +7 -0
  30. package/dist/es/business/AiChat/type.d.ts +156 -0
  31. package/dist/es/business/AiChat/type.js +1 -0
  32. package/dist/es/business/AiChat/type.js.map +7 -0
  33. package/dist/es/business/AiChat/useAiChat.d.ts +2 -0
  34. package/dist/es/business/AiChat/useAiChat.js +268 -0
  35. package/dist/es/business/AiChat/useAiChat.js.map +7 -0
  36. package/dist/es/business/AiChat/useTaskWorkflow.d.ts +25 -0
  37. package/dist/es/business/AiChat/useTaskWorkflow.js +196 -0
  38. package/dist/es/business/AiChat/useTaskWorkflow.js.map +7 -0
  39. package/dist/es/business/DrawerPageInfo/index.d.ts +35 -0
  40. package/dist/es/business/DrawerPageInfo/index.js +133 -0
  41. package/dist/es/business/DrawerPageInfo/index.js.map +7 -0
  42. package/dist/es/business/DrawerPageInfo/index.module.less +87 -0
  43. package/dist/es/business/DrawerPageInfo/test.png +0 -0
  44. package/dist/es/business/Editor/index.d.ts +11 -0
  45. package/dist/es/business/Editor/index.js +86 -0
  46. package/dist/es/business/Editor/index.js.map +7 -0
  47. package/dist/es/business/Editor/index.less +31 -0
  48. package/dist/es/business/Empty/empty.png +0 -0
  49. package/dist/es/business/Empty/index.d.ts +19 -0
  50. package/dist/es/business/Empty/index.js +51 -0
  51. package/dist/es/business/Empty/index.js.map +7 -0
  52. package/dist/es/business/ModCommonFilter/assets/images/empty.png +0 -0
  53. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  54. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js +51 -0
  55. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  56. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  57. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js +51 -0
  58. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  59. package/dist/es/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  60. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js +30 -0
  61. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  62. package/dist/es/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  63. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  64. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +74 -0
  65. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  66. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  67. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +216 -0
  68. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  69. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  70. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +102 -0
  71. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  72. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  73. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js +71 -0
  74. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  75. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  76. package/dist/es/business/ModCommonFilter/index.d.ts +53 -0
  77. package/dist/es/business/ModCommonFilter/index.js +129 -0
  78. package/dist/es/business/ModCommonFilter/index.js.map +7 -0
  79. package/dist/es/business/ModCommonFilter/index.module.less +7 -0
  80. package/dist/es/business/ModCommonFilter/typing.d.ts +20 -0
  81. package/dist/es/business/ModCommonFilter/typing.js +1 -0
  82. package/dist/es/business/ModCommonFilter/typing.js.map +7 -0
  83. package/dist/es/business/YkPorjectSelect/icon-product.png +0 -0
  84. package/dist/es/business/YkPorjectSelect/index.d.ts +51 -0
  85. package/dist/es/business/YkPorjectSelect/index.js +260 -0
  86. package/dist/es/business/YkPorjectSelect/index.js.map +7 -0
  87. package/dist/es/business/YkPorjectSelect/index.module.less +334 -0
  88. package/dist/es/business/YkPorjectSelect/product-close.png +0 -0
  89. package/dist/es/components/Clock/index.d.ts +19 -0
  90. package/dist/es/components/Clock/index.js +55 -0
  91. package/dist/es/components/Clock/index.js.map +7 -0
  92. package/dist/es/components/DebounceInput/index.d.ts +16 -0
  93. package/dist/es/components/DebounceInput/index.js +77 -0
  94. package/dist/es/components/DebounceInput/index.js.map +7 -0
  95. package/dist/es/components/DebounceInput/index.module.less +23 -0
  96. package/dist/es/components/MultipleSelect/index.d.ts +23 -0
  97. package/dist/es/components/MultipleSelect/index.js +249 -0
  98. package/dist/es/components/MultipleSelect/index.js.map +7 -0
  99. package/dist/es/components/MultipleSelect/index.module.less +174 -0
  100. package/dist/es/components/NumericInput/index.d.ts +19 -0
  101. package/dist/es/components/NumericInput/index.js +56 -0
  102. package/dist/es/components/NumericInput/index.js.map +7 -0
  103. package/dist/es/components/RefreshButton/index.d.ts +8 -0
  104. package/dist/es/components/RefreshButton/index.js +21 -0
  105. package/dist/es/components/RefreshButton/index.js.map +7 -0
  106. package/dist/es/components/SearchWithHistory/index.d.ts +21 -0
  107. package/dist/es/components/SearchWithHistory/index.js +115 -0
  108. package/dist/es/components/SearchWithHistory/index.js.map +7 -0
  109. package/dist/es/components/SearchWithHistory/index.module.less +64 -0
  110. package/dist/es/components/TextWithInput/index.d.ts +15 -0
  111. package/dist/es/components/TextWithInput/index.js +35 -0
  112. package/dist/es/components/TextWithInput/index.js.map +7 -0
  113. package/dist/es/components/TextWithToolTip/index.d.ts +17 -0
  114. package/dist/es/components/TextWithToolTip/index.js +118 -0
  115. package/dist/es/components/TextWithToolTip/index.js.map +7 -0
  116. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  117. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +161 -0
  118. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  119. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  120. package/dist/es/components/TreeTransfer/index.d.ts +28 -0
  121. package/dist/es/components/TreeTransfer/index.js +210 -0
  122. package/dist/es/components/TreeTransfer/index.js.map +7 -0
  123. package/dist/es/components/TreeTransfer/index.less +69 -0
  124. package/dist/es/components/TreeTransfer/types.d.ts +122 -0
  125. package/dist/es/components/TreeTransfer/types.js +6 -0
  126. package/dist/es/components/TreeTransfer/types.js.map +7 -0
  127. package/dist/es/components/TreeTransfer/utils/index.d.ts +120 -0
  128. package/dist/es/components/TreeTransfer/utils/index.js +195 -0
  129. package/dist/es/components/TreeTransfer/utils/index.js.map +7 -0
  130. package/dist/es/components/YkDateRangePicker/YkDateRangePicker.mdx +180 -0
  131. package/dist/es/components/YkDateRangePicker/index.d.ts +61 -0
  132. package/dist/es/components/YkDateRangePicker/index.js +317 -0
  133. package/dist/es/components/YkDateRangePicker/index.js.map +7 -0
  134. package/dist/es/components/YkDateRangePicker/index.module.less +304 -0
  135. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  136. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +193 -0
  137. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  138. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  139. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +576 -0
  140. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  141. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  142. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +55 -0
  143. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  144. package/dist/es/components/YkRangeDateWithVS/index.d.ts +62 -0
  145. package/dist/es/components/YkRangeDateWithVS/index.js +130 -0
  146. package/dist/es/components/YkRangeDateWithVS/index.js.map +7 -0
  147. package/dist/es/components/YkRangeDateWithVS/index.module.less +566 -0
  148. package/dist/es/components/YkRangeDateWithVS/styles.d.ts +2 -0
  149. package/dist/es/components/YkRangeDateWithVS/styles.js +18 -0
  150. package/dist/es/components/YkRangeDateWithVS/styles.js.map +7 -0
  151. package/dist/es/components/YkRangeDateWithVS/typing.d.ts +15 -0
  152. package/dist/es/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  153. package/dist/es/components/YkRangeTimeWithRecent/constants.js +288 -0
  154. package/dist/es/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  155. package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  156. package/dist/es/components/YkRangeTimeWithRecent/index.js +647 -0
  157. package/dist/es/components/YkRangeTimeWithRecent/index.js.map +7 -0
  158. package/dist/es/components/YkRangeTimeWithRecent/index.module.less +263 -0
  159. package/dist/es/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  160. package/dist/es/creative/ButtonRadioWithInfo/index.js +103 -0
  161. package/dist/es/creative/ButtonRadioWithInfo/index.js.map +7 -0
  162. package/dist/es/creative/ButtonRadioWithInfo/index.less +106 -0
  163. package/dist/es/creative/ButtonWithProgress/index.d.ts +11 -0
  164. package/dist/es/creative/ButtonWithProgress/index.js +79 -0
  165. package/dist/es/creative/ButtonWithProgress/index.js.map +7 -0
  166. package/dist/es/creative/ButtonWithProgress/index.less +66 -0
  167. package/dist/es/global.less +12 -0
  168. package/dist/es/index.d.ts +43 -0
  169. package/dist/es/index.js +87 -0
  170. package/dist/es/index.js.map +7 -0
  171. package/dist/es/index.less +35 -0
  172. package/dist/es/layout/FlexGrid/index.d.ts +25 -0
  173. package/dist/es/layout/FlexGrid/index.js +63 -0
  174. package/dist/es/layout/FlexGrid/index.js.map +7 -0
  175. package/dist/es/layout/YkContainer/index.d.ts +27 -0
  176. package/dist/es/layout/YkContainer/index.js +79 -0
  177. package/dist/es/layout/YkContainer/index.js.map +7 -0
  178. package/dist/es/layout/YkDrawer/index.d.ts +22 -0
  179. package/dist/es/layout/YkDrawer/index.js +160 -0
  180. package/dist/es/layout/YkDrawer/index.js.map +7 -0
  181. package/dist/es/layout/YkDrawer/index.module.less +45 -0
  182. package/dist/es/ui/LabelSelect/demo.d.ts +3 -0
  183. package/dist/es/ui/LabelSelect/demo.js +83 -0
  184. package/dist/es/ui/LabelSelect/demo.js.map +7 -0
  185. package/dist/es/ui/LabelSelect/index.d.ts +41 -0
  186. package/dist/es/ui/LabelSelect/index.js +136 -0
  187. package/dist/es/ui/LabelSelect/index.js.map +7 -0
  188. package/dist/es/ui/LogicOperator/index.d.ts +10 -0
  189. package/dist/es/ui/LogicOperator/index.js +12 -0
  190. package/dist/es/ui/LogicOperator/index.js.map +7 -0
  191. package/dist/es/ui/LogicOperator/index.module.less +97 -0
  192. package/dist/es/ui/YkButton/index.d.ts +9 -0
  193. package/dist/es/ui/YkButton/index.js +59 -0
  194. package/dist/es/ui/YkButton/index.js.map +7 -0
  195. package/dist/es/ui/YkCard/index.d.ts +4 -0
  196. package/dist/es/ui/YkCard/index.js +79 -0
  197. package/dist/es/ui/YkCard/index.js.map +7 -0
  198. package/dist/es/ui/YkCard/index.module.less +30 -0
  199. package/dist/es/ui/YkCheckbox/index.d.ts +4 -0
  200. package/dist/es/ui/YkCheckbox/index.js +45 -0
  201. package/dist/es/ui/YkCheckbox/index.js.map +7 -0
  202. package/dist/es/ui/YkCheckbox/index.module.less +22 -0
  203. package/dist/es/ui/YkDescriptions/index.d.ts +4 -0
  204. package/dist/es/ui/YkDescriptions/index.js +41 -0
  205. package/dist/es/ui/YkDescriptions/index.js.map +7 -0
  206. package/dist/es/ui/YkPagination/index.d.ts +4 -0
  207. package/dist/es/ui/YkPagination/index.js +63 -0
  208. package/dist/es/ui/YkPagination/index.js.map +7 -0
  209. package/dist/es/ui/YkPagination/index.module.less +22 -0
  210. package/dist/es/ui/YkRadio/index.d.ts +4 -0
  211. package/dist/es/ui/YkRadio/index.js +51 -0
  212. package/dist/es/ui/YkRadio/index.js.map +7 -0
  213. package/dist/es/ui/YkRadio/index.module.less +22 -0
  214. package/dist/es/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  215. package/dist/es/ui/YkRadioBtnSpecial/index.js +23 -0
  216. package/dist/es/ui/YkRadioBtnSpecial/index.js.map +7 -0
  217. package/dist/es/ui/YkRadioBtnSpecial/index.module.less +112 -0
  218. package/dist/es/ui/YkSegmented/index.d.ts +4 -0
  219. package/dist/es/ui/YkSegmented/index.js +41 -0
  220. package/dist/es/ui/YkSegmented/index.js.map +7 -0
  221. package/dist/es/ui/YkSelect/index.d.ts +7 -0
  222. package/dist/es/ui/YkSelect/index.js +54 -0
  223. package/dist/es/ui/YkSelect/index.js.map +7 -0
  224. package/dist/es/ui/YkSpin/index.d.ts +4 -0
  225. package/dist/es/ui/YkSpin/index.js +41 -0
  226. package/dist/es/ui/YkSpin/index.js.map +7 -0
  227. package/dist/es/ui/YkStatistic/index.d.ts +4 -0
  228. package/dist/es/ui/YkStatistic/index.js +41 -0
  229. package/dist/es/ui/YkStatistic/index.js.map +7 -0
  230. package/dist/es/ui/YkSwitch/index.d.ts +4 -0
  231. package/dist/es/ui/YkSwitch/index.js +51 -0
  232. package/dist/es/ui/YkSwitch/index.js.map +7 -0
  233. package/dist/es/ui/YkTabs/index.d.ts +12 -0
  234. package/dist/es/ui/YkTabs/index.js +75 -0
  235. package/dist/es/ui/YkTabs/index.js.map +7 -0
  236. package/dist/es/ui/YkTabs/index.module.less +11 -0
  237. package/dist/es/ui/YkTooltip/index.d.ts +4 -0
  238. package/dist/es/ui/YkTooltip/index.js +50 -0
  239. package/dist/es/ui/YkTooltip/index.js.map +7 -0
  240. package/dist/es/utils/styleUtils.d.ts +18 -0
  241. package/dist/es/utils/styleUtils.js +57 -0
  242. package/dist/es/utils/styleUtils.js.map +7 -0
  243. package/dist/es/utils/ykStorybookDoc.d.ts +17 -0
  244. package/dist/es/utils/ykStorybookDoc.js +18 -0
  245. package/dist/es/utils/ykStorybookDoc.js.map +7 -0
  246. package/dist/lib/Themes/InputTheme/index.d.ts +6 -0
  247. package/dist/lib/Themes/InputTheme/index.js +52 -0
  248. package/dist/lib/Themes/InputTheme/index.js.map +7 -0
  249. package/dist/lib/Themes/TableTheme/index.d.ts +7 -0
  250. package/dist/lib/Themes/TableTheme/index.js +61 -0
  251. package/dist/lib/Themes/TableTheme/index.js.map +7 -0
  252. package/dist/lib/Themes/TableTheme/index.less +46 -0
  253. package/dist/lib/assets/image/YKUI-logo.png +0 -0
  254. package/dist/lib/assets/less/ant-reset.less +402 -0
  255. package/dist/lib/assets/less/index.less +1 -0
  256. package/dist/lib/assets/less/variables.less +16 -0
  257. package/dist/lib/business/AiChat/MarkdownRender.d.ts +9 -0
  258. package/dist/lib/business/AiChat/MarkdownRender.js +102 -0
  259. package/dist/lib/business/AiChat/MarkdownRender.js.map +7 -0
  260. package/dist/lib/business/AiChat/index.d.ts +16 -0
  261. package/dist/lib/business/AiChat/index.js +723 -0
  262. package/dist/lib/business/AiChat/index.js.map +7 -0
  263. package/dist/lib/business/AiChat/intentRecognizer.d.ts +33 -0
  264. package/dist/lib/business/AiChat/intentRecognizer.js +193 -0
  265. package/dist/lib/business/AiChat/intentRecognizer.js.map +7 -0
  266. package/dist/lib/business/AiChat/navigationManager.d.ts +94 -0
  267. package/dist/lib/business/AiChat/navigationManager.js +214 -0
  268. package/dist/lib/business/AiChat/navigationManager.js.map +7 -0
  269. package/dist/lib/business/AiChat/sse.d.ts +16 -0
  270. package/dist/lib/business/AiChat/sse.js +171 -0
  271. package/dist/lib/business/AiChat/sse.js.map +7 -0
  272. package/dist/lib/business/AiChat/type.d.ts +156 -0
  273. package/dist/lib/business/AiChat/type.js +18 -0
  274. package/dist/lib/business/AiChat/type.js.map +7 -0
  275. package/dist/lib/business/AiChat/useAiChat.d.ts +2 -0
  276. package/dist/lib/business/AiChat/useAiChat.js +252 -0
  277. package/dist/lib/business/AiChat/useAiChat.js.map +7 -0
  278. package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +25 -0
  279. package/dist/lib/business/AiChat/useTaskWorkflow.js +182 -0
  280. package/dist/lib/business/AiChat/useTaskWorkflow.js.map +7 -0
  281. package/dist/lib/business/DrawerPageInfo/index.d.ts +35 -0
  282. package/dist/lib/business/DrawerPageInfo/index.js +163 -0
  283. package/dist/lib/business/DrawerPageInfo/index.js.map +7 -0
  284. package/dist/lib/business/DrawerPageInfo/index.module.less +87 -0
  285. package/dist/lib/business/DrawerPageInfo/test.png +0 -0
  286. package/dist/lib/business/Editor/index.d.ts +11 -0
  287. package/dist/lib/business/Editor/index.js +99 -0
  288. package/dist/lib/business/Editor/index.js.map +7 -0
  289. package/dist/lib/business/Editor/index.less +31 -0
  290. package/dist/lib/business/Empty/empty.png +0 -0
  291. package/dist/lib/business/Empty/index.d.ts +19 -0
  292. package/dist/lib/business/Empty/index.js +65 -0
  293. package/dist/lib/business/Empty/index.js.map +7 -0
  294. package/dist/lib/business/ModCommonFilter/assets/images/empty.png +0 -0
  295. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  296. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js +50 -0
  297. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  298. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  299. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js +50 -0
  300. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  301. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  302. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js +60 -0
  303. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  304. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  305. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  306. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +69 -0
  307. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  308. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  309. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +211 -0
  310. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  311. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  312. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +97 -0
  313. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  314. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  315. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js +101 -0
  316. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  317. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  318. package/dist/lib/business/ModCommonFilter/index.d.ts +53 -0
  319. package/dist/lib/business/ModCommonFilter/index.js +143 -0
  320. package/dist/lib/business/ModCommonFilter/index.js.map +7 -0
  321. package/dist/lib/business/ModCommonFilter/index.module.less +7 -0
  322. package/dist/lib/business/ModCommonFilter/typing.d.ts +20 -0
  323. package/dist/lib/business/ModCommonFilter/typing.js +18 -0
  324. package/dist/lib/business/ModCommonFilter/typing.js.map +7 -0
  325. package/dist/lib/business/YkPorjectSelect/icon-product.png +0 -0
  326. package/dist/lib/business/YkPorjectSelect/index.d.ts +51 -0
  327. package/dist/lib/business/YkPorjectSelect/index.js +235 -0
  328. package/dist/lib/business/YkPorjectSelect/index.js.map +7 -0
  329. package/dist/lib/business/YkPorjectSelect/index.module.less +334 -0
  330. package/dist/lib/business/YkPorjectSelect/product-close.png +0 -0
  331. package/dist/lib/components/Clock/index.d.ts +19 -0
  332. package/dist/lib/components/Clock/index.js +85 -0
  333. package/dist/lib/components/Clock/index.js.map +7 -0
  334. package/dist/lib/components/DebounceInput/index.d.ts +16 -0
  335. package/dist/lib/components/DebounceInput/index.js +107 -0
  336. package/dist/lib/components/DebounceInput/index.js.map +7 -0
  337. package/dist/lib/components/DebounceInput/index.module.less +23 -0
  338. package/dist/lib/components/MultipleSelect/index.d.ts +23 -0
  339. package/dist/lib/components/MultipleSelect/index.js +279 -0
  340. package/dist/lib/components/MultipleSelect/index.js.map +7 -0
  341. package/dist/lib/components/MultipleSelect/index.module.less +174 -0
  342. package/dist/lib/components/NumericInput/index.d.ts +19 -0
  343. package/dist/lib/components/NumericInput/index.js +67 -0
  344. package/dist/lib/components/NumericInput/index.js.map +7 -0
  345. package/dist/lib/components/RefreshButton/index.d.ts +8 -0
  346. package/dist/lib/components/RefreshButton/index.js +51 -0
  347. package/dist/lib/components/RefreshButton/index.js.map +7 -0
  348. package/dist/lib/components/SearchWithHistory/index.d.ts +21 -0
  349. package/dist/lib/components/SearchWithHistory/index.js +145 -0
  350. package/dist/lib/components/SearchWithHistory/index.js.map +7 -0
  351. package/dist/lib/components/SearchWithHistory/index.module.less +64 -0
  352. package/dist/lib/components/TextWithInput/index.d.ts +15 -0
  353. package/dist/lib/components/TextWithInput/index.js +65 -0
  354. package/dist/lib/components/TextWithInput/index.js.map +7 -0
  355. package/dist/lib/components/TextWithToolTip/index.d.ts +17 -0
  356. package/dist/lib/components/TextWithToolTip/index.js +134 -0
  357. package/dist/lib/components/TextWithToolTip/index.js.map +7 -0
  358. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  359. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +191 -0
  360. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  361. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  362. package/dist/lib/components/TreeTransfer/index.d.ts +28 -0
  363. package/dist/lib/components/TreeTransfer/index.js +214 -0
  364. package/dist/lib/components/TreeTransfer/index.js.map +7 -0
  365. package/dist/lib/components/TreeTransfer/index.less +69 -0
  366. package/dist/lib/components/TreeTransfer/types.d.ts +122 -0
  367. package/dist/lib/components/TreeTransfer/types.js +30 -0
  368. package/dist/lib/components/TreeTransfer/types.js.map +7 -0
  369. package/dist/lib/components/TreeTransfer/utils/index.d.ts +120 -0
  370. package/dist/lib/components/TreeTransfer/utils/index.js +208 -0
  371. package/dist/lib/components/TreeTransfer/utils/index.js.map +7 -0
  372. package/dist/lib/components/YkDateRangePicker/YkDateRangePicker.mdx +180 -0
  373. package/dist/lib/components/YkDateRangePicker/index.d.ts +61 -0
  374. package/dist/lib/components/YkDateRangePicker/index.js +338 -0
  375. package/dist/lib/components/YkDateRangePicker/index.js.map +7 -0
  376. package/dist/lib/components/YkDateRangePicker/index.module.less +304 -0
  377. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  378. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +223 -0
  379. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  380. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  381. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +587 -0
  382. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  383. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  384. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +85 -0
  385. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  386. package/dist/lib/components/YkRangeDateWithVS/index.d.ts +62 -0
  387. package/dist/lib/components/YkRangeDateWithVS/index.js +140 -0
  388. package/dist/lib/components/YkRangeDateWithVS/index.js.map +7 -0
  389. package/dist/lib/components/YkRangeDateWithVS/index.module.less +566 -0
  390. package/dist/lib/components/YkRangeDateWithVS/styles.d.ts +2 -0
  391. package/dist/lib/components/YkRangeDateWithVS/styles.js +48 -0
  392. package/dist/lib/components/YkRangeDateWithVS/styles.js.map +7 -0
  393. package/dist/lib/components/YkRangeDateWithVS/typing.d.ts +15 -0
  394. package/dist/lib/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  395. package/dist/lib/components/YkRangeTimeWithRecent/constants.js +333 -0
  396. package/dist/lib/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  397. package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  398. package/dist/lib/components/YkRangeTimeWithRecent/index.js +647 -0
  399. package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +7 -0
  400. package/dist/lib/components/YkRangeTimeWithRecent/index.module.less +263 -0
  401. package/dist/lib/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  402. package/dist/lib/creative/ButtonRadioWithInfo/index.js +102 -0
  403. package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +7 -0
  404. package/dist/lib/creative/ButtonRadioWithInfo/index.less +106 -0
  405. package/dist/lib/creative/ButtonWithProgress/index.d.ts +11 -0
  406. package/dist/lib/creative/ButtonWithProgress/index.js +70 -0
  407. package/dist/lib/creative/ButtonWithProgress/index.js.map +7 -0
  408. package/dist/lib/creative/ButtonWithProgress/index.less +66 -0
  409. package/dist/lib/global.less +12 -0
  410. package/dist/lib/index.d.ts +43 -0
  411. package/dist/lib/index.js +161 -0
  412. package/dist/lib/index.js.map +7 -0
  413. package/dist/lib/index.less +35 -0
  414. package/dist/lib/layout/FlexGrid/index.d.ts +25 -0
  415. package/dist/lib/layout/FlexGrid/index.js +77 -0
  416. package/dist/lib/layout/FlexGrid/index.js.map +7 -0
  417. package/dist/lib/layout/YkContainer/index.d.ts +27 -0
  418. package/dist/lib/layout/YkContainer/index.js +79 -0
  419. package/dist/lib/layout/YkContainer/index.js.map +7 -0
  420. package/dist/lib/layout/YkDrawer/index.d.ts +22 -0
  421. package/dist/lib/layout/YkDrawer/index.js +152 -0
  422. package/dist/lib/layout/YkDrawer/index.js.map +7 -0
  423. package/dist/lib/layout/YkDrawer/index.module.less +45 -0
  424. package/dist/lib/ui/LabelSelect/demo.d.ts +3 -0
  425. package/dist/lib/ui/LabelSelect/demo.js +113 -0
  426. package/dist/lib/ui/LabelSelect/demo.js.map +7 -0
  427. package/dist/lib/ui/LabelSelect/index.d.ts +41 -0
  428. package/dist/lib/ui/LabelSelect/index.js +124 -0
  429. package/dist/lib/ui/LabelSelect/index.js.map +7 -0
  430. package/dist/lib/ui/LogicOperator/index.d.ts +10 -0
  431. package/dist/lib/ui/LogicOperator/index.js +42 -0
  432. package/dist/lib/ui/LogicOperator/index.js.map +7 -0
  433. package/dist/lib/ui/LogicOperator/index.module.less +97 -0
  434. package/dist/lib/ui/YkButton/index.d.ts +9 -0
  435. package/dist/lib/ui/YkButton/index.js +55 -0
  436. package/dist/lib/ui/YkButton/index.js.map +7 -0
  437. package/dist/lib/ui/YkCard/index.d.ts +4 -0
  438. package/dist/lib/ui/YkCard/index.js +76 -0
  439. package/dist/lib/ui/YkCard/index.js.map +7 -0
  440. package/dist/lib/ui/YkCard/index.module.less +30 -0
  441. package/dist/lib/ui/YkCheckbox/index.d.ts +4 -0
  442. package/dist/lib/ui/YkCheckbox/index.js +42 -0
  443. package/dist/lib/ui/YkCheckbox/index.js.map +7 -0
  444. package/dist/lib/ui/YkCheckbox/index.module.less +22 -0
  445. package/dist/lib/ui/YkDescriptions/index.d.ts +4 -0
  446. package/dist/lib/ui/YkDescriptions/index.js +41 -0
  447. package/dist/lib/ui/YkDescriptions/index.js.map +7 -0
  448. package/dist/lib/ui/YkPagination/index.d.ts +4 -0
  449. package/dist/lib/ui/YkPagination/index.js +60 -0
  450. package/dist/lib/ui/YkPagination/index.js.map +7 -0
  451. package/dist/lib/ui/YkPagination/index.module.less +22 -0
  452. package/dist/lib/ui/YkRadio/index.d.ts +4 -0
  453. package/dist/lib/ui/YkRadio/index.js +51 -0
  454. package/dist/lib/ui/YkRadio/index.js.map +7 -0
  455. package/dist/lib/ui/YkRadio/index.module.less +22 -0
  456. package/dist/lib/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  457. package/dist/lib/ui/YkRadioBtnSpecial/index.js +53 -0
  458. package/dist/lib/ui/YkRadioBtnSpecial/index.js.map +7 -0
  459. package/dist/lib/ui/YkRadioBtnSpecial/index.module.less +112 -0
  460. package/dist/lib/ui/YkSegmented/index.d.ts +4 -0
  461. package/dist/lib/ui/YkSegmented/index.js +41 -0
  462. package/dist/lib/ui/YkSegmented/index.js.map +7 -0
  463. package/dist/lib/ui/YkSelect/index.d.ts +7 -0
  464. package/dist/lib/ui/YkSelect/index.js +54 -0
  465. package/dist/lib/ui/YkSelect/index.js.map +7 -0
  466. package/dist/lib/ui/YkSpin/index.d.ts +4 -0
  467. package/dist/lib/ui/YkSpin/index.js +41 -0
  468. package/dist/lib/ui/YkSpin/index.js.map +7 -0
  469. package/dist/lib/ui/YkStatistic/index.d.ts +4 -0
  470. package/dist/lib/ui/YkStatistic/index.js +41 -0
  471. package/dist/lib/ui/YkStatistic/index.js.map +7 -0
  472. package/dist/lib/ui/YkSwitch/index.d.ts +4 -0
  473. package/dist/lib/ui/YkSwitch/index.js +51 -0
  474. package/dist/lib/ui/YkSwitch/index.js.map +7 -0
  475. package/dist/lib/ui/YkTabs/index.d.ts +12 -0
  476. package/dist/lib/ui/YkTabs/index.js +70 -0
  477. package/dist/lib/ui/YkTabs/index.js.map +7 -0
  478. package/dist/lib/ui/YkTabs/index.module.less +11 -0
  479. package/dist/lib/ui/YkTooltip/index.d.ts +4 -0
  480. package/dist/lib/ui/YkTooltip/index.js +45 -0
  481. package/dist/lib/ui/YkTooltip/index.js.map +7 -0
  482. package/dist/lib/utils/styleUtils.d.ts +18 -0
  483. package/dist/lib/utils/styleUtils.js +84 -0
  484. package/dist/lib/utils/styleUtils.js.map +7 -0
  485. package/dist/lib/utils/ykStorybookDoc.d.ts +17 -0
  486. package/dist/lib/utils/ykStorybookDoc.js +41 -0
  487. package/dist/lib/utils/ykStorybookDoc.js.map +7 -0
  488. package/package.json +148 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/AiChat/useAiChat.ts"],
4
+ "sourcesContent": ["import { message } from 'antd';\nimport { useCallback, useEffect, useState } from 'react';\nimport { createSSE } from './sse';\nimport type { ChatSession, Message, UseAiChatOptions, UseAiChatReturn } from './type';\n\nexport function useAiChat(options?: UseAiChatOptions): UseAiChatReturn {\n const apiPath = options?.apiPath || '/api/ai/chat-stream';\n const storageKey = options?.storageKey || 'ai_chat_sessions';\n\n const [sessions, setSessions] = useState<ChatSession[]>([]);\n const [activeSession, setActiveSession] = useState<ChatSession | null>(null);\n const [loading, setLoading] = useState(false);\n const [cancelFn, setCancelFn] = useState<(() => void) | null>(null);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const loadSessions = async () => {\n if (options?.onFetchSessions) {\n try {\n const list = await options.onFetchSessions();\n setSessions(list);\n if (list.length > 0) setActiveSession(list[list.length - 1]);\n } catch (err) {\n console.error('加载会话失败:', err);\n }\n } else {\n const saved = localStorage.getItem(storageKey);\n if (saved) {\n const list = JSON.parse(saved);\n setSessions(list);\n if (list.length > 0) setActiveSession(list[list.length - 1]);\n }\n }\n };\n loadSessions();\n }, [storageKey, options?.onFetchSessions]);\n\n useEffect(() => {\n if (!options?.onFetchSessions && sessions.length) {\n localStorage.setItem(storageKey, JSON.stringify(sessions));\n }\n }, [sessions, storageKey, options?.onFetchSessions]);\n\n const createNewSession = useCallback(async () => {\n let newSessionId: string;\n\n if (options?.onCreateSession) {\n try {\n const result = await options.onCreateSession();\n newSessionId = result.sessionId;\n } catch (err) {\n console.error('创建会话失败:', err);\n message.error('创建会话失败');\n return;\n }\n } else {\n newSessionId = Date.now().toString();\n }\n\n const s: ChatSession = {\n id: newSessionId,\n title: '新会话',\n createTime: Date.now(),\n messages: [],\n };\n setSessions((prev) => [...prev, s]);\n setActiveSession(s);\n setVisible(true);\n }, [options?.onCreateSession]);\n\n const switchSession = useCallback(\n async (id: string) => {\n if (options?.onFetchSessionDetail) {\n try {\n const detail = await options.onFetchSessionDetail(id);\n setActiveSession(detail);\n } catch (err) {\n console.error('获取会话详情失败:', err);\n message.error('获取会话详情失败');\n }\n } else {\n const s = sessions.find((x) => x.id === id);\n if (s) setActiveSession(s);\n }\n },\n [sessions, options?.onFetchSessionDetail],\n );\n\n const deleteSession = useCallback(\n (id: string, e: React.MouseEvent) => {\n e.stopPropagation();\n const ns = sessions.filter((x) => x.id !== id);\n setSessions(ns);\n if (activeSession?.id === id) setActiveSession(ns.at(-1) ?? null);\n },\n [sessions, activeSession],\n );\n\n const sendQuestion = useCallback(\n async (content: string, regenId?: string) => {\n if (!content.trim() || !activeSession) return;\n\n if (options?.onBeforeSend) {\n const canSend = await options.onBeforeSend(content);\n if (!canSend) return;\n }\n\n const user: Message = { id: `${Date.now()}_u`, role: 'user', content };\n const ai: Message = {\n id: `${Date.now()}_ai`,\n role: 'ai',\n content: '',\n loading: true,\n };\n\n let newMsgs: Message[] = [];\n if (regenId) {\n newMsgs = activeSession.messages.map((m) => (m.id === regenId ? ai : m));\n } else {\n newMsgs = [...activeSession.messages, user, ai];\n }\n\n const updated: ChatSession = {\n ...activeSession,\n title: activeSession.messages.length === 0 ? content.slice(0, 20) : activeSession.title,\n messages: newMsgs,\n };\n setActiveSession(updated);\n setSessions((prev) => prev.map((x) => (x.id === updated.id ? updated : x)));\n\n setLoading(true);\n\n // 如果提供了 onSendMessage 回调,则使用自定义发送逻辑\n if (options?.onSendMessage) {\n try {\n await options.onSendMessage({\n sessionId: activeSession.id,\n prompt: content,\n history: updated.messages.filter((m) => !m.loading),\n });\n setLoading(false);\n const ms = updated.messages.map((m) => (m.loading ? { ...m, loading: false } : m));\n const su = { ...updated, messages: ms };\n setActiveSession(su);\n setSessions((prev) => prev.map((x) => (x.id === su.id ? su : x)));\n options?.onSuccess?.();\n } catch (err) {\n setLoading(false);\n const error = err as Error;\n message.error(`请求异常:${error.message}`);\n options?.onError?.(error);\n }\n } else {\n // 使用默认 SSE 逻辑\n const cancel = await createSSE(\n apiPath,\n {\n prompt: content,\n history: updated.messages.filter((m) => !m.loading),\n useMcp: true,\n sessionId: activeSession.id,\n },\n (text) => {\n if (!activeSession) return;\n const ms = updated.messages.map((m) => (m.loading ? { ...m, content: m.content + text } : m));\n const su = { ...updated, messages: ms };\n setActiveSession(su);\n setSessions((prev) => prev.map((x) => (x.id === su.id ? su : x)));\n },\n () => {\n setLoading(false);\n const ms = updated.messages.map((m) => (m.loading ? { ...m, loading: false } : m));\n const su = { ...updated, messages: ms };\n setActiveSession(su);\n setSessions((prev) => prev.map((x) => (x.id === su.id ? su : x)));\n options?.onSuccess?.();\n },\n (err) => {\n setLoading(false);\n const errorMsg = err.message;\n message.error(`请求异常:${errorMsg}`);\n options?.onError?.(err);\n },\n );\n setCancelFn(() => cancel);\n }\n },\n [activeSession, apiPath, options],\n );\n\n const regenerateAnswer = useCallback(\n (msg: Message) => {\n if (!activeSession) return;\n const idx = activeSession.messages.findIndex((x) => x.id === msg.id);\n const userMsg = activeSession.messages[idx - 1];\n if (userMsg?.role === 'user') sendQuestion(userMsg.content, msg.id);\n },\n [activeSession, sendQuestion],\n );\n\n const deleteSingleMsg = useCallback(\n (id: string, e: React.MouseEvent) => {\n e.stopPropagation();\n if (!activeSession) return;\n const ms = activeSession.messages.filter((x) => x.id !== id);\n const up = { ...activeSession, messages: ms };\n setActiveSession(up);\n setSessions((prev) => prev.map((x) => (x.id === up.id ? up : x)));\n },\n [activeSession],\n );\n\n const cancelRequest = useCallback(() => {\n cancelFn?.();\n setLoading(false);\n }, [cancelFn]);\n\n const toggleVisible = useCallback((v?: boolean) => setVisible(v ?? !visible), [visible]);\n\n return {\n sessions,\n activeSession,\n loading,\n visible,\n createNewSession,\n switchSession,\n deleteSession,\n sendQuestion,\n regenerateAnswer,\n deleteSingleMsg,\n cancelRequest,\n toggleVisible,\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["_a"]
7
+ }
@@ -0,0 +1,25 @@
1
+ import { recognizeIntent } from './intentRecognizer';
2
+ import type { NavigationOptions, Task, TaskCreationResult, TaskTypeConfig } from './type';
3
+ export interface UseTaskWorkflowOptions {
4
+ enabled?: boolean;
5
+ createTaskApi?: string;
6
+ supportedTaskTypes?: TaskTypeConfig[];
7
+ autoNavigate?: boolean;
8
+ refreshDelay?: number;
9
+ taskIdParamName?: string;
10
+ taskTypeParamName?: string;
11
+ onTaskCreated?: (taskId: string, taskData?: any) => void;
12
+ onError?: (error: Error) => void;
13
+ }
14
+ export interface UseTaskWorkflowReturn {
15
+ tasks: Task[];
16
+ createTask: (task: Omit<Task, 'id' | 'createTime'>) => void;
17
+ updateTaskStatus: (taskId: string, status: Task['status']) => void;
18
+ deleteTask: (taskId: string) => void;
19
+ recognizeIntent: (text: string) => ReturnType<typeof recognizeIntent>;
20
+ createTaskFromNaturalLanguage: (description: string) => Promise<TaskCreationResult>;
21
+ updateUrlWithTaskId: (taskId: string, options?: NavigationOptions) => void;
22
+ refreshCurrentPage: (taskId?: string) => void;
23
+ executeTaskCreationWorkflow: (description: string) => Promise<void>;
24
+ }
25
+ export declare function useTaskWorkflow(options?: UseTaskWorkflowOptions): UseTaskWorkflowReturn;
@@ -0,0 +1,196 @@
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
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+
41
+ // src/business/AiChat/useTaskWorkflow.ts
42
+ import { message } from "antd";
43
+ import { useCallback, useState } from "react";
44
+ import { parseTaskDescription, recognizeIntent } from "./intentRecognizer";
45
+ import { delay, NavigationManager } from "./navigationManager";
46
+ var DEFAULT_API_PATH = "/api/task/create";
47
+ function useTaskWorkflow(options = {}) {
48
+ const {
49
+ enabled = true,
50
+ createTaskApi = DEFAULT_API_PATH,
51
+ autoNavigate = true,
52
+ refreshDelay = 1500,
53
+ taskIdParamName = "taskId",
54
+ taskTypeParamName = "type",
55
+ onTaskCreated,
56
+ onError
57
+ } = options;
58
+ const [tasks, setTasks] = useState([]);
59
+ const createTask = useCallback((task) => {
60
+ const newTask = __spreadProps(__spreadValues({}, task), {
61
+ id: Date.now().toString(),
62
+ createTime: Date.now()
63
+ });
64
+ setTasks((prev) => [...prev, newTask]);
65
+ return newTask;
66
+ }, []);
67
+ const updateTaskStatus = useCallback((taskId, status) => {
68
+ setTasks((prev) => prev.map((task) => task.id === taskId ? __spreadProps(__spreadValues({}, task), { status }) : task));
69
+ }, []);
70
+ const deleteTask = useCallback((taskId) => {
71
+ setTasks((prev) => prev.filter((task) => task.id !== taskId));
72
+ }, []);
73
+ const recognizeIntentCallback = useCallback((text) => recognizeIntent(text), []);
74
+ const createTaskFromNaturalLanguage = useCallback(
75
+ (description) => __async(this, null, function* () {
76
+ var _a, _b, _c;
77
+ try {
78
+ const taskDesc = parseTaskDescription(description);
79
+ const requestData = {
80
+ type: taskDesc.taskType,
81
+ name: taskDesc.taskName,
82
+ description: taskDesc.description,
83
+ priority: taskDesc.priority,
84
+ timestamp: Date.now()
85
+ };
86
+ const response = yield fetch(createTaskApi, {
87
+ method: "POST",
88
+ headers: {
89
+ "Content-Type": "application/json"
90
+ },
91
+ body: JSON.stringify(requestData)
92
+ });
93
+ if (!response.ok) {
94
+ throw new Error(`HTTP error! status: ${response.status}`);
95
+ }
96
+ const result = yield response.json();
97
+ if (result.code !== 0 && result.code !== 200) {
98
+ throw new Error(result.message || "创建任务失败");
99
+ }
100
+ const taskId = ((_a = result.data) == null ? void 0 : _a.taskId) || ((_b = result.data) == null ? void 0 : _b.id);
101
+ if (!taskId) {
102
+ throw new Error("未获取到任务ID");
103
+ }
104
+ createTask({
105
+ title: taskDesc.taskName,
106
+ description: taskDesc.description,
107
+ category: taskDesc.taskType,
108
+ priority: taskDesc.priority,
109
+ status: "pending",
110
+ sourceMessageId: void 0,
111
+ apiResponse: result.data
112
+ });
113
+ onTaskCreated == null ? void 0 : onTaskCreated(taskId, result.data);
114
+ return {
115
+ success: true,
116
+ taskId,
117
+ taskData: result.data,
118
+ redirectUrl: (_c = result.data) == null ? void 0 : _c.redirectUrl
119
+ };
120
+ } catch (error) {
121
+ const err = error instanceof Error ? error : new Error(String(error));
122
+ onError == null ? void 0 : onError(err);
123
+ return {
124
+ success: false,
125
+ error: err.message
126
+ };
127
+ }
128
+ }),
129
+ [createTaskApi, createTask, onTaskCreated, onError]
130
+ );
131
+ const updateUrlWithTaskId = useCallback(
132
+ (taskId, options2) => {
133
+ const taskType = NavigationManager.getQueryParam(taskTypeParamName);
134
+ NavigationManager.updateQueryParams(
135
+ __spreadValues({
136
+ [taskIdParamName]: taskId
137
+ }, taskType ? { [taskTypeParamName]: taskType } : {}),
138
+ {
139
+ replace: (options2 == null ? void 0 : options2.replace) || false,
140
+ merge: (options2 == null ? void 0 : options2.merge) !== false,
141
+ queryParams: options2 == null ? void 0 : options2.queryParams
142
+ }
143
+ );
144
+ },
145
+ [taskIdParamName, taskTypeParamName]
146
+ );
147
+ const refreshCurrentPage = useCallback(
148
+ (taskId) => {
149
+ if (taskId) {
150
+ updateUrlWithTaskId(taskId);
151
+ }
152
+ setTimeout(() => {
153
+ window.location.reload();
154
+ }, refreshDelay);
155
+ },
156
+ [updateUrlWithTaskId, refreshDelay]
157
+ );
158
+ const executeTaskCreationWorkflow = useCallback(
159
+ (description) => __async(this, null, function* () {
160
+ if (!enabled) {
161
+ message.warning("任务工作流未启用");
162
+ return;
163
+ }
164
+ const result = yield createTaskFromNaturalLanguage(description);
165
+ if (!result.success) {
166
+ message.error(`创建任务失败: ${result.error}`);
167
+ return;
168
+ }
169
+ const taskId = result.taskId;
170
+ message.success(`任务创建成功,ID: ${taskId}`);
171
+ if (autoNavigate) {
172
+ updateUrlWithTaskId(taskId);
173
+ }
174
+ if (autoNavigate) {
175
+ yield delay(refreshDelay);
176
+ refreshCurrentPage(taskId);
177
+ }
178
+ }),
179
+ [enabled, createTaskFromNaturalLanguage, autoNavigate, updateUrlWithTaskId, refreshDelay, refreshCurrentPage]
180
+ );
181
+ return {
182
+ tasks,
183
+ createTask,
184
+ updateTaskStatus,
185
+ deleteTask,
186
+ recognizeIntent: recognizeIntentCallback,
187
+ createTaskFromNaturalLanguage,
188
+ updateUrlWithTaskId,
189
+ refreshCurrentPage,
190
+ executeTaskCreationWorkflow
191
+ };
192
+ }
193
+ export {
194
+ useTaskWorkflow
195
+ };
196
+ //# sourceMappingURL=useTaskWorkflow.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/AiChat/useTaskWorkflow.ts"],
4
+ "sourcesContent": ["import { message } from 'antd';\nimport { useCallback, useState } from 'react';\nimport { parseTaskDescription, recognizeIntent } from './intentRecognizer';\nimport { delay, NavigationManager } from './navigationManager';\nimport type { NavigationOptions, Task, TaskCreationResult, TaskTypeConfig } from './type';\n\nexport interface UseTaskWorkflowOptions {\n enabled?: boolean;\n createTaskApi?: string;\n supportedTaskTypes?: TaskTypeConfig[];\n autoNavigate?: boolean;\n refreshDelay?: number;\n taskIdParamName?: string;\n taskTypeParamName?: string;\n onTaskCreated?: (taskId: string, taskData?: any) => void;\n onError?: (error: Error) => void;\n}\n\nexport interface UseTaskWorkflowReturn {\n tasks: Task[];\n createTask: (task: Omit<Task, 'id' | 'createTime'>) => void;\n updateTaskStatus: (taskId: string, status: Task['status']) => void;\n deleteTask: (taskId: string) => void;\n\n // 意图识别\n recognizeIntent: (text: string) => ReturnType<typeof recognizeIntent>;\n\n // 任务工作流\n createTaskFromNaturalLanguage: (description: string) => Promise<TaskCreationResult>;\n updateUrlWithTaskId: (taskId: string, options?: NavigationOptions) => void;\n refreshCurrentPage: (taskId?: string) => void;\n executeTaskCreationWorkflow: (description: string) => Promise<void>;\n}\n\nconst DEFAULT_API_PATH = '/api/task/create';\n\nexport function useTaskWorkflow(options: UseTaskWorkflowOptions = {}): UseTaskWorkflowReturn {\n const {\n enabled = true,\n createTaskApi = DEFAULT_API_PATH,\n autoNavigate = true,\n refreshDelay = 1500,\n taskIdParamName = 'taskId',\n taskTypeParamName = 'type',\n onTaskCreated,\n onError,\n } = options;\n\n const [tasks, setTasks] = useState<Task[]>([]);\n\n // 创建任务\n const createTask = useCallback((task: Omit<Task, 'id' | 'createTime'>) => {\n const newTask: Task = {\n ...task,\n id: Date.now().toString(),\n createTime: Date.now(),\n };\n setTasks((prev) => [...prev, newTask]);\n return newTask;\n }, []);\n\n // 更新任务状态\n const updateTaskStatus = useCallback((taskId: string, status: Task['status']) => {\n setTasks((prev) => prev.map((task) => (task.id === taskId ? { ...task, status } : task)));\n }, []);\n\n // 删除任务\n const deleteTask = useCallback((taskId: string) => {\n setTasks((prev) => prev.filter((task) => task.id !== taskId));\n }, []);\n\n // 识别意图\n const recognizeIntentCallback = useCallback((text: string) => recognizeIntent(text), []);\n\n // 从自然语言创建任务\n const createTaskFromNaturalLanguage = useCallback(\n async (description: string): Promise<TaskCreationResult> => {\n try {\n // 解析任务描述\n const taskDesc = parseTaskDescription(description);\n\n // 构建请求数据\n const requestData = {\n type: taskDesc.taskType,\n name: taskDesc.taskName,\n description: taskDesc.description,\n priority: taskDesc.priority,\n timestamp: Date.now(),\n };\n\n // 调用API创建任务\n const response = await fetch(createTaskApi, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestData),\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const result = await response.json();\n\n if (result.code !== 0 && result.code !== 200) {\n throw new Error(result.message || '创建任务失败');\n }\n\n const taskId = result.data?.taskId || result.data?.id;\n\n if (!taskId) {\n throw new Error('未获取到任务ID');\n }\n\n // 创建本地任务记录\n createTask({\n title: taskDesc.taskName,\n description: taskDesc.description,\n category: taskDesc.taskType as Task['category'],\n priority: taskDesc.priority as Task['priority'],\n status: 'pending',\n sourceMessageId: undefined,\n apiResponse: result.data,\n });\n\n // 触发回调\n onTaskCreated?.(taskId, result.data);\n\n return {\n success: true,\n taskId,\n taskData: result.data,\n redirectUrl: result.data?.redirectUrl,\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n onError?.(err);\n return {\n success: false,\n error: err.message,\n };\n }\n },\n [createTaskApi, createTask, onTaskCreated, onError],\n );\n\n // 更新URL中的任务ID\n const updateUrlWithTaskId = useCallback(\n (taskId: string, options?: NavigationOptions) => {\n const taskType = NavigationManager.getQueryParam(taskTypeParamName);\n NavigationManager.updateQueryParams(\n {\n [taskIdParamName]: taskId,\n ...(taskType ? { [taskTypeParamName]: taskType } : {}),\n },\n {\n replace: options?.replace || false,\n merge: options?.merge !== false,\n queryParams: options?.queryParams,\n },\n );\n },\n [taskIdParamName, taskTypeParamName],\n );\n\n // 刷新当前页面\n const refreshCurrentPage = useCallback(\n (taskId?: string) => {\n if (taskId) {\n updateUrlWithTaskId(taskId);\n }\n\n // 延迟刷新,让用户看到成功消息\n setTimeout(() => {\n window.location.reload();\n }, refreshDelay);\n },\n [updateUrlWithTaskId, refreshDelay],\n );\n\n // 执行任务创建工作流\n const executeTaskCreationWorkflow = useCallback(\n async (description: string) => {\n if (!enabled) {\n message.warning('任务工作流未启用');\n return;\n }\n\n // 1. 调用API创建任务\n const result = await createTaskFromNaturalLanguage(description);\n\n if (!result.success) {\n message.error(`创建任务失败: ${result.error}`);\n return;\n }\n\n const taskId = result.taskId!;\n\n // 2. 显示成功消息\n message.success(`任务创建成功,ID: ${taskId}`);\n\n // 3. 更新URL\n if (autoNavigate) {\n updateUrlWithTaskId(taskId);\n }\n\n // 4. 延迟刷新页面\n if (autoNavigate) {\n await delay(refreshDelay);\n refreshCurrentPage(taskId);\n }\n },\n [enabled, createTaskFromNaturalLanguage, autoNavigate, updateUrlWithTaskId, refreshDelay, refreshCurrentPage],\n );\n\n return {\n tasks,\n createTask,\n updateTaskStatus,\n deleteTask,\n recognizeIntent: recognizeIntentCallback,\n createTaskFromNaturalLanguage,\n updateUrlWithTaskId,\n refreshCurrentPage,\n executeTaskCreationWorkflow,\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["options"]
7
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ /** 提示内容数据结构,与 loadData 返回一致 */
3
+ export interface TipContentData {
4
+ tip_id: number;
5
+ tip_name: string;
6
+ content: string;
7
+ stared: boolean;
8
+ unstared: boolean;
9
+ }
10
+ /** 反馈接口参数 */
11
+ export interface FeedbackParams {
12
+ stared?: boolean;
13
+ unstared?: boolean;
14
+ }
15
+ /**
16
+ * DrawerPageInfo 组件的 Props
17
+ * 数据与请求通过 loadData / onFeedback 由父组件负责,组件仅负责展示与交互。
18
+ */
19
+ export type PropsType = {
20
+ /** 当前提示页 id,用于 loadData / onFeedback 入参 */
21
+ id: number | string;
22
+ /** 抽屉是否打开 */
23
+ open: boolean;
24
+ /** 抽屉打开状态变化回调(关闭时由组件调用) */
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** 加载内容:抽屉打开且 id 有效时由组件调用,父组件请求后返回数据 */
27
+ loadData: (id: number) => Promise<TipContentData>;
28
+ /** 提交反馈(点赞/点踩):父组件请求接口,组件在成功后更新本地状态 */
29
+ onFeedback: (id: number, params: FeedbackParams) => Promise<void>;
30
+ };
31
+ /**
32
+ * 抽屉式提示页:展示富文本内容与点赞/点踩反馈,内容与反馈请求通过 props 回调解耦。
33
+ */
34
+ declare const DrawerPageInfo: React.FC<PropsType>;
35
+ export default DrawerPageInfo;
@@ -0,0 +1,133 @@
1
+ // src/business/DrawerPageInfo/index.tsx
2
+ import { CloseOutlined, DislikeOutlined, LikeOutlined } from "@ant-design/icons";
3
+ import { Button, Divider, Drawer, Modal, Skeleton } from "antd";
4
+ import React, { useCallback, useEffect, useRef, useState } from "react";
5
+ import styles from "./index.module.less";
6
+ var FEEDBACK_RESET_DELAY = 200;
7
+ var DrawerPageInfo = ({ id, open, onOpenChange, loadData, onFeedback }) => {
8
+ const numericId = Number(id);
9
+ const onOpenChangeFn = onOpenChange != null ? onOpenChange : () => {
10
+ };
11
+ const [title, setTitle] = useState("");
12
+ const [content, setContent] = useState("");
13
+ const [stared, setStared] = useState(false);
14
+ const [unstared, setUnstared] = useState(false);
15
+ const [loading, setLoading] = useState(false);
16
+ const [feedbackLoading, setFeedbackLoading] = useState(false);
17
+ const [previewOpen, setPreviewOpen] = useState(false);
18
+ const [previewSrc, setPreviewSrc] = useState("");
19
+ const richTextRef = useRef(null);
20
+ useEffect(() => {
21
+ if (!open || !numericId || Number.isNaN(numericId))
22
+ return;
23
+ setLoading(true);
24
+ loadData(numericId).then((data) => {
25
+ setTitle(data.tip_name);
26
+ setContent(data.content);
27
+ setStared(data.stared);
28
+ setUnstared(data.unstared);
29
+ }).finally(() => setLoading(false));
30
+ }, [open, numericId, loadData]);
31
+ const onClose = useCallback(() => {
32
+ setContent("");
33
+ onOpenChangeFn(false);
34
+ }, [onOpenChangeFn]);
35
+ const handleLike = useCallback(() => {
36
+ setFeedbackLoading(true);
37
+ const nextStared = !stared;
38
+ const run = unstared ? onFeedback(numericId, { unstared: false }).then(() => onFeedback(numericId, { stared: nextStared })) : onFeedback(numericId, { stared: nextStared });
39
+ run.then(() => {
40
+ setStared(nextStared);
41
+ if (unstared)
42
+ setUnstared(false);
43
+ }).finally(() => {
44
+ setTimeout(() => setFeedbackLoading(false), FEEDBACK_RESET_DELAY);
45
+ });
46
+ }, [numericId, stared, unstared, onFeedback]);
47
+ const handleDislike = useCallback(() => {
48
+ setFeedbackLoading(true);
49
+ const nextUnstared = !unstared;
50
+ const run = stared ? onFeedback(numericId, { stared: false }).then(() => onFeedback(numericId, { unstared: nextUnstared })) : onFeedback(numericId, { unstared: nextUnstared });
51
+ run.then(() => {
52
+ setUnstared(nextUnstared);
53
+ if (stared)
54
+ setStared(false);
55
+ }).finally(() => {
56
+ setTimeout(() => setFeedbackLoading(false), FEEDBACK_RESET_DELAY);
57
+ });
58
+ }, [numericId, stared, unstared, onFeedback]);
59
+ useEffect(() => {
60
+ const el = richTextRef.current;
61
+ if (!el || !content)
62
+ return;
63
+ const images = el.querySelectorAll("img");
64
+ const handler = (e) => {
65
+ const img = e.currentTarget;
66
+ if (img == null ? void 0 : img.src) {
67
+ setPreviewSrc(img.src);
68
+ setPreviewOpen(true);
69
+ }
70
+ };
71
+ images.forEach((img) => {
72
+ img.style.cursor = "pointer";
73
+ img.addEventListener("click", handler);
74
+ });
75
+ return () => images.forEach((img) => img.removeEventListener("click", handler));
76
+ }, [content]);
77
+ const showThanks = (stared || unstared) && !feedbackLoading;
78
+ if (!numericId || Number.isNaN(numericId))
79
+ return null;
80
+ return /* @__PURE__ */ React.createElement(
81
+ Drawer,
82
+ {
83
+ title,
84
+ width: 600,
85
+ open,
86
+ onClose,
87
+ extra: /* @__PURE__ */ React.createElement("div", { className: styles.pageInfoDrawerExtraClose, onClick: onClose, role: "button", tabIndex: 0 }, /* @__PURE__ */ React.createElement(CloseOutlined, null)),
88
+ maskClosable: false,
89
+ className: styles.drawerTipInfo
90
+ },
91
+ loading ? /* @__PURE__ */ React.createElement(Skeleton, { active: true }) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { ref: richTextRef, className: styles.boxTipHtml, dangerouslySetInnerHTML: { __html: content } }), /* @__PURE__ */ React.createElement("div", { className: styles.boxStared }, /* @__PURE__ */ React.createElement(Divider, { plain: true, style: { margin: "10px 0" } }, "此内容是否有帮助"), /* @__PURE__ */ React.createElement("div", { className: styles.btnsStared }, /* @__PURE__ */ React.createElement(
92
+ Button,
93
+ {
94
+ type: stared ? "primary" : "default",
95
+ shape: "circle",
96
+ loading: feedbackLoading,
97
+ disabled: feedbackLoading,
98
+ icon: /* @__PURE__ */ React.createElement(LikeOutlined, null),
99
+ onClick: handleLike
100
+ }
101
+ ), /* @__PURE__ */ React.createElement(
102
+ Button,
103
+ {
104
+ type: unstared ? "primary" : "default",
105
+ shape: "circle",
106
+ loading: feedbackLoading,
107
+ disabled: feedbackLoading,
108
+ icon: /* @__PURE__ */ React.createElement(DislikeOutlined, null),
109
+ onClick: handleDislike
110
+ }
111
+ )), /* @__PURE__ */ React.createElement("div", { className: styles.thanksTip, style: { cursor: "default", opacity: showThanks ? 1 : 0 } }, "感谢您的反馈"))),
112
+ /* @__PURE__ */ React.createElement(
113
+ Modal,
114
+ {
115
+ title: "图片",
116
+ style: { top: 20 },
117
+ open: previewOpen,
118
+ onCancel: () => {
119
+ setPreviewOpen(false);
120
+ setPreviewSrc("");
121
+ },
122
+ footer: null,
123
+ width: "80%"
124
+ },
125
+ /* @__PURE__ */ React.createElement("img", { src: previewSrc, alt: "预览", style: { width: "100%" } })
126
+ )
127
+ );
128
+ };
129
+ var DrawerPageInfo_default = DrawerPageInfo;
130
+ export {
131
+ DrawerPageInfo_default as default
132
+ };
133
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/DrawerPageInfo/index.tsx"],
4
+ "sourcesContent": ["import { CloseOutlined, DislikeOutlined, LikeOutlined } from '@ant-design/icons';\nimport { Button, Divider, Drawer, Modal, Skeleton } from 'antd';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport styles from './index.module.less';\n\n/** 提示内容数据结构,与 loadData 返回一致 */\nexport interface TipContentData {\n tip_id: number;\n tip_name: string;\n content: string;\n stared: boolean;\n unstared: boolean;\n}\n\n/** 反馈接口参数 */\nexport interface FeedbackParams {\n stared?: boolean;\n unstared?: boolean;\n}\n\n/**\n * DrawerPageInfo 组件的 Props\n * 数据与请求通过 loadData / onFeedback 由父组件负责,组件仅负责展示与交互。\n */\nexport type PropsType = {\n /** 当前提示页 id,用于 loadData / onFeedback 入参 */\n id: number | string;\n /** 抽屉是否打开 */\n open: boolean;\n /** 抽屉打开状态变化回调(关闭时由组件调用) */\n onOpenChange?: (open: boolean) => void;\n /** 加载内容:抽屉打开且 id 有效时由组件调用,父组件请求后返回数据 */\n loadData: (id: number) => Promise<TipContentData>;\n /** 提交反馈(点赞/点踩):父组件请求接口,组件在成功后更新本地状态 */\n onFeedback: (id: number, params: FeedbackParams) => Promise<void>;\n};\n\nconst FEEDBACK_RESET_DELAY = 200;\n\n/**\n * 抽屉式提示页:展示富文本内容与点赞/点踩反馈,内容与反馈请求通过 props 回调解耦。\n */\nconst DrawerPageInfo: React.FC<PropsType> = ({ id, open, onOpenChange, loadData, onFeedback }) => {\n const numericId = Number(id);\n const onOpenChangeFn = onOpenChange ?? (() => {});\n const [title, setTitle] = useState('');\n const [content, setContent] = useState('');\n const [stared, setStared] = useState(false);\n const [unstared, setUnstared] = useState(false);\n const [loading, setLoading] = useState(false);\n const [feedbackLoading, setFeedbackLoading] = useState(false);\n\n const [previewOpen, setPreviewOpen] = useState(false);\n const [previewSrc, setPreviewSrc] = useState('');\n const richTextRef = useRef<HTMLDivElement>(null);\n\n /** 打开时根据 id 拉取内容 */\n useEffect(() => {\n if (!open || !numericId || Number.isNaN(numericId)) return;\n setLoading(true);\n loadData(numericId)\n .then((data) => {\n setTitle(data.tip_name);\n setContent(data.content);\n setStared(data.stared);\n setUnstared(data.unstared);\n })\n .finally(() => setLoading(false));\n }, [open, numericId, loadData]);\n\n const onClose = useCallback(() => {\n setContent('');\n onOpenChangeFn(false);\n }, [onOpenChangeFn]);\n\n /** 点赞:若已点踩则先取消点踩再点赞,否则直接点赞 */\n const handleLike = useCallback(() => {\n setFeedbackLoading(true);\n const nextStared = !stared;\n const run = unstared\n ? onFeedback(numericId, { unstared: false }).then(() => onFeedback(numericId, { stared: nextStared }))\n : onFeedback(numericId, { stared: nextStared });\n\n run\n .then(() => {\n setStared(nextStared);\n if (unstared) setUnstared(false);\n })\n .finally(() => {\n setTimeout(() => setFeedbackLoading(false), FEEDBACK_RESET_DELAY);\n });\n }, [numericId, stared, unstared, onFeedback]);\n\n /** 点踩:若已点赞则先取消点赞再点踩,否则直接点踩 */\n const handleDislike = useCallback(() => {\n setFeedbackLoading(true);\n const nextUnstared = !unstared;\n const run = stared\n ? onFeedback(numericId, { stared: false }).then(() => onFeedback(numericId, { unstared: nextUnstared }))\n : onFeedback(numericId, { unstared: nextUnstared });\n\n run\n .then(() => {\n setUnstared(nextUnstared);\n if (stared) setStared(false);\n })\n .finally(() => {\n setTimeout(() => setFeedbackLoading(false), FEEDBACK_RESET_DELAY);\n });\n }, [numericId, stared, unstared, onFeedback]);\n\n /** 富文本内图片点击放大:content 变化后重新绑定 */\n useEffect(() => {\n const el = richTextRef.current;\n if (!el || !content) return;\n const images = el.querySelectorAll<HTMLImageElement>('img');\n const handler = (e: Event) => {\n const img = e.currentTarget as HTMLImageElement;\n if (img?.src) {\n setPreviewSrc(img.src);\n setPreviewOpen(true);\n }\n };\n images.forEach((img) => {\n img.style.cursor = 'pointer';\n img.addEventListener('click', handler);\n });\n return () => images.forEach((img) => img.removeEventListener('click', handler));\n }, [content]);\n\n const showThanks = (stared || unstared) && !feedbackLoading;\n\n if (!numericId || Number.isNaN(numericId)) return null;\n\n return (\n <Drawer\n title={title}\n width={600}\n open={open}\n onClose={onClose}\n extra={\n <div className={styles.pageInfoDrawerExtraClose} onClick={onClose} role=\"button\" tabIndex={0}>\n <CloseOutlined />\n </div>\n }\n maskClosable={false}\n className={styles.drawerTipInfo}\n >\n {loading ? (\n <Skeleton active />\n ) : (\n <>\n <div ref={richTextRef} className={styles.boxTipHtml} dangerouslySetInnerHTML={{ __html: content }} />\n <div className={styles.boxStared}>\n <Divider plain style={{ margin: '10px 0' }}>\n 此内容是否有帮助\n </Divider>\n <div className={styles.btnsStared}>\n <Button\n type={stared ? 'primary' : 'default'}\n shape=\"circle\"\n loading={feedbackLoading}\n disabled={feedbackLoading}\n icon={<LikeOutlined />}\n onClick={handleLike}\n />\n <Button\n type={unstared ? 'primary' : 'default'}\n shape=\"circle\"\n loading={feedbackLoading}\n disabled={feedbackLoading}\n icon={<DislikeOutlined />}\n onClick={handleDislike}\n />\n </div>\n <div className={styles.thanksTip} style={{ cursor: 'default', opacity: showThanks ? 1 : 0 }}>\n 感谢您的反馈\n </div>\n </div>\n </>\n )}\n <Modal\n title=\"图片\"\n style={{ top: 20 }}\n open={previewOpen}\n onCancel={() => {\n setPreviewOpen(false);\n setPreviewSrc('');\n }}\n footer={null}\n width=\"80%\"\n >\n <img src={previewSrc} alt=\"预览\" style={{ width: '100%' }} />\n </Modal>\n </Drawer>\n );\n};\n\nexport default DrawerPageInfo;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,87 @@
1
+ .drawerTipInfo {
2
+ :global(.ant-drawer-close) {
3
+ display: none;
4
+ }
5
+
6
+ .boxTipHtml {
7
+ p {
8
+ margin-top: 1em;
9
+ line-height: 1.25;
10
+ }
11
+
12
+ ul {
13
+ list-style: disc;
14
+ }
15
+
16
+ ol {
17
+ list-style: decimal;
18
+ }
19
+
20
+ blockquote {
21
+ display: block;
22
+ margin: 10px 0;
23
+ padding: 10px;
24
+ font-size: 100%;
25
+ line-height: 1.5;
26
+ background-color: #f1f1f1;
27
+ border-left: 8px solid #3b86f9;
28
+ }
29
+
30
+ table {
31
+ th {
32
+ background-color: #f0f4ff;
33
+ }
34
+ th,
35
+ td {
36
+ padding: 10px;
37
+ border: 0.5px solid rgb(231, 231, 231);
38
+ }
39
+ }
40
+
41
+ video {
42
+ width: 100%;
43
+ height: auto;
44
+ }
45
+ }
46
+
47
+ .boxStared {
48
+ padding: 100px 160px 20px 160px;
49
+
50
+ :global(.ant-divider-inner-text) {
51
+ color: #666666;
52
+ font-size: 12px;
53
+ }
54
+
55
+ .btnsStared {
56
+ display: flex;
57
+ gap: 30px;
58
+ justify-content: center;
59
+
60
+ button {
61
+ line-height: 24px;
62
+ }
63
+ }
64
+
65
+ .thanksTip {
66
+ margin-top: 10px;
67
+ color: #666666;
68
+ font-size: 12px;
69
+ line-height: 18px;
70
+ text-align: center;
71
+ }
72
+ }
73
+ }
74
+
75
+ .pageInfoDrawerExtraClose {
76
+ position: absolute;
77
+ top: 5px;
78
+ left: -45px;
79
+ width: 45px;
80
+ height: 40px;
81
+ color: #fff;
82
+ line-height: 40px;
83
+ text-align: center;
84
+ background: rgb(59, 134, 249);
85
+ border-radius: 8px 0px 0px 8px;
86
+ cursor: pointer;
87
+ }
@@ -0,0 +1,11 @@
1
+ import '@wangeditor/editor/dist/css/style.css';
2
+ import React, { FC } from 'react';
3
+ import './index.less';
4
+ type PageTypes = {
5
+ value: string;
6
+ onChange?: (value: string) => void;
7
+ style?: React.CSSProperties;
8
+ readOnly?: boolean;
9
+ };
10
+ declare const NoteEditor: FC<PageTypes>;
11
+ export default NoteEditor;