@cozeloop/components 0.0.12-beta-1778488172610 → 0.0.12-beta-1378.344125032425

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 (286) hide show
  1. package/dist/es/index.css +0 -49
  2. package/dist/es/index.mjs +17 -510
  3. package/dist/lib/base-search-select/base-search-form-select.js +6 -0
  4. package/dist/lib/base-search-select/base-search-form-select.js.map +1 -0
  5. package/dist/lib/base-search-select/base-search-select.js +130 -0
  6. package/dist/lib/base-search-select/base-search-select.js.map +1 -0
  7. package/dist/lib/base-search-select/index.js +3 -0
  8. package/dist/lib/base-search-select/index.js.map +1 -0
  9. package/dist/lib/base-search-select/types.js +2 -0
  10. package/dist/lib/base-search-select/types.js.map +1 -0
  11. package/dist/lib/base-search-select/utils.js +48 -0
  12. package/dist/lib/base-search-select/utils.js.map +1 -0
  13. package/dist/lib/basic-card/index.js +4 -0
  14. package/dist/lib/basic-card/index.js.map +1 -0
  15. package/dist/lib/card-pane/index.js +9 -0
  16. package/dist/lib/card-pane/index.js.map +1 -0
  17. package/dist/lib/chip-select/index.js +6 -0
  18. package/dist/lib/chip-select/index.js.map +1 -0
  19. package/dist/lib/codemirror-editor/code-editor.d.ts +2 -23
  20. package/dist/lib/codemirror-editor/code-editor.js +135 -0
  21. package/dist/lib/codemirror-editor/code-editor.js.map +1 -0
  22. package/dist/lib/codemirror-editor/index.js +7 -0
  23. package/dist/lib/codemirror-editor/index.js.map +1 -0
  24. package/dist/lib/codemirror-editor/json-editor.js +104 -0
  25. package/dist/lib/codemirror-editor/json-editor.js.map +1 -0
  26. package/dist/lib/codemirror-editor/raw-code-editor.js +104 -0
  27. package/dist/lib/codemirror-editor/raw-code-editor.js.map +1 -0
  28. package/dist/lib/codemirror-editor/raw-text-editor.js +33 -0
  29. package/dist/lib/codemirror-editor/raw-text-editor.js.map +1 -0
  30. package/dist/lib/codemirror-editor/text-editor.d.ts +2 -23
  31. package/dist/lib/codemirror-editor/text-editor.js +50 -0
  32. package/dist/lib/codemirror-editor/text-editor.js.map +1 -0
  33. package/dist/lib/codemirror-editor/themes/coze-dark.js +113 -0
  34. package/dist/lib/codemirror-editor/themes/coze-dark.js.map +1 -0
  35. package/dist/lib/codemirror-editor/themes/coze-light.js +119 -0
  36. package/dist/lib/codemirror-editor/themes/coze-light.js.map +1 -0
  37. package/dist/lib/collapse-card/index.js +31 -0
  38. package/dist/lib/collapse-card/index.js.map +1 -0
  39. package/dist/lib/collapse-item/index.js +9 -0
  40. package/dist/lib/collapse-item/index.js.map +1 -0
  41. package/dist/lib/collapsible-card/index.js +13 -0
  42. package/dist/lib/collapsible-card/index.js.map +1 -0
  43. package/dist/lib/column-manage-storage/index.js +48 -0
  44. package/dist/lib/column-manage-storage/index.js.map +1 -0
  45. package/dist/lib/columns-select/index.js +78 -0
  46. package/dist/lib/columns-select/index.js.map +1 -0
  47. package/dist/lib/copyable/index.js +12 -0
  48. package/dist/lib/copyable/index.js.map +1 -0
  49. package/dist/lib/edit-icon-button/index.js +13 -0
  50. package/dist/lib/edit-icon-button/index.js.map +1 -0
  51. package/dist/lib/footer-actions/index.js +8 -0
  52. package/dist/lib/footer-actions/index.js.map +1 -0
  53. package/dist/lib/hooks/use-infinite-scroll.js +133 -0
  54. package/dist/lib/hooks/use-infinite-scroll.js.map +1 -0
  55. package/dist/lib/hooks/use-mouse-down-offset.js +39 -0
  56. package/dist/lib/hooks/use-mouse-down-offset.js.map +1 -0
  57. package/dist/lib/hooks/use-unsave-leave-warning.js +26 -0
  58. package/dist/lib/hooks/use-unsave-leave-warning.js.map +1 -0
  59. package/dist/lib/id-render/icon-button-container.js +7 -0
  60. package/dist/lib/id-render/icon-button-container.js.map +1 -0
  61. package/dist/lib/id-render/index.js +22 -0
  62. package/dist/lib/id-render/index.js.map +1 -0
  63. package/dist/lib/index-controller/record-navigation.js +10 -0
  64. package/dist/lib/index-controller/record-navigation.js.map +1 -0
  65. package/dist/lib/index-controller/use-item-index-controller.js +123 -0
  66. package/dist/lib/index-controller/use-item-index-controller.js.map +1 -0
  67. package/dist/lib/index.d.ts +0 -6
  68. package/dist/lib/index.js +77 -0
  69. package/dist/lib/index.js.map +1 -0
  70. package/dist/lib/infinite-scroll-table/index.js +35 -0
  71. package/dist/lib/infinite-scroll-table/index.js.map +1 -0
  72. package/dist/lib/info-tooltip/index.js +9 -0
  73. package/dist/lib/info-tooltip/index.js.map +1 -0
  74. package/dist/lib/input-components/radio-button.js +21 -0
  75. package/dist/lib/input-components/radio-button.js.map +1 -0
  76. package/dist/lib/input-slider/index.js +81 -0
  77. package/dist/lib/input-slider/index.js.map +1 -0
  78. package/dist/lib/input-with-count/index.js +7 -0
  79. package/dist/lib/input-with-count/index.js.map +1 -0
  80. package/dist/lib/jump-button/jump-icon-button.js +7 -0
  81. package/dist/lib/jump-button/jump-icon-button.js.map +1 -0
  82. package/dist/lib/large-txt-render/index.js +27 -0
  83. package/dist/lib/large-txt-render/index.js.map +1 -0
  84. package/dist/lib/layout/content.js +5 -0
  85. package/dist/lib/layout/content.js.map +1 -0
  86. package/dist/lib/layout/header.js +6 -0
  87. package/dist/lib/layout/header.js.map +1 -0
  88. package/dist/lib/layout/index.js +9 -0
  89. package/dist/lib/layout/index.js.map +1 -0
  90. package/dist/lib/layout/tabs.js +10 -0
  91. package/dist/lib/layout/tabs.js.map +1 -0
  92. package/dist/lib/lazy-load-component/index.js +42 -0
  93. package/dist/lib/lazy-load-component/index.js.map +1 -0
  94. package/dist/lib/link-button/index.js +23 -0
  95. package/dist/lib/link-button/index.js.map +1 -0
  96. package/dist/lib/logic-editor/index.js +3 -0
  97. package/dist/lib/logic-editor/index.js.map +1 -0
  98. package/dist/lib/logic-editor/logic-editor.js +70 -0
  99. package/dist/lib/logic-editor/logic-editor.js.map +1 -0
  100. package/dist/lib/logic-editor/logic-left-render.js +62 -0
  101. package/dist/lib/logic-editor/logic-left-render.js.map +1 -0
  102. package/dist/lib/logic-editor/logic-operator-render.js +31 -0
  103. package/dist/lib/logic-editor/logic-operator-render.js.map +1 -0
  104. package/dist/lib/logic-editor/logic-right-render.js +26 -0
  105. package/dist/lib/logic-editor/logic-right-render.js.map +1 -0
  106. package/dist/lib/logic-editor/logic-types.js +144 -0
  107. package/dist/lib/logic-editor/logic-types.js.map +1 -0
  108. package/dist/lib/logic-editor/utils.js +18 -0
  109. package/dist/lib/logic-editor/utils.js.map +1 -0
  110. package/dist/lib/logic-expr/consts.js +5 -0
  111. package/dist/lib/logic-expr/consts.js.map +1 -0
  112. package/dist/lib/logic-expr/expr-group-render.js +60 -0
  113. package/dist/lib/logic-expr/expr-group-render.js.map +1 -0
  114. package/dist/lib/logic-expr/expr-render.js +84 -0
  115. package/dist/lib/logic-expr/expr-render.js.map +1 -0
  116. package/dist/lib/logic-expr/index.js +2 -0
  117. package/dist/lib/logic-expr/index.js.map +1 -0
  118. package/dist/lib/logic-expr/logic-expr.js +187 -0
  119. package/dist/lib/logic-expr/logic-expr.js.map +1 -0
  120. package/dist/lib/logic-expr/logic-not.js +20 -0
  121. package/dist/lib/logic-expr/logic-not.js.map +1 -0
  122. package/dist/lib/logic-expr/logic-toggle.js +32 -0
  123. package/dist/lib/logic-expr/logic-toggle.js.map +1 -0
  124. package/dist/lib/logic-expr/types.js +2 -0
  125. package/dist/lib/logic-expr/types.js.map +1 -0
  126. package/dist/lib/loop-icons/index.js +3 -0
  127. package/dist/lib/loop-icons/index.js.map +1 -0
  128. package/dist/lib/loop-radio-group/index.js +7 -0
  129. package/dist/lib/loop-radio-group/index.js.map +1 -0
  130. package/dist/lib/multi-modal-dataset-item-render/audio-render/index.js +34 -0
  131. package/dist/lib/multi-modal-dataset-item-render/audio-render/index.js.map +1 -0
  132. package/dist/lib/multi-modal-dataset-item-render/index.js +3 -0
  133. package/dist/lib/multi-modal-dataset-item-render/index.js.map +1 -0
  134. package/dist/lib/multi-modal-dataset-item-render/video-render/index.js +47 -0
  135. package/dist/lib/multi-modal-dataset-item-render/video-render/index.js.map +1 -0
  136. package/dist/lib/multi-part-editor/components/image-item-renderer.js +58 -0
  137. package/dist/lib/multi-part-editor/components/image-item-renderer.js.map +1 -0
  138. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js +26 -0
  139. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js.map +1 -0
  140. package/dist/lib/multi-part-editor/components/url-input-modal.js +151 -0
  141. package/dist/lib/multi-part-editor/components/url-input-modal.js.map +1 -0
  142. package/dist/lib/multi-part-editor/components/video-item-renderer.js +58 -0
  143. package/dist/lib/multi-part-editor/components/video-item-renderer.js.map +1 -0
  144. package/dist/lib/multi-part-editor/index.js +301 -0
  145. package/dist/lib/multi-part-editor/index.js.map +1 -0
  146. package/dist/lib/multi-part-editor/multi-part-render.js +40 -0
  147. package/dist/lib/multi-part-editor/multi-part-render.js.map +1 -0
  148. package/dist/lib/multi-part-editor/type.js +27 -0
  149. package/dist/lib/multi-part-editor/type.js.map +1 -0
  150. package/dist/lib/multi-part-editor/upload-button.js +104 -0
  151. package/dist/lib/multi-part-editor/upload-button.js.map +1 -0
  152. package/dist/lib/multi-part-editor/utils.js +43 -0
  153. package/dist/lib/multi-part-editor/utils.js.map +1 -0
  154. package/dist/lib/open-detail-button/index.js +12 -0
  155. package/dist/lib/open-detail-button/index.js.map +1 -0
  156. package/dist/lib/ops-agent/fox-icon.js +8 -0
  157. package/dist/lib/ops-agent/fox-icon.js.map +1 -0
  158. package/dist/lib/page-content/index.js +24 -0
  159. package/dist/lib/page-content/index.js.map +1 -0
  160. package/dist/lib/primary-page/index.js +2 -0
  161. package/dist/lib/primary-page/index.js.map +1 -0
  162. package/dist/lib/primary-page/primary-header.js +4 -0
  163. package/dist/lib/primary-page/primary-header.js.map +1 -0
  164. package/dist/lib/primary-title/index.js +8 -0
  165. package/dist/lib/primary-title/index.js.map +1 -0
  166. package/dist/lib/resizable-side-sheet/index.js +32 -0
  167. package/dist/lib/resizable-side-sheet/index.js.map +1 -0
  168. package/dist/lib/resize-sidesheet/index.js +15 -0
  169. package/dist/lib/resize-sidesheet/index.js.map +1 -0
  170. package/dist/lib/resize-sidesheet/use-drag.js +30 -0
  171. package/dist/lib/resize-sidesheet/use-drag.js.map +1 -0
  172. package/dist/lib/schema-editor/index.js +5 -0
  173. package/dist/lib/schema-editor/index.js.map +1 -0
  174. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js +19 -0
  175. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js.map +1 -0
  176. package/dist/lib/semi-schema-form/components/tmpls/array-field.js +39 -0
  177. package/dist/lib/semi-schema-form/components/tmpls/array-field.js.map +1 -0
  178. package/dist/lib/semi-schema-form/components/tmpls/base-input.js +32 -0
  179. package/dist/lib/semi-schema-form/components/tmpls/base-input.js.map +1 -0
  180. package/dist/lib/semi-schema-form/components/tmpls/description-field.js +13 -0
  181. package/dist/lib/semi-schema-form/components/tmpls/description-field.js.map +1 -0
  182. package/dist/lib/semi-schema-form/components/tmpls/error-list.js +14 -0
  183. package/dist/lib/semi-schema-form/components/tmpls/error-list.js.map +1 -0
  184. package/dist/lib/semi-schema-form/components/tmpls/field-error.js +16 -0
  185. package/dist/lib/semi-schema-form/components/tmpls/field-error.js.map +1 -0
  186. package/dist/lib/semi-schema-form/components/tmpls/field.js +21 -0
  187. package/dist/lib/semi-schema-form/components/tmpls/field.js.map +1 -0
  188. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js +29 -0
  189. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js.map +1 -0
  190. package/dist/lib/semi-schema-form/components/tmpls/index.js +31 -0
  191. package/dist/lib/semi-schema-form/components/tmpls/index.js.map +1 -0
  192. package/dist/lib/semi-schema-form/components/tmpls/object-field.js +81 -0
  193. package/dist/lib/semi-schema-form/components/tmpls/object-field.js.map +1 -0
  194. package/dist/lib/semi-schema-form/components/tmpls/submit.js +13 -0
  195. package/dist/lib/semi-schema-form/components/tmpls/submit.js.map +1 -0
  196. package/dist/lib/semi-schema-form/components/tmpls/title-field.js +12 -0
  197. package/dist/lib/semi-schema-form/components/tmpls/title-field.js.map +1 -0
  198. package/dist/lib/semi-schema-form/components/widgets/checkbox.js +26 -0
  199. package/dist/lib/semi-schema-form/components/widgets/checkbox.js.map +1 -0
  200. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js +27 -0
  201. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js.map +1 -0
  202. package/dist/lib/semi-schema-form/components/widgets/index.js +15 -0
  203. package/dist/lib/semi-schema-form/components/widgets/index.js.map +1 -0
  204. package/dist/lib/semi-schema-form/components/widgets/radio.js +27 -0
  205. package/dist/lib/semi-schema-form/components/widgets/radio.js.map +1 -0
  206. package/dist/lib/semi-schema-form/components/widgets/range.js +26 -0
  207. package/dist/lib/semi-schema-form/components/widgets/range.js.map +1 -0
  208. package/dist/lib/semi-schema-form/components/widgets/select.js +44 -0
  209. package/dist/lib/semi-schema-form/components/widgets/select.js.map +1 -0
  210. package/dist/lib/semi-schema-form/components/widgets/textarea.js +18 -0
  211. package/dist/lib/semi-schema-form/components/widgets/textarea.js.map +1 -0
  212. package/dist/lib/semi-schema-form/index.js +9 -0
  213. package/dist/lib/semi-schema-form/index.js.map +1 -0
  214. package/dist/lib/sentinel-form/enum.js +15 -0
  215. package/dist/lib/sentinel-form/enum.js.map +1 -0
  216. package/dist/lib/sentinel-form/index.d.ts +1 -1
  217. package/dist/lib/sentinel-form/index.js +323 -0
  218. package/dist/lib/sentinel-form/index.js.map +1 -0
  219. package/dist/lib/step-nav/index.js +13 -0
  220. package/dist/lib/step-nav/index.js.map +1 -0
  221. package/dist/lib/table/index.js +7 -0
  222. package/dist/lib/table/index.js.map +1 -0
  223. package/dist/lib/table/sort-icon.js +31 -0
  224. package/dist/lib/table/sort-icon.js.map +1 -0
  225. package/dist/lib/table/table-with-pagination.js +74 -0
  226. package/dist/lib/table/table-with-pagination.js.map +1 -0
  227. package/dist/lib/table/table-without-pagniation.js +37 -0
  228. package/dist/lib/table/table-without-pagniation.js.map +1 -0
  229. package/dist/lib/table-batch-operate/table-batch-operation.js +17 -0
  230. package/dist/lib/table-batch-operate/table-batch-operation.js.map +1 -0
  231. package/dist/lib/table-batch-operate/use-batch-operate.js +71 -0
  232. package/dist/lib/table-batch-operate/use-batch-operate.js.map +1 -0
  233. package/dist/lib/table-col-actions/index.js +39 -0
  234. package/dist/lib/table-col-actions/index.js.map +1 -0
  235. package/dist/lib/table-cols-config/index.js +60 -0
  236. package/dist/lib/table-cols-config/index.js.map +1 -0
  237. package/dist/lib/table-cols-config/type.js +2 -0
  238. package/dist/lib/table-cols-config/type.js.map +1 -0
  239. package/dist/lib/table-cols-config/use-hidden-col-keys.js +32 -0
  240. package/dist/lib/table-cols-config/use-hidden-col-keys.js.map +1 -0
  241. package/dist/lib/table-cols-config/util.js +39 -0
  242. package/dist/lib/table-cols-config/util.js.map +1 -0
  243. package/dist/lib/table-empty/index.js +9 -0
  244. package/dist/lib/table-empty/index.js.map +1 -0
  245. package/dist/lib/table-header/index.d.ts +1 -1
  246. package/dist/lib/table-header/index.js +12 -0
  247. package/dist/lib/table-header/index.js.map +1 -0
  248. package/dist/lib/tabs/index.js +9 -0
  249. package/dist/lib/tabs/index.js.map +1 -0
  250. package/dist/lib/text-area-pro/index.js +10 -0
  251. package/dist/lib/text-area-pro/index.js.map +1 -0
  252. package/dist/lib/text-with-copy/index.js +25 -0
  253. package/dist/lib/text-with-copy/index.js.map +1 -0
  254. package/dist/lib/title-with-sub/index.js +6 -0
  255. package/dist/lib/title-with-sub/index.js.map +1 -0
  256. package/dist/lib/tooltip-when-disabled/index.js +9 -0
  257. package/dist/lib/tooltip-when-disabled/index.js.map +1 -0
  258. package/dist/lib/tooltip-with-disabled/index.js +9 -0
  259. package/dist/lib/tooltip-with-disabled/index.js.map +1 -0
  260. package/dist/lib/tsconfig.build.tsbuildinfo +1 -0
  261. package/dist/lib/upload/index.js +25 -0
  262. package/dist/lib/upload/index.js.map +1 -0
  263. package/dist/lib/user-profile/index.js +21 -0
  264. package/dist/lib/user-profile/index.js.map +1 -0
  265. package/dist/lib/utils/basic.js +30 -0
  266. package/dist/lib/utils/basic.js.map +1 -0
  267. package/dist/lib/version-list/version-descriptions.js +15 -0
  268. package/dist/lib/version-list/version-descriptions.js.map +1 -0
  269. package/dist/lib/version-list/version-item.js +6 -0
  270. package/dist/lib/version-list/version-item.js.map +1 -0
  271. package/dist/lib/version-list/version-list.js +12 -0
  272. package/dist/lib/version-list/version-list.js.map +1 -0
  273. package/dist/lib/version-list/version-switch-panel.js +11 -0
  274. package/dist/lib/version-list/version-switch-panel.js.map +1 -0
  275. package/package.json +31 -23
  276. package/dist/lib/accessible-option-label/index.d.ts +0 -14
  277. package/dist/lib/banner/index.d.ts +0 -8
  278. package/dist/lib/code-editor/index.d.ts +0 -3
  279. package/dist/lib/code-editor-with-loading/index.d.ts +0 -10
  280. package/dist/lib/input-number-bigint/__tests__/input-number-bigint.test.d.ts +0 -1
  281. package/dist/lib/input-number-bigint/index.d.ts +0 -3
  282. package/dist/lib/rich-text-editor/editor.d.ts +0 -2
  283. package/dist/lib/rich-text-editor/index.d.ts +0 -2
  284. package/dist/lib/rich-text-editor/mention-extension.d.ts +0 -16
  285. package/dist/lib/rich-text-editor/mention-node-view.d.ts +0 -4
  286. package/dist/lib/rich-text-editor/types.d.ts +0 -45
