@cozeloop/components 0.0.10 → 0.0.11

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 (278) hide show
  1. package/dist/es/{index.js → index.mjs} +302 -13
  2. package/dist/es/static/svg/audio-icon.svg +6 -0
  3. package/dist/es/static/svg/video-icon.svg +6 -0
  4. package/dist/lib/base-search-select/base-search-select.d.ts +4 -1
  5. package/dist/lib/base-search-select/index.d.ts +1 -1
  6. package/dist/lib/base-search-select/types.d.ts +1 -1
  7. package/dist/lib/codemirror-editor/code-editor.d.ts +23 -2
  8. package/dist/lib/codemirror-editor/text-editor.d.ts +23 -2
  9. package/dist/lib/collapse-item/index.d.ts +7 -0
  10. package/dist/lib/index.d.ts +3 -1
  11. package/dist/lib/large-txt-render/index.d.ts +1 -0
  12. package/dist/lib/multi-modal-dataset-item-render/audio-render/index.d.ts +35 -0
  13. package/dist/lib/multi-modal-dataset-item-render/index.d.ts +2 -0
  14. package/dist/lib/multi-modal-dataset-item-render/video-render/index.d.ts +35 -0
  15. package/dist/lib/primary-page/primary-header.d.ts +1 -1
  16. package/package.json +10 -29
  17. package/dist/lib/base-search-select/base-search-form-select.js +0 -6
  18. package/dist/lib/base-search-select/base-search-form-select.js.map +0 -1
  19. package/dist/lib/base-search-select/base-search-select.js +0 -128
  20. package/dist/lib/base-search-select/base-search-select.js.map +0 -1
  21. package/dist/lib/base-search-select/index.js +0 -3
  22. package/dist/lib/base-search-select/index.js.map +0 -1
  23. package/dist/lib/base-search-select/types.js +0 -2
  24. package/dist/lib/base-search-select/types.js.map +0 -1
  25. package/dist/lib/base-search-select/utils.js +0 -48
  26. package/dist/lib/base-search-select/utils.js.map +0 -1
  27. package/dist/lib/basic-card/index.js +0 -4
  28. package/dist/lib/basic-card/index.js.map +0 -1
  29. package/dist/lib/card-pane/index.js +0 -9
  30. package/dist/lib/card-pane/index.js.map +0 -1
  31. package/dist/lib/chip-select/index.js +0 -6
  32. package/dist/lib/chip-select/index.js.map +0 -1
  33. package/dist/lib/code-editor/index.js +0 -9
  34. package/dist/lib/code-editor/index.js.map +0 -1
  35. package/dist/lib/code-editor-with-loading/index.js +0 -31
  36. package/dist/lib/code-editor-with-loading/index.js.map +0 -1
  37. package/dist/lib/codemirror-editor/code-editor.js +0 -116
  38. package/dist/lib/codemirror-editor/code-editor.js.map +0 -1
  39. package/dist/lib/codemirror-editor/index.js +0 -7
  40. package/dist/lib/codemirror-editor/index.js.map +0 -1
  41. package/dist/lib/codemirror-editor/json-editor.js +0 -103
  42. package/dist/lib/codemirror-editor/json-editor.js.map +0 -1
  43. package/dist/lib/codemirror-editor/raw-code-editor.js +0 -103
  44. package/dist/lib/codemirror-editor/raw-code-editor.js.map +0 -1
  45. package/dist/lib/codemirror-editor/raw-text-editor.js +0 -32
  46. package/dist/lib/codemirror-editor/raw-text-editor.js.map +0 -1
  47. package/dist/lib/codemirror-editor/text-editor.js +0 -44
  48. package/dist/lib/codemirror-editor/text-editor.js.map +0 -1
  49. package/dist/lib/codemirror-editor/themes/coze-dark.js +0 -113
  50. package/dist/lib/codemirror-editor/themes/coze-dark.js.map +0 -1
  51. package/dist/lib/codemirror-editor/themes/coze-light.js +0 -119
  52. package/dist/lib/codemirror-editor/themes/coze-light.js.map +0 -1
  53. package/dist/lib/collapse-card/index.js +0 -31
  54. package/dist/lib/collapse-card/index.js.map +0 -1
  55. package/dist/lib/collapsible-card/index.js +0 -13
  56. package/dist/lib/collapsible-card/index.js.map +0 -1
  57. package/dist/lib/column-manage-storage/index.js +0 -48
  58. package/dist/lib/column-manage-storage/index.js.map +0 -1
  59. package/dist/lib/columns-select/index.js +0 -78
  60. package/dist/lib/columns-select/index.js.map +0 -1
  61. package/dist/lib/copyable/index.js +0 -12
  62. package/dist/lib/copyable/index.js.map +0 -1
  63. package/dist/lib/edit-icon-button/index.js +0 -13
  64. package/dist/lib/edit-icon-button/index.js.map +0 -1
  65. package/dist/lib/footer-actions/index.js +0 -8
  66. package/dist/lib/footer-actions/index.js.map +0 -1
  67. package/dist/lib/hooks/use-infinite-scroll.js +0 -133
  68. package/dist/lib/hooks/use-infinite-scroll.js.map +0 -1
  69. package/dist/lib/hooks/use-mouse-down-offset.js +0 -39
  70. package/dist/lib/hooks/use-mouse-down-offset.js.map +0 -1
  71. package/dist/lib/hooks/use-unsave-leave-warning.js +0 -26
  72. package/dist/lib/hooks/use-unsave-leave-warning.js.map +0 -1
  73. package/dist/lib/id-render/icon-button-container.js +0 -8
  74. package/dist/lib/id-render/icon-button-container.js.map +0 -1
  75. package/dist/lib/id-render/index.js +0 -22
  76. package/dist/lib/id-render/index.js.map +0 -1
  77. package/dist/lib/index-controller/record-navigation.js +0 -10
  78. package/dist/lib/index-controller/record-navigation.js.map +0 -1
  79. package/dist/lib/index-controller/use-item-index-controller.js +0 -123
  80. package/dist/lib/index-controller/use-item-index-controller.js.map +0 -1
  81. package/dist/lib/index.js +0 -76
  82. package/dist/lib/index.js.map +0 -1
  83. package/dist/lib/infinite-scroll-table/index.js +0 -35
  84. package/dist/lib/infinite-scroll-table/index.js.map +0 -1
  85. package/dist/lib/info-tooltip/index.js +0 -9
  86. package/dist/lib/info-tooltip/index.js.map +0 -1
  87. package/dist/lib/input-components/radio-button.js +0 -21
  88. package/dist/lib/input-components/radio-button.js.map +0 -1
  89. package/dist/lib/input-slider/index.js +0 -81
  90. package/dist/lib/input-slider/index.js.map +0 -1
  91. package/dist/lib/input-with-count/index.js +0 -7
  92. package/dist/lib/input-with-count/index.js.map +0 -1
  93. package/dist/lib/jump-button/jump-icon-button.js +0 -7
  94. package/dist/lib/jump-button/jump-icon-button.js.map +0 -1
  95. package/dist/lib/large-txt-render/index.js +0 -26
  96. package/dist/lib/large-txt-render/index.js.map +0 -1
  97. package/dist/lib/layout/content.js +0 -5
  98. package/dist/lib/layout/content.js.map +0 -1
  99. package/dist/lib/layout/header.js +0 -6
  100. package/dist/lib/layout/header.js.map +0 -1
  101. package/dist/lib/layout/index.js +0 -9
  102. package/dist/lib/layout/index.js.map +0 -1
  103. package/dist/lib/layout/tabs.js +0 -10
  104. package/dist/lib/layout/tabs.js.map +0 -1
  105. package/dist/lib/lazy-load-component/index.js +0 -42
  106. package/dist/lib/lazy-load-component/index.js.map +0 -1
  107. package/dist/lib/logic-editor/index.js +0 -3
  108. package/dist/lib/logic-editor/index.js.map +0 -1
  109. package/dist/lib/logic-editor/logic-editor.js +0 -70
  110. package/dist/lib/logic-editor/logic-editor.js.map +0 -1
  111. package/dist/lib/logic-editor/logic-left-render.js +0 -62
  112. package/dist/lib/logic-editor/logic-left-render.js.map +0 -1
  113. package/dist/lib/logic-editor/logic-operator-render.js +0 -31
  114. package/dist/lib/logic-editor/logic-operator-render.js.map +0 -1
  115. package/dist/lib/logic-editor/logic-right-render.js +0 -26
  116. package/dist/lib/logic-editor/logic-right-render.js.map +0 -1
  117. package/dist/lib/logic-editor/logic-types.js +0 -144
  118. package/dist/lib/logic-editor/logic-types.js.map +0 -1
  119. package/dist/lib/logic-editor/utils.js +0 -18
  120. package/dist/lib/logic-editor/utils.js.map +0 -1
  121. package/dist/lib/logic-expr/consts.js +0 -5
  122. package/dist/lib/logic-expr/consts.js.map +0 -1
  123. package/dist/lib/logic-expr/expr-group-render.js +0 -60
  124. package/dist/lib/logic-expr/expr-group-render.js.map +0 -1
  125. package/dist/lib/logic-expr/expr-render.js +0 -84
  126. package/dist/lib/logic-expr/expr-render.js.map +0 -1
  127. package/dist/lib/logic-expr/index.js +0 -2
  128. package/dist/lib/logic-expr/index.js.map +0 -1
  129. package/dist/lib/logic-expr/logic-expr.js +0 -187
  130. package/dist/lib/logic-expr/logic-expr.js.map +0 -1
  131. package/dist/lib/logic-expr/logic-not.js +0 -20
  132. package/dist/lib/logic-expr/logic-not.js.map +0 -1
  133. package/dist/lib/logic-expr/logic-toggle.js +0 -32
  134. package/dist/lib/logic-expr/logic-toggle.js.map +0 -1
  135. package/dist/lib/logic-expr/types.js +0 -2
  136. package/dist/lib/logic-expr/types.js.map +0 -1
  137. package/dist/lib/loop-icons/index.js +0 -3
  138. package/dist/lib/loop-icons/index.js.map +0 -1
  139. package/dist/lib/loop-radio-group/index.js +0 -7
  140. package/dist/lib/loop-radio-group/index.js.map +0 -1
  141. package/dist/lib/multi-part-editor/components/image-item-renderer.js +0 -58
  142. package/dist/lib/multi-part-editor/components/image-item-renderer.js.map +0 -1
  143. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js +0 -26
  144. package/dist/lib/multi-part-editor/components/multipart-item-renderer.js.map +0 -1
  145. package/dist/lib/multi-part-editor/components/url-input-modal.js +0 -151
  146. package/dist/lib/multi-part-editor/components/url-input-modal.js.map +0 -1
  147. package/dist/lib/multi-part-editor/components/video-item-renderer.js +0 -58
  148. package/dist/lib/multi-part-editor/components/video-item-renderer.js.map +0 -1
  149. package/dist/lib/multi-part-editor/index.js +0 -301
  150. package/dist/lib/multi-part-editor/index.js.map +0 -1
  151. package/dist/lib/multi-part-editor/multi-part-render.js +0 -40
  152. package/dist/lib/multi-part-editor/multi-part-render.js.map +0 -1
  153. package/dist/lib/multi-part-editor/type.js +0 -27
  154. package/dist/lib/multi-part-editor/type.js.map +0 -1
  155. package/dist/lib/multi-part-editor/upload-button.js +0 -104
  156. package/dist/lib/multi-part-editor/upload-button.js.map +0 -1
  157. package/dist/lib/multi-part-editor/utils.js +0 -43
  158. package/dist/lib/multi-part-editor/utils.js.map +0 -1
  159. package/dist/lib/open-detail-button/index.js +0 -12
  160. package/dist/lib/open-detail-button/index.js.map +0 -1
  161. package/dist/lib/page-content/index.js +0 -24
  162. package/dist/lib/page-content/index.js.map +0 -1
  163. package/dist/lib/primary-page/index.js +0 -2
  164. package/dist/lib/primary-page/index.js.map +0 -1
  165. package/dist/lib/primary-page/primary-header.js +0 -4
  166. package/dist/lib/primary-page/primary-header.js.map +0 -1
  167. package/dist/lib/primary-title/index.js +0 -8
  168. package/dist/lib/primary-title/index.js.map +0 -1
  169. package/dist/lib/provider/index.js +0 -42
  170. package/dist/lib/provider/index.js.map +0 -1
  171. package/dist/lib/resizable-side-sheet/index.js +0 -32
  172. package/dist/lib/resizable-side-sheet/index.js.map +0 -1
  173. package/dist/lib/resize-sidesheet/index.js +0 -15
  174. package/dist/lib/resize-sidesheet/index.js.map +0 -1
  175. package/dist/lib/resize-sidesheet/use-drag.js +0 -30
  176. package/dist/lib/resize-sidesheet/use-drag.js.map +0 -1
  177. package/dist/lib/schema-editor/index.js +0 -5
  178. package/dist/lib/schema-editor/index.js.map +0 -1
  179. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js +0 -19
  180. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js.map +0 -1
  181. package/dist/lib/semi-schema-form/components/tmpls/array-field.js +0 -39
  182. package/dist/lib/semi-schema-form/components/tmpls/array-field.js.map +0 -1
  183. package/dist/lib/semi-schema-form/components/tmpls/base-input.js +0 -32
  184. package/dist/lib/semi-schema-form/components/tmpls/base-input.js.map +0 -1
  185. package/dist/lib/semi-schema-form/components/tmpls/description-field.js +0 -13
  186. package/dist/lib/semi-schema-form/components/tmpls/description-field.js.map +0 -1
  187. package/dist/lib/semi-schema-form/components/tmpls/error-list.js +0 -14
  188. package/dist/lib/semi-schema-form/components/tmpls/error-list.js.map +0 -1
  189. package/dist/lib/semi-schema-form/components/tmpls/field-error.js +0 -16
  190. package/dist/lib/semi-schema-form/components/tmpls/field-error.js.map +0 -1
  191. package/dist/lib/semi-schema-form/components/tmpls/field.js +0 -21
  192. package/dist/lib/semi-schema-form/components/tmpls/field.js.map +0 -1
  193. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js +0 -29
  194. package/dist/lib/semi-schema-form/components/tmpls/icon-button.js.map +0 -1
  195. package/dist/lib/semi-schema-form/components/tmpls/index.js +0 -31
  196. package/dist/lib/semi-schema-form/components/tmpls/index.js.map +0 -1
  197. package/dist/lib/semi-schema-form/components/tmpls/object-field.js +0 -81
  198. package/dist/lib/semi-schema-form/components/tmpls/object-field.js.map +0 -1
  199. package/dist/lib/semi-schema-form/components/tmpls/submit.js +0 -13
  200. package/dist/lib/semi-schema-form/components/tmpls/submit.js.map +0 -1
  201. package/dist/lib/semi-schema-form/components/tmpls/title-field.js +0 -12
  202. package/dist/lib/semi-schema-form/components/tmpls/title-field.js.map +0 -1
  203. package/dist/lib/semi-schema-form/components/widgets/checkbox.js +0 -26
  204. package/dist/lib/semi-schema-form/components/widgets/checkbox.js.map +0 -1
  205. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js +0 -27
  206. package/dist/lib/semi-schema-form/components/widgets/checkboxs.js.map +0 -1
  207. package/dist/lib/semi-schema-form/components/widgets/index.js +0 -15
  208. package/dist/lib/semi-schema-form/components/widgets/index.js.map +0 -1
  209. package/dist/lib/semi-schema-form/components/widgets/radio.js +0 -27
  210. package/dist/lib/semi-schema-form/components/widgets/radio.js.map +0 -1
  211. package/dist/lib/semi-schema-form/components/widgets/range.js +0 -26
  212. package/dist/lib/semi-schema-form/components/widgets/range.js.map +0 -1
  213. package/dist/lib/semi-schema-form/components/widgets/select.js +0 -44
  214. package/dist/lib/semi-schema-form/components/widgets/select.js.map +0 -1
  215. package/dist/lib/semi-schema-form/components/widgets/textarea.js +0 -18
  216. package/dist/lib/semi-schema-form/components/widgets/textarea.js.map +0 -1
  217. package/dist/lib/semi-schema-form/index.js +0 -9
  218. package/dist/lib/semi-schema-form/index.js.map +0 -1
  219. package/dist/lib/sentinel-form/enum.js +0 -15
  220. package/dist/lib/sentinel-form/enum.js.map +0 -1
  221. package/dist/lib/sentinel-form/index.js +0 -301
  222. package/dist/lib/sentinel-form/index.js.map +0 -1
  223. package/dist/lib/step-nav/index.js +0 -13
  224. package/dist/lib/step-nav/index.js.map +0 -1
  225. package/dist/lib/table/index.js +0 -7
  226. package/dist/lib/table/index.js.map +0 -1
  227. package/dist/lib/table/sort-icon.js +0 -31
  228. package/dist/lib/table/sort-icon.js.map +0 -1
  229. package/dist/lib/table/table-with-pagination.js +0 -74
  230. package/dist/lib/table/table-with-pagination.js.map +0 -1
  231. package/dist/lib/table/table-without-pagniation.js +0 -37
  232. package/dist/lib/table/table-without-pagniation.js.map +0 -1
  233. package/dist/lib/table-batch-operate/table-batch-operation.js +0 -17
  234. package/dist/lib/table-batch-operate/table-batch-operation.js.map +0 -1
  235. package/dist/lib/table-batch-operate/use-batch-operate.js +0 -71
  236. package/dist/lib/table-batch-operate/use-batch-operate.js.map +0 -1
  237. package/dist/lib/table-col-actions/index.js +0 -39
  238. package/dist/lib/table-col-actions/index.js.map +0 -1
  239. package/dist/lib/table-cols-config/index.js +0 -60
  240. package/dist/lib/table-cols-config/index.js.map +0 -1
  241. package/dist/lib/table-cols-config/type.js +0 -2
  242. package/dist/lib/table-cols-config/type.js.map +0 -1
  243. package/dist/lib/table-cols-config/use-hidden-col-keys.js +0 -32
  244. package/dist/lib/table-cols-config/use-hidden-col-keys.js.map +0 -1
  245. package/dist/lib/table-cols-config/util.js +0 -39
  246. package/dist/lib/table-cols-config/util.js.map +0 -1
  247. package/dist/lib/table-empty/index.js +0 -9
  248. package/dist/lib/table-empty/index.js.map +0 -1
  249. package/dist/lib/table-header/index.js +0 -12
  250. package/dist/lib/table-header/index.js.map +0 -1
  251. package/dist/lib/tabs/index.js +0 -9
  252. package/dist/lib/tabs/index.js.map +0 -1
  253. package/dist/lib/text-area-pro/index.js +0 -10
  254. package/dist/lib/text-area-pro/index.js.map +0 -1
  255. package/dist/lib/text-with-copy/index.js +0 -25
  256. package/dist/lib/text-with-copy/index.js.map +0 -1
  257. package/dist/lib/title-with-sub/index.js +0 -6
  258. package/dist/lib/title-with-sub/index.js.map +0 -1
  259. package/dist/lib/tooltip-when-disabled/index.js +0 -9
  260. package/dist/lib/tooltip-when-disabled/index.js.map +0 -1
  261. package/dist/lib/tooltip-with-disabled/index.js +0 -9
  262. package/dist/lib/tooltip-with-disabled/index.js.map +0 -1
  263. package/dist/lib/tsconfig.build.tsbuildinfo +0 -1
  264. package/dist/lib/upload/index.js +0 -25
  265. package/dist/lib/upload/index.js.map +0 -1
  266. package/dist/lib/user-profile/index.js +0 -21
  267. package/dist/lib/user-profile/index.js.map +0 -1
  268. package/dist/lib/utils/basic.js +0 -30
  269. package/dist/lib/utils/basic.js.map +0 -1
  270. package/dist/lib/version-list/version-descriptions.js +0 -15
  271. package/dist/lib/version-list/version-descriptions.js.map +0 -1
  272. package/dist/lib/version-list/version-item.js +0 -6
  273. package/dist/lib/version-list/version-item.js.map +0 -1
  274. package/dist/lib/version-list/version-list.js +0 -12
  275. package/dist/lib/version-list/version-list.js.map +0 -1
  276. package/dist/lib/version-list/version-switch-panel.js +0 -11
  277. package/dist/lib/version-list/version-switch-panel.js.map +0 -1
  278. /package/dist/es/{loopIcons.js → loopIcons.mjs} +0 -0
