@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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-nav/index.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC,MAAM,UAAU,OAAO,CAAC,EACtB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,GACA;IACb,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAC9E,OAAO,CACL,cAAK,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,YAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,KAAC,UAAU,CAAC,IAAI,IAEd,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACxC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EACpB,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,eAAe;gBACtD,gBAAgB,EAAE,aAAa;aAChC,CAAC,EACF,IAAI,EACF,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CACxB,eAAM,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,YACjC,KAAC,oBAAoB,KAAG,GACnB,CACR,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,YAChC,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC,GACnB,CACR,EAEH,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAEvD,IAAI,CAAC,KAAK,IAnBN,IAAI,CAAC,GAAG,CAoBG,CACnB,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { IconCozIllusEmpty } from '@coze-arch/coze-design/illustrations';
4
+ import { EmptyState, Table } from '@coze-arch/coze-design';
5
+ import styles from './index.module.less';
6
+ export const LoopTable = ({ className, ...props }) => (_jsx(Table, { empty: _jsx(EmptyState, { size: "full_screen", icon: _jsx(IconCozIllusEmpty, {}), title: I18n.t('no_data') }), ...props, id: styles['loop-table'] }));
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAyB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAC1E,KAAC,KAAK,IACJ,KAAK,EACH,KAAC,UAAU,IACT,IAAI,EAAC,aAAa,EAClB,IAAI,EAAE,KAAC,iBAAiB,KAAG,EAC3B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GACxB,KAEA,KAAK,EACT,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,GACxB,CACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { Tooltip } from '@coze-arch/coze-design';
4
+ import { IconButtonContainer } from '../id-render/icon-button-container';
5
+ const activeColor = 'rgb(var(--coze-up-brand-9))';
6
+ const unActiveColor = 'var(--coz-fg-dim)';
7
+ export const IconSortArrow = ({ sortOrder, ...rest }) => {
8
+ let descendColor = 'currentColor';
9
+ let ascendColor = 'currentColor';
10
+ if (sortOrder === 'descend') {
11
+ descendColor = activeColor;
12
+ ascendColor = unActiveColor;
13
+ }
14
+ else if (sortOrder === 'ascend') {
15
+ descendColor = unActiveColor;
16
+ ascendColor = activeColor;
17
+ }
18
+ return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", ...rest, children: [_jsx("path", { d: "M7.00012 1.99976C7.55241 1.99976 8.00012 2.44747 8.00012 2.99976V17.2677L9.6341 14.4376C9.91024 13.9593 10.5218 13.7954 11.0001 14.0715C11.4784 14.3477 11.6423 14.9593 11.3661 15.4376L7.8758 21.483C7.85628 21.5183 7.83468 21.5523 7.81118 21.5849C7.72727 21.7015 7.62174 21.7953 7.50337 21.8641C7.38229 21.9347 7.24502 21.9807 7.09848 21.995C7.06439 21.9984 7.03007 22 6.99566 21.9999C6.64882 22.0011 6.31102 21.8217 6.12517 21.4998L2.62517 15.4376C2.34903 14.9593 2.5129 14.3477 2.99119 14.0715C3.46949 13.7954 4.08108 13.9593 4.35722 14.4376L6.00012 17.2832V2.99976C6.00012 2.44747 6.44784 1.99976 7.00012 1.99976Z", fill: descendColor }), _jsx("path", { d: "M17.001 21.9999C16.4487 21.9999 16.001 21.5522 16.001 20.9999L16.001 6.73198L14.367 9.5621C14.0909 10.0404 13.4793 10.2043 13.001 9.92813C12.5227 9.65199 12.3589 9.04039 12.635 8.5621L16.1253 2.51665C16.1449 2.48135 16.1665 2.44735 16.19 2.41482C16.2739 2.29823 16.3794 2.20436 16.4978 2.13559C16.6189 2.06494 16.7561 2.019 16.9027 2.0047C16.9368 2.0013 16.9711 1.99964 17.0055 1.99977C17.3523 1.99854 17.6901 2.17802 17.876 2.49993L21.376 8.5621C21.6521 9.0404 21.4882 9.65199 21.0099 9.92813C20.5317 10.2043 19.9201 10.0404 19.6439 9.5621L18.001 6.71652L18.001 20.9999C18.001 21.5522 17.5533 21.9999 17.001 21.9999Z", fill: ascendColor })] }));
19
+ };
20
+ /** 表格排序专用图标 */
21
+ export const createLoopTableSortIcon = () => ({ sortOrder }) => {
22
+ let tooltip = I18n.t('click_ascending');
23
+ if (sortOrder === 'ascend') {
24
+ tooltip = I18n.t('click_descending');
25
+ }
26
+ else if (sortOrder === 'descend') {
27
+ tooltip = I18n.t('restore_default_sort');
28
+ }
29
+ return (_jsx(Tooltip, { theme: "dark", content: tooltip, children: _jsx("div", { className: "flex items-center", children: _jsx(IconButtonContainer, { icon: _jsx(IconSortArrow, { sortOrder: sortOrder, className: "text-[var(--coz-fg-secondary)]" }) }) }) }));
30
+ };
31
+ //# sourceMappingURL=sort-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-icon.js","sourceRoot":"","sources":["../../../src/table/sort-icon.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,SAAS,EACT,GAAG,IAAI,EAG0B,EAAE,EAAE;IACrC,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI,WAAW,GAAG,cAAc,CAAC;IACjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,GAAG,WAAW,CAAC;QAC3B,WAAW,GAAG,aAAa,CAAC;IAC9B,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,YAAY,GAAG,aAAa,CAAC;QAC7B,WAAW,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,4BAA4B,KAC9B,IAAI,aAER,eACE,CAAC,EAAC,ymBAAymB,EAC3mB,IAAI,EAAE,YAAY,GAClB,EAEF,eACE,CAAC,EAAC,2mBAA2mB,EAC7mB,IAAI,EAAE,WAAW,GACjB,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe;AACf,MAAM,CAAC,MAAM,uBAAuB,GAClC,GAAG,EAAE,CACL,CAAC,EAAE,SAAS,EAAkD,EAAE,EAAE;IAChE,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,YACpC,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,mBAAmB,IAClB,IAAI,EACF,KAAC,aAAa,IACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,gCAAgC,GAC1C,GAEJ,GACE,GACE,CACX,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import cls from 'classnames';
4
+ import { useSize } from 'ahooks';
5
+ import { CozPagination } from '@coze-arch/coze-design';
6
+ import { createLoopTableSortIcon } from './sort-icon';
7
+ import { LoopTable } from './index';
8
+ /** 获取本地存储的表格分页数量 */
9
+ export function getStoragePageSize(pageSizeStorageKey) {
10
+ if (!pageSizeStorageKey) {
11
+ return undefined;
12
+ }
13
+ const pageSize = localStorage.getItem(pageSizeStorageKey);
14
+ if (pageSize && !isNaN(Number(pageSize))) {
15
+ return Number(pageSize);
16
+ }
17
+ return undefined;
18
+ }
19
+ export const PAGE_SIZE_OPTIONS = [10, 20, 50];
20
+ export const DEFAULT_PAGE_SIZE = 20;
21
+ // eslint-disable-next-line complexity
22
+ export function TableWithPagination(props) {
23
+ const { pageSizeOpts, service, header, heightFull = false, footerWithPagination, pageSizeStorageKey, showSizeChanger = true, footerClassName, className, } = props;
24
+ const { columns } = props.tableProps ?? {};
25
+ const tableContainerRef = useRef(null);
26
+ const size = useSize(tableContainerRef.current);
27
+ const tableHeaderSize = useSize(tableContainerRef.current?.querySelector('.semi-table-header'));
28
+ const tablePagination = useMemo(() => ({
29
+ currentPage: service.pagination.current,
30
+ pageSize: getStoragePageSize(pageSizeStorageKey) || service.pagination.pageSize,
31
+ total: Number(service.pagination.total),
32
+ onChange: (page, pageSize) => {
33
+ service.pagination.onChange(page, pageSize);
34
+ },
35
+ onPageSizeChange(newPageSize) {
36
+ if (pageSizeStorageKey) {
37
+ localStorage.setItem(pageSizeStorageKey, String(newPageSize));
38
+ }
39
+ },
40
+ showSizeChanger,
41
+ pageSizeOpts: pageSizeOpts ?? PAGE_SIZE_OPTIONS,
42
+ }), [service.pagination, pageSizeOpts, pageSizeStorageKey, showSizeChanger]);
43
+ useEffect(() => {
44
+ if (service.pagination.current > 1 && service?.data?.list?.length === 0) {
45
+ service.pagination.changeCurrent(1);
46
+ }
47
+ }, [service.pagination.current, service?.data?.list]);
48
+ const tableHeaderHeight = tableHeaderSize?.height ?? 56;
49
+ return (_jsxs("div", { className: cls('flex flex-col gap-3 w-full', className, {
50
+ 'h-full flex overflow-hidden': heightFull,
51
+ }), children: [header ? header : null, _jsx("div", { ref: tableContainerRef, className: heightFull ? 'flex-1 overflow-hidden' : '', children: _jsx(LoopTable, { ...props, tableProps: {
52
+ empty: _jsx(_Fragment, {}),
53
+ ...(props.tableProps ?? {}),
54
+ scroll: {
55
+ // 表格容器的高度减去表格头的高度
56
+ y: size?.height === undefined || !heightFull
57
+ ? undefined
58
+ : size.height - tableHeaderHeight - 2,
59
+ ...(props.tableProps?.scroll ?? {}),
60
+ },
61
+ loading: service?.loading || props?.tableProps?.loading,
62
+ columns: columns
63
+ ?.filter(column => column.hidden !== true && column.checked !== false)
64
+ ?.map(column => ({
65
+ ...column,
66
+ ...(column.sorter && !column.sortIcon
67
+ ? { sortIcon: createLoopTableSortIcon() }
68
+ : {}),
69
+ })),
70
+ dataSource: service?.data?.list ?? [],
71
+ } }) }), service.pagination.current > 1 ||
72
+ (service?.data?.list?.length && service?.data?.list?.length > 0) ? (_jsxs("div", { className: cls('shrink-0 flex flex-row-reverse justify-between items-center', footerClassName), children: [_jsx(CozPagination, { ...tablePagination, showTotal: true, showSizeChanger: true }), footerWithPagination] })) : null] }));
73
+ }
74
+ //# sourceMappingURL=table-with-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-with-pagination.js","sourceRoot":"","sources":["../../../src/table/table-with-pagination.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable complexity */
3
+ import { useRef } from 'react';
4
+ import cls from 'classnames';
5
+ import { useSize } from 'ahooks';
6
+ import { createLoopTableSortIcon } from './sort-icon';
7
+ import { LoopTable } from './index';
8
+ export function TableWithoutPagination(props) {
9
+ const { header, heightFull = false, className } = props;
10
+ const { columns } = props.tableProps ?? {};
11
+ const tableContainerRef = useRef(null);
12
+ const size = useSize(tableContainerRef);
13
+ const tableHeaderSize = useSize(tableContainerRef.current?.querySelector('.semi-table-header'));
14
+ const tableHeaderHeight = tableHeaderSize?.height ?? 56;
15
+ return (_jsxs("div", { className: cls('flex flex-col gap-3 w-full', className, {
16
+ 'h-full flex overflow-hidden': heightFull,
17
+ }), children: [header ? header : null, _jsx("div", { ref: tableContainerRef, className: heightFull ? 'flex-1 overflow-hidden' : '', children: _jsx(LoopTable, { ...props, tableProps: {
18
+ empty: _jsx(_Fragment, {}),
19
+ ...(props.tableProps ?? {}),
20
+ scroll: {
21
+ // 表格容器的高度减去表格头的高度
22
+ y: size?.height === undefined || !heightFull
23
+ ? undefined
24
+ : size.height - tableHeaderHeight - 2,
25
+ ...(props.tableProps?.scroll ?? {}),
26
+ },
27
+ columns: columns
28
+ ?.filter(column => column.hidden !== true && column.checked !== false)
29
+ ?.map(column => ({
30
+ ...column,
31
+ ...(column.sorter && !column.sortIcon
32
+ ? { sortIcon: createLoopTableSortIcon() }
33
+ : {}),
34
+ })),
35
+ } }) })] }));
36
+ }
37
+ //# sourceMappingURL=table-without-pagniation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-without-pagniation.js","sourceRoot":"","sources":["../../../src/table/table-without-pagniation.tsx"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAOpC,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAExD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,iBAAiB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,OAAO,CAC7B,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAC/D,CAAC;IAEF,MAAM,iBAAiB,GAAG,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;IAExD,OAAO,CACL,eACE,SAAS,EAAE,GAAG,CAAC,4BAA4B,EAAE,SAAS,EAAE;YACtD,6BAA6B,EAAE,UAAU;SAC1C,CAAC,aAED,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACvB,cACE,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,YAErD,KAAC,SAAS,OACJ,KAAK,EACT,UAAU,EAAE;wBACV,KAAK,EAAE,mBAAK;wBACZ,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;wBAC3B,MAAM,EAAE;4BACN,kBAAkB;4BAClB,CAAC,EACC,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU;gCACvC,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC;4BACzC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;yBACpC;wBACD,OAAO,EAAE,OAAO;4BACd,EAAE,MAAM,CACN,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAC7D;4BACD,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACf,GAAG,MAAM;4BACT,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;gCACnC,CAAC,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,EAAE;gCACzC,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC,CAAC;qBACN,GACD,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import { Button } from '@coze-arch/coze-design';
4
+ /** 表格批量操作 */
5
+ export function TableBatchOperate({ actions, batchOperateStore, }) {
6
+ const { selectedItems, setSelectedItems, enableBatchOperate, setEnableBatchOperate, } = batchOperateStore;
7
+ if (!enableBatchOperate) {
8
+ return (_jsx(Button, { color: "primary", onClick: () => setEnableBatchOperate?.(true), children: I18n.t('bulk_select') }));
9
+ }
10
+ return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("div", { className: "text-xs", children: [I18n.t('cozeloop_open_evaluate_selected_data_count', {
11
+ placeholder1: selectedItems.length,
12
+ }), _jsx("span", { className: "ml-1 text-[rgb(var(--coze-up-brand-9))] cursor-pointer", onClick: () => {
13
+ setSelectedItems([]);
14
+ setEnableBatchOperate?.(false);
15
+ }, children: I18n.t('unselect') })] }), actions] }));
16
+ }
17
+ //# sourceMappingURL=table-batch-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-batch-operation.js","sourceRoot":"","sources":["../../../src/table-batch-operate/table-batch-operation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAWhD,aAAa;AACb,MAAM,UAAU,iBAAiB,CAAa,EAC5C,OAAO,EACP,iBAAiB,GACa;IAC9B,MAAM,EACJ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,GAAG,iBAAiB,CAAC;IACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,CACL,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,YACjE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GACf,CACV,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,SAAS,aACrB,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE;wBACpD,YAAY,EAAE,aAAa,CAAC,MAAM;qBACnC,CAAC,EACF,eACE,SAAS,EAAC,wDAAwD,EAClE,OAAO,EAAE,GAAG,EAAE;4BACZ,gBAAgB,CAAC,EAAE,CAAC,CAAC;4BACrB,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;wBACjC,CAAC,YAEA,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GACd,IACH,EACL,OAAO,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,71 @@
1
+ /* eslint-disable security/detect-object-injection */
2
+ import { useMemo, useState } from 'react';
3
+ /** 计算数组元素的映射表 */
4
+ function arrayToMap(array, key) {
5
+ const map = {};
6
+ array.forEach(item => {
7
+ const mapKey = item[key];
8
+ if (mapKey !== undefined) {
9
+ const val = item;
10
+ map[mapKey] = val;
11
+ }
12
+ });
13
+ return map;
14
+ }
15
+ /**
16
+ * 表格批量操作状态管理。
17
+ * 支持跨分页选择数据。
18
+ * @param recordKey 表格行记录数据的唯一ID字段,默认 `id`
19
+ * @returns 批量操作接口
20
+ */
21
+ export function useBatchOperate({ recordKey = 'id', maxSelectionCount, } = {}) {
22
+ const [enableBatchOperate, setEnableBatchOperate] = useState(false);
23
+ const [selectedItems, setSelectedItems] = useState([]);
24
+ const rowSelection = useMemo(() => {
25
+ // 是否开启最大可选数量限制
26
+ const hasMaxLimit = typeof maxSelectionCount === 'number' && !Number.isNaN(maxSelectionCount);
27
+ // 选择数量是否达到最大数量
28
+ const isSelectionMaximum = hasMaxLimit && selectedItems.length >= maxSelectionCount;
29
+ // 表格行选择器配置
30
+ const newRowSelection = {
31
+ // 禁用表格列标题处的checkbox
32
+ disabled: hasMaxLimit && selectedItems.length >= maxSelectionCount,
33
+ // 隐藏表格行选择器
34
+ hidden: !enableBatchOperate,
35
+ // 已选择的表格行记录数据的唯一ID字段值数组
36
+ selectedRowKeys: selectedItems?.map(item => item[recordKey]),
37
+ // 表格行选择器变化事件
38
+ onChange(newKeys = [], rows = []) {
39
+ const map = arrayToMap([...rows, ...selectedItems], recordKey);
40
+ const newSelectKeys = hasMaxLimit
41
+ ? newKeys.slice(0, maxSelectionCount)
42
+ : newKeys;
43
+ const newSelectedItems = newSelectKeys
44
+ .map(key => map[key])
45
+ .filter(Boolean);
46
+ setSelectedItems(newSelectedItems);
47
+ },
48
+ };
49
+ // 表格行选择器获取checkbox属性事件, 超出最大选中数量时禁用所有未选项
50
+ if (hasMaxLimit) {
51
+ const selectedKeyMap = new Map(selectedItems.map(item => [item[recordKey], item]));
52
+ newRowSelection.getCheckboxProps = (record) => ({
53
+ disabled: isSelectionMaximum && !selectedKeyMap.has(record[recordKey]),
54
+ });
55
+ }
56
+ return newRowSelection;
57
+ }, [enableBatchOperate, selectedItems, maxSelectionCount, recordKey]);
58
+ const onCancelBatchOperate = () => {
59
+ setEnableBatchOperate(false);
60
+ setSelectedItems([]);
61
+ };
62
+ return {
63
+ enableBatchOperate,
64
+ selectedItems,
65
+ setEnableBatchOperate,
66
+ onCancelBatchOperate,
67
+ setSelectedItems,
68
+ rowSelection,
69
+ };
70
+ }
71
+ //# sourceMappingURL=use-batch-operate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-batch-operate.js","sourceRoot":"","sources":["../../../src/table-batch-operate/use-batch-operate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/naming-convention */
3
+ import { useState } from 'react';
4
+ import classNames from 'classnames';
5
+ import { IconCozMore } from '@coze-arch/coze-design/icons';
6
+ import { Space, Typography, Menu, } from '@coze-arch/coze-design';
7
+ import { TooltipWhenDisabled } from '../tooltip-when-disabled';
8
+ import styles from './index.module.less';
9
+ export function TableColActions({ actions, maxCount = 2, disabled, spaceProps = {}, wrapperClassName = '', textClassName = '', }) {
10
+ const [visible, setVisible] = useState(false);
11
+ const filteredActions = actions.filter(action => !action.hide);
12
+ const firstActions = filteredActions.slice(0, maxCount);
13
+ const moreActions = filteredActions.slice(maxCount);
14
+ return (_jsx("div", { className: wrapperClassName, onClick: e => {
15
+ e.stopPropagation();
16
+ }, children: _jsxs(Space, { spacing: 12, ...spaceProps, children: [firstActions.map((action, index) => {
17
+ const { disabledTooltip, disabled: actionDisabled, onClick: actionOnclick, type: actionType, label: actionLabel, icon: actionIcon, ...restProps } = action;
18
+ return (_jsx(TooltipWhenDisabled, { content: disabledTooltip || actionLabel, disabled: Boolean(actionDisabled), needWrap: false, children: _jsx(Typography.Text, { size: "small", className: classNames(`!text-[13px] ${textClassName}`, {
19
+ 'opacity-45': actionDisabled || disabled,
20
+ }), type: actionType, disabled: actionDisabled || disabled, onClick: () => {
21
+ if (!(actionDisabled || disabled)) {
22
+ actionOnclick?.();
23
+ }
24
+ }, link: !actionType, ...restProps, children: actionIcon ? null : actionLabel }) }, index));
25
+ }), moreActions.length > 0 ? (_jsx(Menu, { position: "bottomLeft", visible: visible, trigger: "custom", className: styles.tableColActionsDropdown, onClickOutSide: () => setVisible(false), render: _jsx(Menu.SubMenu, { mode: "menu", children: moreActions.map((action, index) => {
26
+ const { disabledTooltip, disabled: actionDisabled, onClick: actionOnclick, type: actionType, label: actionLabel, icon: actionIcon, ...restProps } = action;
27
+ const isDisabled = actionDisabled || disabled;
28
+ const dropdownItem = (_jsx(Menu.Item, { disabled: isDisabled, onClick: () => {
29
+ if (!isDisabled) {
30
+ setVisible(false);
31
+ actionOnclick?.();
32
+ }
33
+ }, className: classNames('min-w-[90px] !p-0 !pl-2', {
34
+ 'opacity-50': isDisabled,
35
+ }), icon: actionIcon, style: { minWidth: '90px' }, ...restProps, children: _jsx(Typography.Text, { type: actionType, size: "small", className: "!text-[13px] min-w-[80px]", link: !actionType, children: actionLabel }) }));
36
+ return (_jsx("div", { children: _jsx(TooltipWhenDisabled, { content: disabledTooltip, disabled: Boolean(isDisabled && disabledTooltip), theme: "dark", needWrap: false, children: dropdownItem }) }, index));
37
+ }) }), children: _jsx("div", { className: "flex items-center justify-center", onClick: () => setVisible(true), children: _jsx(IconCozMore, { className: "text-[#5A4DED]" }) }) })) : null] }) }));
38
+ }
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table-col-actions/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState, useMemo } from 'react';
3
+ import React from 'react';
4
+ import classNames from 'classnames';
5
+ import { sleep } from '@cozeloop/toolkit';
6
+ import { IconCozSetting, IconCozEye } from '@coze-arch/coze-design/icons';
7
+ import { Button, SideSheet, Switch, Typography } from '@coze-arch/coze-design';
8
+ import { I18n } from '@cozeloop/i18n';
9
+ import { generateColumnsWithKey, generateConfigColumns } from './util';
10
+ import { useHiddenColKeys } from './use-hidden-col-keys';
11
+ import styles from './index.module.less';
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ export function TableColsConfig({ className, localStorageKey, defaultHiddenColKeys, columns, onChangeConfig, onClose, }) {
14
+ const [hiddenColKeys, setHiddenColKeys] = useHiddenColKeys({
15
+ localStorageKey,
16
+ defaultHiddenColKeys,
17
+ });
18
+ const [visible, setVisible] = useState(false);
19
+ const handledColumns = useMemo(() => generateColumnsWithKey(columns), [columns]);
20
+ useEffect(() => {
21
+ if (!visible) {
22
+ const configColumns = generateConfigColumns(handledColumns, hiddenColKeys);
23
+ if (configColumns) {
24
+ // sleep 100ms,防止页面卡顿
25
+ sleep(100)
26
+ .then(() => {
27
+ onChangeConfig?.(configColumns);
28
+ })
29
+ .catch(console.error);
30
+ }
31
+ }
32
+ }, [handledColumns, visible]);
33
+ const renderItem = ({ record, index, disable, parent, }) => {
34
+ const { title, children, configurable = true, colKey } = record;
35
+ const hidden = Boolean(colKey && hiddenColKeys.includes(colKey));
36
+ return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: classNames(styles.row, {
37
+ [styles['row-border']]: parent || index !== 0,
38
+ }), children: [_jsx("div", { className: classNames(styles.cell, styles['cell-left']), children: _jsx(Typography.Text, { ellipsis: { rows: 1, showTooltip: true }, children: title }) }), _jsx("div", { className: classNames(styles.cell, styles['cell-right']), children: !configurable || !colKey ? null : (_jsx(Switch, { size: "small", disabled: disable, checked: !hidden, onChange: v => {
39
+ const colsSet = new Set(hiddenColKeys);
40
+ if (v) {
41
+ colsSet.delete(colKey);
42
+ }
43
+ else {
44
+ colsSet.add(colKey);
45
+ }
46
+ const newList = [...colsSet];
47
+ setHiddenColKeys(newList);
48
+ } })) })] }), children?.length ? (_jsx("div", { className: "ml-4", children: children.map((item, idx) => renderItem({
49
+ record: item,
50
+ index: idx,
51
+ disable: hidden,
52
+ parent: record,
53
+ })) })) : null] }, index));
54
+ };
55
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { className: className, icon: _jsx(IconCozSetting, {}), color: "primary", onClick: () => setVisible(true), children: I18n.t('column_configuration') }), _jsxs(SideSheet, { placement: "right", size: "small", visible: visible, onCancel: () => {
56
+ setVisible(false);
57
+ onClose?.();
58
+ }, children: [_jsxs("div", { className: styles.row, children: [_jsx("div", { className: classNames(styles.cell, styles['cell-left'], styles['cell-thead']), children: I18n.t('column_name') }), _jsx("div", { className: classNames(styles.cell, styles['cell-right'], styles['cell-thead']), children: _jsx(IconCozEye, { style: { lineHeight: '22px' } }) })] }), handledColumns?.map((item, index) => renderItem({ record: item, index })), _jsx("div", { className: "h-5" })] })] }));
59
+ }
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table-cols-config/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/table-cols-config/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { safeJsonParse } from '@cozeloop/toolkit';
3
+ const ITEM_KEY = 'FORNAX_TABLE_HIDDEN_COLS';
4
+ export function useHiddenColKeys({ localStorageKey, defaultHiddenColKeys, }) {
5
+ const handleSetHiddenColKeys = () => {
6
+ if (localStorageKey) {
7
+ const res = safeJsonParse(localStorage.getItem(ITEM_KEY));
8
+ if (res) {
9
+ const list = res[`${localStorageKey}`];
10
+ if (list) {
11
+ return list;
12
+ }
13
+ }
14
+ }
15
+ return defaultHiddenColKeys || [];
16
+ };
17
+ const [hiddenColKeys, setHiddenColKeys] = useState(handleSetHiddenColKeys);
18
+ useEffect(() => {
19
+ setHiddenColKeys(handleSetHiddenColKeys());
20
+ }, [defaultHiddenColKeys]);
21
+ useEffect(() => {
22
+ if (localStorageKey) {
23
+ const res = safeJsonParse(localStorage.getItem(ITEM_KEY)) || {};
24
+ res[`${localStorageKey}`] = hiddenColKeys.length
25
+ ? hiddenColKeys
26
+ : undefined;
27
+ localStorage.setItem(ITEM_KEY, JSON.stringify(res));
28
+ }
29
+ }, [hiddenColKeys]);
30
+ return [hiddenColKeys, setHiddenColKeys];
31
+ }
32
+ //# sourceMappingURL=use-hidden-col-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-hidden-col-keys.js","sourceRoot":"","sources":["../../../src/table-cols-config/use-hidden-col-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,eAAe,EACf,oBAAoB,GAIrB;IACC,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,aAAa,CACvB,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC/B,CAAC;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC;gBACvC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,oBAAoB,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,sBAAsB,CACvB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,GAAG,GACP,aAAa,CACX,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC/B,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM;gBAC9C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS,CAAC;YACd,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAU,CAAC;AACpD,CAAC"}
@@ -0,0 +1,39 @@
1
+ export function generateColumnsWithKey(cols, hiddenColKeys) {
2
+ function mapCol(col, index, parentKey) {
3
+ const { key, children } = col;
4
+ let colKey;
5
+ if (key) {
6
+ colKey = key;
7
+ }
8
+ else {
9
+ const indexKey = `index${index}`;
10
+ colKey = parentKey ? `${parentKey}-${indexKey}` : indexKey;
11
+ }
12
+ return {
13
+ ...col,
14
+ colKey,
15
+ children: children?.map((child, idx) => mapCol(child, idx, colKey)),
16
+ };
17
+ }
18
+ return cols?.map((col, index) => mapCol(col, index));
19
+ }
20
+ export function generateConfigColumns(cols, hiddenColKeys) {
21
+ if (!hiddenColKeys?.length) {
22
+ return cols;
23
+ }
24
+ function mapCols(list) {
25
+ const res = [];
26
+ list?.forEach(col => {
27
+ if (hiddenColKeys?.includes(col.colKey)) {
28
+ return;
29
+ }
30
+ res.push({
31
+ ...col,
32
+ children: col.children && mapCols(col.children),
33
+ });
34
+ });
35
+ return res;
36
+ }
37
+ return mapCols(cols);
38
+ }
39
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/table-cols-config/util.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,IAA0B,EAC1B,aAAwB;IAExB,SAAS,MAAM,CACb,GAAsB,EACtB,KAAa,EACb,SAAkB;QAElB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAC9B,IAAI,MAAc,CAAC;QACnB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,KAAK,EAAE,CAAC;YACjC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,GAAG,GAAG;YACN,MAAM;YACN,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAA0B,EAC1B,aAAwB;IAExB,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,OAAO,CAAC,IAA0B;QACzC,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;YAClB,IAAI,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAgB,CAAC,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,GAAG;gBACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAA4B,CAAC;aACpE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { I18n } from '@cozeloop/i18n';
4
+ import { IconCozIllusNone, IconCozIllusNoneDark, } from '@coze-arch/coze-design/illustrations';
5
+ import { EmptyState } from '@coze-arch/coze-design';
6
+ export function TableEmpty({ className, ...props }) {
7
+ return (_jsx(EmptyState, { className: classNames('my-10', className), icon: _jsx(IconCozIllusNone, { width: "160", height: "160" }), darkModeIcon: _jsx(IconCozIllusNoneDark, { width: "160", height: "160" }), title: I18n.t('no_data'), ...props }));
8
+ }
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table-empty/index.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAwB,MAAM,wBAAwB,CAAC;AAE1E,MAAM,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IACjE,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EACzC,IAAI,EAAE,KAAC,gBAAgB,IAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,GAAG,EACnD,YAAY,EAAE,KAAC,oBAAoB,IAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,GAAG,EAC/D,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KACpB,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type ButtonProps } from '@coze-arch/coze-design';
2
- import { type TableColsConfigProps } from '../table-cols-config';
3
2
  import { type ColumnSelectorProps } from '../columns-select';
