@cozeloop/components 0.0.3 → 0.0.4-beta-1770694681364

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 (451) hide show
  1. package/dist/es/index.css +13 -29
  2. package/dist/es/{index.js → index.mjs} +562 -518
  3. package/dist/es/loopIcons.mjs +3 -0
  4. package/dist/es/rslib-runtime.mjs +40 -0
  5. package/dist/lib/base-search-select/base-search-select.d.ts +4 -1
  6. package/dist/lib/base-search-select/index.d.ts +1 -1
  7. package/dist/lib/base-search-select/types.d.ts +1 -1
  8. package/dist/lib/code-editor-with-loading/index.d.ts +10 -0
  9. package/dist/lib/codemirror-editor/code-editor.d.ts +23 -2
  10. package/dist/lib/codemirror-editor/index.d.ts +2 -0
  11. package/dist/lib/codemirror-editor/json-editor.d.ts +1 -1
  12. package/dist/lib/codemirror-editor/raw-code-editor.d.ts +20 -0
  13. package/dist/lib/codemirror-editor/text-editor.d.ts +23 -2
  14. package/dist/lib/collapse-card/index.d.ts +2 -1
  15. package/dist/lib/collapse-item/index.d.ts +7 -0
  16. package/dist/lib/copyable/index.d.ts +5 -0
  17. package/dist/lib/hooks/use-unsave-leave-warning.d.ts +4 -1
  18. package/dist/lib/index.d.ts +7 -6
  19. package/dist/lib/large-txt-render/index.d.ts +1 -0
  20. package/dist/lib/logic-editor/logic-editor.d.ts +2 -4
  21. package/dist/lib/logic-editor/logic-types.d.ts +6 -2
  22. package/dist/lib/loop-icons/index.d.ts +1 -0
  23. package/dist/lib/multi-part-editor/type.d.ts +1 -1
  24. package/dist/lib/primary-page/primary-header.d.ts +2 -1
  25. package/dist/lib/table/sort-icon.d.ts +3 -3
  26. package/dist/lib/table-col-actions/index.d.ts +2 -0
  27. package/package.json +36 -28
  28. package/.eslintcache +0 -1
  29. package/.rush/temp/shrinkwrap-deps.json +0 -770
  30. package/OWNERS +0 -5
  31. package/config/rush-project.json +0 -8
  32. package/dist/lib/base-search-select/base-search-form-select.js +0 -6
  33. package/dist/lib/base-search-select/base-search-form-select.js.map +0 -1
  34. package/dist/lib/base-search-select/base-search-select.js +0 -127
  35. package/dist/lib/base-search-select/base-search-select.js.map +0 -1
  36. package/dist/lib/base-search-select/index.js +0 -3
  37. package/dist/lib/base-search-select/index.js.map +0 -1
  38. package/dist/lib/base-search-select/types.js +0 -2
  39. package/dist/lib/base-search-select/types.js.map +0 -1
  40. package/dist/lib/base-search-select/utils.js +0 -48
  41. package/dist/lib/base-search-select/utils.js.map +0 -1
  42. package/dist/lib/basic-card/index.js +0 -4
  43. package/dist/lib/basic-card/index.js.map +0 -1
  44. package/dist/lib/card-pane/index.js +0 -9
  45. package/dist/lib/card-pane/index.js.map +0 -1
  46. package/dist/lib/chip-select/index.js +0 -6
  47. package/dist/lib/chip-select/index.js.map +0 -1
  48. package/dist/lib/code-editor/index.js +0 -7
  49. package/dist/lib/code-editor/index.js.map +0 -1
  50. package/dist/lib/code-usage/index.d.ts +0 -14
  51. package/dist/lib/code-usage/index.js +0 -31
  52. package/dist/lib/code-usage/index.js.map +0 -1
  53. package/dist/lib/codemirror-editor/code-editor.js +0 -108
  54. package/dist/lib/codemirror-editor/code-editor.js.map +0 -1
  55. package/dist/lib/codemirror-editor/index.js +0 -5
  56. package/dist/lib/codemirror-editor/index.js.map +0 -1
  57. package/dist/lib/codemirror-editor/json-editor.js +0 -97
  58. package/dist/lib/codemirror-editor/json-editor.js.map +0 -1
  59. package/dist/lib/codemirror-editor/raw-text-editor.js +0 -32
  60. package/dist/lib/codemirror-editor/raw-text-editor.js.map +0 -1
  61. package/dist/lib/codemirror-editor/text-editor.js +0 -44
  62. package/dist/lib/codemirror-editor/text-editor.js.map +0 -1
  63. package/dist/lib/codemirror-editor/themes/coze-dark.js +0 -113
  64. package/dist/lib/codemirror-editor/themes/coze-dark.js.map +0 -1
  65. package/dist/lib/codemirror-editor/themes/coze-light.js +0 -119
  66. package/dist/lib/codemirror-editor/themes/coze-light.js.map +0 -1
  67. package/dist/lib/collapse-card/index.js +0 -31
  68. package/dist/lib/collapse-card/index.js.map +0 -1
  69. package/dist/lib/collapsible-card/index.js +0 -13
  70. package/dist/lib/collapsible-card/index.js.map +0 -1
  71. package/dist/lib/column-manage-storage/index.js +0 -48
  72. package/dist/lib/column-manage-storage/index.js.map +0 -1
  73. package/dist/lib/columns-select/index.js +0 -77
  74. package/dist/lib/columns-select/index.js.map +0 -1
  75. package/dist/lib/edit-icon-button/index.js +0 -13
  76. package/dist/lib/edit-icon-button/index.js.map +0 -1
  77. package/dist/lib/footer-actions/index.js +0 -9
  78. package/dist/lib/footer-actions/index.js.map +0 -1
  79. package/dist/lib/hooks/use-infinite-scroll.js +0 -133
  80. package/dist/lib/hooks/use-infinite-scroll.js.map +0 -1
  81. package/dist/lib/hooks/use-mouse-down-offset.js +0 -39
  82. package/dist/lib/hooks/use-mouse-down-offset.js.map +0 -1
  83. package/dist/lib/hooks/use-unsave-leave-warning.js +0 -33
  84. package/dist/lib/hooks/use-unsave-leave-warning.js.map +0 -1
  85. package/dist/lib/id-render/icon-button-container.js +0 -8
  86. package/dist/lib/id-render/icon-button-container.js.map +0 -1
  87. package/dist/lib/id-render/index.js +0 -21
  88. package/dist/lib/id-render/index.js.map +0 -1
  89. package/dist/lib/index-controller/record-navigation.js +0 -9
  90. package/dist/lib/index-controller/record-navigation.js.map +0 -1
  91. package/dist/lib/index-controller/use-item-index-controller.js +0 -123
  92. package/dist/lib/index-controller/use-item-index-controller.js.map +0 -1
  93. package/dist/lib/index.js +0 -76
  94. package/dist/lib/index.js.map +0 -1
  95. package/dist/lib/infinite-scroll-table/index.js +0 -34
  96. package/dist/lib/infinite-scroll-table/index.js.map +0 -1
  97. package/dist/lib/info-tooltip/index.js +0 -9
  98. package/dist/lib/info-tooltip/index.js.map +0 -1
  99. package/dist/lib/input-components/radio-button.js +0 -21
  100. package/dist/lib/input-components/radio-button.js.map +0 -1
  101. package/dist/lib/input-slider/index.js +0 -81
  102. package/dist/lib/input-slider/index.js.map +0 -1
  103. package/dist/lib/input-with-count/index.js +0 -7
  104. package/dist/lib/input-with-count/index.js.map +0 -1
  105. package/dist/lib/jump-button/jump-icon-button.js +0 -7
  106. package/dist/lib/jump-button/jump-icon-button.js.map +0 -1
  107. package/dist/lib/large-txt-render/index.js +0 -26
  108. package/dist/lib/large-txt-render/index.js.map +0 -1
  109. package/dist/lib/layout/content.js +0 -5
  110. package/dist/lib/layout/content.js.map +0 -1
  111. package/dist/lib/layout/header.js +0 -6
  112. package/dist/lib/layout/header.js.map +0 -1
  113. package/dist/lib/layout/index.js +0 -9
  114. package/dist/lib/layout/index.js.map +0 -1
  115. package/dist/lib/layout/tabs.js +0 -10
  116. package/dist/lib/layout/tabs.js.map +0 -1
  117. package/dist/lib/lazy-load-component/index.js +0 -42
  118. package/dist/lib/lazy-load-component/index.js.map +0 -1
  119. package/dist/lib/logic-editor/index.js +0 -3
  120. package/dist/lib/logic-editor/index.js.map +0 -1
  121. package/dist/lib/logic-editor/logic-editor.js +0 -69
  122. package/dist/lib/logic-editor/logic-editor.js.map +0 -1
  123. package/dist/lib/logic-editor/logic-left-render.js +0 -60
  124. package/dist/lib/logic-editor/logic-left-render.js.map +0 -1
  125. package/dist/lib/logic-editor/logic-operator-render.js +0 -29
  126. package/dist/lib/logic-editor/logic-operator-render.js.map +0 -1
  127. package/dist/lib/logic-editor/logic-right-render.js +0 -25
  128. package/dist/lib/logic-editor/logic-right-render.js.map +0 -1
  129. package/dist/lib/logic-editor/logic-types.js +0 -136
  130. package/dist/lib/logic-editor/logic-types.js.map +0 -1
  131. package/dist/lib/logic-editor/utils.js +0 -18
  132. package/dist/lib/logic-editor/utils.js.map +0 -1
  133. package/dist/lib/logic-expr/consts.js +0 -5
  134. package/dist/lib/logic-expr/consts.js.map +0 -1
  135. package/dist/lib/logic-expr/expr-group-render.js +0 -61
  136. package/dist/lib/logic-expr/expr-group-render.js.map +0 -1
  137. package/dist/lib/logic-expr/expr-render.js +0 -85
  138. package/dist/lib/logic-expr/expr-render.js.map +0 -1
  139. package/dist/lib/logic-expr/index.js +0 -2
  140. package/dist/lib/logic-expr/index.js.map +0 -1
  141. package/dist/lib/logic-expr/logic-expr.js +0 -187
  142. package/dist/lib/logic-expr/logic-expr.js.map +0 -1
  143. package/dist/lib/logic-expr/logic-not.js +0 -21
  144. package/dist/lib/logic-expr/logic-not.js.map +0 -1
  145. package/dist/lib/logic-expr/logic-toggle.js +0 -33
  146. package/dist/lib/logic-expr/logic-toggle.js.map +0 -1
  147. package/dist/lib/logic-expr/types.js +0 -2
  148. package/dist/lib/logic-expr/types.js.map +0 -1
  149. package/dist/lib/loop-radio-group/index.js +0 -7
  150. package/dist/lib/loop-radio-group/index.js.map +0 -1
  151. package/dist/lib/multi-part-editor/components/image-item-renderer.js +0 -57
  152. package/dist/lib/multi-part-editor/components/image-item-renderer.js.map +0 -1
  153. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js +0 -25
  154. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js.map +0 -1
  155. package/dist/lib/multi-part-editor/components/url-input-modal.js +0 -150
  156. package/dist/lib/multi-part-editor/components/url-input-modal.js.map +0 -1
  157. package/dist/lib/multi-part-editor/components/video-item-renderer.js +0 -57
  158. package/dist/lib/multi-part-editor/components/video-item-renderer.js.map +0 -1
  159. package/dist/lib/multi-part-editor/index.js +0 -300
  160. package/dist/lib/multi-part-editor/index.js.map +0 -1
  161. package/dist/lib/multi-part-editor/multi-part-render.js +0 -40
  162. package/dist/lib/multi-part-editor/multi-part-render.js.map +0 -1
  163. package/dist/lib/multi-part-editor/type.js +0 -25
  164. package/dist/lib/multi-part-editor/type.js.map +0 -1
  165. package/dist/lib/multi-part-editor/upload-button.js +0 -103
  166. package/dist/lib/multi-part-editor/upload-button.js.map +0 -1
  167. package/dist/lib/multi-part-editor/utils.js +0 -43
  168. package/dist/lib/multi-part-editor/utils.js.map +0 -1
  169. package/dist/lib/open-detail-button/index.js +0 -11
  170. package/dist/lib/open-detail-button/index.js.map +0 -1
  171. package/dist/lib/page-content/index.js +0 -23
  172. package/dist/lib/page-content/index.js.map +0 -1
  173. package/dist/lib/primary-page/index.js +0 -2
  174. package/dist/lib/primary-page/index.js.map +0 -1
  175. package/dist/lib/primary-page/primary-header.js +0 -4
  176. package/dist/lib/primary-page/primary-header.js.map +0 -1
  177. package/dist/lib/primary-title/index.js +0 -8
  178. package/dist/lib/primary-title/index.js.map +0 -1
  179. package/dist/lib/provider/index.d.ts +0 -18
  180. package/dist/lib/provider/index.js +0 -43
  181. package/dist/lib/provider/index.js.map +0 -1
  182. package/dist/lib/resizable-side-sheet/index.js +0 -32
  183. package/dist/lib/resizable-side-sheet/index.js.map +0 -1
  184. package/dist/lib/resize-sidesheet/index.js +0 -15
  185. package/dist/lib/resize-sidesheet/index.js.map +0 -1
  186. package/dist/lib/resize-sidesheet/use-drag.js +0 -30
  187. package/dist/lib/resize-sidesheet/use-drag.js.map +0 -1
  188. package/dist/lib/schema-editor/index.js +0 -5
  189. package/dist/lib/schema-editor/index.js.map +0 -1
  190. package/dist/lib/search-form/index.d.ts +0 -15
  191. package/dist/lib/search-form/index.js +0 -77
  192. package/dist/lib/search-form/index.js.map +0 -1
  193. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js +0 -19
  194. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js.map +0 -1
  195. package/dist/lib/semi-schema-form/components/tmpls/array-field.js +0 -39
  196. package/dist/lib/semi-schema-form/components/tmpls/array-field.js.map +0 -1
  197. package/dist/lib/semi-schema-form/components/tmpls/base-input.js +0 -32
  198. package/dist/lib/semi-schema-form/components/tmpls/base-input.js.map +0 -1
  199. package/dist/lib/semi-schema-form/components/tmpls/description-field.js +0 -13
  200. package/dist/lib/semi-schema-form/components/tmpls/description-field.js.map +0 -1
  201. package/dist/lib/semi-schema-form/components/tmpls/error-list.js +0 -14
  202. package/dist/lib/semi-schema-form/components/tmpls/error-list.js.map +0 -1
  203. package/dist/lib/semi-schema-form/components/tmpls/field-error.js +0 -16
  204. package/dist/lib/semi-schema-form/components/tmpls/field-error.js.map +0 -1
  205. package/dist/lib/semi-schema-form/components/tmpls/field.js +0 -21
  206. package/dist/lib/semi-schema-form/components/tmpls/field.js.map +0 -1
  207. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js +0 -29
  208. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js.map +0 -1
  209. package/dist/lib/semi-schema-form/components/tmpls/index.js +0 -31
  210. package/dist/lib/semi-schema-form/components/tmpls/index.js.map +0 -1
  211. package/dist/lib/semi-schema-form/components/tmpls/object-field.js +0 -81
  212. package/dist/lib/semi-schema-form/components/tmpls/object-field.js.map +0 -1
  213. package/dist/lib/semi-schema-form/components/tmpls/submit.js +0 -13
  214. package/dist/lib/semi-schema-form/components/tmpls/submit.js.map +0 -1
  215. package/dist/lib/semi-schema-form/components/tmpls/title-field.js +0 -12
  216. package/dist/lib/semi-schema-form/components/tmpls/title-field.js.map +0 -1
  217. package/dist/lib/semi-schema-form/components/widgets/checkbox.js +0 -26
  218. package/dist/lib/semi-schema-form/components/widgets/checkbox.js.map +0 -1
  219. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js +0 -27
  220. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js.map +0 -1
  221. package/dist/lib/semi-schema-form/components/widgets/index.js +0 -15
  222. package/dist/lib/semi-schema-form/components/widgets/index.js.map +0 -1
  223. package/dist/lib/semi-schema-form/components/widgets/radio.js +0 -27
  224. package/dist/lib/semi-schema-form/components/widgets/radio.js.map +0 -1
  225. package/dist/lib/semi-schema-form/components/widgets/range.js +0 -26
  226. package/dist/lib/semi-schema-form/components/widgets/range.js.map +0 -1
  227. package/dist/lib/semi-schema-form/components/widgets/select.js +0 -44
  228. package/dist/lib/semi-schema-form/components/widgets/select.js.map +0 -1
  229. package/dist/lib/semi-schema-form/components/widgets/textarea.js +0 -18
  230. package/dist/lib/semi-schema-form/components/widgets/textarea.js.map +0 -1
  231. package/dist/lib/semi-schema-form/index.js +0 -9
  232. package/dist/lib/semi-schema-form/index.js.map +0 -1
  233. package/dist/lib/sentinel-form/enum.js +0 -15
  234. package/dist/lib/sentinel-form/enum.js.map +0 -1
  235. package/dist/lib/sentinel-form/index.js +0 -289
  236. package/dist/lib/sentinel-form/index.js.map +0 -1
  237. package/dist/lib/step-nav/index.js +0 -13
  238. package/dist/lib/step-nav/index.js.map +0 -1
  239. package/dist/lib/table/index.js +0 -6
  240. package/dist/lib/table/index.js.map +0 -1
  241. package/dist/lib/table/sort-icon.js +0 -30
  242. package/dist/lib/table/sort-icon.js.map +0 -1
  243. package/dist/lib/table/table-with-pagination.js +0 -74
  244. package/dist/lib/table/table-with-pagination.js.map +0 -1
  245. package/dist/lib/table/table-without-pagniation.js +0 -37
  246. package/dist/lib/table/table-without-pagniation.js.map +0 -1
  247. package/dist/lib/table-batch-operate/table-batch-operation.js +0 -14
  248. package/dist/lib/table-batch-operate/table-batch-operation.js.map +0 -1
  249. package/dist/lib/table-batch-operate/use-batch-operate.js +0 -71
  250. package/dist/lib/table-batch-operate/use-batch-operate.js.map +0 -1
  251. package/dist/lib/table-col-actions/index.js +0 -35
  252. package/dist/lib/table-col-actions/index.js.map +0 -1
  253. package/dist/lib/table-cols-config/index.js +0 -57
  254. package/dist/lib/table-cols-config/index.js.map +0 -1
  255. package/dist/lib/table-cols-config/type.js +0 -2
  256. package/dist/lib/table-cols-config/type.js.map +0 -1
  257. package/dist/lib/table-cols-config/use-hidden-col-keys.js +0 -32
  258. package/dist/lib/table-cols-config/use-hidden-col-keys.js.map +0 -1
  259. package/dist/lib/table-cols-config/util.js +0 -39
  260. package/dist/lib/table-cols-config/util.js.map +0 -1
  261. package/dist/lib/table-empty/index.js +0 -10
  262. package/dist/lib/table-empty/index.js.map +0 -1
  263. package/dist/lib/table-header/index.js +0 -11
  264. package/dist/lib/table-header/index.js.map +0 -1
  265. package/dist/lib/tabs/index.js +0 -9
  266. package/dist/lib/tabs/index.js.map +0 -1
  267. package/dist/lib/text-area-pro/index.js +0 -10
  268. package/dist/lib/text-area-pro/index.js.map +0 -1
  269. package/dist/lib/text-with-copy/index.js +0 -24
  270. package/dist/lib/text-with-copy/index.js.map +0 -1
  271. package/dist/lib/title-with-sub/index.js +0 -6
  272. package/dist/lib/title-with-sub/index.js.map +0 -1
  273. package/dist/lib/tooltip-when-disabled/index.js +0 -9
  274. package/dist/lib/tooltip-when-disabled/index.js.map +0 -1
  275. package/dist/lib/tooltip-with-disabled/index.js +0 -9
  276. package/dist/lib/tooltip-with-disabled/index.js.map +0 -1
  277. package/dist/lib/tsconfig.build.tsbuildinfo +0 -1
  278. package/dist/lib/upload/index.js +0 -25
  279. package/dist/lib/upload/index.js.map +0 -1
  280. package/dist/lib/user-profile/index.js +0 -21
  281. package/dist/lib/user-profile/index.js.map +0 -1
  282. package/dist/lib/utils/basic.js +0 -29
  283. package/dist/lib/utils/basic.js.map +0 -1
  284. package/dist/lib/version-list/version-descriptions.js +0 -14
  285. package/dist/lib/version-list/version-descriptions.js.map +0 -1
  286. package/dist/lib/version-list/version-item.js +0 -6
  287. package/dist/lib/version-list/version-item.js.map +0 -1
  288. package/dist/lib/version-list/version-list.js +0 -11
  289. package/dist/lib/version-list/version-list.js.map +0 -1
  290. package/dist/lib/version-list/version-switch-panel.js +0 -10
  291. package/dist/lib/version-list/version-switch-panel.js.map +0 -1
  292. package/eslint.config.js +0 -7
  293. package/rslib.config.js +0 -7
  294. package/script/publish.js +0 -146
  295. package/src/base-search-select/base-search-form-select.tsx +0 -10
  296. package/src/base-search-select/base-search-select.tsx +0 -200
  297. package/src/base-search-select/index.module.less +0 -16
  298. package/src/base-search-select/index.tsx +0 -3
  299. package/src/base-search-select/types.ts +0 -16
  300. package/src/base-search-select/utils.ts +0 -78
  301. package/src/basic-card/index.tsx +0 -23
  302. package/src/card-pane/index.module.less +0 -14
  303. package/src/card-pane/index.tsx +0 -25
  304. package/src/chip-select/index.module.less +0 -17
  305. package/src/chip-select/index.tsx +0 -7
  306. package/src/code-editor/index.tsx +0 -9
  307. package/src/code-usage/code-item.module.less +0 -32
  308. package/src/code-usage/index.tsx +0 -91
  309. package/src/codemirror-editor/code-editor.tsx +0 -139
  310. package/src/codemirror-editor/index.ts +0 -4
  311. package/src/codemirror-editor/json-editor.tsx +0 -183
  312. package/src/codemirror-editor/raw-text-editor.tsx +0 -68
  313. package/src/codemirror-editor/text-editor.tsx +0 -58
  314. package/src/codemirror-editor/themes/coze-dark.ts +0 -116
  315. package/src/codemirror-editor/themes/coze-light.ts +0 -122
  316. package/src/collapse-card/index.module.less +0 -27
  317. package/src/collapse-card/index.tsx +0 -93
  318. package/src/collapsible-card/index.module.less +0 -63
  319. package/src/collapsible-card/index.tsx +0 -57
  320. package/src/column-manage-storage/index.tsx +0 -64
  321. package/src/columns-select/index.tsx +0 -244
  322. package/src/edit-icon-button/index.tsx +0 -36
  323. package/src/footer-actions/index.tsx +0 -33
  324. package/src/hooks/use-infinite-scroll.ts +0 -183
  325. package/src/hooks/use-mouse-down-offset.ts +0 -50
  326. package/src/hooks/use-unsave-leave-warning.ts +0 -49
  327. package/src/id-render/icon-button-container.tsx +0 -37
  328. package/src/id-render/index.tsx +0 -64
  329. package/src/index-controller/record-navigation.tsx +0 -57
  330. package/src/index-controller/use-item-index-controller.ts +0 -197
  331. package/src/index.ts +0 -208
  332. package/src/infinite-scroll-table/index.tsx +0 -99
  333. package/src/info-tooltip/index.tsx +0 -41
  334. package/src/input-components/radio-button.tsx +0 -63
  335. package/src/input-slider/index.module.less +0 -30
  336. package/src/input-slider/index.tsx +0 -161
  337. package/src/input-with-count/index.tsx +0 -31
  338. package/src/jump-button/jump-icon-button.tsx +0 -12
  339. package/src/large-txt-render/index.tsx +0 -46
  340. package/src/layout/content.tsx +0 -28
  341. package/src/layout/header.tsx +0 -15
  342. package/src/layout/index.module.less +0 -28
  343. package/src/layout/index.tsx +0 -9
  344. package/src/layout/tabs.tsx +0 -11
  345. package/src/lazy-load-component/index.tsx +0 -55
  346. package/src/logic-editor/index.ts +0 -3
  347. package/src/logic-editor/logic-editor.module.less +0 -13
  348. package/src/logic-editor/logic-editor.tsx +0 -200
  349. package/src/logic-editor/logic-left-render.tsx +0 -100
  350. package/src/logic-editor/logic-operator-render.tsx +0 -54
  351. package/src/logic-editor/logic-right-render.tsx +0 -51
  352. package/src/logic-editor/logic-types.tsx +0 -238
  353. package/src/logic-editor/utils.ts +0 -22
  354. package/src/logic-expr/assets/select.svg +0 -1
  355. package/src/logic-expr/consts.ts +0 -6
  356. package/src/logic-expr/expr-group-render.tsx +0 -238
  357. package/src/logic-expr/expr-render.tsx +0 -226
  358. package/src/logic-expr/index.module.less +0 -252
  359. package/src/logic-expr/index.ts +0 -13
  360. package/src/logic-expr/logic-expr.tsx +0 -261
  361. package/src/logic-expr/logic-not.tsx +0 -46
  362. package/src/logic-expr/logic-toggle.tsx +0 -96
  363. package/src/logic-expr/types.ts +0 -95
  364. package/src/loop-radio-group/index.tsx +0 -16
  365. package/src/multi-part-editor/components/image-item-renderer.tsx +0 -134
  366. package/src/multi-part-editor/components/index.module.less +0 -21
  367. package/src/multi-part-editor/components/multipart-item-renderer.tsx +0 -74
  368. package/src/multi-part-editor/components/url-input-modal.tsx +0 -317
  369. package/src/multi-part-editor/components/video-item-renderer.tsx +0 -145
  370. package/src/multi-part-editor/index.module.less +0 -8
  371. package/src/multi-part-editor/index.tsx +0 -571
  372. package/src/multi-part-editor/multi-part-render.tsx +0 -87
  373. package/src/multi-part-editor/type.tsx +0 -103
  374. package/src/multi-part-editor/upload-button.tsx +0 -256
  375. package/src/multi-part-editor/utils.ts +0 -64
  376. package/src/open-detail-button/index.tsx +0 -30
  377. package/src/page-content/index.tsx +0 -99
  378. package/src/primary-page/index.tsx +0 -1
  379. package/src/primary-page/primary-header.tsx +0 -64
  380. package/src/primary-title/index.module.less +0 -14
  381. package/src/primary-title/index.tsx +0 -18
  382. package/src/provider/index.tsx +0 -89
  383. package/src/resizable-side-sheet/index.tsx +0 -69
  384. package/src/resize-sidesheet/index.module.less +0 -14
  385. package/src/resize-sidesheet/index.tsx +0 -68
  386. package/src/resize-sidesheet/use-drag.ts +0 -43
  387. package/src/schema-editor/index.tsx +0 -52
  388. package/src/search-form/index.tsx +0 -134
  389. package/src/semi-schema-form/components/tmpls/array-field-item.tsx +0 -97
  390. package/src/semi-schema-form/components/tmpls/array-field.tsx +0 -127
  391. package/src/semi-schema-form/components/tmpls/base-input.tsx +0 -126
  392. package/src/semi-schema-form/components/tmpls/description-field.tsx +0 -23
  393. package/src/semi-schema-form/components/tmpls/error-list.tsx +0 -44
  394. package/src/semi-schema-form/components/tmpls/field-error.tsx +0 -33
  395. package/src/semi-schema-form/components/tmpls/field.tsx +0 -54
  396. package/src/semi-schema-form/components/tmpls/icon-button.tsx +0 -112
  397. package/src/semi-schema-form/components/tmpls/index.ts +0 -39
  398. package/src/semi-schema-form/components/tmpls/object-field.tsx +0 -173
  399. package/src/semi-schema-form/components/tmpls/submit.tsx +0 -31
  400. package/src/semi-schema-form/components/tmpls/title-field.tsx +0 -30
  401. package/src/semi-schema-form/components/widgets/checkbox.tsx +0 -67
  402. package/src/semi-schema-form/components/widgets/checkboxs.tsx +0 -100
  403. package/src/semi-schema-form/components/widgets/index.ts +0 -17
  404. package/src/semi-schema-form/components/widgets/radio.tsx +0 -105
  405. package/src/semi-schema-form/components/widgets/range.tsx +0 -73
  406. package/src/semi-schema-form/components/widgets/select.tsx +0 -108
  407. package/src/semi-schema-form/components/widgets/textarea.tsx +0 -63
  408. package/src/semi-schema-form/index.tsx +0 -14
  409. package/src/sentinel-form/enum.ts +0 -16
  410. package/src/sentinel-form/index.tsx +0 -382
  411. package/src/step-nav/index.module.less +0 -45
  412. package/src/step-nav/index.tsx +0 -53
  413. package/src/table/index.module.less +0 -144
  414. package/src/table/index.tsx +0 -18
  415. package/src/table/sort-icon.tsx +0 -73
  416. package/src/table/table-with-pagination.tsx +0 -150
  417. package/src/table/table-without-pagniation.tsx +0 -66
  418. package/src/table-batch-operate/table-batch-operation.tsx +0 -47
  419. package/src/table-batch-operate/use-batch-operate.ts +0 -111
  420. package/src/table-col-actions/index.module.less +0 -8
  421. package/src/table-col-actions/index.tsx +0 -149
  422. package/src/table-cols-config/index.module.less +0 -34
  423. package/src/table-cols-config/index.tsx +0 -171
  424. package/src/table-cols-config/type.ts +0 -12
  425. package/src/table-cols-config/use-hidden-col-keys.ts +0 -53
  426. package/src/table-cols-config/util.ts +0 -56
  427. package/src/table-empty/index.tsx +0 -23
  428. package/src/table-header/index.module.less +0 -7
  429. package/src/table-header/index.tsx +0 -70
  430. package/src/tabs/index.module.less +0 -48
  431. package/src/tabs/index.tsx +0 -9
  432. package/src/text-area-pro/index.module.less +0 -5
  433. package/src/text-area-pro/index.tsx +0 -49
  434. package/src/text-with-copy/index.tsx +0 -95
  435. package/src/title-with-sub/index.tsx +0 -27
  436. package/src/tooltip-when-disabled/index.tsx +0 -23
  437. package/src/tooltip-with-disabled/index.tsx +0 -17
  438. package/src/types.d.ts +0 -24
  439. package/src/upload/index.ts +0 -39
  440. package/src/user-profile/index.tsx +0 -49
  441. package/src/utils/basic.ts +0 -29
  442. package/src/version-list/index.module.less +0 -16
  443. package/src/version-list/version-descriptions.tsx +0 -80
  444. package/src/version-list/version-item.tsx +0 -30
  445. package/src/version-list/version-list.tsx +0 -59
  446. package/src/version-list/version-switch-panel.tsx +0 -31
  447. package/tailwind.config.ts +0 -6
  448. package/tsconfig.build.json +0 -44
  449. package/tsconfig.json +0 -17
  450. package/tsconfig.misc.json +0 -28
  451. package/vitest.config.mts +0 -7