@@ -9,5 +9,5 @@ interface PrimaryPageHeaderProps {
9
9
  className?: string;
10
10
  titleSlot?: ReactNode;
11
11
  }
12
- export declare const PrimaryPage: ({ pageTitle, filterSlot, children, contentClassName, className, headerClassName, titleClassName, titleSlot, }: PrimaryPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const PrimaryPage: ({ pageTitle, filterSlot, children, contentClassName, className, headerClassName, titleClassName, titleSlot, ...restProps }: PrimaryPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
13
13
  export {};
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@cozeloop/components",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "common components for cozeloop",
5
5
  "author": "houtao.zzj@bytedance.com",
6
6
  "exports": {
7
- ".": "./dist/es/index.js",
8
- "./loop-icons": "./dist/es/loopIcons.js"
7
+ ".": "./dist/es/index.mjs",
8
+ "./loop-icons": "./dist/es/loopIcons.mjs"
9
9
  },
10
- "main": "dist/es/index.js",
10
+ "main": "dist/es/index.mjs",
11
11
  "typesVersions": {
12
12
  "*": {
13
13
  ".": [
@@ -28,17 +28,16 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@arco-iconbox/react-cozeloop-icons": "0.0.3",
31
- "@codemirror/autocomplete": "~6.18.4",
32
31
  "@codemirror/commands": "^6.3.3",
33
32
  "@codemirror/lang-go": "^6.0.1",
34
33
  "@codemirror/state": "^6.4.1",
35
34
  "@codemirror/view": "^6.34.1",
36
35
  "@coze-arch/coze-design": "0.0.7-alpha.985c0d",
37
36
  "@coze-editor/editor": "0.1.0-alpha.577152",
38
- "@cozeloop/api-schema": "latest",
39
- "@cozeloop/hooks": "latest",
40
- "@cozeloop/i18n": "latest",
41
- "@cozeloop/toolkit": "latest",
37
+ "@cozeloop/api-schema": "0.1.5",
38
+ "@cozeloop/hooks": "0.0.1",
39
+ "@cozeloop/i18n": "0.0.3",
40
+ "@cozeloop/toolkit": "0.0.5",
42
41
  "@monaco-editor/react": "^4.5.2",
43
42
  "@rjsf/core": "~5.24.9",
44
43
  "@rjsf/utils": "~5.24.9",
@@ -55,32 +54,14 @@
55
54
  "react-sortable-hoc": "2.0.0",
56
55
  "sortablejs": "~1.15.2"
57
56
  },
58
- "devDependencies": {
59
- "@coze-arch/bot-typings": "workspace:*",
60
- "@coze-arch/eslint-config": "workspace:*",
61
- "@coze-arch/ts-config": "workspace:*",
62
- "@cozeloop/rsbuild-config-saas": "workspace:*",
63
- "@cozeloop/tailwind-config": "workspace:*",
64
- "@rslib/core": "~0.11.0",
65
- "@types/lodash-es": "^4.17.10",
66
- "@types/react": "18.2.37",
67
- "@types/react-dom": "18.2.15",
68
- "@vitest/coverage-v8": "~3.0.5",
69
- "happy-dom": "^20.0.10",
70
- "react-dom": "~18.2.0",
71
- "tsconfig-paths": "4.1.0",
72
- "vite": "^4.3.9",
73
- "vite-plugin-svgr": "~3.3.0",
74
- "vitest": "~3.0.5"
75
- },
76
57
  "peerDependencies": {},
77
58
  "publishRegistries": [
78
59
  "npm"
79
60
  ],
80
- "module": "dist/es/index.js",
61
+ "module": "dist/es/index.mjs",
81
62
  "types": "dist/lib/index.d.ts",
82
63
  "files": [
83
64
  "dist",
84
65
  "README.md"
85
66
  ]
86
- }
67
+ }
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { withField } from '@coze-arch/coze-design';
3
- import BaseSearchSelect from './base-search-select';
4
- const BaseSearchFormSelect = withField((props) => _jsx(BaseSearchSelect, { ...props }));
5
- export default BaseSearchFormSelect;
6
- //# sourceMappingURL=base-search-form-select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-search-form-select.js","sourceRoot":"","sources":["../../../src/base-search-select/base-search-form-select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAEpD,MAAM,oBAAoB,GAA8B,SAAS,CAC/D,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAC,gBAAgB,OAAK,KAAK,GAAI,CAC5D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,128 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
- import { isNull, isUndefined } from 'lodash-es';
5
- import classNames from 'classnames';
6
- import { useRequest } from 'ahooks';
7
- import { I18n } from '@cozeloop/i18n';
8
- import { IconCozRefresh } from '@coze-arch/coze-design/icons';
9
- import { Select, Tooltip, Button, } from '@coze-arch/coze-design';
10
- import { getOptionsNotInList, transformValueToArray } from './utils';
11
- import styles from './index.module.less';
12
- /**
13
- * 基础选择器组件
14
- * 解决两个主要问题:
15
- * 1. 初始选中值不在第一页数据中导致只显示ID
16
- * 2. 搜索后选中值不在结果中导致只显示ID
17
- */
18
- // eslint-disable-next-line @coze-arch/max-line-per-function
19
- const BaseSearchSelect = (props) => {
20
- const { optionList: _optionList, loadOptionByIds, value, defaultValue, onSearch, renderSelectedItem, onChangeWithObject, onDropdownVisibleChange, showRefreshBtn, onClickRefresh, disabledCacheOptions, } = props;
21
- // 是否在搜索中
22
- const [searchWord, setSearchWord] = useState('');
23
- const [refreshFlag, setRefreshFlag] = useState([]);
24
- const [dropdownVisible, setDropdownVisible] = useState(false);
25
- const optionMapRef = useRef({});
26
- const optionList = useMemo(() => _optionList || [], [_optionList]);
27
- const isOptionListNotExists = useMemo(() => !_optionList, [_optionList]);
28
- useEffect(() => {
29
- if (isOptionListNotExists) {
30
- return;
31
- }
32
- // 每次 optionList 变化, 将 optionList 中的 option 添加到 optionMapRef 中缓存
33
- (optionList || []).forEach(item => {
34
- optionMapRef.current[item?.value] = item;
35
- });
36
- }, [optionList]);
37
- // 初始化
38
- useRequest(async () => {
39
- const initialValue = value || defaultValue;
40
- // 1. 判断 list 有没有value, 有则不发请求
41
- if (isUndefined(initialValue) ||
42
- isNull(initialValue) ||
43
- initialValue === '' ||
44
- !loadOptionByIds) {
45
- return;
46
- }
47
- // 2. 判断 optionList 中有没有 value 中不存在的 选项, 有则不发请求
48
- const optionsNotInList = getOptionsNotInList({
49
- value: initialValue,
50
- optionList,
51
- onChangeWithObject,
52
- });
53
- if (optionsNotInList.length === 0) {
54
- return;
55
- }
56
- try {
57
- const payload = transformValueToArray(value, onChangeWithObject);
58
- const fetchOptions = await loadOptionByIds(payload);
59
- if (fetchOptions) {
60
- setRefreshFlag([]);
61
- optionMapRef.current = {
62
- ...optionMapRef.current,
63
- ...fetchOptions.reduce((acc, item) => {
64
- acc[item?.value] = item;
65
- return acc;
66
- }, {}),
67
- };
68
- }
69
- }
70
- catch (error) {
71
- console.error('Failed to load selected option:', error);
72
- }
73
- }, {
74
- refreshDeps: [value],
75
- });
76
- /**
77
- * 最后展示的选项
78
- */
79
- const cacheOptions = useMemo(() => {
80
- // searchWord 表示处于搜索中, 不应该展示不在选项列表中的选项
81
- if (!value || searchWord || disabledCacheOptions) {
82
- return optionList;
83
- }
84
- const optionsNotInList = getOptionsNotInList({
85
- value,
86
- optionList,
87
- onChangeWithObject,
88
- });
89
- // value 所有选项都在选项列表中, 直接返回
90
- if (optionsNotInList.length === 0) {
91
- return optionList;
92
- }
93
- // value 不在选项列表, 则对value进行处理, 前面已经处理为arr了
94
- // 所以这里可以直接按arr 处理 返回缓存中的选项
95
- const optionsInCache = optionsNotInList.map(k => optionMapRef.current[k]);
96
- // 有可能存在远端数据被删除,id无法拉去到的情况
97
- const newOptions = [...optionsInCache, ...optionList].filter(Boolean);
98
- return newOptions;
99
- }, [optionList, value, searchWord, refreshFlag]);
100
- /**
101
- * 选中项渲染, 如果list中没有, 从缓存中拿当前的选种值
102
- */
103
- const RenderSelectedItem = useCallback((optionNode, multipleProps) => {
104
- const renderOpt = optionMapRef.current[optionNode?.value] || optionNode;
105
- if (renderSelectedItem) {
106
- return renderSelectedItem(renderOpt, multipleProps);
107
- }
108
- // 多选
109
- if (multipleProps) {
110
- return {
111
- isRenderInTag: true,
112
- content: renderOpt?.label || renderOpt?.value,
113
- };
114
- }
115
- return renderOpt?.label || renderOpt?.value;
116
- }, [renderSelectedItem]);
117
- return (_jsx(Select, { suffix: showRefreshBtn && dropdownVisible ? (_jsx(Tooltip, { theme: "dark", content: I18n.t('refresh'), children: _jsxs("div", { className: "flex flex-row items-center", children: [_jsx(Button, { className: "!h-6 !w-6", icon: _jsx(IconCozRefresh, {}), size: "small", color: "secondary", onClick: () => onClickRefresh?.() }), _jsx("div", { className: "h-3 w-0 border-0 border-l border-solid coz-stroke-primary ml-[2px]" })] }) })) : null, ...props, onDropdownVisibleChange: visible => {
118
- setDropdownVisible(visible);
119
- onDropdownVisibleChange?.(visible);
120
- }, dropdownClassName: classNames(styles['select-dropdown-style'], props.dropdownClassName), optionList: isOptionListNotExists ? undefined : cacheOptions, renderSelectedItem: RenderSelectedItem, onSearch: (vs, e) => {
121
- setSearchWord(vs);
122
- if (onSearch) {
123
- onSearch?.(vs, e);
124
- }
125
- } }));
126
- };
127
- export default BaseSearchSelect;
128
- //# sourceMappingURL=base-search-select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-search-select.js","sourceRoot":"","sources":["../../../src/base-search-select/base-search-select.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { default as BaseSearchSelect } from './base-search-select';
2
- export { default as BaseSearchFormSelect } from './base-search-form-select';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base-search-select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/base-search-select/types.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- export const transformValueToArray = (value, onChangeWithObject = false) => {
3
- // 对象传入
4
- if (onChangeWithObject) {
5
- // 对象数组
6
- if (Array.isArray(value)) {
7
- return value.map(item => item?.value || '').filter(Boolean);
8
- }
9
- // 单个对象
10
- return value?.value ? [value?.value] : [];
11
- }
12
- // 普通数组 或 字符串
13
- return Array.isArray(value) ? value : [value];
14
- };
15
- // 过滤 value 中不在 optionlist 中的 option
16
- export const filterValueNotInOptionList = (value, optionSet, onChangeWithObject = false) => {
17
- if (onChangeWithObject) {
18
- // 对象数组
19
- if (Array.isArray(value)) {
20
- return value
21
- .filter(item => !optionSet.has(item?.value))
22
- .map(it => it?.value);
23
- }
24
- // 单个对象
25
- return optionSet.has(value?.value) ? [] : [value?.value];
26
- }
27
- if (Array.isArray(value)) {
28
- return value.filter(item => !optionSet.has(item));
29
- }
30
- if (typeof value === 'string' || typeof value === 'number') {
31
- return optionSet.has(value) ? [] : [value];
32
- }
33
- return [];
34
- };
35
- export const getOptionsNotInList = ({ value, optionList, onChangeWithObject = false, }) => {
36
- // 集合
37
- const existingValues = new Set(optionList.map(item => item.value));
38
- // 找到 value 里面不在选项列表中的选项
39
- const optionsNotInList = filterValueNotInOptionList(value, existingValues, onChangeWithObject);
40
- return optionsNotInList;
41
- };
42
- export const initialValueChecker = (value, optionList, onChangeWithObject = false) => {
43
- if (typeof value === 'string') {
44
- return true;
45
- }
46
- return value;
47
- };
48
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/base-search-select/utils.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAU,EACV,kBAAkB,GAAG,KAAK,EACL,EAAE;IACvB,OAAO;IACP,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO;QACP,OAAO,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IACD,aAAa;IACb,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,KAAU,EACV,SAA2C,EAC3C,kBAAkB,GAAG,KAAK,EACjB,EAAE;IACX,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK;iBACT,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC3C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO;QACP,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,KAAK,EACL,UAAU,EACV,kBAAkB,GAAG,KAAK,GAK3B,EAAE,EAAE;IACH,KAAK;IACL,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,wBAAwB;IACxB,MAAM,gBAAgB,GAAG,0BAA0B,CACjD,KAAK,EACL,cAAc,EACd,kBAAkB,CACnB,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAU,EACV,UAAiB,EACjB,kBAAkB,GAAG,KAAK,EAC1B,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import classNames from 'classnames';
3
- export const BasicCard = ({ title, children, className }) => (_jsxs("div", { className: classNames('border border-solid coz-stroke-plus rounded-[6px] overflow-hidden', className), children: [_jsx("div", { className: "text-sm font-medium px-4 h-[44px] flex items-center coze-fg-primary bg-[#F7F7FC]", children: title }), children ? _jsx("div", { className: "p-4 bg-white", children: children }) : null] }));
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/basic-card/index.tsx"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAa,EAAE,EAAE,CAAC,CACtE,eACE,SAAS,EAAE,UAAU,CACnB,mEAAmE,EACnE,SAAS,CACV,aAED,cAAK,SAAS,EAAC,kFAAkF,YAC9F,KAAK,GACF,EACL,QAAQ,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAO,CAAC,CAAC,CAAC,IAAI,IAC7D,CACP,CAAC"}
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from 'classnames';
3
- import styles from './index.module.less';
4
- export function CardPane({ hoverShadow, className, ...props }) {
5
- return (_jsx("div", { className: classNames(styles.container, {
6
- [styles.shadow]: hoverShadow,
7
- }, className), ...props }));
8
- }
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/card-pane/index.tsx"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAOzC,MAAM,UAAU,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB;IAC1E,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,SAAS,EAChB;YACE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW;SAC7B,EACD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import cls from 'classnames';
3
- import { Select } from '@coze-arch/coze-design';
4
- import styles from './index.module.less';
5
- export const ChipSelect = (props) => (_jsx(Select, { ...props, className: cls(styles.select, props.className) }));
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chip-select/index.tsx"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAoB,MAAM,wBAAwB,CAAC;AAElE,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,CAChD,KAAC,MAAM,OAAK,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAI,CACtE,CAAC"}
@@ -1,9 +0,0 @@
1
- /// <reference path="../types.d.ts" />
2
- export { default as CodeEditor, DiffEditor } from '@monaco-editor/react';
3
- import { loader } from '@monaco-editor/react';
4
- loader.config({
5
- paths: {
6
- vs: MONACO_UNPKG,
7
- },
8
- });
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-editor/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,EAAE,EAAE,YAAY;KACjB;CACF,CAAC,CAAC"}
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import cls from 'classnames';
4
- import { Loading } from '@coze-arch/coze-design';
5
- import { CodeEditor } from '../code-editor';
6
- import styles from './index.module.less';
7
- export const codeOptionsConfig = {
8
- lineNumbersMinChars: 3,
9
- automaticLayout: true,
10
- scrollBeyondLastLine: false,
11
- renderLineHighlight: 'none',
12
- tabSize: 2, // 设置 tab 大小为2
13
- insertSpaces: true,
14
- minimap: {
15
- enabled: false,
16
- },
17
- };
18
- export const CodeEditorWithLoading = ({ value, onChange, disabled, className, }) => {
19
- const [loading, setLoading] = useState(true);
20
- const LoadingNode = loading && (_jsx("div", { className: "absolute bg-[white] z-20 top-0 bottom-0 left-0 right-0 flex items-center justify-center", children: _jsx(Loading, { loading: true }) }));
21
- const onEditorMount = () => {
22
- setLoading(false);
23
- };
24
- return (_jsxs("div", { className: cls(styles['code-container'], className), children: [LoadingNode, _jsx(CodeEditor, { language: 'json', value: value, options: {
25
- readOnly: disabled,
26
- ...codeOptionsConfig,
27
- }, onMount: onEditorMount, theme: "vs-dark", onChange: newValue => {
28
- onChange?.(newValue || '');
29
- } })] }));
30
- };
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-editor-with-loading/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC5E,mBAAmB,EAAE,CAAC;IACtB,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,MAAM;IAC3B,OAAO,EAAE,CAAC,EAAE,cAAc;IAC1B,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAQF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,GACkB,EAAE,EAAE;IAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,IAAI,CAC7B,cAAK,SAAS,EAAC,0FAA0F,YACvG,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,GAAI,GACtB,CACP,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,aACrD,WAAW,EACZ,KAAC,UAAU,IACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ;oBAClB,GAAG,iBAAiB;iBACrB,EACD,OAAO,EAAE,aAAa,EACtB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACnB,QAAQ,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,116 +0,0 @@
1
- import { createRenderer, option } from '@coze-editor/editor/react';
2
- import preset, { languages, themes } from '@coze-editor/editor/preset-code';
3
- import { typescript } from '@coze-editor/editor/language-typescript';
4
- import { shell } from '@coze-editor/editor/language-shell';
5
- import { python } from '@coze-editor/editor/language-python';
6
- import { json } from '@coze-editor/editor/language-json';
7
- import { mixLanguages } from '@coze-editor/editor';
8
- import { EditorView } from '@codemirror/view';
9
- import { goLanguage } from '@codemirror/lang-go';
10
- import { cozeLight } from './themes/coze-light';
11
- import { cozeDark } from './themes/coze-dark';
12
- // 注册语言
13
- languages.register('json', {
14
- // mixLanguages 用于解决 「插值也使用了括号,导致无法正确高亮」的问题
15
- language: mixLanguages({
16
- outerLanguage: json.language,
17
- }),
18
- languageService: json.languageService,
19
- });
20
- languages.register('shell', shell);
21
- languages.register('python', python);
22
- languages.register('typescript', typescript);
23
- languages.register('go', {
24
- language: goLanguage,
25
- });
26
- // 注册主题
27
- themes.register('coze-light', cozeLight);
28
- themes.register('coze-dark', cozeDark);
29
- const minHeightOption = (value) => EditorView.theme({
30
- '.cm-content, .cm-gutter, .cm-right-gutter': {
31
- minHeight: typeof value === 'number'
32
- ? `${value}px`
33
- : typeof value === 'string'
34
- ? value
35
- : 'unset',
36
- },
37
- '&.cm-editor': {
38
- minHeight: typeof value === 'number'
39
- ? `${value}px`
40
- : typeof value === 'string'
41
- ? value
42
- : 'unset',
43
- },
44
- });
45
- const maxHeightOption = (value) => EditorView.theme({
46
- '&.cm-editor': {
47
- maxHeight: typeof value === 'number'
48
- ? `${value}px`
49
- : typeof value === 'string'
50
- ? value
51
- : 'unset',
52
- },
53
- });
54
- const heightOption = (value) => EditorView.theme({
55
- '&.cm-editor': {
56
- height: typeof value === 'number'
57
- ? `${value}px`
58
- : typeof value === 'string'
59
- ? value
60
- : 'unset',
61
- },
62
- });
63
- const paddingOption = (value) => EditorView.theme({
64
- '&.cm-editor': {
65
- padding: typeof value === 'number'
66
- ? `${value}px`
67
- : typeof value === 'string'
68
- ? value
69
- : 'unset',
70
- },
71
- });
72
- const borderRadiusOption = (value) => EditorView.theme({
73
- '&.cm-editor, .cm-gutters': {
74
- borderRadius: typeof value === 'number'
75
- ? `${value}px`
76
- : typeof value === 'string'
77
- ? value
78
- : 'unset',
79
- },
80
- });
81
- const lineHeightOption = (value) => EditorView.theme({
82
- '.cm-content, .cm-gutter, .cm-right-gutter': {
83
- lineHeight: typeof value === 'number'
84
- ? `${value}px`
85
- : typeof value === 'string'
86
- ? value
87
- : 'unset',
88
- },
89
- });
90
- function createStyleOptions() {
91
- return [
92
- option('minHeight', minHeightOption),
93
- option('maxHeight', maxHeightOption),
94
- option('editorHeight', heightOption),
95
- option('borderRadius', borderRadiusOption),
96
- option('padding', paddingOption),
97
- option('lineHeight', lineHeightOption),
98
- ];
99
- }
100
- const builtinExtensions = [
101
- EditorView.theme({
102
- '&.cm-focused': {
103
- outline: 'none',
104
- },
105
- '& *': {
106
- fontFamily: 'Menlo, Monaco, "Courier New", monospace',
107
- },
108
- }),
109
- EditorView.theme({
110
- '&.cm-content': {
111
- wordBreak: 'break-all',
112
- },
113
- }),
114
- ];
115
- export const CodeMirrorCodeEditor = createRenderer([...preset, ...createStyleOptions()], builtinExtensions);
116
- //# sourceMappingURL=code-editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/codemirror-editor/code-editor.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export { EditorProvider } from '@coze-editor/editor/react';
2
- export { CodeMirrorCodeEditor } from './code-editor';
3
- export { CodeMirrorTextEditor } from './text-editor';
4
- export { CodeMirrorJsonEditor } from './json-editor';
5
- export { CodeMirrorRawTextEditor } from './raw-text-editor';
6
- export { CodeMirrorRawCodeEditor } from './raw-code-editor';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codemirror-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,103 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /* eslint-disable security/detect-non-literal-regexp */
3
- import React, { useCallback, useEffect, useRef, useImperativeHandle, } from 'react';
4
- import { useDebounceFn } from 'ahooks';
5
- import { EditorProvider } from '@coze-editor/editor/react';
6
- import { transformerCreator, } from '@coze-editor/editor/preset-code';
7
- import { json } from '@coze-editor/editor/language-json';
8
- import { EditorView } from '@codemirror/view';
9
- import { CodeMirrorCodeEditor } from './code-editor';
10
- const extensions = [
11
- EditorView.theme({
12
- '.cm-activeLineGutter': {
13
- backgroundColor: 'transparent !important',
14
- },
15
- '.cm-activeLine': {
16
- backgroundColor: 'transparent !important',
17
- },
18
- }),
19
- ];
20
- function findAllMatches(inputString, regex) {
21
- const globalRegex = new RegExp(regex, regex.flags.includes('g') ? regex.flags : `${regex.flags}g`);
22
- let match;
23
- const matches = [];
24
- while (true) {
25
- match = globalRegex.exec(inputString);
26
- if (!match) {
27
- break;
28
- }
29
- if (match.index === globalRegex.lastIndex) {
30
- globalRegex.lastIndex++;
31
- }
32
- matches.push({
33
- match: match[0],
34
- range: [match.index, match.index + match[0].length],
35
- });
36
- }
37
- return matches;
38
- }
39
- const transformer = transformerCreator(text => {
40
- const originalSource = text.toString();
41
- const matches = findAllMatches(originalSource, /\{\{([^\}]*)\}\}/g);
42
- if (matches.length > 0) {
43
- matches.forEach(({ range }) => {
44
- text.replaceRange(range[0], range[1], 'null');
45
- });
46
- }
47
- return text;
48
- });
49
- export const CodeMirrorJsonEditor = React.forwardRef((props, ref) => {
50
- const { value, onChange, placeholder, className, isDarkTheme, readonly, minHeight = '100px', maxHeight, editorHeight, padding, borderRadius, onFocus, onBlur, } = props;
51
- const apiRef = useRef(null);
52
- const handleChange = useCallback((e) => {
53
- if (typeof onChange === 'function') {
54
- onChange(e.value);
55
- }
56
- }, [onChange]);
57
- const updateAst = useDebounceFn(() => {
58
- apiRef.current?.updateASTDecorations();
59
- }, {
60
- wait: 200,
61
- });
62
- useEffect(() => {
63
- updateAst.run();
64
- }, [isDarkTheme]);
65
- // 值受控;
66
- useEffect(() => {
67
- const editor = apiRef.current;
68
- if (!editor) {
69
- return;
70
- }
71
- if (typeof value === 'string' && value !== editor.getValue()) {
72
- editor.setValue(value);
73
- }
74
- }, [value]);
75
- const formatJson = async () => {
76
- const view = apiRef.current?.$view;
77
- if (!view) {
78
- return;
79
- }
80
- view.dispatch(await json.languageService.format(view.state, {
81
- tabSize: 2,
82
- }));
83
- };
84
- useImperativeHandle(ref, () => ({
85
- formatJson,
86
- }));
87
- return (_jsx(EditorProvider, { children: _jsx("div", { className: className, children: _jsx(CodeMirrorCodeEditor, { defaultValue: value ?? '', onChange: handleChange, options: {
88
- placeholder,
89
- lineWrapping: true,
90
- theme: isDarkTheme ? 'coze-dark' : 'coze-light',
91
- languageId: 'json',
92
- editable: !readonly,
93
- transformer,
94
- minHeight,
95
- maxHeight,
96
- editorHeight,
97
- borderRadius,
98
- padding,
99
- fontSize: 13,
100
- lineHeight: 20,
101
- }, didMount: api => (apiRef.current = api), extensions: extensions, onFocus: onFocus, onBlur: onBlur }) }) }));
102
- });
103
- //# sourceMappingURL=json-editor.js.map