3
+ import { type TableColsConfigProps } from '../table-cols-config';
4
4
  export interface TableHeaderProps {
5
5
  columnSelectorConfigProps?: ColumnSelectorProps;
6
6
  tableColsConfigProps?: TableColsConfigProps;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import classNames from 'classnames';
4
+ import { IconCozRefresh } from '@coze-arch/coze-design/icons';
5
+ import { Button, Space, Tooltip, } from '@coze-arch/coze-design';
6
+ import { ColumnSelector } from '../columns-select';
7
+ import { TableColsConfig, } from '../table-cols-config';
8
+ import styles from './index.module.less';
9
+ export function TableHeader({ columnSelectorConfigProps, tableColsConfigProps, filterForm, actions, className, style, spaceProps, refreshButtonPros, }) {
10
+ return (_jsxs("div", { className: classNames('flex flex-row justify-between w-full ', className), style: style, children: [_jsxs("div", { className: classNames('flex flex-row', styles['table-header-form']), children: [tableColsConfigProps ? (_jsx(TableColsConfig, { className: classNames('mr-2', tableColsConfigProps.className), ...tableColsConfigProps })) : null, filterForm] }), _jsxs(Space, { ...(spaceProps || {}), children: [refreshButtonPros ? (_jsx(Tooltip, { content: I18n.t('refresh'), theme: "dark", children: _jsx(Button, { color: "primary", icon: _jsx(IconCozRefresh, {}), ...refreshButtonPros }) })) : null, columnSelectorConfigProps ? (_jsx(ColumnSelector, { className: classNames(columnSelectorConfigProps.className), ...columnSelectorConfigProps })) : null, actions] })] }));
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table-header/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,MAAM,EACN,KAAK,EACL,OAAO,GAER,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAA4B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,eAAe,GAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC,MAAM,UAAU,WAAW,CAAC,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,iBAAiB,GACA;IACjB,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CAAC,uCAAuC,EAAE,SAAS,CAAC,EACzE,KAAK,EAAE,KAAK,aAEZ,eAAK,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,aACrE,oBAAoB,CAAC,CAAC,CAAC,CACtB,KAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,KACzD,oBAAoB,GACxB,CACH,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,IACP,EACN,MAAC,KAAK,OAAK,CAAC,UAAU,IAAI,EAAE,CAAC,aAC1B,iBAAiB,CAAC,CAAC,CAAC,CACnB,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAC,MAAM,YAC/C,KAAC,MAAM,IACL,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,KAAC,cAAc,KAAG,KACpB,iBAAiB,GACb,GACF,CACX,CAAC,CAAC,CAAC,IAAI,EACP,yBAAyB,CAAC,CAAC,CAAC,CAC3B,KAAC,cAAc,IACb,SAAS,EAAE,UAAU,CAAC,yBAAyB,CAAC,SAAS,CAAC,KACtD,yBAAyB,GAC7B,CACH,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,IACF,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cs from 'classnames';
3
+ import { Tabs } from '@coze-arch/coze-design';
4
+ import styles from './index.module.less';
5
+ export const LoopTabs = (props) => {
6
+ const { className, ...rest } = props;
7
+ return _jsx(Tabs, { ...rest, className: cs(styles.tabs, className) });
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tabs/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAkB,MAAM,wBAAwB,CAAC;AAE9D,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,KAAC,IAAI,OAAK,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAI,CAAC;AACnE,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Button, Modal, TextArea, } from '@coze-arch/coze-design';
4
+ import { IconCozContent } from '@coze-arch/coze-design/icons';
5
+ import s from './index.module.less';
6
+ export function TextAreaPro({ bottomExtra, ...props }) {
7
+ const [full, setFull] = useState(false);
8
+ return (_jsxs("div", { className: "relative", children: [full ? (_jsx(Modal, { motion: false, title: " ", fullScreen: true, visible: true, onCancel: () => setFull(false), footer: null, children: _jsx(TextArea, { ...props, rows: undefined, className: s.full }) })) : null, _jsx(TextArea, { ...props }), _jsxs("div", { className: "absolute bottom-1 left-1 z-10 h-8 flex flex-row items-center", children: [_jsx(Button, { className: "z-10 h-8 w-8", icon: _jsx(IconCozContent, {}), size: "small", color: "secondary", type: "tertiary", onClick: () => setFull(true) }), bottomExtra] })] }));
9
+ }
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-area-pro/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EACL,MAAM,EACN,KAAK,EACL,QAAQ,GAET,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,CAAC,MAAM,qBAAqB,CAAC;AAMpC,MAAM,UAAU,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,EAAS;IAC1D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,eAAK,SAAS,EAAC,UAAU,aACtB,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,KAAK,IACJ,MAAM,EAAE,KAAK,EACb,KAAK,EAAC,GAAG,EACT,UAAU,QACV,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC9B,MAAM,EAAE,IAAI,YAEZ,KAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,GAAI,GACrD,CACT,CAAC,CAAC,CAAC,IAAI,EAER,KAAC,QAAQ,OAAK,KAAK,GAAI,EACvB,eAAK,SAAS,EAAC,8DAA8D,aAC3E,KAAC,MAAM,IACL,SAAS,EAAC,cAAc,EACxB,IAAI,EAAE,KAAC,cAAc,KAAG,EACxB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GACpB,EACT,WAAW,IACR,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { I18n } from '@cozeloop/i18n';
3
+ import classNames from 'classnames';
4
+ import { IconCozCopy } from '@coze-arch/coze-design/icons';
5
+ import { IconButton, Tooltip, Typography } from '@coze-arch/coze-design';
6
+ import { handleCopy } from '../utils/basic';
7
+ export function TextWithCopy({ displayText, copyTooltipText, content, className, maxWidth, style, textClassName, textType = 'secondary', onlyIconCopy, }) {
8
+ return (_jsxs("div", { className: classNames('flex items-baseline justify-start gap-1', className), style: style, children: [_jsx(Typography.Text, { className: classNames('max-w-full', {
9
+ 'cursor-pointer': !onlyIconCopy,
10
+ }, textClassName), type: textType, style: { maxWidth }, ellipsis: {
11
+ showTooltip: { opts: { theme: 'dark', content } },
12
+ }, onClick: onlyIconCopy
13
+ ? undefined
14
+ : e => {
15
+ content && handleCopy(content);
16
+ e?.stopPropagation();
17
+ }, children: displayText || content || '' }), content ? (_jsx(Tooltip, { content: copyTooltipText || I18n.t('copy_content'), theme: "dark", children: _jsx(IconButton, { size: "mini", color: "secondary", className: "flex-shrink-0", style: {
18
+ width: 21,
19
+ height: 21,
20
+ }, icon: _jsx(IconCozCopy, { onClick: e => {
21
+ content && handleCopy(content);
22
+ e?.stopPropagation();
23
+ }, fill: "var(--semi-color-text-2)" }) }) })) : null] }));
24
+ }
25
+ //# sourceMappingURL=index.js.map