@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,130 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @coze-arch/max-line-per-function */
3
+ import { useCallback, useEffect, useMemo, useRef, useState, forwardRef, } 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 = forwardRef((props, ref) => {
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(
104
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
105
+ (optionNode, multipleProps) => {
106
+ const renderOpt = optionMapRef.current[optionNode?.value] || optionNode;
107
+ if (renderSelectedItem) {
108
+ return renderSelectedItem(renderOpt, multipleProps);
109
+ }
110
+ // 多选
111
+ if (multipleProps) {
112
+ return {
113
+ isRenderInTag: true,
114
+ content: renderOpt?.label || renderOpt?.value,
115
+ };
116
+ }
117
+ return renderOpt?.label || renderOpt?.value;
118
+ }, [renderSelectedItem]);
119
+ 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 => {
120
+ setDropdownVisible(visible);
121
+ onDropdownVisibleChange?.(visible);
122
+ }, dropdownClassName: classNames(styles['select-dropdown-style'], props.dropdownClassName), optionList: isOptionListNotExists ? undefined : cacheOptions, renderSelectedItem: RenderSelectedItem, onSearch: (vs, e) => {
123
+ setSearchWord(vs);
124
+ if (onSearch) {
125
+ onSearch?.(vs, e);
126
+ }
127
+ }, ref: ref }));
128
+ });
129
+ export default BaseSearchSelect;
130
+ //# sourceMappingURL=base-search-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-search-select.js","sourceRoot":"","sources":["../../../src/base-search-select/base-search-select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default as BaseSearchSelect, } from './base-search-select';
2
+ export { default as BaseSearchFormSelect } from './base-search-form-select';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base-search-select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/base-search-select/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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,23 +1,2 @@
1
- export declare const CodeMirrorCodeEditor: (props: import("@coze-editor/editor/react").InferRendererProps<(import("@coze-editor/editor/react").OptionPluginSpec<"editorHeight", string | number | undefined> | import("@coze-editor/editor/react").OptionPluginSpec<"borderRadius", string | number | undefined> | import("@coze-editor/editor/react").OptionPluginSpec<"padding", string | number | undefined> | import("@coze-editor/editor/react").OptionPluginSpec<"lineHeight", string | number | undefined> | import("@coze-editor/editor/react").OptionPluginSpec<"backgroundColor", string | undefined> | import("@coze-editor/editor/react").ExtensionPluginSpec | import("@coze-editor/editor/react").OptionPluginSpec<"fontSize", number> | import("@coze-editor/editor/react").OptionPluginSpec<"placeholder", string | HTMLElement> | import("@coze-editor/editor/react").OptionPluginSpec<"readOnly", boolean> | import("@coze-editor/editor/react").OptionPluginSpec<"editable", boolean> | import("@coze-editor/editor/react").OptionPluginSpec<"lineWrapping", boolean> | import("@coze-editor/editor/react").OptionPluginSpec<"height", string | number> | import("@coze-editor/editor/react").OptionPluginSpec<"minHeight", string | number> | import("@coze-editor/editor/react").OptionPluginSpec<"maxHeight", string | number> | import("@coze-editor/editor/react").APIPluginSpec<"getValue", [], string> | import("@coze-editor/editor/react").APIPluginSpec<"setValue", [value: string], void> | import("@coze-editor/editor/react").APIPluginSpec<"replaceText", [options: {
2
- from: number;
3
- to: number;
4
- text: string;
5
- cursorOffset?: number;
6
- scrollIntoView?: boolean;
7
- userEvent?: string;
8
- }], void> | import("@coze-editor/editor/react").APIPluginSpec<"getCursorPosition", [], number> | import("@coze-editor/editor/react").APIPluginSpec<"setCursorPosition", [pos: number], void> | import("@coze-editor/editor/react").APIPluginSpec<"focus", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"blur", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"disableKeybindings", [keys: string[]], void> | import("@coze-editor/editor/react").APIPluginSpec<"updateASTDecorations", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"undo", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"redo", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"transformTextInSelection", [transformer: (text: string) => string | undefined], void> | import("@coze-editor/editor/react").APIPluginSpec<"getSelection", [], {
9
- from: number;
10
- to: number;
11
- anchor: number;
12
- head: number;
13
- }> | import("@coze-editor/editor/react").APIPluginSpec<"getLineInfoAtPosition", [pos: number], import("@codemirror/state").Line> | import("@coze-editor/editor/react").EventPluginSpec<"selectionChange", {
14
- selection: {
15
- from: number;
16
- to: number;
17
- head: number;
18
- anchor: number;
19
- };
20
- update: import("@codemirror/view").ViewUpdate;
21
- }> | import("@coze-editor/editor/react").EventPluginSpec<"change", {
22
- value: string;
23
- }> | import("@coze-editor/editor/react").EventPluginSpec<"focus", symbol> | import("@coze-editor/editor/react").EventPluginSpec<"blur", symbol> | import("@coze-editor/editor/react").DOMEventHandlerPluginSpec<"mousedown"> | import("@coze-editor/editor/react").DOMEventHandlerPluginSpec<"mouseup"> | import("@coze-editor/editor/react").OptionPluginSpec<"tabSize", number> | import("@coze-editor/editor/react").OptionPluginSpec<"scrollBeyondLastLine", boolean> | import("@coze-editor/editor/react").OptionPluginSpec<"uri", string> | import("@coze-editor/editor/react").OptionPluginSpec<"theme", string> | import("@coze-editor/editor/react").OptionPluginSpec<"languageId", string> | import("@coze-editor/editor/react").OptionPluginSpec<"transformer", import("@coze-editor/editor/preset-code").Transformer> | import("@coze-editor/editor/react").OptionPluginSpec<"overlayScrollbar", unknown> | import("@coze-editor/editor/react").OptionPluginSpec<"lineNumbersGutter", unknown> | import("@coze-editor/editor/react").OptionPluginSpec<"foldGutter", unknown> | import("@coze-editor/editor/react").OptionPluginSpec<"colorizeBrackets", unknown> | import("@coze-editor/editor/react").APIPluginSpec<"validate", [], void>)[]>) => import("react/jsx-runtime").JSX.Element;
1
+ import { type ComponentType } from 'react';
2
+ export declare const CodeMirrorCodeEditor: ComponentType<any>;
@@ -0,0 +1,135 @@
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 { markdownLanguage } from '@codemirror/lang-markdown';
10
+ import { goLanguage } from '@codemirror/lang-go';
11
+ import { cozeLight } from './themes/coze-light';
12
+ import { cozeDark } from './themes/coze-dark';
13
+ // 注册语言
14
+ languages.register('json', {
15
+ // mixLanguages 用于解决 「插值也使用了括号,导致无法正确高亮」的问题
16
+ language: mixLanguages({
17
+ outerLanguage: json.language,
18
+ }),
19
+ languageService: json.languageService,
20
+ });
21
+ languages.register('shell', shell);
22
+ languages.register('python', python);
23
+ languages.register('typescript', typescript);
24
+ languages.register('go', {
25
+ language: goLanguage,
26
+ });
27
+ languages.register('markdown', {
28
+ language: markdownLanguage,
29
+ });
30
+ // 注册主题
31
+ themes.register('coze-light', cozeLight);
32
+ themes.register('coze-dark', cozeDark);
33
+ const minHeightOption = (value) => EditorView.theme({
34
+ '.cm-content, .cm-gutter, .cm-right-gutter': {
35
+ minHeight: typeof value === 'number'
36
+ ? `${value}px`
37
+ : typeof value === 'string'
38
+ ? value
39
+ : 'unset',
40
+ },
41
+ '&.cm-editor': {
42
+ minHeight: typeof value === 'number'
43
+ ? `${value}px`
44
+ : typeof value === 'string'
45
+ ? value
46
+ : 'unset',
47
+ },
48
+ });
49
+ const maxHeightOption = (value) => EditorView.theme({
50
+ '&.cm-editor': {
51
+ maxHeight: typeof value === 'number'
52
+ ? `${value}px`
53
+ : typeof value === 'string'
54
+ ? value
55
+ : 'unset',
56
+ },
57
+ });
58
+ const heightOption = (value) => EditorView.theme({
59
+ '&.cm-editor': {
60
+ height: typeof value === 'number'
61
+ ? `${value}px`
62
+ : typeof value === 'string'
63
+ ? value
64
+ : 'unset',
65
+ },
66
+ });
67
+ const paddingOption = (value) => EditorView.theme({
68
+ '&.cm-editor': {
69
+ padding: typeof value === 'number'
70
+ ? `${value}px`
71
+ : typeof value === 'string'
72
+ ? value
73
+ : 'unset',
74
+ },
75
+ });
76
+ const borderRadiusOption = (value) => EditorView.theme({
77
+ '&.cm-editor, .cm-gutters': {
78
+ borderRadius: typeof value === 'number'
79
+ ? `${value}px`
80
+ : typeof value === 'string'
81
+ ? value
82
+ : 'unset',
83
+ },
84
+ });
85
+ const lineHeightOption = (value) => EditorView.theme({
86
+ '.cm-content, .cm-gutter, .cm-right-gutter': {
87
+ lineHeight: typeof value === 'number'
88
+ ? `${value}px`
89
+ : typeof value === 'string'
90
+ ? value
91
+ : 'unset',
92
+ },
93
+ });
94
+ const backgroundColorOption = (value) => EditorView.theme({
95
+ '&.cm-editor': {
96
+ backgroundColor: value ? `${value} !important` : 'unset',
97
+ },
98
+ '.cm-gutters': {
99
+ backgroundColor: value ? `${value} !important` : 'unset',
100
+ },
101
+ '.cm-activeLineGutter': {
102
+ backgroundColor: value ? `${value} !important` : 'unset',
103
+ },
104
+ '.cm-line': {
105
+ backgroundColor: value ? `${value} !important` : 'unset',
106
+ },
107
+ });
108
+ function createStyleOptions() {
109
+ return [
110
+ option('minHeight', minHeightOption),
111
+ option('maxHeight', maxHeightOption),
112
+ option('editorHeight', heightOption),
113
+ option('borderRadius', borderRadiusOption),
114
+ option('padding', paddingOption),
115
+ option('lineHeight', lineHeightOption),
116
+ option('backgroundColor', backgroundColorOption),
117
+ ];
118
+ }
119
+ const builtinExtensions = [
120
+ EditorView.theme({
121
+ '&.cm-focused': {
122
+ outline: 'none',
123
+ },
124
+ '& *': {
125
+ fontFamily: 'Menlo, Monaco, "Courier New", monospace',
126
+ },
127
+ }),
128
+ EditorView.theme({
129
+ '&.cm-content': {
130
+ wordBreak: 'break-all',
131
+ },
132
+ }),
133
+ ];
134
+ export const CodeMirrorCodeEditor = createRenderer([...preset, ...createStyleOptions()], builtinExtensions);
135
+ //# sourceMappingURL=code-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/codemirror-editor/code-editor.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO;AACP,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;QACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;KAC7B,CAAC;IACF,eAAe,EAAE,IAAI,CAAC,eAAe;CACtC,CAAC,CAAC;AAEH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;IACvB,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;IAC7B,QAAQ,EAAE,gBAAgB;CAC3B,CAAC,CAAC;AAEH,OAAO;AACP,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACzC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEvC,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAE,EAAE,CAClD,UAAU,CAAC,KAAK,CAAC;IACf,2CAA2C,EAAE;QAC3C,SAAS,EACP,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;IACD,aAAa,EAAE;QACb,SAAS,EACP,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAE,EAAE,CAClD,UAAU,CAAC,KAAK,CAAC;IACf,aAAa,EAAE;QACb,SAAS,EACP,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAE,EAAE,CAC/C,UAAU,CAAC,KAAK,CAAC;IACf,aAAa,EAAE;QACb,MAAM,EACJ,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,EAAE,CAChD,UAAU,CAAC,KAAK,CAAC;IACf,aAAa,EAAE;QACb,OAAO,EACL,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,CAAC,KAAuB,EAAE,EAAE,CACrD,UAAU,CAAC,KAAK,CAAC;IACf,0BAA0B,EAAE;QAC1B,YAAY,EACV,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE,CACnD,UAAU,CAAC,KAAK,CAAC;IACf,2CAA2C,EAAE;QAC3C,UAAU,EACR,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,GAAG,KAAK,IAAI;YACd,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO;KAChB;CACF,CAAC,CAAC;AAEL,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,EAAE,CAC/C,UAAU,CAAC,KAAK,CAAC;IACf,aAAa,EAAE;QACb,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO;KACzD;IACD,aAAa,EAAE;QACb,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO;KACzD;IACD,sBAAsB,EAAE;QACtB,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO;KACzD;IACD,UAAU,EAAE;QACV,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO;KACzD;CACF,CAAC,CAAC;AAEL,SAAS,kBAAkB;IACzB,OAAO;QACL,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;QACpC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;QACpC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;QACpC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;QAC1C,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAChC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACtC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,UAAU,CAAC,KAAK,CAAC;QACf,cAAc,EAAE;YACd,OAAO,EAAE,MAAM;SAChB;QACD,KAAK,EAAE;YACL,UAAU,EAAE,yCAAyC;SACtD;KACF,CAAC;IACF,UAAU,CAAC,KAAK,CAAC;QACf,cAAc,EAAE;YACd,SAAS,EAAE,WAAW;SACvB;KACF,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAuB,cAAc,CACpE,CAAC,GAAG,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC,EACpC,iBAAiB,CAClB,CAAC"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,104 @@
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, backgroundColor, } = 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
+ backgroundColor,
102
+ }, didMount: api => (apiRef.current = api), extensions: extensions, onFocus: onFocus, onBlur: onBlur }) }) }));
103
+ });
104
+ //# sourceMappingURL=json-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-editor.js","sourceRoot":"","sources":["../../../src/codemirror-editor/json-editor.tsx"],"names":[],"mappings":"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"}