@@ -1,244 +0,0 @@
1
- /* eslint-disable @coze-arch/max-line-per-function */
2
- /* eslint-disable @coze-arch/no-batch-import-or-export */
3
- import * as sort from 'react-sortable-hoc';
4
- import { Fragment, useEffect, useMemo, useState } from 'react';
5
-
6
- import {
7
- IconCozHandle,
8
- IconCozTableSetting,
9
- } from '@coze-arch/coze-design/icons';
10
- import {
11
- Button,
12
- Checkbox,
13
- Dropdown,
14
- Typography,
15
- Divider,
16
- Tooltip,
17
- type ColumnProps,
18
- } from '@coze-arch/coze-design';
19
- // @ts-expect-error react-sortable-hoc ts type issue
20
- const { sortableContainer, sortableElement, sortableHandle } = sort;
21
- const { arrayMove } = sort;
22
-
23
- const SortableContainer = sortableContainer(
24
- ({ children }: { children: React.ReactNode }) => (
25
- <div className="max-w-[200px] w-fit rounded-[6px] py-2 px-1 max-h-[372px] overflow-y-auto flex gap-y-1 flex-col">
26
- {children}
27
- </div>
28
- ),
29
- );
30
-
31
- const DragHandle = sortableHandle(() => (
32
- <IconCozHandle className="cursor-grab" aria-label="拖动排序" role="button" />
33
- ));
34
- export interface ColumnItem extends ColumnProps {
35
- key: string;
36
- value: string;
37
- disabled?: boolean;
38
- checked?: boolean;
39
- }
40
-
41
- export interface ColumnSelectorProps {
42
- columns: ColumnItem[];
43
- onChange?: (items: ColumnItem[]) => void;
44
- buttonText?: string;
45
- resetButtonText?: string;
46
- className?: string;
47
- sortable?: boolean;
48
- defaultColumns?: ColumnItem[];
49
- itemRender?: (item: ColumnItem) => React.ReactNode;
50
- footerRender?: (item: ColumnItem[]) => React.ReactNode;
51
- }
52
-
53
- export const ColumnSelector = ({
54
- columns,
55
- defaultColumns = columns,
56
- onChange,
57
- buttonText,
58
- resetButtonText = '重置为默认',
59
- className,
60
- sortable = true,
61
- itemRender,
62
- footerRender,
63
- }: ColumnSelectorProps) => {
64
- const [list, setList] = useState<ColumnItem[]>(() => [...columns]);
65
- const selectedKeys = useMemo(
66
- () => list.filter(item => item.checked).map(item => item.key),
67
- [list],
68
- );
69
- const disabledKeys = useMemo(
70
- () => list.filter(item => item.disabled).map(item => item.key),
71
- [list],
72
- );
73
-
74
- const RenderItem = (value: ColumnItem, slot?: React.ReactNode) => {
75
- const render = itemRender ? itemRender(value) : null;
76
- if (render) {
77
- return render;
78
- }
79
- return (
80
- <span
81
- // ref={spanRef}
82
- className="group flex items-center justify-between py-1 px-2 text-[var(--coz-fg-primary)] z-[99999] select-none hover:bg-[var(--coz-mg-secondary)] rounded-[6px] cursor-pointer bg-white"
83
- style={{
84
- zIndex: 99999,
85
- }}
86
- >
87
- <div
88
- className="flex items-center gap-x-2 max-w-full w-full"
89
- onClick={() => {
90
- if (disabledKeys.includes(value.key ?? '') || value.disabled) {
91
- return;
92
- }
93
- const newKeys = selectedKeys.includes(value.key ?? '')
94
- ? selectedKeys.filter(key => key !== value.key)
95
- : [...selectedKeys, value.key];
96
-
97
- const newColumns = list.map(item => {
98
- if (newKeys.includes(item.key)) {
99
- return {
100
- ...item,
101
- checked: true,
102
- };
103
- }
104
-
105
- return {
106
- ...item,
107
- checked: false,
108
- };
109
- });
110
-
111
- setList(newColumns);
112
- onChange?.(newColumns);
113
- }}
114
- >
115
- <Checkbox
116
- disabled={disabledKeys.includes(value.key ?? '') || value.disabled}
117
- checked={selectedKeys.includes(value.key ?? '')}
118
- aria-label={`选择${value.value}`}
119
- />
120
- <Typography.Text
121
- ellipsis={{
122
- showTooltip: {
123
- opts: {
124
- content: value.value,
125
- theme: 'dark',
126
- },
127
- },
128
- }}
129
- className="text-[13px] text-[var(--coz-fg-primary)] flex-1 overflow-hidden w-full"
130
- style={{
131
- color:
132
- disabledKeys.includes(value.key ?? '') || value.disabled
133
- ? 'var(--coz-fg-dim)'
134
- : '',
135
- }}
136
- >
137
- {value.value}
138
- </Typography.Text>
139
- <div className="opacity-0 group-hover:opacity-100 transition-opacity flex items-center coz-fg-secondary">
140
- {slot}
141
- </div>
142
- </div>
143
- </span>
144
- );
145
- };
146
-
147
- const SortableItem = sortableElement(({ value }: { value: ColumnItem }) =>
148
- RenderItem(value, <DragHandle />),
149
- );
150
-
151
- const handleSortEnd = ({
152
- oldIndex,
153
- newIndex,
154
- }: {
155
- oldIndex: number;
156
- newIndex: number;
157
- }) => {
158
- const newList = arrayMove(list, oldIndex, newIndex);
159
- setList(newList);
160
- onChange?.(newList);
161
- };
162
-
163
- const handleReset = () => {
164
- setList(defaultColumns);
165
- onChange?.(defaultColumns);
166
- };
167
-
168
- useEffect(() => {
169
- setList(columns);
170
- }, [columns]);
171
-
172
- return (
173
- <div className={className}>
174
- <Dropdown
175
- position="bottomRight"
176
- render={
177
- <div
178
- onClick={event => {
179
- event.stopPropagation();
180
- }}
181
- >
182
- <SortableContainer onSortEnd={handleSortEnd} useDragHandle>
183
- <>
184
- {list.map((value, index) =>
185
- value?.disabled || !sortable ? (
186
- <Fragment key={`item-${value.key}`}>
187
- {RenderItem(value)}
188
- </Fragment>
189
- ) : (
190
- <SortableItem
191
- key={`item-${value.key}`}
192
- index={index}
193
- value={value}
194
- />
195
- ),
196
- )}
197
- </>
198
- </SortableContainer>
199
- <Divider />
200
- {footerRender ? (
201
- <div className="flex items-center">
202
- {footerRender(list)}
203
- <Button
204
- color="secondary"
205
- type="secondary"
206
- className="text-center flex-1"
207
- onClick={handleReset}
208
- >
209
- <span className="text-brand font-medium text-[13px]">
210
- {resetButtonText}
211
- </span>
212
- </Button>
213
- </div>
214
- ) : (
215
- <Button
216
- color="secondary"
217
- type="secondary"
218
- className="w-full text-center"
219
- onClick={handleReset}
220
- >
221
- <span className="text-brand font-medium text-[13px]">
222
- {resetButtonText}
223
- </span>
224
- </Button>
225
- )}
226
- </div>
227
- }
228
- trigger="click"
229
- >
230
- <div>
231
- <Tooltip content="列管理" theme="dark" position="top">
232
- <Button
233
- icon={<IconCozTableSetting />}
234
- type="primary"
235
- color="primary"
236
- className="flex items-center justify-center"
237
- aria-label={buttonText}
238
- />
239
- </Tooltip>
240
- </div>
241
- </Dropdown>
242
- </div>
243
- );
244
- };
@@ -1,36 +0,0 @@
1
- import { type MouseEvent } from 'react';
2
-
3
- import classNames from 'classnames';
4
- import { IconCozPencil } from '@coze-arch/coze-design/icons';
5
-
6
- interface Props extends React.HTMLAttributes<SVGElement> {
7
- className?: string;
8
- disabled?: boolean;
9
- onClick?: (e: MouseEvent<SVGElement>) => void;
10
- }
11
-
12
- export function EditIconButton({
13
- disabled,
14
- className,
15
- onClick,
16
- ...rest
17
- }: Props) {
18
- return (
19
- <IconCozPencil
20
- {...rest}
21
- fontSize={14}
22
- className={classNames(
23
- 'text-[var(--coz-fg-dim)]',
24
- disabled
25
- ? 'cursor-not-allowed'
26
- : 'cursor-pointer hover:text-[rgba(var(--coze-up-brand-9))]',
27
- className,
28
- )}
29
- onClick={e => {
30
- if (!disabled) {
31
- onClick?.(e);
32
- }
33
- }}
34
- />
35
- );
36
- }
@@ -1,33 +0,0 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import { Button, type ButtonProps } from '@coze-arch/coze-design';
3
-
4
- import { useI18n } from '../provider';
5
-
6
- interface Props {
7
- confirmBtnProps?: ButtonProps & {
8
- 'data-btm'?: string;
9
- 'data-btm-title'?: string;
10
- text?: string;
11
- };
12
- cancelBtnProps?: ButtonProps & {
13
- 'data-btm'?: string;
14
- 'data-btm-title'?: string;
15
- text?: string;
16
- };
17
- }
18
- export function FooterActions({
19
- confirmBtnProps: { text: confirmBtnText, ...confirmBtnProps } = {},
20
- cancelBtnProps: { text: cancelBtnText, ...cancelBtnProps } = {},
21
- }: Props) {
22
- const I18n = useI18n();
23
- return (
24
- <div className="flex justify-end">
25
- <Button color="primary" {...cancelBtnProps}>
26
- {cancelBtnText ?? I18n.t('global_btn_cancel')}
27
- </Button>
28
- <Button className="ml-2" {...confirmBtnProps}>
29
- {confirmBtnText ?? I18n.t('global_btn_confirm')}
30
- </Button>
31
- </div>
32
- );
33
- }
@@ -1,183 +0,0 @@
1
- /* eslint-disable @coze-arch/max-line-per-function */
2
- /* eslint-disable max-lines-per-function */
3
- import { useMemo, useState } from 'react';
4
-
5
- import { getTargetElement } from 'ahooks/lib/utils/domTarget';
6
- import {
7
- type InfiniteScrollOptions,
8
- type Data,
9
- type Service,
10
- } from 'ahooks/lib/useInfiniteScroll/types';
11
- import {
12
- useEventListener,
13
- useMemoizedFn,
14
- useRequest,
15
- useUpdateEffect,
16
- } from 'ahooks';
17
- import {
18
- getClientHeight,
19
- getScrollHeight,
20
- getScrollTop,
21
- } from '@cozeloop/toolkit';
22
-
23
- /**
24
- * ahook的实现,在刷新列表时会出现以下两个问题
25
- * 1. 发送存量数据对应的列表请求
26
- * 2. 列表请求重复
27
- * 因此fork ahook 实现,并将reload含义定义为刷新列表,并回到第一页
28
- * @param service
29
- * @param options
30
- * @returns
31
- */
32
- export const useInfiniteScroll = <TData extends Data>(
33
- service: Service<TData>,
34
- options: InfiniteScrollOptions<TData> = {},
35
- ) => {
36
- const {
37
- target,
38
- isNoMore,
39
- threshold = 100,
40
- reloadDeps = [],
41
- manual,
42
- onBefore,
43
- onSuccess,
44
- onError,
45
- onFinally,
46
- } = options;
47
-
48
- const [finalData, setFinalData] = useState<TData>();
49
- const [loadingMore, setLoadingMore] = useState(false);
50
-
51
- const noMore = useMemo(() => {
52
- if (!isNoMore) {
53
- return false;
54
- }
55
- return isNoMore(finalData);
56
- }, [finalData]);
57
-
58
- const { loading, error, run, runAsync, cancel } = useRequest(
59
- async (lastData?: TData) => {
60
- const currentData = await service(lastData);
61
- if (!lastData) {
62
- setFinalData({
63
- ...currentData,
64
- list: [...(currentData.list ?? [])],
65
- });
66
- } else {
67
- setFinalData({
68
- ...currentData,
69
- list: [...(lastData.list ?? []), ...currentData.list],
70
- });
71
- }
72
- return currentData;
73
- },
74
- {
75
- manual,
76
- onFinally: (_, d, e) => {
77
- setLoadingMore(false);
78
- onFinally?.(d, e);
79
- },
80
- onBefore: () => onBefore?.(),
81
- onSuccess: d => {
82
- // setTimeout(() => {
83
- // scrollMethod();
84
- // });
85
- onSuccess?.(d);
86
- setTimeout(() => {
87
- checkFirstScreen();
88
- });
89
- },
90
- onError,
91
- },
92
- );
93
-
94
- const loadMore = useMemoizedFn(() => {
95
- if (noMore) {
96
- return;
97
- }
98
- setLoadingMore(true);
99
- run(finalData);
100
- });
101
-
102
- const loadMoreAsync = useMemoizedFn(() => {
103
- if (noMore) {
104
- // eslint-disable-next-line prefer-promise-reject-errors
105
- return Promise.reject();
106
- }
107
- setLoadingMore(true);
108
- return runAsync(finalData);
109
- });
110
-
111
- const reload = () => {
112
- setLoadingMore(false);
113
- setFinalData(undefined);
114
- return run();
115
- };
116
-
117
- const reloadAsync = () => {
118
- setLoadingMore(false);
119
- return runAsync();
120
- };
121
-
122
- const checkFirstScreen = () => {
123
- let el = getTargetElement(target);
124
- if (!el) {
125
- return;
126
- }
127
-
128
- el = el === document ? document.documentElement : el;
129
- const scrollHeight = getScrollHeight(el);
130
- const clientHeight = getClientHeight(el);
131
- if (scrollHeight <= clientHeight) {
132
- // 首屏没满,自动 loadMore
133
- loadMore();
134
- }
135
- };
136
-
137
- const scrollMethod = () => {
138
- let el = getTargetElement(target);
139
- if (!el) {
140
- return;
141
- }
142
-
143
- el = el === document ? document.documentElement : el;
144
-
145
- const scrollTop = getScrollTop(el);
146
- const scrollHeight = getScrollHeight(el);
147
- const clientHeight = getClientHeight(el);
148
-
149
- if (scrollHeight - scrollTop <= clientHeight + threshold) {
150
- loadMore();
151
- }
152
- };
153
-
154
- useEventListener(
155
- 'scroll',
156
- () => {
157
- if (loading || loadingMore) {
158
- return;
159
- }
160
- scrollMethod();
161
- },
162
- { target },
163
- );
164
-
165
- useUpdateEffect(() => {
166
- setFinalData(undefined);
167
- run();
168
- }, [...reloadDeps]);
169
-
170
- return {
171
- data: finalData,
172
- loading: !loadingMore && loading,
173
- error,
174
- loadingMore,
175
- noMore,
176
- loadMore,
177
- loadMoreAsync,
178
- reload: useMemoizedFn(reload),
179
- reloadAsync: useMemoizedFn(reloadAsync),
180
- mutate: setFinalData,
181
- cancel,
182
- };
183
- };
@@ -1,50 +0,0 @@
1
- import { useState, useRef, useCallback } from 'react';
2
-
3
- import { useLatest, useMemoizedFn } from 'ahooks';
4
-
5
- interface Offset {
6
- offsetX: number;
7
- offsetY: number;
8
- }
9
-
10
- export const useMouseDownOffset = (callback: (offset: Offset) => void) => {
11
- const [isActive, setIsActive] = useState(false);
12
- const targetRef = useRef<HTMLElement | null>(null);
13
- const [startPosition, setStartPosition] = useState<Offset | null>(null);
14
- const callbackRef = useLatest(callback);
15
-
16
- const ref = useCallback((node: HTMLElement | null) => {
17
- if (targetRef.current) {
18
- targetRef.current.removeEventListener('mousedown', handleMouseDown);
19
- }
20
- targetRef.current = node; // 更新 ref
21
- if (targetRef.current) {
22
- targetRef.current.addEventListener('mousedown', handleMouseDown);
23
- }
24
- }, []);
25
-
26
- const handleMouseDown = useMemoizedFn((event: MouseEvent) => {
27
- setIsActive(true);
28
- setStartPosition({ offsetX: event.clientX, offsetY: event.clientY });
29
- window.addEventListener('mousemove', handleMouseMove);
30
- window.addEventListener('mouseup', handleMouseUp);
31
- });
32
-
33
- const handleMouseMove = useMemoizedFn((event: MouseEvent) => {
34
- if (startPosition) {
35
- callbackRef.current({
36
- offsetX: event.clientX - startPosition.offsetX,
37
- offsetY: event.clientY - startPosition.offsetY,
38
- });
39
- }
40
- });
41
-
42
- const handleMouseUp = useMemoizedFn(() => {
43
- setIsActive(false);
44
- setStartPosition(null);
45
- window.removeEventListener('mousemove', handleMouseMove);
46
- window.removeEventListener('mouseup', handleMouseUp);
47
- });
48
-
49
- return { isActive, ref };
50
- };
@@ -1,49 +0,0 @@
1
- import { useBlocker } from 'react-router-dom';
2
- import { useEffect } from 'react';
3
-
4
- import { useI18n } from '../provider';
5
-
6
- interface UnsaveLeaveWarningProps {
7
- /** 是否阻塞 */
8
- block: boolean;
9
- /** 自定义提示消息*/
10
- message?: string;
11
- }
12
-
13
- /**
14
- * 离开页面时的警告
15
- * 触发时机:关闭浏览器、关闭浏览器标签页、刷新页面、导航回退离开等
16
- */
17
- export const useUnsaveLeaveWarning = ({
18
- block,
19
- message,
20
- }: UnsaveLeaveWarningProps) => {
21
- const i18n = useI18n();
22
- const warnMessage =
23
- message || i18n.t('unsave_leave_confirm_warning') || 'Close confirm';
24
-
25
- useEffect(() => {
26
- const handleBeforeUnload = (event: BeforeUnloadEvent) => {
27
- if (block) {
28
- event.preventDefault();
29
- event.returnValue = warnMessage; // 显示自定义消息(部分浏览器可能不支持)
30
- }
31
- };
32
-
33
- // 监听浏览器关闭标签页或刷新事件
34
- window.addEventListener('beforeunload', handleBeforeUnload);
35
-
36
- return () => {
37
- window.removeEventListener('beforeunload', handleBeforeUnload);
38
- };
39
- }, [block, warnMessage]);
40
-
41
- // 处理 React Router 导航离开
42
- useBlocker(() => {
43
- if (block) {
44
- // 弹出确认框
45
- return !window.confirm(warnMessage);
46
- }
47
- return true;
48
- });
49
- };
@@ -1,37 +0,0 @@
1
- import { type DOMAttributes } from 'react';
2
-
3
- import cls from 'classnames';
4
-
5
- export function IconButtonContainer({
6
- icon,
7
- className,
8
- style,
9
- onClick,
10
- active,
11
- disabled,
12
- ...rest
13
- }: {
14
- icon: React.ReactNode;
15
- className?: string;
16
- style?: React.CSSProperties;
17
- disabled?: boolean;
18
- active?: boolean;
19
- } & DOMAttributes<HTMLDivElement>) {
20
- return (
21
- <div
22
- {...rest}
23
- onClick={onClick}
24
- style={style}
25
- className={cls(
26
- 'inline-flex items-center justify-center shrink-0 w-5 h-5 rounded-[4px] text-sm text-[var(--coz-fg-secondary)] ',
27
- active && !disabled ? 'bg-[var(--coz-mg-plus)]' : '',
28
- disabled
29
- ? 'cursor-not-allowed'
30
- : 'cursor-pointer hover:text-[var(--coz-fg-primary)] hover:bg-[var(--coz-mg-plus)]',
31
- className,
32
- )}
33
- >
34
- {icon}
35
- </div>
36
- );
37
- }
@@ -1,64 +0,0 @@
1
- import classNames from 'classnames';
2
- import { IconCozCopy } from '@coze-arch/coze-design/icons';
3
- import { Toast, Tooltip } from '@coze-arch/coze-design';
4
-
5
- import { IconButtonContainer } from './icon-button-container';
6
-
7
- export function IDRender({
8
- id,
9
- showSuffixLength = 5,
10
- enableCopy = true,
11
- useTag = false,
12
- defaultShowCopyBtn,
13
- }: {
14
- id: Int64;
15
- showSuffixLength?: number;
16
- enableCopy?: boolean;
17
- useTag?: boolean;
18
- defaultShowCopyBtn?: boolean;
19
- }) {
20
- const idString = id?.toString() ?? '';
21
- const suffix = idString.slice(
22
- Math.max(idString.length - showSuffixLength, 0),
23
- idString.length,
24
- );
25
- return (
26
- <div
27
- className="group flex items-center gap-1"
28
- onClick={e => e.stopPropagation()}
29
- >
30
- <Tooltip content={idString} theme="dark">
31
- {useTag ? (
32
- <div className="shrink-0 h-5 flex items-center px-2 rounded-[3px] border border-solid border-[var(--coz-stroke-plus)] font-medium text-[var(--coz-fg-primary)]">
33
- #{suffix || '-'}
34
- </div>
35
- ) : (
36
- <span className="shrink-0">#{suffix || '-'}</span>
37
- )}
38
- </Tooltip>
39
- {enableCopy ? (
40
- <Tooltip content="复制 ID" theme="dark">
41
- <div>
42
- <IconButtonContainer
43
- className={classNames(
44
- 'id-render-copy-action-button shrink-0 text-sm',
45
- defaultShowCopyBtn ? '' : ' hidden group-hover:flex',
46
- )}
47
- icon={<IconCozCopy />}
48
- onClick={async e => {
49
- e.stopPropagation();
50
- try {
51
- await navigator.clipboard.writeText(idString);
52
- Toast.success('复制成功');
53
- } catch (error) {
54
- console.error(error);
55
- Toast.error('复制失败');
56
- }
57
- }}
58
- />
59
- </div>
60
- </Tooltip>
61
- ) : null}
62
- </div>
63
- );
64
- }