@@ -0,0 +1,77 @@
1
+ export { ColumnSelector } from './columns-select';
2
+ export { TooltipWhenDisabled, } from './tooltip-when-disabled';
3
+ export { TooltipWithDisabled } from './tooltip-with-disabled';
4
+ export { Copyable } from './copyable';
5
+ export { LoopTable } from './table';
6
+ export { TableWithPagination, DEFAULT_PAGE_SIZE, PAGE_SIZE_OPTIONS, getStoragePageSize, } from './table/table-with-pagination';
7
+ export { PageError, PageLoading, PageNoAuth, PageNoContent, PageNotFound, FullPage, } from './page-content';
8
+ export { TableColActions } from './table-col-actions';
9
+ export { LoopTabs } from './tabs';
10
+ export { LargeTxtRender } from './large-txt-render';
11
+ export { InputSlider, formateDecimalPlacesString } from './input-slider';
12
+ export { handleCopy, sleep } from './utils/basic';
13
+ export { uploadFile } from './upload';
14
+ export { default as VersionList } from './version-list/version-list';
15
+ export { default as VersionItem } from './version-list/version-item';
16
+ export { default as VersionSwitchPanel } from './version-list/version-switch-panel';
17
+ export { TextWithCopy } from './text-with-copy';
18
+ export { InfoTooltip } from './info-tooltip';
19
+ export { IDRender } from './id-render';
20
+ export { IconButtonContainer } from './id-render/icon-button-container';
21
+ export { JumpIconButton } from './jump-button/jump-icon-button';
22
+ export { UserProfile } from './user-profile';
23
+ export { getColumnManageStorage, setColumnsManageStorage, dealColumnsWithStorage, } from './column-manage-storage';
24
+ export { PrimaryPage } from './primary-page';
25
+ export { PrimaryTitle } from './primary-title';
26
+ export { ResizeSidesheet } from './resize-sidesheet';
27
+ export { useUnsaveLeaveWarning } from './hooks/use-unsave-leave-warning';
28
+ export { InfiniteScrollTable, } from './infinite-scroll-table';
29
+ export { TableHeader } from './table-header';
30
+ export { TableColsConfig, } from './table-cols-config';
31
+ // import { TableHeaderProps } from './table-header';
32
+ // export const a = {} as unknown as TableHeaderProps;
33
+ export { TableWithoutPagination } from './table/table-without-pagniation';
34
+ export { TableBatchOperate } from './table-batch-operate/table-batch-operation';
35
+ export { useBatchOperate, } from './table-batch-operate/use-batch-operate';
36
+ export { useItemIndexController, } from './index-controller/use-item-index-controller';
37
+ export { IndexControllerView } from './index-controller/record-navigation';
38
+ export { BaseSearchSelect, BaseSearchFormSelect, } from './base-search-select';
39
+ export { OpenDetailButton } from './open-detail-button';
40
+ export { LinkButton } from './link-button';
41
+ export { EditIconButton } from './edit-icon-button';
42
+ export { CollapseCard } from './collapse-card';
43
+ // OpsAgent 智能助手
44
+ export { FoxIcon } from './ops-agent/fox-icon';
45
+ export { LogicExpr, } from './logic-expr';
46
+ // #region 输入控件
47
+ export { RadioButton, } from './input-components/radio-button';
48
+ export { LogicEditor, } from './logic-editor';
49
+ // #endregion 输入控件
50
+ export { BasicCard } from './basic-card';
51
+ export { MultipartEditor } from './multi-part-editor';
52
+ export { ChipSelect } from './chip-select';
53
+ export { ImageItemRenderer } from './multi-part-editor/components/image-item-renderer';
54
+ export { VideoItemRenderer } from './multi-part-editor/components/video-item-renderer';
55
+ export { ImageStatus as MultipartRenderStatus, } from './multi-part-editor/type';
56
+ export { DEFAULT_FILE_SIZE, DEFAULT_FILE_COUNT, DEFAULT_PART_COUNT, DEFAULT_SUPPORTED_FORMATS, DEFAULT_VIDEO_SUPPORTED_FORMATS, } from './multi-part-editor/utils';
57
+ export { UploadButton, } from './multi-part-editor/upload-button';
58
+ export { MultiPartRender } from './multi-part-editor/multi-part-render';
59
+ export { StepNav } from './step-nav';
60
+ export { LazyLoadComponent } from './lazy-load-component';
61
+ export { TextAreaPro } from './text-area-pro';
62
+ export { InputWithCount } from './input-with-count';
63
+ export { LoopRadioGroup } from './loop-radio-group';
64
+ // Migrated components from fornax
65
+ export { Layout } from './layout';
66
+ export { TitleWithSub } from './title-with-sub';
67
+ export { FooterActions } from './footer-actions';
68
+ export { TableEmpty } from './table-empty';
69
+ export { CardPane } from './card-pane';
70
+ export { SemiSchemaForm, schemaValidators, } from './semi-schema-form';
71
+ export { ResizableSideSheet } from './resizable-side-sheet';
72
+ export { SentinelForm, } from './sentinel-form';
73
+ export { CodeMirrorCodeEditor, CodeMirrorTextEditor, CodeMirrorJsonEditor, CodeMirrorRawTextEditor, CodeMirrorRawCodeEditor, EditorProvider, } from './codemirror-editor';
74
+ export { SchemaEditor } from './schema-editor';
75
+ export { CollapseItem } from './collapse-item';
76
+ export { AudioRender, VideoRender, } from './multi-modal-dataset-item-render';
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EACL,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,eAAe,GAIhB,MAAM,qBAAqB,CAAC;AAC7B,sDAAsD;AACtD,sDAAsD;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EACL,eAAe,GAEhB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,sBAAsB,GAEvB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GAIrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,gBAAgB;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAWL,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,eAAe;AACf,OAAO,EACL,WAAW,GAEZ,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,WAAW,GAKZ,MAAM,gBAAgB,CAAC;AACxB,kBAAkB;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,WAAW,IAAI,qBAAqB,GAGrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAkC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,kCAAkC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,cAAc,EAEd,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,YAAY,GAGb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,WAAW,EAEX,WAAW,GAEZ,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { forwardRef, useRef, useImperativeHandle, } from 'react';
4
+ import classNames from 'classnames';
5
+ import { useSize, useInfiniteScroll } from 'ahooks';
6
+ import { IconCozIllusEmpty } from '@coze-arch/coze-design/illustrations';
7
+ import { EmptyState } from '@coze-arch/coze-design';
8
+ import { LoopTable } from '../table';
9
+ // 显式指定 forwardRef 的类型
10
+ export const InfiniteScrollTable = forwardRef(({ service, options, className, ...restTableProps }, ref) => {
11
+ const containerRef = useRef(null);
12
+ const hookRes = useInfiniteScroll(d => service?.(d), {
13
+ isNoMore: d => !d?.hasMore,
14
+ ...options,
15
+ reloadDeps: [...(options?.reloadDeps || [])],
16
+ });
17
+ const { data, loading, loadingMore, noMore, loadMore } = hookRes;
18
+ const scrollSize = useSize(containerRef);
19
+ const height = scrollSize?.height || 0;
20
+ useImperativeHandle(ref, () => ({
21
+ // @ts-expect-error type
22
+ hookRes,
23
+ }));
24
+ return (_jsx("div", { className: classNames('w-full h-full overflow-hidden', className), ref: containerRef, children: _jsx(LoopTable, { tableProps: {
25
+ ...restTableProps.tableProps,
26
+ loading: loading || loadingMore,
27
+ pagination: false,
28
+ dataSource: data?.list || [],
29
+ scroll: {
30
+ y: height - 48,
31
+ ...restTableProps.tableProps?.scroll,
32
+ },
33
+ }, empty: restTableProps.empty ?? (_jsx(EmptyState, { size: "full_screen", icon: _jsx(IconCozIllusEmpty, {}), title: I18n.t('no_data') })), enableLoad: true, loadMode: "cursor", hasMore: !noMore, onLoad: loadMore, offsetY: 0, strictDataSourceProp: true }) }));
34
+ });
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infinite-scroll-table/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAEL,UAAU,EACV,MAAM,EACN,mBAAmB,GACpB,MAAM,OAAO,CAAC;AAEf,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkBrC,sBAAsB;AACtB,MAAM,CAAC,MAAM,mBAAmB,GAEC,UAAU,CACzC,CACE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,EAAgB,EAChE,GAAyC,EAC5B,EAAE;IACf,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QACnD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO;QAC1B,GAAG,OAAO;QACV,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEjE,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;IAEvC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,wBAAwB;QACxB,OAAO;KACR,CAAC,CAAC,CAAC;IAEJ,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CAAC,+BAA+B,EAAE,SAAS,CAAC,EACjE,GAAG,EAAE,YAAY,YAEjB,KAAC,SAAS,IACR,UAAU,EAAE;gBACV,GAAG,cAAc,CAAC,UAAU;gBAC5B,OAAO,EAAE,OAAO,IAAI,WAAW;gBAC/B,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;gBAC5B,MAAM,EAAE;oBACN,CAAC,EAAE,MAAM,GAAG,EAAE;oBACd,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM;iBACrC;aACF,EACD,KAAK,EACH,cAAc,CAAC,KAAK,IAAI,CACtB,KAAC,UAAU,IACT,IAAI,EAAC,aAAa,EAClB,IAAI,EAAE,KAAC,iBAAiB,KAAG,EAC3B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GACxB,CACH,EAEH,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAC,QAAQ,EACjB,OAAO,EAAE,CAAC,MAAM,EAChB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,CAAC,EACV,oBAAoB,SACpB,GACE,CACP,CAAC;AACJ,CAAC,CAG2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { IconCozInfoCircle, IconCozQuestionMarkCircle, } from '@coze-arch/coze-design/icons';
4
+ import { Tooltip } from '@coze-arch/coze-design';
5
+ export const InfoTooltip = ({ content, className, tooltipClassName, icon, useQuestion = false, }) => {
6
+ const defaultIcon = useQuestion ? (_jsx(IconCozQuestionMarkCircle, { className: "coz-fg-secondary cursor-pointer hover:coz-fg-primary" })) : (_jsx(IconCozInfoCircle, { className: "coz-fg-secondary cursor-pointer hover:coz-fg-primary" }));
7
+ return (_jsx(Tooltip, { content: _jsx("div", { style: { maxHeight: 300, overflowY: 'auto' }, children: content }), theme: "dark", className: tooltipClassName, children: _jsx("div", { className: classNames('h-[17px]', className), children: icon ?? defaultIcon }) }));
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/info-tooltip/index.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAUjD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,IAAI,EACJ,WAAW,GAAG,KAAK,GACb,EAAE,EAAE;IACV,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAChC,KAAC,yBAAyB,IAAC,SAAS,EAAC,sDAAsD,GAAG,CAC/F,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAAC,SAAS,EAAC,sDAAsD,GAAG,CACvF,CAAC;IACF,OAAO,CACL,KAAC,OAAO,IACN,OAAO,EACL,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAG,OAAO,GAAO,EAEpE,KAAK,EAAC,MAAM,EACZ,SAAS,EAAE,gBAAgB,YAE3B,cAAK,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,YAC9C,IAAI,IAAI,WAAW,GAChB,GACE,CACX,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cls from 'classnames';
3
+ import { Tooltip } from '@coze-arch/coze-design';
4
+ /** coze design 的 SegmentTab 和 Radio 的 advanced + pureCard 模式均有样式问题,不得不自行造轮子 */
5
+ export function RadioButton({ value, onChange, options, disabled, className, }) {
6
+ return (_jsx("div", { className: cls('w-full flex items-center gap-[8px]', className), children: options.map(option => {
7
+ const selected = value === option.value;
8
+ const optionDisabled = option.disabled || disabled;
9
+ return (_jsx(Tooltip, { trigger: option.tooltip ? 'hover' : 'custom', content: option.tooltip, children: _jsx("div", { className: cls('flex-1 px-[20px] py-[4px] rounded-[6px]', 'flex items-center justify-center', 'border border-solid', 'text-[14px] leading-[20px]', selected
10
+ ? 'coz-fg-hglt coz-stroke-hglt coz-mg-hglt hover:coz-mg-hglt-hovered active:coz-mg-hglt-pressed'
11
+ : 'coz-stroke-primary coz-bg-max hover:coz-mg-primary-hovered active:coz-mg-primary-pressed', optionDisabled
12
+ ? 'cursor-not-allowed opacity-60'
13
+ : 'cursor-pointer'), onClick: () => {
14
+ if (optionDisabled) {
15
+ return;
16
+ }
17
+ onChange?.(option.value);
18
+ }, children: option.label }) }, option.value));
19
+ }) }));
20
+ }
21
+ //# sourceMappingURL=radio-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../src/input-components/radio-button.tsx"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAejD,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAA4B,EACrD,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,GACW;IACpB,OAAO,CACL,cAAK,SAAS,EAAE,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,YACjE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpB,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;YACxC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;YACnD,OAAO,CACL,KAAC,OAAO,IAEN,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,YAEvB,cACE,SAAS,EAAE,GAAG,CACZ,yCAAyC,EACzC,kCAAkC,EAClC,qBAAqB,EACrB,4BAA4B,EAC5B,QAAQ;wBACN,CAAC,CAAC,8FAA8F;wBAChG,CAAC,CAAC,0FAA0F,EAC9F,cAAc;wBACZ,CAAC,CAAC,+BAA+B;wBACjC,CAAC,CAAC,gBAAgB,CACrB,EACD,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,cAAc,EAAE,CAAC;4BACnB,OAAO;wBACT,CAAC;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC,YAEA,MAAM,CAAC,KAAK,GACT,IAzBD,MAAM,CAAC,KAAK,CA0BT,CACX,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
3
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
4
+ /* eslint-disable max-params */
5
+ import { useRef } from 'react';
6
+ import { isInteger, isUndefined } from 'lodash-es';
7
+ import classNames from 'classnames';
8
+ import { CozInputNumber, Slider, } from '@coze-arch/coze-design';
9
+ import styles from './index.module.less';
10
+ export const formateDecimalPlacesString = (value, prevValue, decimalPlaces) => {
11
+ if (isUndefined(decimalPlaces)) {
12
+ return value.toString();
13
+ }
14
+ const numberValue = Number(value);
15
+ const stringValue = value.toString();
16
+ if (Number.isNaN(numberValue)) {
17
+ return `${value}`;
18
+ }
19
+ if (decimalPlaces === 0 && !isInteger(Number(value)) && prevValue) {
20
+ return `${prevValue}`;
21
+ }
22
+ const decimalPointIndex = stringValue.indexOf('.');
23
+ if (decimalPointIndex < 0) {
24
+ return stringValue;
25
+ }
26
+ const formattedValue = stringValue.substring(0, decimalPointIndex + 1 + decimalPlaces);
27
+ if (formattedValue.endsWith('.') && decimalPlaces === 0) {
28
+ return formattedValue.substring(0, formattedValue.length - 1);
29
+ }
30
+ return formattedValue;
31
+ };
32
+ function getDecimalPlaces(num) {
33
+ if (!num) {
34
+ return 0;
35
+ }
36
+ // 将数字转换为字符串
37
+ const numStr = num.toString();
38
+ // 检查是否包含小数点
39
+ if (numStr.includes('.')) {
40
+ // 使用正则表达式匹配小数点后面的数字
41
+ const decimalPart = numStr.split('.')[1];
42
+ return decimalPart.length; // 返回小数位数
43
+ }
44
+ return 0; // 如果没有小数点,返回0
45
+ }
46
+ const formateDecimalPlacesNumber = (value, prevValue, decimalPlaces, isPasted) => {
47
+ if (isUndefined(decimalPlaces)) {
48
+ if (isPasted) {
49
+ return value;
50
+ }
51
+ const currentDecimalPlaces = getDecimalPlaces(value);
52
+ const prevDecimalPlaces = getDecimalPlaces(prevValue);
53
+ if (prevDecimalPlaces === 2 &&
54
+ currentDecimalPlaces > 2 &&
55
+ !isUndefined(prevValue) &&
56
+ Math.abs(prevValue - value).toFixed(2) === '0.01') {
57
+ const pow2 = Math.pow(10, 2);
58
+ return Math.round(value * pow2) / pow2;
59
+ }
60
+ return value;
61
+ }
62
+ if (decimalPlaces === 0 && !isInteger(value) && prevValue) {
63
+ return prevValue;
64
+ }
65
+ const pow = Math.pow(10, decimalPlaces);
66
+ return Math.round(value * pow) / pow;
67
+ };
68
+ export const InputSlider = ({ value, onChange, max = 1, min = 0, step = 1, disabled, decimalPlaces, marks, className, }) => {
69
+ const isPasted = useRef(false);
70
+ const onNumberChange = (numberValue) => {
71
+ const formattedValue = formateDecimalPlacesNumber(numberValue, value, decimalPlaces, isPasted.current);
72
+ isPasted.current = false;
73
+ onChange?.(formattedValue);
74
+ };
75
+ return (_jsxs("div", { className: classNames(styles['input-slider'], className), children: [_jsx(Slider, { disabled: disabled, value: value, max: max, min: min, step: step, marks: marks, onChange: v => {
76
+ if (typeof v === 'number') {
77
+ onChange?.(v);
78
+ }
79
+ } }, `${min}-${max}`), _jsx(CozInputNumber, { className: styles['input-number'], value: value, disabled: disabled, formatter: inputValue => formateDecimalPlacesString(inputValue, value, decimalPlaces), onNumberChange: onNumberChange, max: max, min: min, step: step, onPaste: () => (isPasted.current = true) })] }));
80
+ };
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-slider/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Input } from '@coze-arch/coze-design';
3
+ const LimitCount = ({ maxLen, len }) => (_jsxs("span", { className: "pl-2 pr-3 overflow-hidden text-xs coz-fg-secondary", children: [_jsx("span", { children: len }), _jsx("span", { children: "/" }), _jsx("span", { children: maxLen })] }));
4
+ export function InputWithCount(props) {
5
+ return (_jsx(Input, { ...props, suffix: Boolean(props.maxLength) && (_jsx(LimitCount, { maxLen: props.maxLength ?? 0, len: props.value?.toString().length ?? 0 })) }));
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-with-count/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAmB,MAAM,wBAAwB,CAAC;AAMhE,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAmB,EAAE,EAAE,CAAC,CACvD,gBAAM,SAAS,EAAC,oDAAoD,aAClE,yBAAO,GAAG,GAAQ,EAClB,+BAAc,EACd,yBAAO,MAAM,GAAQ,IAChB,CACR,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,CACL,KAAC,KAAK,OACA,KAAK,EACT,MAAM,EACJ,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAC1B,KAAC,UAAU,IACT,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,EAC5B,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GACxC,CACH,GAEH,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { IconCozLongArrowTopRight } from '@coze-arch/coze-design/icons';
3
+ import { IconButtonContainer } from '../id-render/icon-button-container';
4
+ export function JumpIconButton(props) {
5
+ return _jsx(IconButtonContainer, { ...props, icon: _jsx(IconCozLongArrowTopRight, {}) });
6
+ }
7
+ //# sourceMappingURL=jump-icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-icon-button.js","sourceRoot":"","sources":["../../../src/jump-button/jump-icon-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,UAAU,cAAc,CAC5B,KAGuC;IAEvC,OAAO,KAAC,mBAAmB,OAAK,KAAK,EAAE,IAAI,EAAE,KAAC,wBAAwB,KAAG,GAAI,CAAC;AAChF,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import cls from 'classnames';
4
+ import { useInfiniteScroll } from 'ahooks';
5
+ const PER_PRE_MAX_LENGTH = 25000;
6
+ export const LargeTxtRender = (props) => {
7
+ const { text, className } = props;
8
+ const ref = useRef(null);
9
+ const getMoreTextChunk = (startIndex) => {
10
+ const endIndex = startIndex + PER_PRE_MAX_LENGTH;
11
+ const chunk = text.slice(startIndex, endIndex);
12
+ const hasMore = endIndex < text.length;
13
+ return {
14
+ list: [chunk],
15
+ nextId: hasMore ? endIndex.toString() : undefined,
16
+ };
17
+ };
18
+ const { data } = useInfiniteScroll(d => {
19
+ const startIndex = d ? parseInt(d.nextId) : 0;
20
+ return Promise.resolve(getMoreTextChunk(startIndex));
21
+ }, {
22
+ target: ref,
23
+ isNoMore: d => d?.nextId === undefined,
24
+ });
25
+ return (_jsx("pre", { ref: ref, className: cls('m-0 break-words whitespace-pre-wrap max-h-full overflow-y-auto text-[13px] leading-4 text-[var(--coz-fg-primary)] font-normal', className), children: data?.list.join('') || '' }));
26
+ };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/large-txt-render/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAOjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,UAAU,GAAG,kBAAkB,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAEvC,OAAO;YACL,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAChC,CAAC,CAAC,EAAE;QACF,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC,EACD;QACE,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS;KACvC,CACF,CAAC;IAEF,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,GAAG,CACZ,+HAA+H,EAC/H,SAAS,CACV,YAEA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GACtB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ export const Content = forwardRef(({ children, style, className, top }, ref) => (_jsxs("div", { className: "w-full h-full flex flex-col", children: [top, _jsx("div", { ref: ref, className: classNames('bg-white m-4 mb-0 p-4 rounded-md flex-1 flex flex-col overflow-y-auto', className), style: style, children: children })] })));
5
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/layout/content.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAsC,MAAM,OAAO,CAAC;AAE9E,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAQ/B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9C,eAAK,SAAS,EAAC,6BAA6B,aACzC,GAAG,EACJ,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CACnB,uEAAuE,EACvE,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,IAEF,CACP,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export function Header({ children, className }) {
4
+ return (_jsx("div", { className: classNames('flex items-center pb-4', className), children: children }));
5
+ }
6
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/layout/header.tsx"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAS;IACnD,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,SAAS,CAAC,YAC5D,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Tabs } from './tabs';
2
+ import { Header } from './header';
3
+ import { Content } from './content';
4
+ export const Layout = {
5
+ Header,
6
+ Content,
7
+ Tabs,
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM;IACN,OAAO;IACP,IAAI;CACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { Tabs as SemiTabs } from '@coze-arch/coze-design';
4
+ import styles from './index.module.less';
5
+ export function Tabs({ className, ...props }) {
6
+ return _jsx(SemiTabs, { className: classNames(styles.tabs, className), ...props });
7
+ }
8
+ Tabs.TabPane = SemiTabs.TabPane;
9
+ Tabs.TabItem = SemiTabs.TabItem;
10
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/layout/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAkB,IAAI,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAa;IACrD,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAChF,CAAC;AAED,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect, useRef } from 'react';
3
+ import { Skeleton } from '@coze-arch/coze-design';
4
+ export const LazyLoadComponent = ({ children, placeholder, }) => {
5
+ const [isVisible, setIsVisible] = useState(false);
6
+ const domRef = useRef(null);
7
+ useEffect(() => {
8
+ if ('IntersectionObserver' in window) {
9
+ if (!domRef.current) {
10
+ return;
11
+ }
12
+ // 使用 Intersection Observer
13
+ const observer = new IntersectionObserver(entries => {
14
+ entries.forEach(entry => {
15
+ if (entry.isIntersecting) {
16
+ setIsVisible(true);
17
+ observer.unobserve(domRef.current);
18
+ }
19
+ });
20
+ });
21
+ observer.observe(domRef.current);
22
+ return () => observer.disconnect();
23
+ }
24
+ else {
25
+ // 回退到 scroll 事件监听
26
+ const handleScroll = () => {
27
+ if (domRef.current) {
28
+ const rect = domRef.current.getBoundingClientRect();
29
+ if (rect.top <= window.innerHeight && rect.bottom >= 0) {
30
+ setIsVisible(true);
31
+ window.removeEventListener('scroll', handleScroll);
32
+ }
33
+ }
34
+ };
35
+ handleScroll(); // 初始化检查
36
+ document.addEventListener('scroll', handleScroll);
37
+ return () => document.removeEventListener('scroll', handleScroll);
38
+ }
39
+ }, []);
40
+ return (_jsx("div", { ref: domRef, children: isVisible ? children : _jsx(Skeleton, { placeholder: placeholder }) }));
41
+ };
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazy-load-component/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,IAAI,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;gBAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACtB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACzB,YAAY,CAAC,IAAI,CAAC,CAAC;wBACnB,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBACpD,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACvD,YAAY,CAAC,IAAI,CAAC,CAAC;wBACnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,YAAY,EAAE,CAAC,CAAC,QAAQ;YACxB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cAAK,GAAG,EAAE,MAAM,YACb,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,WAAW,EAAE,WAAW,GAAI,GAC1D,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, } from 'react';
3
+ import { isFunction } from 'lodash-es';
4
+ import { Tooltip, Typography } from '@coze-arch/coze-design';
5
+ /** typography link 形式的按钮 */
6
+ export function LinkButton({ tooltip, onClick, onAsyncClick, link = true, children, className, }) {
7
+ const [loading, setLoading] = useState(false);
8
+ return (_jsx(Tooltip, {
9
+ // todo 等 disabled 属性验证可靠后,再换掉 trigger 这种 hack 写法
10
+ trigger: tooltip ? 'hover' : 'custom', content: tooltip, children: _jsx("span", { className: className, children: _jsx(Typography.Text, { link: link, onClick: () => {
11
+ if (!isFunction(onAsyncClick)) {
12
+ onClick?.();
13
+ }
14
+ if (loading) {
15
+ return;
16
+ }
17
+ setLoading(true);
18
+ onAsyncClick?.().finally(() => {
19
+ setLoading(false);
20
+ });
21
+ }, children: children }) }) }, tooltip));
22
+ }
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link-button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAY7D,4BAA4B;AAC5B,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,SAAS,GACO;IAChB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CACL,KAAC,OAAO;QAEN,iDAAiD;QACjD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EACrC,OAAO,EAAE,OAAO,YAEhB,eAAM,SAAS,EAAE,SAAS,YACxB,KAAC,UAAU,CAAC,IAAI,IACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC9B,OAAO,EAAE,EAAE,CAAC;oBACd,CAAC;oBAED,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO;oBACT,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;wBAC5B,UAAU,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC,YAEA,QAAQ,GACO,GACb,IAxBF,OAAO,CAyBJ,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { LogicEditor } from './logic-editor';
2
+ export { baseOperations } from './logic-types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logic-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { useEffect, useState } from 'react';
4
+ import classNames from 'classnames';
5
+ import { IconCozFilter, IconCozInfoCircle } from '@coze-arch/coze-design/icons';
6
+ import { Button, Divider, Popover, Tooltip, } from '@coze-arch/coze-design';
7
+ import { LogicExpr } from '../logic-expr';
8
+ import RightRender from './logic-right-render';
9
+ import OperatorRender from './logic-operator-render';
10
+ import LeftRender from './logic-left-render';
11
+ import styles from './logic-editor.module.less';
12
+ const getValidFilterFields = (value) => {
13
+ if (!value?.exprs) {
14
+ return {
15
+ exprs: [],
16
+ };
17
+ }
18
+ const isEmpty = (val) => val === undefined ||
19
+ val === '' ||
20
+ val === null ||
21
+ (Array.isArray(val) && val.length === 0);
22
+ // 左中右 三元都存在才有效
23
+ const validArray = value.exprs.filter(
24
+ // 由于暂时不包含为空不为空的case,所以这里的判断条件要求左中右都必须存在
25
+ exp => !isEmpty(exp.left) && !isEmpty(exp.operator) && !isEmpty(exp.right));
26
+ return {
27
+ exprs: validArray,
28
+ };
29
+ };
30
+ /** 逻辑筛选器 */
31
+ // eslint-disable-next-line @coze-arch/max-line-per-function, complexity
32
+ export function LogicEditor({ fields = [], disabled = false, value, popoverProps = {}, tooltip, clearEmptyCondition = true, enableCascadeMode = false, onChange, onConfirm, onClose, }) {
33
+ const [logicFilter, setLogicFilter] = useState(value);
34
+ const [visible, setVisible] = useState(false);
35
+ useEffect(() => {
36
+ setLogicFilter(value);
37
+ }, [value]);
38
+ const logicExpr = (_jsx(LogicExpr, { defaultExpr: {
39
+ left: '',
40
+ operator: '',
41
+ right: '',
42
+ }, value: logicFilter, onChange: val => {
43
+ setLogicFilter(val);
44
+ onChange?.(val);
45
+ }, leftRender: renderProps => (_jsx(LeftRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), operatorRender: renderProps => (_jsx(OperatorRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), rightRender: renderProps => (_jsx(RightRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), allowLogicOperators: ['and'], logicToggleReadonly: true, maxNestingDepth: 1 }));
46
+ const hasMultiExpr = Array.isArray(logicFilter?.exprs) && logicFilter.exprs.length > 1;
47
+ const popoverContentConatienr = (_jsxs("div", { className: classNames('flex flex-col py-3 gap-3 text-[13px]', enableCascadeMode ? 'w-[640px]' : 'w-[620px]', styles['expr-logic-editor']), children: [_jsxs("div", { className: "flex items-center px-4", children: [_jsx("div", { className: "font-medium", children: I18n.t('filter') }), tooltip ? (_jsx(Tooltip, { theme: "dark", content: tooltip, children: _jsx(IconCozInfoCircle, { className: "ml-1 text-[var(--coz-fg-secondary)] hover:text-[var(--coz-fg-primary)]" }) })) : null, _jsx("div", { className: "ml-auto cursor-pointer font-medium text-[var(--coz-fg-secondary)] hover:text-[rgb(var(--coze-up-brand-9))]", onClick: () => {
48
+ setLogicFilter(undefined);
49
+ onChange?.(undefined);
50
+ }, children: I18n.t('clear_filter') })] }), _jsx("div", { className: hasMultiExpr ? '' : 'pl-3 pr-2', children: _jsx("div", { children: logicExpr }) }), _jsx(Divider, {}), _jsx("div", { className: "flex justify-end px-4", children: _jsx(Button, { color: "brand", onClick: () => {
51
+ let logicFilterData = logicFilter;
52
+ if (clearEmptyCondition) {
53
+ logicFilterData = getValidFilterFields(logicFilter);
54
+ setLogicFilter(logicFilterData);
55
+ }
56
+ onConfirm?.(logicFilterData);
57
+ setVisible(false);
58
+ onClose?.();
59
+ }, children: I18n.t('apply') }) })] }));
60
+ const count = value?.exprs?.length ?? 0;
61
+ return (_jsx(Popover, { trigger: "click", position: "bottomLeft", ...popoverProps, style: { padding: 0, ...(popoverProps.style ?? {}) }, visible: visible, content: popoverContentConatienr, onVisibleChange: newVisible => {
62
+ setVisible(newVisible);
63
+ if (!newVisible) {
64
+ // 关闭时放弃本次变更,恢复为上层设置的 value
65
+ setLogicFilter(value);
66
+ onClose?.();
67
+ }
68
+ }, children: _jsxs(Button, { icon: _jsx(IconCozFilter, {}), color: "primary", children: [I18n.t('filter'), count ? (_jsx("div", { className: "flex items-center justify-center w-5 h-5 rounded-[50%] text-brand-9 bg-brand-4 ml-1 text-[13px]", children: count })) : null] }) }));
69
+ }
70
+ //# sourceMappingURL=logic-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic-editor.js","sourceRoot":"","sources":["../../../src/logic-editor/logic-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { Cascader, Select } from '@coze-arch/coze-design';
4
+ import { findFieldByPath } from './utils';
5
+ import { useDataTypeList, } from './logic-types';
6
+ function fieldsToOptions(fields) {
7
+ return fields.map(field => ({
8
+ label: field.title,
9
+ value: field.name,
10
+ children: field.children?.length
11
+ ? fieldsToOptions(field.children)
12
+ : undefined,
13
+ }));
14
+ }
15
+ export default function LeftRender(props) {
16
+ const { expr, onExprChange, fields, disabled, enableCascadeMode } = props;
17
+ const dataTypeList = useDataTypeList();
18
+ if (enableCascadeMode) {
19
+ return (_jsx("div", { className: "w-56", children: _jsx(Cascader, { placeholder: I18n.t('please_select'), value: expr.left, className: "w-full", disabled: disabled, treeData: fieldsToOptions(fields), onChange: cascadeVal => {
20
+ if (!Array.isArray(cascadeVal)) {
21
+ return;
22
+ }
23
+ const fieldPaths = cascadeVal;
24
+ const field = findFieldByPath(fields, fieldPaths);
25
+ const { disabledOperations = [], customOperations } = field ?? {};
26
+ const dataType = dataTypeList.find(item => item.type === field?.type);
27
+ let operations = dataType?.operations ?? [];
28
+ if (Array.isArray(customOperations)) {
29
+ operations = customOperations;
30
+ }
31
+ else if (disabledOperations.length > 0) {
32
+ operations = operations.filter(item => !disabledOperations.includes(item.value));
33
+ }
34
+ onExprChange?.({
35
+ left: [...fieldPaths],
36
+ operator: operations?.find(e => e.value === expr.operator)
37
+ ? expr.operator
38
+ : operations?.[0]?.value,
39
+ right: undefined,
40
+ });
41
+ } }) }));
42
+ }
43
+ return (_jsx("div", { className: "w-40", children: _jsx(Select, { placeholder: I18n.t('please_select'), value: expr.left, className: "w-full", disabled: disabled, filter: true, optionList: fieldsToOptions(fields), onChange: val => {
44
+ const field = fields.find(item => item.name === val);
45
+ const { disabledOperations = [] } = field ?? {};
46
+ const dataType = dataTypeList.find(item => item.type === field?.type);
47
+ let operations = (field?.operatorProps?.operations ??
48
+ dataType?.operations ??
49
+ []);
50
+ if (disabledOperations.length > 0) {
51
+ operations = operations.filter(item => !disabledOperations.includes(item.value));
52
+ }
53
+ onExprChange?.({
54
+ left: val,
55
+ operator: operations?.find(e => e.value === expr.operator)
56
+ ? expr.operator
57
+ : operations?.[0]?.value,
58
+ right: undefined,
59
+ });
60
+ } }) }));
61
+ }
62
+ //# sourceMappingURL=logic-left-render.js.map