@cozeloop/components 0.0.2 → 0.0.3

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 (625) hide show
  1. package/.eslintcache +1 -0
  2. package/.rush/temp/shrinkwrap-deps.json +770 -0
  3. package/OWNERS +5 -0
  4. package/README.md +82 -1
  5. package/config/rush-project.json +8 -0
  6. package/dist/es/index.css +661 -0
  7. package/dist/es/index.js +6044 -65
  8. package/dist/es/static/svg/select.svg +1 -0
  9. package/dist/lib/base-search-select/base-search-form-select.d.ts +3 -0
  10. package/dist/lib/base-search-select/base-search-form-select.js +6 -0
  11. package/dist/lib/base-search-select/base-search-form-select.js.map +1 -0
  12. package/dist/lib/base-search-select/base-search-select.d.ts +9 -0
  13. package/dist/lib/base-search-select/base-search-select.js +127 -0
  14. package/dist/lib/base-search-select/base-search-select.js.map +1 -0
  15. package/dist/lib/base-search-select/index.d.ts +3 -0
  16. package/dist/lib/base-search-select/index.js +3 -0
  17. package/dist/lib/base-search-select/index.js.map +1 -0
  18. package/dist/lib/base-search-select/types.d.ts +13 -0
  19. package/dist/lib/base-search-select/types.js +2 -0
  20. package/dist/lib/base-search-select/types.js.map +1 -0
  21. package/dist/lib/base-search-select/utils.d.ts +8 -0
  22. package/dist/lib/base-search-select/utils.js +48 -0
  23. package/dist/lib/base-search-select/utils.js.map +1 -0
  24. package/dist/lib/basic-card/index.d.ts +7 -0
  25. package/dist/lib/basic-card/index.js +4 -0
  26. package/dist/lib/basic-card/index.js.map +1 -0
  27. package/dist/lib/card-pane/index.d.ts +5 -0
  28. package/dist/lib/card-pane/index.js +9 -0
  29. package/dist/lib/card-pane/index.js.map +1 -0
  30. package/dist/lib/chip-select/index.d.ts +2 -0
  31. package/dist/lib/chip-select/index.js +6 -0
  32. package/dist/lib/chip-select/index.js.map +1 -0
  33. package/dist/lib/code-editor/index.d.ts +3 -0
  34. package/dist/lib/code-editor/index.js +7 -0
  35. package/dist/lib/code-editor/index.js.map +1 -0
  36. package/dist/lib/code-usage/index.d.ts +14 -0
  37. package/dist/lib/code-usage/index.js +31 -0
  38. package/dist/lib/code-usage/index.js.map +1 -0
  39. package/dist/lib/codemirror-editor/code-editor.d.ts +2 -0
  40. package/dist/lib/codemirror-editor/code-editor.js +108 -0
  41. package/dist/lib/codemirror-editor/code-editor.js.map +1 -0
  42. package/dist/lib/codemirror-editor/index.d.ts +4 -0
  43. package/dist/lib/codemirror-editor/index.js +5 -0
  44. package/dist/lib/codemirror-editor/index.js.map +1 -0
  45. package/dist/lib/codemirror-editor/json-editor.d.ts +19 -0
  46. package/dist/lib/codemirror-editor/json-editor.js +97 -0
  47. package/dist/lib/codemirror-editor/json-editor.js.map +1 -0
  48. package/dist/lib/codemirror-editor/raw-text-editor.d.ts +11 -0
  49. package/dist/lib/codemirror-editor/raw-text-editor.js +32 -0
  50. package/dist/lib/codemirror-editor/raw-text-editor.js.map +1 -0
  51. package/dist/lib/codemirror-editor/text-editor.d.ts +2 -0
  52. package/dist/lib/codemirror-editor/text-editor.js +44 -0
  53. package/dist/lib/codemirror-editor/text-editor.js.map +1 -0
  54. package/dist/lib/codemirror-editor/themes/coze-dark.d.ts +1 -0
  55. package/dist/lib/codemirror-editor/themes/coze-dark.js +113 -0
  56. package/dist/lib/codemirror-editor/themes/coze-dark.js.map +1 -0
  57. package/dist/lib/codemirror-editor/themes/coze-light.d.ts +1 -0
  58. package/dist/lib/codemirror-editor/themes/coze-light.js +119 -0
  59. package/dist/lib/codemirror-editor/themes/coze-light.js.map +1 -0
  60. package/dist/lib/collapse-card/index.d.ts +13 -0
  61. package/dist/lib/collapse-card/index.js +31 -0
  62. package/dist/lib/collapse-card/index.js.map +1 -0
  63. package/dist/lib/collapsible-card/index.d.ts +13 -0
  64. package/dist/lib/collapsible-card/index.js +12 -78
  65. package/dist/lib/collapsible-card/index.js.map +1 -0
  66. package/dist/{types → lib}/column-manage-storage/index.d.ts +6 -6
  67. package/dist/lib/column-manage-storage/index.js +43 -93
  68. package/dist/lib/column-manage-storage/index.js.map +1 -0
  69. package/dist/lib/columns-select/index.d.ts +19 -0
  70. package/dist/lib/columns-select/index.js +73 -237
  71. package/dist/lib/columns-select/index.js.map +1 -0
  72. package/dist/lib/edit-icon-button/index.d.ts +8 -0
  73. package/dist/lib/edit-icon-button/index.js +13 -0
  74. package/dist/lib/edit-icon-button/index.js.map +1 -0
  75. package/dist/lib/footer-actions/index.d.ts +15 -0
  76. package/dist/lib/footer-actions/index.js +9 -0
  77. package/dist/lib/footer-actions/index.js.map +1 -0
  78. package/dist/{types → lib}/hooks/use-infinite-scroll.d.ts +12 -12
  79. package/dist/lib/hooks/use-infinite-scroll.js +130 -192
  80. package/dist/lib/hooks/use-infinite-scroll.js.map +1 -0
  81. package/dist/lib/hooks/use-mouse-down-offset.d.ts +9 -0
  82. package/dist/lib/hooks/use-mouse-down-offset.js +38 -64
  83. package/dist/lib/hooks/use-mouse-down-offset.js.map +1 -0
  84. package/dist/lib/hooks/use-unsave-leave-warning.d.ts +12 -0
  85. package/dist/lib/hooks/use-unsave-leave-warning.js +33 -0
  86. package/dist/lib/hooks/use-unsave-leave-warning.js.map +1 -0
  87. package/dist/lib/id-render/icon-button-container.d.ts +8 -0
  88. package/dist/lib/id-render/icon-button-container.js +7 -88
  89. package/dist/lib/id-render/icon-button-container.js.map +1 -0
  90. package/dist/lib/id-render/index.d.ts +7 -0
  91. package/dist/lib/id-render/index.js +20 -111
  92. package/dist/lib/id-render/index.js.map +1 -0
  93. package/dist/lib/index-controller/record-navigation.d.ts +6 -0
  94. package/dist/lib/index-controller/record-navigation.js +9 -0
  95. package/dist/lib/index-controller/record-navigation.js.map +1 -0
  96. package/dist/lib/index-controller/use-item-index-controller.d.ts +47 -0
  97. package/dist/lib/index-controller/use-item-index-controller.js +123 -0
  98. package/dist/lib/index-controller/use-item-index-controller.js.map +1 -0
  99. package/dist/lib/index.d.ts +70 -0
  100. package/dist/lib/index.js +76 -110
  101. package/dist/lib/index.js.map +1 -0
  102. package/dist/{types → lib}/infinite-scroll-table/index.d.ts +6 -6
  103. package/dist/lib/infinite-scroll-table/index.js +31 -123
  104. package/dist/lib/infinite-scroll-table/index.js.map +1 -0
  105. package/dist/lib/info-tooltip/index.d.ts +9 -0
  106. package/dist/lib/info-tooltip/index.js +9 -0
  107. package/dist/lib/info-tooltip/index.js.map +1 -0
  108. package/dist/lib/input-components/radio-button.d.ts +14 -0
  109. package/dist/lib/input-components/radio-button.js +21 -0
  110. package/dist/lib/input-components/radio-button.js.map +1 -0
  111. package/dist/lib/input-slider/index.d.ts +15 -0
  112. package/dist/lib/input-slider/index.js +73 -146
  113. package/dist/lib/input-slider/index.js.map +1 -0
  114. package/dist/lib/input-with-count/index.d.ts +2 -0
  115. package/dist/lib/input-with-count/index.js +7 -0
  116. package/dist/lib/input-with-count/index.js.map +1 -0
  117. package/dist/lib/jump-button/jump-icon-button.d.ts +4 -0
  118. package/dist/lib/jump-button/jump-icon-button.js +7 -0
  119. package/dist/lib/jump-button/jump-icon-button.js.map +1 -0
  120. package/dist/{types → lib}/large-txt-render/index.d.ts +2 -2
  121. package/dist/lib/large-txt-render/index.js +24 -60
  122. package/dist/lib/large-txt-render/index.js.map +1 -0
  123. package/dist/lib/layout/content.d.ts +7 -0
  124. package/dist/lib/layout/content.js +5 -0
  125. package/dist/lib/layout/content.js.map +1 -0
  126. package/dist/lib/layout/header.d.ts +7 -0
  127. package/dist/lib/layout/header.js +6 -0
  128. package/dist/lib/layout/header.js.map +1 -0
  129. package/dist/lib/layout/index.d.ts +12 -0
  130. package/dist/lib/layout/index.js +9 -0
  131. package/dist/lib/layout/index.js.map +1 -0
  132. package/dist/lib/layout/tabs.d.ts +6 -0
  133. package/dist/lib/layout/tabs.js +10 -0
  134. package/dist/lib/layout/tabs.js.map +1 -0
  135. package/dist/lib/lazy-load-component/index.d.ts +5 -0
  136. package/dist/lib/lazy-load-component/index.js +42 -0
  137. package/dist/lib/lazy-load-component/index.js.map +1 -0
  138. package/dist/lib/logic-editor/index.d.ts +3 -0
  139. package/dist/lib/logic-editor/index.js +3 -0
  140. package/dist/lib/logic-editor/index.js.map +1 -0
  141. package/dist/lib/logic-editor/logic-editor.d.ts +17 -0
  142. package/dist/lib/logic-editor/logic-editor.js +69 -0
  143. package/dist/lib/logic-editor/logic-editor.js.map +1 -0
  144. package/dist/lib/logic-editor/logic-left-render.d.ts +3 -0
  145. package/dist/lib/logic-editor/logic-left-render.js +60 -0
  146. package/dist/lib/logic-editor/logic-left-render.js.map +1 -0
  147. package/dist/lib/logic-editor/logic-operator-render.d.ts +3 -0
  148. package/dist/lib/logic-editor/logic-operator-render.js +29 -0
  149. package/dist/lib/logic-editor/logic-operator-render.js.map +1 -0
  150. package/dist/lib/logic-editor/logic-right-render.d.ts +3 -0
  151. package/dist/lib/logic-editor/logic-right-render.js +25 -0
  152. package/dist/lib/logic-editor/logic-right-render.js.map +1 -0
  153. package/dist/lib/logic-editor/logic-types.d.ts +49 -0
  154. package/dist/lib/logic-editor/logic-types.js +136 -0
  155. package/dist/lib/logic-editor/logic-types.js.map +1 -0
  156. package/dist/lib/logic-editor/utils.d.ts +2 -0
  157. package/dist/lib/logic-editor/utils.js +18 -0
  158. package/dist/lib/logic-editor/utils.js.map +1 -0
  159. package/dist/lib/logic-expr/consts.d.ts +2 -0
  160. package/dist/lib/logic-expr/consts.js +5 -0
  161. package/dist/lib/logic-expr/consts.js.map +1 -0
  162. package/dist/lib/logic-expr/expr-group-render.d.ts +2 -0
  163. package/dist/lib/logic-expr/expr-group-render.js +61 -0
  164. package/dist/lib/logic-expr/expr-group-render.js.map +1 -0
  165. package/dist/lib/logic-expr/expr-render.d.ts +2 -0
  166. package/dist/lib/logic-expr/expr-render.js +85 -0
  167. package/dist/lib/logic-expr/expr-render.js.map +1 -0
  168. package/dist/lib/logic-expr/index.d.ts +2 -0
  169. package/dist/lib/logic-expr/index.js +2 -0
  170. package/dist/lib/logic-expr/index.js.map +1 -0
  171. package/dist/lib/logic-expr/logic-expr.d.ts +2 -0
  172. package/dist/lib/logic-expr/logic-expr.js +187 -0
  173. package/dist/lib/logic-expr/logic-expr.js.map +1 -0
  174. package/dist/lib/logic-expr/logic-not.d.ts +10 -0
  175. package/dist/lib/logic-expr/logic-not.js +21 -0
  176. package/dist/lib/logic-expr/logic-not.js.map +1 -0
  177. package/dist/lib/logic-expr/logic-toggle.d.ts +12 -0
  178. package/dist/lib/logic-expr/logic-toggle.js +33 -0
  179. package/dist/lib/logic-expr/logic-toggle.js.map +1 -0
  180. package/dist/lib/logic-expr/types.d.ts +79 -0
  181. package/dist/lib/logic-expr/types.js +2 -0
  182. package/dist/lib/logic-expr/types.js.map +1 -0
  183. package/dist/lib/loop-radio-group/index.d.ts +2 -0
  184. package/dist/lib/loop-radio-group/index.js +7 -0
  185. package/dist/lib/loop-radio-group/index.js.map +1 -0
  186. package/dist/lib/multi-part-editor/components/image-item-renderer.d.ts +14 -0
  187. package/dist/lib/multi-part-editor/components/image-item-renderer.js +57 -0
  188. package/dist/lib/multi-part-editor/components/image-item-renderer.js.map +1 -0
  189. package/dist/lib/multi-part-editor/components/multipart-item-renderer.d.ts +10 -0
  190. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js +25 -0
  191. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js.map +1 -0
  192. package/dist/lib/multi-part-editor/components/url-input-modal.d.ts +14 -0
  193. package/dist/lib/multi-part-editor/components/url-input-modal.js +150 -0
  194. package/dist/lib/multi-part-editor/components/url-input-modal.js.map +1 -0
  195. package/dist/lib/multi-part-editor/components/video-item-renderer.d.ts +14 -0
  196. package/dist/lib/multi-part-editor/components/video-item-renderer.js +57 -0
  197. package/dist/lib/multi-part-editor/components/video-item-renderer.js.map +1 -0
  198. package/dist/lib/multi-part-editor/index.d.ts +3 -0
  199. package/dist/lib/multi-part-editor/index.js +300 -0
  200. package/dist/lib/multi-part-editor/index.js.map +1 -0
  201. package/dist/lib/multi-part-editor/multi-part-render.d.ts +10 -0
  202. package/dist/lib/multi-part-editor/multi-part-render.js +40 -0
  203. package/dist/lib/multi-part-editor/multi-part-render.js.map +1 -0
  204. package/dist/lib/multi-part-editor/type.d.ts +81 -0
  205. package/dist/lib/multi-part-editor/type.js +25 -0
  206. package/dist/lib/multi-part-editor/type.js.map +1 -0
  207. package/dist/lib/multi-part-editor/upload-button.d.ts +23 -0
  208. package/dist/lib/multi-part-editor/upload-button.js +103 -0
  209. package/dist/lib/multi-part-editor/upload-button.js.map +1 -0
  210. package/dist/lib/multi-part-editor/utils.d.ts +16 -0
  211. package/dist/lib/multi-part-editor/utils.js +43 -0
  212. package/dist/lib/multi-part-editor/utils.js.map +1 -0
  213. package/dist/lib/open-detail-button/index.d.ts +6 -0
  214. package/dist/lib/open-detail-button/index.js +11 -0
  215. package/dist/lib/open-detail-button/index.js.map +1 -0
  216. package/dist/lib/page-content/index.d.ts +20 -0
  217. package/dist/lib/page-content/index.js +17 -130
  218. package/dist/lib/page-content/index.js.map +1 -0
  219. package/dist/lib/primary-page/index.d.ts +1 -0
  220. package/dist/lib/primary-page/index.js +2 -28
  221. package/dist/lib/primary-page/index.js.map +1 -0
  222. package/dist/lib/primary-page/primary-header.d.ts +13 -0
  223. package/dist/lib/primary-page/primary-header.js +4 -72
  224. package/dist/lib/primary-page/primary-header.js.map +1 -0
  225. package/dist/lib/primary-title/index.d.ts +6 -0
  226. package/dist/lib/primary-title/index.js +8 -0
  227. package/dist/lib/primary-title/index.js.map +1 -0
  228. package/dist/lib/provider/index.d.ts +18 -0
  229. package/dist/lib/provider/index.js +43 -0
  230. package/dist/lib/provider/index.js.map +1 -0
  231. package/dist/lib/resizable-side-sheet/index.d.ts +10 -0
  232. package/dist/lib/resizable-side-sheet/index.js +32 -0
  233. package/dist/lib/resizable-side-sheet/index.js.map +1 -0
  234. package/dist/{types → lib}/resize-sidesheet/index.d.ts +4 -3
  235. package/dist/lib/resize-sidesheet/index.js +15 -129
  236. package/dist/lib/resize-sidesheet/index.js.map +1 -0
  237. package/dist/lib/resize-sidesheet/use-drag.d.ts +11 -0
  238. package/dist/lib/resize-sidesheet/use-drag.js +26 -51
  239. package/dist/lib/resize-sidesheet/use-drag.js.map +1 -0
  240. package/dist/lib/schema-editor/index.d.ts +11 -0
  241. package/dist/lib/schema-editor/index.js +5 -0
  242. package/dist/lib/schema-editor/index.js.map +1 -0
  243. package/dist/lib/search-form/index.d.ts +15 -0
  244. package/dist/lib/search-form/index.js +77 -0
  245. package/dist/lib/search-form/index.js.map +1 -0
  246. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.d.ts +6 -0
  247. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js +19 -0
  248. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js.map +1 -0
  249. package/dist/lib/semi-schema-form/components/tmpls/array-field.d.ts +6 -0
  250. package/dist/lib/semi-schema-form/components/tmpls/array-field.js +39 -0
  251. package/dist/lib/semi-schema-form/components/tmpls/array-field.js.map +1 -0
  252. package/dist/lib/semi-schema-form/components/tmpls/base-input.d.ts +8 -0
  253. package/dist/lib/semi-schema-form/components/tmpls/base-input.js +32 -0
  254. package/dist/lib/semi-schema-form/components/tmpls/base-input.js.map +1 -0
  255. package/dist/lib/semi-schema-form/components/tmpls/description-field.d.ts +6 -0
  256. package/dist/lib/semi-schema-form/components/tmpls/description-field.js +13 -0
  257. package/dist/lib/semi-schema-form/components/tmpls/description-field.js.map +1 -0
  258. package/dist/lib/semi-schema-form/components/tmpls/error-list.d.ts +6 -0
  259. package/dist/lib/semi-schema-form/components/tmpls/error-list.js +14 -0
  260. package/dist/lib/semi-schema-form/components/tmpls/error-list.js.map +1 -0
  261. package/dist/lib/semi-schema-form/components/tmpls/field-error.d.ts +6 -0
  262. package/dist/lib/semi-schema-form/components/tmpls/field-error.js +16 -0
  263. package/dist/lib/semi-schema-form/components/tmpls/field-error.js.map +1 -0
  264. package/dist/lib/semi-schema-form/components/tmpls/field.d.ts +7 -0
  265. package/dist/lib/semi-schema-form/components/tmpls/field.js +21 -0
  266. package/dist/lib/semi-schema-form/components/tmpls/field.js.map +1 -0
  267. package/dist/lib/semi-schema-form/components/tmpls/icon-button.d.ts +11 -0
  268. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js +29 -0
  269. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js.map +1 -0
  270. package/dist/lib/semi-schema-form/components/tmpls/index.d.ts +2 -0
  271. package/dist/lib/semi-schema-form/components/tmpls/index.js +31 -0
  272. package/dist/lib/semi-schema-form/components/tmpls/index.js.map +1 -0
  273. package/dist/lib/semi-schema-form/components/tmpls/object-field.d.ts +8 -0
  274. package/dist/lib/semi-schema-form/components/tmpls/object-field.js +81 -0
  275. package/dist/lib/semi-schema-form/components/tmpls/object-field.js.map +1 -0
  276. package/dist/lib/semi-schema-form/components/tmpls/submit.d.ts +4 -0
  277. package/dist/lib/semi-schema-form/components/tmpls/submit.js +13 -0
  278. package/dist/lib/semi-schema-form/components/tmpls/submit.js.map +1 -0
  279. package/dist/lib/semi-schema-form/components/tmpls/title-field.d.ts +6 -0
  280. package/dist/lib/semi-schema-form/components/tmpls/title-field.js +12 -0
  281. package/dist/lib/semi-schema-form/components/tmpls/title-field.js.map +1 -0
  282. package/dist/lib/semi-schema-form/components/widgets/checkbox.d.ts +7 -0
  283. package/dist/lib/semi-schema-form/components/widgets/checkbox.js +26 -0
  284. package/dist/lib/semi-schema-form/components/widgets/checkbox.js.map +1 -0
  285. package/dist/lib/semi-schema-form/components/widgets/checkboxs.d.ts +7 -0
  286. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js +27 -0
  287. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js.map +1 -0
  288. package/dist/lib/semi-schema-form/components/widgets/index.d.ts +2 -0
  289. package/dist/lib/semi-schema-form/components/widgets/index.js +15 -0
  290. package/dist/lib/semi-schema-form/components/widgets/index.js.map +1 -0
  291. package/dist/lib/semi-schema-form/components/widgets/radio.d.ts +7 -0
  292. package/dist/lib/semi-schema-form/components/widgets/radio.js +27 -0
  293. package/dist/lib/semi-schema-form/components/widgets/radio.js.map +1 -0
  294. package/dist/lib/semi-schema-form/components/widgets/range.d.ts +7 -0
  295. package/dist/lib/semi-schema-form/components/widgets/range.js +26 -0
  296. package/dist/lib/semi-schema-form/components/widgets/range.js.map +1 -0
  297. package/dist/lib/semi-schema-form/components/widgets/select.d.ts +7 -0
  298. package/dist/lib/semi-schema-form/components/widgets/select.js +44 -0
  299. package/dist/lib/semi-schema-form/components/widgets/select.js.map +1 -0
  300. package/dist/lib/semi-schema-form/components/widgets/textarea.d.ts +6 -0
  301. package/dist/lib/semi-schema-form/components/widgets/textarea.js +18 -0
  302. package/dist/lib/semi-schema-form/components/widgets/textarea.js.map +1 -0
  303. package/dist/lib/semi-schema-form/index.d.ts +4 -0
  304. package/dist/lib/semi-schema-form/index.js +9 -0
  305. package/dist/lib/semi-schema-form/index.js.map +1 -0
  306. package/dist/lib/sentinel-form/enum.d.ts +8 -0
  307. package/dist/lib/sentinel-form/enum.js +15 -0
  308. package/dist/lib/sentinel-form/enum.js.map +1 -0
  309. package/dist/lib/sentinel-form/index.d.ts +20 -0
  310. package/dist/lib/sentinel-form/index.js +289 -0
  311. package/dist/lib/sentinel-form/index.js.map +1 -0
  312. package/dist/lib/step-nav/index.d.ts +12 -0
  313. package/dist/lib/step-nav/index.js +13 -0
  314. package/dist/lib/step-nav/index.js.map +1 -0
  315. package/dist/{types → lib}/table/index.d.ts +1 -1
  316. package/dist/lib/table/index.js +6 -88
  317. package/dist/lib/table/index.js.map +1 -0
  318. package/dist/lib/table/sort-icon.d.ts +8 -0
  319. package/dist/lib/table/sort-icon.js +25 -132
  320. package/dist/lib/table/sort-icon.js.map +1 -0
  321. package/dist/lib/table/table-with-pagination.d.ts +21 -0
  322. package/dist/lib/table/table-with-pagination.js +71 -143
  323. package/dist/lib/table/table-with-pagination.js.map +1 -0
  324. package/dist/lib/table/table-without-pagniation.d.ts +6 -0
  325. package/dist/lib/table/table-without-pagniation.js +36 -107
  326. package/dist/lib/table/table-without-pagniation.js.map +1 -0
  327. package/dist/lib/table-batch-operate/table-batch-operation.d.ts +9 -0
  328. package/dist/lib/table-batch-operate/table-batch-operation.js +14 -0
  329. package/dist/lib/table-batch-operate/table-batch-operation.js.map +1 -0
  330. package/dist/lib/table-batch-operate/use-batch-operate.d.ts +30 -0
  331. package/dist/lib/table-batch-operate/use-batch-operate.js +71 -0
  332. package/dist/lib/table-batch-operate/use-batch-operate.js.map +1 -0
  333. package/dist/lib/table-col-actions/index.d.ts +22 -0
  334. package/dist/lib/table-col-actions/index.js +34 -122
  335. package/dist/lib/table-col-actions/index.js.map +1 -0
  336. package/dist/lib/table-cols-config/index.d.ts +11 -0
  337. package/dist/lib/table-cols-config/index.js +57 -0
  338. package/dist/lib/table-cols-config/index.js.map +1 -0
  339. package/dist/lib/table-cols-config/type.d.ts +6 -0
  340. package/dist/lib/table-cols-config/type.js +2 -0
  341. package/dist/lib/table-cols-config/type.js.map +1 -0
  342. package/dist/lib/table-cols-config/use-hidden-col-keys.d.ts +5 -0
  343. package/dist/lib/table-cols-config/use-hidden-col-keys.js +32 -0
  344. package/dist/lib/table-cols-config/use-hidden-col-keys.js.map +1 -0
  345. package/dist/lib/table-cols-config/util.d.ts +3 -0
  346. package/dist/lib/table-cols-config/util.js +39 -0
  347. package/dist/lib/table-cols-config/util.js.map +1 -0
  348. package/dist/lib/table-empty/index.d.ts +2 -0
  349. package/dist/lib/table-empty/index.js +10 -0
  350. package/dist/lib/table-empty/index.js.map +1 -0
  351. package/dist/lib/table-header/index.d.ts +14 -0
  352. package/dist/lib/table-header/index.js +10 -95
  353. package/dist/lib/table-header/index.js.map +1 -0
  354. package/dist/{types → lib}/tabs/index.d.ts +1 -1
  355. package/dist/lib/tabs/index.js +9 -74
  356. package/dist/lib/tabs/index.js.map +1 -0
  357. package/dist/lib/text-area-pro/index.d.ts +6 -0
  358. package/dist/lib/text-area-pro/index.js +10 -0
  359. package/dist/lib/text-area-pro/index.js.map +1 -0
  360. package/dist/lib/text-with-copy/index.d.ts +14 -0
  361. package/dist/lib/text-with-copy/index.js +23 -104
  362. package/dist/lib/text-with-copy/index.js.map +1 -0
  363. package/dist/lib/title-with-sub/index.d.ts +7 -0
  364. package/dist/lib/title-with-sub/index.js +6 -0
  365. package/dist/lib/title-with-sub/index.js.map +1 -0
  366. package/dist/lib/tooltip-when-disabled/index.d.ts +6 -0
  367. package/dist/lib/tooltip-when-disabled/index.js +9 -0
  368. package/dist/lib/tooltip-when-disabled/index.js.map +1 -0
  369. package/dist/lib/tooltip-with-disabled/index.d.ts +5 -0
  370. package/dist/lib/tooltip-with-disabled/index.js +7 -69
  371. package/dist/lib/tooltip-with-disabled/index.js.map +1 -0
  372. package/dist/lib/tsconfig.build.tsbuildinfo +1 -0
  373. package/dist/lib/upload/index.d.ts +9 -0
  374. package/dist/lib/upload/index.js +25 -0
  375. package/dist/lib/upload/index.js.map +1 -0
  376. package/dist/lib/user-profile/index.d.ts +9 -0
  377. package/dist/lib/user-profile/index.js +21 -0
  378. package/dist/lib/user-profile/index.js.map +1 -0
  379. package/dist/lib/utils/basic.d.ts +2 -0
  380. package/dist/lib/utils/basic.js +27 -76
  381. package/dist/lib/utils/basic.js.map +1 -0
  382. package/dist/lib/version-list/version-descriptions.d.ts +15 -0
  383. package/dist/lib/version-list/version-descriptions.js +14 -0
  384. package/dist/lib/version-list/version-descriptions.js.map +1 -0
  385. package/dist/lib/version-list/version-item.d.ts +9 -0
  386. package/dist/lib/version-list/version-item.js +6 -0
  387. package/dist/lib/version-list/version-item.js.map +1 -0
  388. package/dist/lib/version-list/version-list.d.ts +11 -0
  389. package/dist/lib/version-list/version-list.js +11 -0
  390. package/dist/lib/version-list/version-list.js.map +1 -0
  391. package/dist/lib/version-list/version-switch-panel.d.ts +5 -0
  392. package/dist/lib/version-list/version-switch-panel.js +10 -0
  393. package/dist/lib/version-list/version-switch-panel.js.map +1 -0
  394. package/eslint.config.js +7 -0
  395. package/package.json +29 -25
  396. package/rslib.config.js +7 -0
  397. package/script/publish.js +146 -0
  398. package/src/base-search-select/base-search-form-select.tsx +10 -0
  399. package/src/base-search-select/base-search-select.tsx +200 -0
  400. package/src/base-search-select/index.module.less +16 -0
  401. package/src/base-search-select/index.tsx +3 -0
  402. package/src/base-search-select/types.ts +16 -0
  403. package/src/base-search-select/utils.ts +78 -0
  404. package/src/basic-card/index.tsx +23 -0
  405. package/src/card-pane/index.module.less +14 -0
  406. package/src/card-pane/index.tsx +25 -0
  407. package/src/chip-select/index.module.less +17 -0
  408. package/src/chip-select/index.tsx +7 -0
  409. package/src/code-editor/index.tsx +9 -0
  410. package/src/code-usage/code-item.module.less +32 -0
  411. package/src/code-usage/index.tsx +91 -0
  412. package/src/codemirror-editor/code-editor.tsx +139 -0
  413. package/src/codemirror-editor/index.ts +4 -0
  414. package/src/codemirror-editor/json-editor.tsx +183 -0
  415. package/src/codemirror-editor/raw-text-editor.tsx +68 -0
  416. package/src/codemirror-editor/text-editor.tsx +58 -0
  417. package/src/codemirror-editor/themes/coze-dark.ts +116 -0
  418. package/src/codemirror-editor/themes/coze-light.ts +122 -0
  419. package/src/collapse-card/index.module.less +27 -0
  420. package/src/collapse-card/index.tsx +93 -0
  421. package/src/collapsible-card/index.module.less +63 -0
  422. package/src/collapsible-card/index.tsx +57 -0
  423. package/src/column-manage-storage/index.tsx +64 -0
  424. package/src/columns-select/index.tsx +244 -0
  425. package/src/edit-icon-button/index.tsx +36 -0
  426. package/src/footer-actions/index.tsx +33 -0
  427. package/src/hooks/use-infinite-scroll.ts +183 -0
  428. package/src/hooks/use-mouse-down-offset.ts +50 -0
  429. package/src/hooks/use-unsave-leave-warning.ts +49 -0
  430. package/src/id-render/icon-button-container.tsx +37 -0
  431. package/src/id-render/index.tsx +64 -0
  432. package/src/index-controller/record-navigation.tsx +57 -0
  433. package/src/index-controller/use-item-index-controller.ts +197 -0
  434. package/src/index.ts +208 -0
  435. package/src/infinite-scroll-table/index.tsx +99 -0
  436. package/src/info-tooltip/index.tsx +41 -0
  437. package/src/input-components/radio-button.tsx +63 -0
  438. package/src/input-slider/index.module.less +30 -0
  439. package/src/input-slider/index.tsx +161 -0
  440. package/src/input-with-count/index.tsx +31 -0
  441. package/src/jump-button/jump-icon-button.tsx +12 -0
  442. package/src/large-txt-render/index.tsx +46 -0
  443. package/src/layout/content.tsx +28 -0
  444. package/src/layout/header.tsx +15 -0
  445. package/src/layout/index.module.less +28 -0
  446. package/src/layout/index.tsx +9 -0
  447. package/src/layout/tabs.tsx +11 -0
  448. package/src/lazy-load-component/index.tsx +55 -0
  449. package/src/logic-editor/index.ts +3 -0
  450. package/src/logic-editor/logic-editor.module.less +13 -0
  451. package/src/logic-editor/logic-editor.tsx +200 -0
  452. package/src/logic-editor/logic-left-render.tsx +100 -0
  453. package/src/logic-editor/logic-operator-render.tsx +54 -0
  454. package/src/logic-editor/logic-right-render.tsx +51 -0
  455. package/src/logic-editor/logic-types.tsx +238 -0
  456. package/src/logic-editor/utils.ts +22 -0
  457. package/src/logic-expr/assets/select.svg +1 -0
  458. package/src/logic-expr/consts.ts +6 -0
  459. package/src/logic-expr/expr-group-render.tsx +238 -0
  460. package/src/logic-expr/expr-render.tsx +226 -0
  461. package/src/logic-expr/index.module.less +252 -0
  462. package/src/logic-expr/index.ts +13 -0
  463. package/src/logic-expr/logic-expr.tsx +261 -0
  464. package/src/logic-expr/logic-not.tsx +46 -0
  465. package/src/logic-expr/logic-toggle.tsx +96 -0
  466. package/src/logic-expr/types.ts +95 -0
  467. package/src/loop-radio-group/index.tsx +16 -0
  468. package/src/multi-part-editor/components/image-item-renderer.tsx +134 -0
  469. package/src/multi-part-editor/components/index.module.less +21 -0
  470. package/src/multi-part-editor/components/multipart-item-renderer.tsx +74 -0
  471. package/src/multi-part-editor/components/url-input-modal.tsx +317 -0
  472. package/src/multi-part-editor/components/video-item-renderer.tsx +145 -0
  473. package/src/multi-part-editor/index.module.less +8 -0
  474. package/src/multi-part-editor/index.tsx +571 -0
  475. package/src/multi-part-editor/multi-part-render.tsx +87 -0
  476. package/src/multi-part-editor/type.tsx +103 -0
  477. package/src/multi-part-editor/upload-button.tsx +256 -0
  478. package/src/multi-part-editor/utils.ts +64 -0
  479. package/src/open-detail-button/index.tsx +30 -0
  480. package/src/page-content/index.tsx +99 -0
  481. package/src/primary-page/index.tsx +1 -0
  482. package/src/primary-page/primary-header.tsx +64 -0
  483. package/src/primary-title/index.module.less +14 -0
  484. package/src/primary-title/index.tsx +18 -0
  485. package/src/provider/index.tsx +89 -0
  486. package/src/resizable-side-sheet/index.tsx +69 -0
  487. package/src/resize-sidesheet/index.module.less +14 -0
  488. package/src/resize-sidesheet/index.tsx +68 -0
  489. package/src/resize-sidesheet/use-drag.ts +43 -0
  490. package/src/schema-editor/index.tsx +52 -0
  491. package/src/search-form/index.tsx +134 -0
  492. package/src/semi-schema-form/components/tmpls/array-field-item.tsx +97 -0
  493. package/src/semi-schema-form/components/tmpls/array-field.tsx +127 -0
  494. package/src/semi-schema-form/components/tmpls/base-input.tsx +126 -0
  495. package/src/semi-schema-form/components/tmpls/description-field.tsx +23 -0
  496. package/src/semi-schema-form/components/tmpls/error-list.tsx +44 -0
  497. package/src/semi-schema-form/components/tmpls/field-error.tsx +33 -0
  498. package/src/semi-schema-form/components/tmpls/field.tsx +54 -0
  499. package/src/semi-schema-form/components/tmpls/icon-button.tsx +112 -0
  500. package/src/semi-schema-form/components/tmpls/index.ts +39 -0
  501. package/src/semi-schema-form/components/tmpls/object-field.tsx +173 -0
  502. package/src/semi-schema-form/components/tmpls/submit.tsx +31 -0
  503. package/src/semi-schema-form/components/tmpls/title-field.tsx +30 -0
  504. package/src/semi-schema-form/components/widgets/checkbox.tsx +67 -0
  505. package/src/semi-schema-form/components/widgets/checkboxs.tsx +100 -0
  506. package/src/semi-schema-form/components/widgets/index.ts +17 -0
  507. package/src/semi-schema-form/components/widgets/radio.tsx +105 -0
  508. package/src/semi-schema-form/components/widgets/range.tsx +73 -0
  509. package/src/semi-schema-form/components/widgets/select.tsx +108 -0
  510. package/src/semi-schema-form/components/widgets/textarea.tsx +63 -0
  511. package/src/semi-schema-form/index.tsx +14 -0
  512. package/src/sentinel-form/enum.ts +16 -0
  513. package/src/sentinel-form/index.tsx +382 -0
  514. package/src/step-nav/index.module.less +45 -0
  515. package/src/step-nav/index.tsx +53 -0
  516. package/src/table/index.module.less +144 -0
  517. package/src/table/index.tsx +18 -0
  518. package/src/table/sort-icon.tsx +73 -0
  519. package/src/table/table-with-pagination.tsx +150 -0
  520. package/src/table/table-without-pagniation.tsx +66 -0
  521. package/src/table-batch-operate/table-batch-operation.tsx +47 -0
  522. package/src/table-batch-operate/use-batch-operate.ts +111 -0
  523. package/src/table-col-actions/index.module.less +8 -0
  524. package/src/table-col-actions/index.tsx +149 -0
  525. package/src/table-cols-config/index.module.less +34 -0
  526. package/src/table-cols-config/index.tsx +171 -0
  527. package/src/table-cols-config/type.ts +12 -0
  528. package/src/table-cols-config/use-hidden-col-keys.ts +53 -0
  529. package/src/table-cols-config/util.ts +56 -0
  530. package/src/table-empty/index.tsx +23 -0
  531. package/src/table-header/index.module.less +7 -0
  532. package/src/table-header/index.tsx +70 -0
  533. package/src/tabs/index.module.less +48 -0
  534. package/src/tabs/index.tsx +9 -0
  535. package/src/text-area-pro/index.module.less +5 -0
  536. package/src/text-area-pro/index.tsx +49 -0
  537. package/src/text-with-copy/index.tsx +95 -0
  538. package/src/title-with-sub/index.tsx +27 -0
  539. package/src/tooltip-when-disabled/index.tsx +23 -0
  540. package/src/tooltip-with-disabled/index.tsx +17 -0
  541. package/src/types.d.ts +24 -0
  542. package/src/upload/index.ts +39 -0
  543. package/src/user-profile/index.tsx +49 -0
  544. package/src/utils/basic.ts +29 -0
  545. package/src/version-list/index.module.less +16 -0
  546. package/src/version-list/version-descriptions.tsx +80 -0
  547. package/src/version-list/version-item.tsx +30 -0
  548. package/src/version-list/version-list.tsx +59 -0
  549. package/src/version-list/version-switch-panel.tsx +31 -0
  550. package/tailwind.config.ts +6 -0
  551. package/tsconfig.build.json +44 -0
  552. package/tsconfig.json +17 -0
  553. package/tsconfig.misc.json +28 -0
  554. package/vitest.config.mts +7 -0
  555. package/dist/es/collapsible-card/index.js +0 -45
  556. package/dist/es/collapsible-card/index.module.js +0 -5
  557. package/dist/es/collapsible-card/index_module.css +0 -48
  558. package/dist/es/column-manage-storage/index.js +0 -73
  559. package/dist/es/columns-select/index.js +0 -219
  560. package/dist/es/hooks/use-infinite-scroll.js +0 -178
  561. package/dist/es/hooks/use-mouse-down-offset.js +0 -41
  562. package/dist/es/id-render/icon-button-container.js +0 -61
  563. package/dist/es/id-render/index.js +0 -78
  564. package/dist/es/infinite-scroll-table/index.js +0 -98
  565. package/dist/es/input-slider/index.js +0 -123
  566. package/dist/es/input-slider/index.module.js +0 -5
  567. package/dist/es/input-slider/index_module.css +0 -21
  568. package/dist/es/large-txt-render/index.js +0 -38
  569. package/dist/es/page-content/index.js +0 -108
  570. package/dist/es/primary-page/index.js +0 -4
  571. package/dist/es/primary-page/primary-header.js +0 -38
  572. package/dist/es/resize-sidesheet/index.js +0 -100
  573. package/dist/es/resize-sidesheet/index.module.js +0 -5
  574. package/dist/es/resize-sidesheet/index_module.css +0 -9
  575. package/dist/es/resize-sidesheet/use-drag.js +0 -31
  576. package/dist/es/table/index.js +0 -56
  577. package/dist/es/table/index.module.js +0 -5
  578. package/dist/es/table/index_module.css +0 -90
  579. package/dist/es/table/sort-icon.js +0 -105
  580. package/dist/es/table/table-with-pagination.js +0 -112
  581. package/dist/es/table/table-without-pagniation.js +0 -74
  582. package/dist/es/table-col-actions/index.js +0 -103
  583. package/dist/es/table-header/index.js +0 -68
  584. package/dist/es/table-header/index.module.js +0 -5
  585. package/dist/es/table-header/index_module.css +0 -3
  586. package/dist/es/tabs/index.js +0 -42
  587. package/dist/es/tabs/index.module.js +0 -5
  588. package/dist/es/tabs/index_module.css +0 -37
  589. package/dist/es/text-with-copy/index.js +0 -71
  590. package/dist/es/tooltip-with-disabled/index.js +0 -49
  591. package/dist/es/utils/basic.js +0 -44
  592. package/dist/es/utils/rect.js +0 -37
  593. package/dist/lib/collapsible-card/index.module.js +0 -25
  594. package/dist/lib/collapsible-card/index_module.css +0 -48
  595. package/dist/lib/input-slider/index.module.js +0 -25
  596. package/dist/lib/input-slider/index_module.css +0 -21
  597. package/dist/lib/resize-sidesheet/index.module.js +0 -25
  598. package/dist/lib/resize-sidesheet/index_module.css +0 -9
  599. package/dist/lib/table/index.module.js +0 -25
  600. package/dist/lib/table/index_module.css +0 -90
  601. package/dist/lib/table-header/index.module.js +0 -25
  602. package/dist/lib/table-header/index_module.css +0 -3
  603. package/dist/lib/tabs/index.module.js +0 -25
  604. package/dist/lib/tabs/index_module.css +0 -37
  605. package/dist/lib/utils/rect.js +0 -65
  606. package/dist/types/collapsible-card/index.d.ts +0 -22
  607. package/dist/types/columns-select/index.d.ts +0 -29
  608. package/dist/types/hooks/use-mouse-down-offset.d.ts +0 -9
  609. package/dist/types/id-render/icon-button-container.d.ts +0 -12
  610. package/dist/types/id-render/index.d.ts +0 -13
  611. package/dist/types/index.d.ts +0 -19
  612. package/dist/types/input-slider/index.d.ts +0 -14
  613. package/dist/types/page-content/index.d.ts +0 -36
  614. package/dist/types/primary-page/index.d.ts +0 -1
  615. package/dist/types/primary-page/primary-header.d.ts +0 -17
  616. package/dist/types/resize-sidesheet/use-drag.d.ts +0 -10
  617. package/dist/types/table/sort-icon.d.ts +0 -13
  618. package/dist/types/table/table-with-pagination.d.ts +0 -14
  619. package/dist/types/table/table-without-pagniation.d.ts +0 -8
  620. package/dist/types/table-col-actions/index.d.ts +0 -21
  621. package/dist/types/table-header/index.d.ts +0 -20
  622. package/dist/types/text-with-copy/index.d.ts +0 -24
  623. package/dist/types/tooltip-with-disabled/index.d.ts +0 -9
  624. package/dist/types/utils/basic.d.ts +0 -1
  625. package/dist/types/utils/rect.d.ts +0 -10
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { Select } from '@coze-arch/coze-design';
4
+ import { useI18n } from '../provider';
5
+ import { LogicNot } from './logic-not';
6
+ import { LOGIC_OPTIONS } from './consts';
7
+ import { ReactComponent as SelectIcon } from './assets/select.svg';
8
+ import styles from './index.module.less';
9
+ export function LogicToggle(props) {
10
+ const { operator = 'and', hideLine, enableNot, not = false, readonly, allowLogicOperators, onChange, } = props;
11
+ const I18n = useI18n();
12
+ const filteredLogicOptions = allowLogicOperators
13
+ ? LOGIC_OPTIONS.filter(op => allowLogicOperators.includes(op.value))
14
+ : LOGIC_OPTIONS;
15
+ const label = filteredLogicOptions.find(op => op.value === operator)?.label ||
16
+ '-';
17
+ return (_jsx("div", { className: classNames(styles['logic-toggle'], {
18
+ [styles['logic-toggle_and']]: operator === 'and',
19
+ [styles['logic-toggle_or']]: operator === 'or',
20
+ [styles['logic-toggle_hide-line']]: hideLine,
21
+ }), children: readonly ? (_jsx("div", { className: styles['logic-toggle-tag'], children: I18n.t(label) })) : (_jsx(Select, { size: "small", showClear: false, dropdownClassName: styles['logic-toggle-select-dropdown'], triggerRender: () => (_jsxs("div", { className: classNames(styles['logic-toggle-tag'], styles['logic-toggle-tag_edit']), children: [enableNot ? (_jsx(LogicNot, { not: not, readonly: readonly, className: styles['logic-toggle-tag-not'], onChange: val => {
22
+ onChange(operator, val);
23
+ } })) : null, I18n.t(label), _jsx(SelectIcon, { className: styles['logic-toggle-tag-icon'] })] })), optionList: filteredLogicOptions.map(item => ({
24
+ ...item,
25
+ label: I18n.t((item.label ?? '')),
26
+ })), value: operator, onChange: val => {
27
+ if (!val) {
28
+ return;
29
+ }
30
+ onChange(val, not);
31
+ } })) }));
32
+ }
33
+ //# sourceMappingURL=logic-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic-toggle.js","sourceRoot":"","sources":["../../../src/logic-expr/logic-toggle.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ export type LogicOperator = 'and' | 'or';
3
+ export interface Expr<L = string, O = string, R = string> {
4
+ left: L;
5
+ operator: O;
6
+ right: R;
7
+ not?: boolean;
8
+ disableDeletion?: boolean;
9
+ }
10
+ export interface ExprGroup<L = string, O = string, R = string> {
11
+ logicOperator?: LogicOperator;
12
+ not?: boolean;
13
+ disableDeletion?: boolean;
14
+ exprs?: Expr<L, O, R>[];
15
+ childExprGroups?: ExprGroup<L, O, R>[];
16
+ }
17
+ export interface OperatorOption {
18
+ label: ReactNode | string;
19
+ value: string | number;
20
+ }
21
+ interface BaseRenderProps<L, O, R> {
22
+ expr: Expr<L, O, R>;
23
+ readonly?: boolean;
24
+ size?: 'small' | 'large' | 'default';
25
+ onExprChange?: (expr: Partial<Expr<L, O, R>>) => void;
26
+ }
27
+ export interface LeftRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
28
+ onChange?: (val: L) => void;
29
+ }
30
+ export interface RightRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
31
+ onChange?: (val: R) => void;
32
+ }
33
+ export interface OperatorRenderProps<L, O, R> extends BaseRenderProps<L, O, R> {
34
+ onChange?: (val: O) => void;
35
+ }
36
+ interface Props<L, O, R> {
37
+ enableNot?: boolean;
38
+ readonly?: boolean;
39
+ leftRender?: (props: LeftRenderProps<L, O, R>) => ReactNode;
40
+ operatorRender?: ((props: OperatorRenderProps<L, O, R>) => ReactNode) | OperatorOption[];
41
+ rightRender?: (props: RightRenderProps<L, O, R>) => ReactNode;
42
+ errorMsgRender?: (props: RightRenderProps<L, O, R>) => ReactNode;
43
+ elementSize?: 'small' | 'large' | 'default';
44
+ className?: string;
45
+ style?: CSSProperties;
46
+ }
47
+ export interface LogicExprProps<L, O, R> extends Props<L, O, R> {
48
+ value?: ExprGroup<L, O, R>;
49
+ defaultExpr: Expr<L, O, R>;
50
+ allowLogicOperators?: LogicOperator[];
51
+ maxNestingDepth?: number;
52
+ exprGroupRenderContentItemsClassName?: string;
53
+ logicToggleReadonly?: boolean;
54
+ onChange?: (exprGroup?: ExprGroup<L, O, R>) => void;
55
+ onDeleteExpr?: (key: L) => void;
56
+ }
57
+ export interface ExprGroupRenderProps<L, O, R> extends Props<L, O, R> {
58
+ value?: ExprGroup<L, O, R>;
59
+ singleTag?: boolean;
60
+ path: string;
61
+ allowLogicOperators?: LogicOperator[];
62
+ maxNestingDepth?: number;
63
+ exprGroupRenderContentItemsClassName?: string;
64
+ logicToggleReadonly?: boolean;
65
+ onExprChange?: (expr: Expr<L, O, R>, path: string, index: number) => void;
66
+ onExprGroupChange?: (exprGroup: ExprGroup<L, O, R>, path: string) => void;
67
+ onAddItem?: (path: string) => void;
68
+ onAddGroup?: (path: string) => void;
69
+ onDeleteExpr?: (path: string, index: number) => void;
70
+ onDeleteExprGroup?: (path: string) => void;
71
+ }
72
+ export interface ExprRenderProps<L, O, R> extends Props<L, O, R> {
73
+ value: Expr<L, O, R>;
74
+ path: string;
75
+ onChange?: (expr: Expr<L, O, R>, path: string) => void;
76
+ onDelete?: (path: string) => void;
77
+ renderTool?: () => React.JSX.Element;
78
+ }
79
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/logic-expr/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { type RadioGroupProps } from '@coze-arch/coze-design';
2
+ export declare function LoopRadioGroup({ className, ...props }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { RadioGroup as SemiRadioGroup, } from '@coze-arch/coze-design';
4
+ export function LoopRadioGroup({ className, ...props }) {
5
+ return (_jsx(SemiRadioGroup, { className: classNames('!bg-semi-fill-0 !p-0', className), type: "button", ...props }));
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/loop-radio-group/index.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAEL,UAAU,IAAI,cAAc,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IACrE,OAAO,CACL,KAAC,cAAc,IACb,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,EACxD,IAAI,EAAC,QAAQ,KACT,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { type MultipartItem } from '../type';
3
+ interface ImageItemRendererProps {
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ spaceID?: Int64;
7
+ item: MultipartItem;
8
+ readonly?: boolean;
9
+ onRemove: () => void;
10
+ onChange: (item: MultipartItem) => void;
11
+ uploadFile?: (params: unknown) => Promise<string>;
12
+ }
13
+ export declare const ImageItemRenderer: React.FC<ImageItemRendererProps>;
14
+ export {};
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @coze-arch/use-error-in-catch */
3
+ /* eslint-disable complexity */
4
+ import { useState } from 'react';
5
+ import classNames from 'classnames';
6
+ import { StorageProvider } from '@cozeloop/api-schema/data';
7
+ import { IconCozCross, IconCozEye, IconCozImageBroken, IconCozRefresh, } from '@coze-arch/coze-design/icons';
8
+ import { Image, ImagePreview, Loading } from '@coze-arch/coze-design';
9
+ import { ImageStatus } from '../type';
10
+ export const ImageItemRenderer = ({ className, style, spaceID, item, onRemove, onChange, uploadFile, readonly, }) => {
11
+ const [visible, setVisible] = useState(false);
12
+ const [fileLoadError, setFileLoadError] = useState(false);
13
+ const status = item?.sourceImage?.status;
14
+ const uri = item?.image?.uri;
15
+ const url = item?.image?.thumb_url || item?.image?.url;
16
+ const isError = status === ImageStatus.Error;
17
+ const file = item?.sourceImage?.file;
18
+ const retryUpload = async () => {
19
+ try {
20
+ onChange({
21
+ ...item,
22
+ sourceImage: {
23
+ ...item.sourceImage,
24
+ status: ImageStatus.Loading,
25
+ },
26
+ });
27
+ const newUri = await uploadFile?.({
28
+ file,
29
+ fileType: 'image',
30
+ spaceID,
31
+ });
32
+ onChange({
33
+ ...item,
34
+ sourceImage: {
35
+ ...item.sourceImage,
36
+ status: ImageStatus.Success,
37
+ },
38
+ image: {
39
+ ...item.image,
40
+ uri: newUri,
41
+ storage_provider: StorageProvider.ImageX,
42
+ },
43
+ });
44
+ }
45
+ catch (error) {
46
+ onChange({
47
+ ...item,
48
+ sourceImage: {
49
+ ...item.sourceImage,
50
+ status: ImageStatus.Error,
51
+ },
52
+ });
53
+ }
54
+ };
55
+ return (_jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: classNames('w-[64px] h-[64px] relative group', className), style: style, children: [_jsx(ImagePreview, { src: url, visible: visible, onVisibleChange: setVisible }), _jsx(Image, { src: url, className: "w-full h-full rounded-[6px] border border-solid coz-stroke-plus", imgStyle: { objectFit: 'contain', width: '100%', height: '100%' }, fallback: _jsx(IconCozImageBroken, { className: "text-[24px]" }), onError: () => setFileLoadError(true) }), status !== ImageStatus.Loading && (_jsxs("div", { className: `absolute inset-0 flex gap-3 items-center rounded-[6px] justify-center coz-mg-mask ${isError ? 'visible' : 'invisible'} group-hover:visible`, children: [isError && !readonly && file ? (_jsx(IconCozRefresh, { className: "text-white w-[16px] h-[16px] cursor-pointer", onClick: retryUpload })) : null, (uri || url) && !fileLoadError ? (_jsx(IconCozEye, { className: "text-white w-[16px] h-[16px] cursor-pointer", onClick: () => setVisible(true) })) : null, readonly ? null : (_jsx("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", children: _jsx(IconCozCross, { onClick: onRemove, className: "text-[12px]" }) }))] })), status === ImageStatus.Loading && (_jsx("div", { className: "absolute inset-0 flex items-center rounded-[6px] justify-center bg-[rgba(0,0,0,0.4)] z-10", children: _jsx(Loading, { loading: true, color: "blue" }) }))] }), status === ImageStatus.Error && (_jsx("div", { className: "text-sm text-red-500", children: "\u4E0A\u4F20\u5931\u8D25" }))] }));
56
+ };
57
+ //# sourceMappingURL=image-item-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-item-renderer.js","sourceRoot":"","sources":["../../../../src/multi-part-editor/components/image-item-renderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { type MultipartItem } from '../type';
3
+ interface MultipartItemRendererProps {
4
+ item: MultipartItem;
5
+ readonly?: boolean;
6
+ onChange: (item: MultipartItem) => void;
7
+ onRemove: () => void;
8
+ }
9
+ export declare const MultipartItemRenderer: React.FC<MultipartItemRendererProps>;
10
+ export {};
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ContentType } from '@cozeloop/api-schema/evaluation';
3
+ import { IconCozTrashCan } from '@coze-arch/coze-design/icons';
4
+ import { Button, TextArea } from '@coze-arch/coze-design';
5
+ import { VideoItemRenderer } from './video-item-renderer';
6
+ import { ImageItemRenderer } from './image-item-renderer';
7
+ export const MultipartItemRenderer = ({ item, readonly, onChange, onRemove, }) => {
8
+ const handleTextChange = (text) => {
9
+ onChange({
10
+ ...item,
11
+ text,
12
+ });
13
+ };
14
+ switch (item.content_type) {
15
+ case ContentType.Text:
16
+ return (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(TextArea, { value: item.text, onChange: handleTextChange, autosize: { minRows: 1, maxRows: 3 }, disabled: readonly, placeholder: "\u8BF7\u8F93\u5165\u6587\u672C\u4FE1\u606F" }), readonly ? null : (_jsx(Button, { icon: _jsx(IconCozTrashCan, {}), color: "secondary", size: "small", onClick: onRemove }))] }));
17
+ case ContentType.Image:
18
+ return (_jsx(ImageItemRenderer, { item: item, onRemove: onRemove, onChange: onChange, readonly: readonly }));
19
+ case 'Video':
20
+ return (_jsx(VideoItemRenderer, { item: item, onRemove: onRemove, onChange: onChange, readonly: readonly }));
21
+ default:
22
+ return null;
23
+ }
24
+ };
25
+ //# sourceMappingURL=multipart-item-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart-item-renderer.js","sourceRoot":"","sources":["../../../../src/multi-part-editor/components/multipart-item-renderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS1D,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,QAAQ,CAAC;YACP,GAAG,IAAI;YACP,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EACpC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,4CAAS,GACrB,EACD,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,KAAC,MAAM,IACL,IAAI,EAAE,KAAC,eAAe,KAAG,EACzB,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,QAAQ,GACjB,CACH,IACG,CACP,CAAC;QAEJ,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,CACL,KAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,KAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { type Image as ImageProps } from '@cozeloop/api-schema/evaluation';
3
+ import { type UploadAttachmentDetail } from '../type';
4
+ interface UrlInputModalProps {
5
+ visible: boolean;
6
+ onConfirm: (results: ImageProps[]) => void;
7
+ onCancel: () => void;
8
+ maxCount?: number;
9
+ uploadImageUrl?: (urls: string[]) => Promise<UploadAttachmentDetail[] | undefined>;
10
+ uploadType?: 'image' | 'video';
11
+ intranetUrlValidator?: (url: string) => boolean;
12
+ }
13
+ export declare const UrlInputModal: React.FC<UrlInputModalProps>;
14
+ export {};
@@ -0,0 +1,150 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @coze-arch/max-line-per-function */
3
+ import { useState, useRef } from 'react';
4
+ import { IconCozTrashCan, IconCozPlus, IconCozCheckMarkCircleFill, IconCozCrossCircleFill, } from '@coze-arch/coze-design/icons';
5
+ import { Modal, Button, Image, Spin, Form, Typography, Tag, } from '@coze-arch/coze-design';
6
+ import { LoopTable } from '../../table';
7
+ import { ErrorTypeMap } from '../type';
8
+ export const UrlInputModal = ({ visible, onConfirm, onCancel, maxCount = 6, uploadImageUrl, uploadType = 'image', intranetUrlValidator, }) => {
9
+ const [error, setError] = useState('');
10
+ const [isUploading, setIsUploading] = useState(false);
11
+ const [isUploaded, setIsUploaded] = useState(false);
12
+ const [uploadResults, setUploadResults] = useState([]);
13
+ const formRef = useRef();
14
+ // Validate helpers
15
+ const validateUrl = (url) => {
16
+ try {
17
+ new URL(url);
18
+ return true;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ };
24
+ // Upload logic
25
+ const handleUpload = async (formValues) => {
26
+ if (formValues?.urls?.length === 0) {
27
+ setError('请至少添加一个图片链接');
28
+ return;
29
+ }
30
+ setIsUploading(true);
31
+ setError('');
32
+ try {
33
+ const results = await uploadImageUrl?.(formValues?.urls);
34
+ setUploadResults(results || []);
35
+ setIsUploaded(true);
36
+ }
37
+ catch (err) {
38
+ setError('上传失败,请重试');
39
+ }
40
+ finally {
41
+ setIsUploading(false);
42
+ }
43
+ };
44
+ const handleConfirm = async () => {
45
+ if (!uploadImageUrl) {
46
+ const data = await formRef.current
47
+ ?.validate()
48
+ ?.catch(e => console.error(e));
49
+ if (Array.isArray(data?.urls)) {
50
+ onConfirm(data?.urls?.map(item => ({
51
+ name: item,
52
+ url: item,
53
+ thumb_url: item,
54
+ })));
55
+ }
56
+ return;
57
+ }
58
+ if (isUploaded) {
59
+ const successResults = uploadResults.filter(item => item.errorType === undefined);
60
+ onConfirm(successResults.map(item => ({
61
+ name: item.image?.name,
62
+ url: item.originImage?.url,
63
+ uri: item.image?.uri,
64
+ thumb_url: item.image?.thumb_url,
65
+ })));
66
+ }
67
+ else {
68
+ await formRef.current?.submitForm();
69
+ }
70
+ };
71
+ const handleCancel = () => {
72
+ setError('');
73
+ setIsUploading(false);
74
+ setIsUploaded(false);
75
+ setUploadResults([]);
76
+ onCancel();
77
+ };
78
+ // Dynamic form for URLs
79
+ const renderInputStage = () => (_jsx(Form, { initValues: { urls: [''] }, getFormApi: api => (formRef.current = api), onSubmit: uploadImageUrl ? handleUpload : undefined, children: ({ formState, formApi }) => {
80
+ const urls = formState.values?.urls || [''];
81
+ const canAdd = urls.length < maxCount;
82
+ return (_jsxs("div", { children: [urls.map((_url, idx) => (_jsxs("div", { className: "flex gap-2", children: [_jsx(Form.Input, { field: `urls[${idx}]`, label: {
83
+ text: `${uploadType === 'image' ? '图片' : '视频'}${idx + 1}`,
84
+ required: true,
85
+ }, fieldClassName: "flex-1", placeholder: `请输入${uploadType === 'image' ? '图片' : '视频'}链接,请使用公网域名`, rules: [
86
+ {
87
+ validator: (_, value, cb) => {
88
+ if (!value) {
89
+ cb(`请输入${uploadType === 'image' ? '图片' : '视频'}链接`);
90
+ return false;
91
+ }
92
+ if (intranetUrlValidator &&
93
+ intranetUrlValidator(value)) {
94
+ cb('请使用公网域名');
95
+ return false;
96
+ }
97
+ if (!validateUrl(value)) {
98
+ cb('请输入有效的URL');
99
+ return false;
100
+ }
101
+ return true;
102
+ },
103
+ },
104
+ ], className: "w-full" }), _jsx(Button, { size: "small", color: "secondary", icon: _jsx(IconCozTrashCan, { className: "w-[14px] h-[14px]" }), onClick: () => {
105
+ formApi.setValue('urls', urls.filter((_, i) => i !== idx));
106
+ }, className: "mt-[42px]", disabled: urls.length === 1 })] }, idx))), _jsxs(Button, { color: "primary", disabled: !canAdd, icon: _jsx(IconCozPlus, {}), onClick: () => formApi.setValue('urls', [...urls, '']), className: "mt-2", children: ["\u6DFB\u52A0", _jsx(Typography.Text, { className: "ml-1", type: "secondary", children: `${urls.length}/${maxCount}` })] }), error ? (_jsx("div", { className: "text-red-500 text-sm mt-1", children: error })) : null] }));
107
+ } }));
108
+ const columns = [
109
+ {
110
+ title: '图片地址',
111
+ dataIndex: 'originImage.url',
112
+ width: 220,
113
+ ellipsis: { showTitle: true },
114
+ },
115
+ {
116
+ title: '图片预览',
117
+ dataIndex: 'originImage.url',
118
+ width: 120,
119
+ render: (url) => (_jsx(Image, { src: url, width: 60, height: 60, imgStyle: { objectFit: 'contain' } })),
120
+ },
121
+ {
122
+ title: '状态',
123
+ key: 'status',
124
+ align: 'left',
125
+ width: 200,
126
+ render: (record) => (_jsxs("div", { className: "flex items-center", children: [_jsx(Tag, { prefixIcon: record?.errorType ? (_jsx(IconCozCrossCircleFill, {})) : (_jsx(IconCozCheckMarkCircleFill, {})), color: record?.errorType ? 'red' : 'green', children: record?.errorType ? '失败' : '成功' }), _jsx(Typography.Text, { type: "secondary", className: "ml-1", children: record.errorType ? ErrorTypeMap[record.errorType] : '' })] })),
127
+ },
128
+ ];
129
+ const renderResultStage = () => (_jsx("div", { className: "space-y-4", children: _jsx(LoopTable, { tableProps: {
130
+ columns,
131
+ dataSource: uploadResults,
132
+ rowKey: 'id',
133
+ pagination: false,
134
+ size: 'small',
135
+ } }) }));
136
+ const getConfirmButtonText = () => {
137
+ if (!uploadImageUrl) {
138
+ return '确认';
139
+ }
140
+ if (isUploading) {
141
+ return '上传中...';
142
+ }
143
+ if (isUploaded) {
144
+ return `导入${uploadType === 'image' ? '图片' : '视频'}`;
145
+ }
146
+ return '上传';
147
+ };
148
+ return (_jsxs(Modal, { title: `添加${uploadType === 'image' ? '图片' : '视频'}链接`, visible: visible, onCancel: handleCancel, width: 640, footer: _jsxs("div", { className: "flex justify-end", children: [_jsx(Button, { onClick: handleCancel, color: "primary", children: "\u53D6\u6D88" }), _jsx(Button, { type: "primary", onClick: handleConfirm, loading: isUploading, children: getConfirmButtonText() })] }), children: [isUploading ? (_jsxs("div", { className: "flex items-center justify-center py-8", children: [_jsx(Spin, { size: "large" }), _jsx("span", { className: "ml-2", children: "\u6B63\u5728\u4E0A\u4F20\u56FE\u7247..." })] })) : null, !isUploading && !isUploaded && renderInputStage(), !isUploading && isUploaded ? renderResultStage() : null] }));
149
+ };
150
+ //# sourceMappingURL=url-input-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-input-modal.js","sourceRoot":"","sources":["../../../../src/multi-part-editor/components/url-input-modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { type MultipartItem } from '../type';
3
+ interface VideoItemRendererProps {
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ spaceID?: Int64;
7
+ item: MultipartItem;
8
+ readonly?: boolean;
9
+ onRemove: () => void;
10
+ onChange: (item: MultipartItem) => void;
11
+ uploadFile?: (params: unknown) => Promise<string>;
12
+ }
13
+ export declare const VideoItemRenderer: React.FC<VideoItemRendererProps>;
14
+ export {};
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @coze-arch/use-error-in-catch */
3
+ /* eslint-disable complexity */
4
+ import { useState } from 'react';
5
+ import classNames from 'classnames';
6
+ import { StorageProvider } from '@cozeloop/api-schema/data';
7
+ import { IconCozCross, IconCozPlayCircle, IconCozRefresh, } from '@coze-arch/coze-design/icons';
8
+ import { Loading, Modal } from '@coze-arch/coze-design';
9
+ import { ImageStatus } from '../type';
10
+ import styles from './index.module.less';
11
+ export const VideoItemRenderer = ({ className, style, spaceID, item, onRemove, onChange, uploadFile, readonly, }) => {
12
+ const [visible, setVisible] = useState(false);
13
+ const status = item?.sourceVideo?.status;
14
+ const uri = item?.video?.uri;
15
+ const url = item?.video?.url;
16
+ const isError = status === ImageStatus.Error;
17
+ const file = item?.sourceVideo?.file;
18
+ const retryUpload = async () => {
19
+ try {
20
+ onChange({
21
+ ...item,
22
+ sourceVideo: {
23
+ ...item.sourceVideo,
24
+ status: ImageStatus.Loading,
25
+ },
26
+ });
27
+ const newUri = await uploadFile?.({
28
+ file,
29
+ fileType: 'image',
30
+ spaceID,
31
+ });
32
+ onChange({
33
+ ...item,
34
+ sourceVideo: {
35
+ ...item.sourceVideo,
36
+ status: ImageStatus.Success,
37
+ },
38
+ video: {
39
+ ...item.video,
40
+ uri: newUri,
41
+ storage_provider: StorageProvider.ImageX,
42
+ },
43
+ });
44
+ }
45
+ catch (error) {
46
+ onChange({
47
+ ...item,
48
+ sourceVideo: {
49
+ ...item.sourceVideo,
50
+ status: ImageStatus.Error,
51
+ },
52
+ });
53
+ }
54
+ };
55
+ return (_jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: classNames('w-[64px] h-[64px] relative group', className), style: style, children: [_jsx("video", { src: url, className: "w-full h-full rounded-[6px] border border-solid coz-stroke-plus" }), status === ImageStatus.Loading ? null : (_jsx(IconCozPlayCircle, { className: "text-white w-[16px] h-[16px] absolute top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]", onClick: () => setVisible(true) })), status !== ImageStatus.Loading && (_jsxs("div", { className: `absolute inset-0 flex gap-3 items-center rounded-[6px] justify-center bg-[rgba(0,0,0,0.4)] ${isError ? 'visible' : 'invisible'} group-hover:visible`, children: [isError && !readonly && file ? (_jsx(IconCozRefresh, { className: "text-white w-[16px] h-[16px] cursor-pointer", onClick: retryUpload })) : null, uri || url ? (_jsx(IconCozPlayCircle, { className: "text-white w-[16px] h-[16px] cursor-pointer", onClick: () => setVisible(true) })) : null, readonly ? null : (_jsx("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", children: _jsx(IconCozCross, { onClick: onRemove, className: "text-[12px]" }) }))] })), status === ImageStatus.Loading && (_jsx("div", { className: "absolute inset-0 flex items-center rounded-[6px] justify-center bg-[rgba(0,0,0,0.4)] z-10", children: _jsx(Loading, { loading: true, color: "blue" }) }))] }), status === ImageStatus.Error ? (_jsx("div", { className: "text-sm text-red-500", children: "\u4E0A\u4F20\u5931\u8D25" })) : null, _jsx(Modal, { title: "\u89C6\u9891\u9884\u89C8", footer: null, visible: visible, onCancel: () => setVisible(false), footerFill: false, hasScroll: false, width: 654, className: styles['video-preview-modal'], children: _jsx("video", { src: url, className: "w-full h-[368px]", controls: true, autoPlay: true }) })] }));
56
+ };
57
+ //# sourceMappingURL=video-item-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-item-renderer.js","sourceRoot":"","sources":["../../../../src/multi-part-editor/components/video-item-renderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type MultipartEditorProps } from './type';
3
+ export declare const MultipartEditor: React.FC<MultipartEditorProps>;