@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,261 +0,0 @@
1
- /* eslint-disable complexity */
2
- import { useState } from 'react';
3
-
4
- import { cloneDeep, get, isNumber, set } from 'lodash-es';
5
-
6
- import type { Expr, ExprGroup, LogicExprProps } from './types';
7
- import { ExprGroupRender } from './expr-group-render';
8
-
9
- function getObjectPath(path?: string, index?: number) {
10
- let groupPath = path
11
- ? path
12
- .split('-')
13
- .map(p => `childExprGroups[${p}]`)
14
- .join('.')
15
- : '';
16
- if (isNumber(index)) {
17
- groupPath = `${groupPath}${groupPath ? '.' : ''}exprs[${index}]`;
18
- }
19
- return groupPath;
20
- }
21
-
22
- function splitPath(path: string): [string, string] {
23
- const last = path.lastIndexOf('-');
24
- if (last === -1) {
25
- return ['', path];
26
- }
27
- return [path.substring(0, last), path.substring(last + 1)];
28
- }
29
-
30
- // eslint-disable-next-line @coze-arch/max-line-per-function
31
- export function LogicExpr<L = string, O = string, R = string>({
32
- defaultExpr,
33
- value,
34
- onChange: _onChange,
35
- ...restProps
36
- }: LogicExprProps<L, O, R>) {
37
- const [singleTag, setSingleTag] = useState(value?.exprs?.length === 1);
38
-
39
- // 通用特化逻辑处理
40
- const onChange = (exprGroup?: ExprGroup<L, O, R>) => {
41
- let processedExprGroup = exprGroup;
42
- if (
43
- (!exprGroup?.childExprGroups || exprGroup.childExprGroups.length === 0) &&
44
- exprGroup?.exprs?.length === 1
45
- ) {
46
- processedExprGroup = {
47
- exprs: exprGroup.exprs,
48
- };
49
- }
50
- _onChange?.(processedExprGroup);
51
- };
52
-
53
- const onExprGroupChange = (exprGroup: ExprGroup<L, O, R>, path: string) => {
54
- const objectPath = getObjectPath(path);
55
- if (!value || !objectPath) {
56
- onChange(exprGroup);
57
- return;
58
- }
59
- const newValue = set(cloneDeep(value), objectPath, exprGroup);
60
-
61
- onChange(newValue);
62
- };
63
-
64
- const onExprChange = (expr: Expr<L, O, R>, path: string, index: number) => {
65
- if (!value) {
66
- setSingleTag(true);
67
- onChange({
68
- exprs: [expr],
69
- });
70
- return;
71
- }
72
- const objectPath = getObjectPath(path, index);
73
- const newValue = set(cloneDeep(value), objectPath, expr);
74
-
75
- onChange(newValue);
76
- };
77
-
78
- const onAddExprItem = (path: string) => {
79
- const clonedDefaultExpr = cloneDeep(defaultExpr);
80
- if (!value) {
81
- onExprChange(clonedDefaultExpr, path, 0);
82
- return;
83
- }
84
-
85
- const clonedGroupValue = cloneDeep(value);
86
- const targetGroupValue: ExprGroup<L, O, R> = path
87
- ? get(clonedGroupValue, getObjectPath(path))
88
- : clonedGroupValue;
89
-
90
- if (targetGroupValue.exprs?.length) {
91
- targetGroupValue.exprs.push(clonedDefaultExpr);
92
- } else {
93
- targetGroupValue.exprs = [clonedDefaultExpr];
94
- }
95
-
96
- onExprGroupChange(targetGroupValue, path);
97
- };
98
-
99
- const onAddExprGroup = (path: string) => {
100
- const clonedDefaultExpr = cloneDeep(defaultExpr);
101
- const emptyGroup: ExprGroup<L, O, R> = {
102
- exprs: [clonedDefaultExpr],
103
- };
104
- if (!value) {
105
- setSingleTag(false);
106
- onExprGroupChange(emptyGroup, path);
107
- return;
108
- }
109
-
110
- const clonedGroupValue = cloneDeep(value);
111
- const targetGroupValue: ExprGroup<L, O, R> = path
112
- ? get(clonedGroupValue, getObjectPath(path))
113
- : clonedGroupValue;
114
-
115
- if (targetGroupValue.childExprGroups?.length) {
116
- targetGroupValue.childExprGroups.push(emptyGroup);
117
- } else {
118
- targetGroupValue.childExprGroups = [emptyGroup];
119
- }
120
-
121
- onExprGroupChange(targetGroupValue, path);
122
- };
123
-
124
- const findDelPath = (path: string): string => {
125
- const [parentPath] = splitPath(path);
126
-
127
- if (!parentPath) {
128
- return path;
129
- }
130
-
131
- const parentGroup: ExprGroup<L, O, R> = get(
132
- value,
133
- getObjectPath(parentPath),
134
- );
135
-
136
- const needDeleteParent =
137
- (parentGroup.childExprGroups?.length || 0) +
138
- (parentGroup.exprs?.length || 0) <=
139
- 1;
140
-
141
- if (needDeleteParent) {
142
- return findDelPath(parentPath);
143
- }
144
-
145
- return path;
146
- };
147
-
148
- const onDeleteExprGroup = (path: string) => {
149
- if (!value) {
150
- return;
151
- }
152
-
153
- const clonedValue = cloneDeep(value);
154
-
155
- const baseDelPath = findDelPath(path);
156
-
157
- const [parentPath, selfPath] = splitPath(baseDelPath);
158
-
159
- if (!baseDelPath) {
160
- onChange(undefined);
161
- return;
162
- }
163
-
164
- if (!parentPath) {
165
- const needDeleteRoot =
166
- (clonedValue.childExprGroups?.length || 0) +
167
- (clonedValue.exprs?.length || 0) <=
168
- 1;
169
-
170
- if (needDeleteRoot) {
171
- onChange(undefined);
172
- return;
173
- }
174
- }
175
-
176
- const parentGroup: ExprGroup<L, O, R> = parentPath
177
- ? get(clonedValue, getObjectPath(parentPath))
178
- : clonedValue;
179
-
180
- const selfPathIndex = parseInt(selfPath, 10);
181
-
182
- parentGroup.childExprGroups?.splice(selfPathIndex, 1);
183
-
184
- if (
185
- parentGroup.childExprGroups?.length &&
186
- parentGroup.childExprGroups.length === 1 &&
187
- (!parentGroup.exprs || parentGroup.exprs.length === 0)
188
- ) {
189
- if (parentPath) {
190
- const newValue = set(
191
- clonedValue,
192
- getObjectPath(parentPath),
193
- parentGroup.childExprGroups[0],
194
- );
195
- onChange(newValue);
196
- } else {
197
- onChange(parentGroup.childExprGroups[0]);
198
- }
199
- return;
200
- }
201
-
202
- onChange(clonedValue);
203
- };
204
-
205
- const onDeleteExpr = (path: string, index: number) => {
206
- if (!value) {
207
- return;
208
- }
209
-
210
- const clonedValue = cloneDeep(value);
211
-
212
- const parentGroup: ExprGroup<L, O, R> = path
213
- ? get(clonedValue, getObjectPath(path))
214
- : clonedValue;
215
-
216
- const needDeleteParent =
217
- (parentGroup.childExprGroups?.length || 0) +
218
- (parentGroup.exprs?.length || 0) <=
219
- 1;
220
-
221
- if (needDeleteParent) {
222
- onDeleteExprGroup(path);
223
- restProps.onDeleteExpr?.(parentGroup?.exprs?.[index]?.left as L);
224
- } else {
225
- parentGroup?.exprs?.splice(index, 1);
226
- if (
227
- parentGroup.childExprGroups?.length &&
228
- parentGroup.childExprGroups.length === 1 &&
229
- (!parentGroup.exprs || parentGroup.exprs.length === 0)
230
- ) {
231
- if (path) {
232
- const newValue = set(
233
- clonedValue,
234
- getObjectPath(path),
235
- parentGroup.childExprGroups[0],
236
- );
237
- onChange(newValue);
238
- } else {
239
- onChange(parentGroup.childExprGroups[0]);
240
- }
241
- return;
242
- }
243
- onChange(clonedValue);
244
- }
245
- };
246
-
247
- return (
248
- <ExprGroupRender<L, O, R>
249
- path=""
250
- singleTag={singleTag}
251
- value={value}
252
- {...restProps}
253
- onExprChange={onExprChange}
254
- onExprGroupChange={onExprGroupChange}
255
- onAddItem={onAddExprItem}
256
- onAddGroup={onAddExprGroup}
257
- onDeleteExprGroup={onDeleteExprGroup}
258
- onDeleteExpr={onDeleteExpr}
259
- />
260
- );
261
- }
@@ -1,46 +0,0 @@
1
- import { type CSSProperties } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { useI18n } from '../provider';
6
-
7
- import styles from './index.module.less';
8
-
9
- interface LogicNotProps {
10
- not?: boolean;
11
- readonly?: boolean;
12
- onChange?: (not: boolean) => void;
13
- className?: string;
14
- style?: CSSProperties;
15
- }
16
-
17
- export function LogicNot(props: LogicNotProps) {
18
- const { not, readonly, onChange, className, style } = props;
19
- const I18n = useI18n();
20
- const onClick = () => {
21
- if (readonly) {
22
- return;
23
- }
24
-
25
- onChange?.(not ? false : true);
26
- };
27
-
28
- return (
29
- <div
30
- className={classNames(
31
- styles['logic-not'],
32
- {
33
- [styles['logic-not_active']]: not,
34
- },
35
- className,
36
- )}
37
- style={style}
38
- onClick={e => {
39
- e.stopPropagation();
40
- onClick();
41
- }}
42
- >
43
- {I18n.t('fornax_components_logic_expr_not')}
44
- </div>
45
- );
46
- }
@@ -1,96 +0,0 @@
1
- import classNames from 'classnames';
2
- import { Select } from '@coze-arch/coze-design';
3
-
4
- import { useI18n } from '../provider';
5
- import type { LogicOperator } from './types';
6
- import { LogicNot } from './logic-not';
7
- import { LOGIC_OPTIONS } from './consts';
8
- import { ReactComponent as SelectIcon } from './assets/select.svg';
9
-
10
- import styles from './index.module.less';
11
-
12
- interface LogicToggleProps {
13
- enableNot?: boolean;
14
- operator?: LogicOperator;
15
- not?: boolean;
16
- hideLine?: boolean;
17
- readonly?: boolean;
18
- allowLogicOperators?: LogicOperator[];
19
- onChange: (operator: LogicOperator, not: boolean) => void;
20
- }
21
-
22
- export function LogicToggle(props: LogicToggleProps) {
23
- const {
24
- operator = 'and',
25
- hideLine,
26
- enableNot,
27
- not = false,
28
- readonly,
29
- allowLogicOperators,
30
- onChange,
31
- } = props;
32
-
33
- const I18n = useI18n();
34
-
35
- const filteredLogicOptions = allowLogicOperators
36
- ? LOGIC_OPTIONS.filter(op =>
37
- allowLogicOperators.includes(op.value as LogicOperator),
38
- )
39
- : LOGIC_OPTIONS;
40
-
41
- const label =
42
- (filteredLogicOptions.find(op => op.value === operator)?.label as string) ||
43
- '-';
44
-
45
- return (
46
- <div
47
- className={classNames(styles['logic-toggle'], {
48
- [styles['logic-toggle_and']]: operator === 'and',
49
- [styles['logic-toggle_or']]: operator === 'or',
50
- [styles['logic-toggle_hide-line']]: hideLine,
51
- })}
52
- >
53
- {readonly ? (
54
- <div className={styles['logic-toggle-tag']}>{I18n.t(label)}</div>
55
- ) : (
56
- <Select
57
- size="small"
58
- showClear={false}
59
- dropdownClassName={styles['logic-toggle-select-dropdown']}
60
- triggerRender={() => (
61
- <div
62
- className={classNames(
63
- styles['logic-toggle-tag'],
64
- styles['logic-toggle-tag_edit'],
65
- )}
66
- >
67
- {enableNot ? (
68
- <LogicNot
69
- not={not}
70
- readonly={readonly}
71
- className={styles['logic-toggle-tag-not']}
72
- onChange={val => {
73
- onChange(operator, val);
74
- }}
75
- />
76
- ) : null}
77
- {I18n.t(label)}
78
- <SelectIcon className={styles['logic-toggle-tag-icon']} />
79
- </div>
80
- )}
81
- optionList={filteredLogicOptions.map(item => ({
82
- ...item,
83
- label: I18n.t((item.label ?? '') as string),
84
- }))}
85
- value={operator}
86
- onChange={val => {
87
- if (!val) {
88
- return;
89
- }
90
- onChange(val as LogicOperator, not);
91
- }}
92
- />
93
- )}
94
- </div>
95
- );
96
- }
@@ -1,95 +0,0 @@
1
- import { type CSSProperties, type ReactNode } from 'react';
2
-
3
- export type LogicOperator = 'and' | 'or';
4
-
5
- export interface Expr<L = string, O = string, R = string> {
6
- left: L;
7
- operator: O;
8
- right: R;
9
- not?: boolean;
10
- disableDeletion?: boolean;
11
- }
12
-
13
- export interface ExprGroup<L = string, O = string, R = string> {
14
- logicOperator?: LogicOperator;
15
- not?: boolean;
16
- disableDeletion?: boolean;
17
- exprs?: Expr<L, O, R>[];
18
- childExprGroups?: ExprGroup<L, O, R>[];
19
- }
20
-
21
- export interface OperatorOption {
22
- label: ReactNode | string;
23
- value: string | number;
24
- }
25
-
26
- interface BaseRenderProps<L, O, R> {
27
- expr: Expr<L, O, R>;
28
- readonly?: boolean;
29
- size?: 'small' | 'large' | 'default';
30
- onExprChange?: (expr: Partial<Expr<L, O, R>>) => void;
31
- }
32
-
33
- export interface LeftRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
34
- onChange?: (val: L) => void;
35
- }
36
-
37
- export interface RightRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
38
- onChange?: (val: R) => void;
39
- }
40
-
41
- export interface OperatorRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
42
- onChange?: (val: O) => void;
43
- }
44
-
45
- interface Props<L, O, R> {
46
- enableNot?: boolean;
47
- readonly?: boolean;
48
- leftRender?: (props: LeftRenderProps<L, O, R>) => ReactNode;
49
- operatorRender?:
50
- | ((props: OperatorRenderProps<L, O, R>) => ReactNode)
51
- | OperatorOption[];
52
- rightRender?: (props: RightRenderProps<L, O, R>) => ReactNode;
53
- errorMsgRender?: (props: RightRenderProps<L, O, R>) => ReactNode;
54
- // maxExpressions?: number;
55
- // maxExpressionGroups?: number;
56
- // maxExpressionsPerGroup?: number;
57
- elementSize?: 'small' | 'large' | 'default';
58
- className?: string;
59
- style?: CSSProperties;
60
- }
61
-
62
- export interface LogicExprProps<L, O, R> extends Props<L, O, R> {
63
- value?: ExprGroup<L, O, R>;
64
- defaultExpr: Expr<L, O, R>;
65
- allowLogicOperators?: LogicOperator[];
66
- maxNestingDepth?: number;
67
- exprGroupRenderContentItemsClassName?: string;
68
- logicToggleReadonly?: boolean;
69
- onChange?: (exprGroup?: ExprGroup<L, O, R>) => void;
70
- onDeleteExpr?: (key: L) => void;
71
- }
72
-
73
- export interface ExprGroupRenderProps<L, O, R> extends Props<L, O, R> {
74
- value?: ExprGroup<L, O, R>;
75
- singleTag?: boolean;
76
- path: string;
77
- allowLogicOperators?: LogicOperator[];
78
- maxNestingDepth?: number;
79
- exprGroupRenderContentItemsClassName?: string;
80
- logicToggleReadonly?: boolean;
81
- onExprChange?: (expr: Expr<L, O, R>, path: string, index: number) => void;
82
- onExprGroupChange?: (exprGroup: ExprGroup<L, O, R>, path: string) => void;
83
- onAddItem?: (path: string) => void;
84
- onAddGroup?: (path: string) => void;
85
- onDeleteExpr?: (path: string, index: number) => void;
86
- onDeleteExprGroup?: (path: string) => void;
87
- }
88
-
89
- export interface ExprRenderProps<L, O, R> extends Props<L, O, R> {
90
- value: Expr<L, O, R>;
91
- path: string;
92
- onChange?: (expr: Expr<L, O, R>, path: string) => void;
93
- onDelete?: (path: string) => void;
94
- renderTool?: () => React.JSX.Element;
95
- }
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import classNames from 'classnames';
3
- import {
4
- type RadioGroupProps,
5
- RadioGroup as SemiRadioGroup,
6
- } from '@coze-arch/coze-design';
7
-
8
- export function LoopRadioGroup({ className, ...props }: RadioGroupProps) {
9
- return (
10
- <SemiRadioGroup
11
- className={classNames('!bg-semi-fill-0 !p-0', className)}
12
- type="button"
13
- {...props}
14
- />
15
- );
16
- }
@@ -1,134 +0,0 @@
1
- /* eslint-disable @coze-arch/use-error-in-catch */
2
- /* eslint-disable complexity */
3
- import React, { useState } from 'react';
4
-
5
- import classNames from 'classnames';
6
- import { StorageProvider } from '@cozeloop/api-schema/data';
7
- import {
8
- IconCozCross,
9
- IconCozEye,
10
- IconCozImageBroken,
11
- IconCozRefresh,
12
- } from '@coze-arch/coze-design/icons';
13
- import { Image, ImagePreview, Loading } from '@coze-arch/coze-design';
14
-
15
- import { ImageStatus, type MultipartItem } from '../type';
16
-
17
- interface ImageItemRendererProps {
18
- className?: string;
19
- style?: React.CSSProperties;
20
- spaceID?: Int64;
21
- item: MultipartItem;
22
- readonly?: boolean;
23
- onRemove: () => void;
24
- onChange: (item: MultipartItem) => void;
25
- uploadFile?: (params: unknown) => Promise<string>;
26
- }
27
-
28
- export const ImageItemRenderer: React.FC<ImageItemRendererProps> = ({
29
- className,
30
- style,
31
- spaceID,
32
- item,
33
- onRemove,
34
- onChange,
35
- uploadFile,
36
- readonly,
37
- }) => {
38
- const [visible, setVisible] = useState(false);
39
- const [fileLoadError, setFileLoadError] = useState(false);
40
- const status = item?.sourceImage?.status;
41
- const uri = item?.image?.uri;
42
- const url = item?.image?.thumb_url || item?.image?.url;
43
- const isError = status === ImageStatus.Error;
44
- const file = item?.sourceImage?.file as File;
45
- const retryUpload = async () => {
46
- try {
47
- onChange({
48
- ...item,
49
- sourceImage: {
50
- ...item.sourceImage,
51
- status: ImageStatus.Loading,
52
- },
53
- });
54
- const newUri = await uploadFile?.({
55
- file,
56
- fileType: 'image',
57
- spaceID,
58
- });
59
- onChange({
60
- ...item,
61
- sourceImage: {
62
- ...item.sourceImage,
63
- status: ImageStatus.Success,
64
- },
65
- image: {
66
- ...item.image,
67
- uri: newUri,
68
- storage_provider: StorageProvider.ImageX,
69
- },
70
- });
71
- } catch (error) {
72
- onChange({
73
- ...item,
74
- sourceImage: {
75
- ...item.sourceImage,
76
- status: ImageStatus.Error,
77
- },
78
- });
79
- }
80
- };
81
-
82
- return (
83
- <div className="flex flex-col">
84
- <div
85
- className={classNames('w-[64px] h-[64px] relative group', className)}
86
- style={style}
87
- >
88
- <ImagePreview
89
- src={url}
90
- visible={visible}
91
- onVisibleChange={setVisible}
92
- />
93
- <Image
94
- src={url}
95
- className="w-full h-full rounded-[6px] border border-solid coz-stroke-plus"
96
- imgStyle={{ objectFit: 'contain', width: '100%', height: '100%' }}
97
- fallback={<IconCozImageBroken className="text-[24px]" />}
98
- onError={() => setFileLoadError(true)}
99
- />
100
- {status !== ImageStatus.Loading && (
101
- <div
102
- className={`absolute inset-0 flex gap-3 items-center rounded-[6px] justify-center coz-mg-mask ${isError ? 'visible' : 'invisible'} group-hover:visible`}
103
- >
104
- {isError && !readonly && file ? (
105
- <IconCozRefresh
106
- className="text-white w-[16px] h-[16px] cursor-pointer"
107
- onClick={retryUpload}
108
- />
109
- ) : null}
110
- {(uri || url) && !fileLoadError ? (
111
- <IconCozEye
112
- className="text-white w-[16px] h-[16px] cursor-pointer"
113
- onClick={() => setVisible(true)}
114
- />
115
- ) : null}
116
- {readonly ? null : (
117
- <div className="p-[2px] text-white cursor-pointer absolute right-[-4px] top-[-4px] z-10 bg-[var(--coz-fg-secondary)] rounded-[16px] flex items-end justify-center">
118
- <IconCozCross onClick={onRemove} className="text-[12px]" />
119
- </div>
120
- )}
121
- </div>
122
- )}
123
- {status === ImageStatus.Loading && (
124
- <div className="absolute inset-0 flex items-center rounded-[6px] justify-center bg-[rgba(0,0,0,0.4)] z-10">
125
- <Loading loading color="blue" />
126
- </div>
127
- )}
128
- </div>
129
- {status === ImageStatus.Error && (
130
- <div className="text-sm text-red-500">上传失败</div>
131
- )}
132
- </div>
133
- );
134
- };
@@ -1,21 +0,0 @@
1
- .video-preview-modal{
2
- :global{
3
- .semi-modal-content{
4
- padding-bottom: 0 !important;
5
- padding-top: 8px !important;
6
- gap:6px !important;
7
- }
8
- .semi-modal-body{
9
- padding: 6px 0 0 0 !important;
10
- margin: 0 -24px !important;
11
- background: rgba(0, 0, 0);
12
- }
13
-
14
- .semi-modal-footer{
15
- display: none;
16
- }
17
- }
18
- video{
19
- object-fit: contain
20
- }
21
- }