@cozeloop/components 0.0.2 → 0.0.3-beta-1769665914778

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 (235) hide show
  1. package/README.md +82 -1
  2. package/dist/es/index.css +645 -0
  3. package/dist/es/index.mjs +6089 -0
  4. package/dist/es/loopIcons.mjs +3 -0
  5. package/dist/es/rslib-runtime.mjs +40 -0
  6. package/dist/es/static/svg/select.svg +1 -0
  7. package/dist/lib/base-search-select/base-search-form-select.d.ts +3 -0
  8. package/dist/lib/base-search-select/base-search-select.d.ts +12 -0
  9. package/dist/lib/base-search-select/index.d.ts +3 -0
  10. package/dist/lib/base-search-select/types.d.ts +13 -0
  11. package/dist/lib/base-search-select/utils.d.ts +8 -0
  12. package/dist/lib/basic-card/index.d.ts +7 -0
  13. package/dist/lib/card-pane/index.d.ts +5 -0
  14. package/dist/lib/chip-select/index.d.ts +2 -0
  15. package/dist/lib/code-editor/index.d.ts +3 -0
  16. package/dist/lib/code-editor-with-loading/index.d.ts +10 -0
  17. package/dist/lib/codemirror-editor/code-editor.d.ts +23 -0
  18. package/dist/lib/codemirror-editor/index.d.ts +6 -0
  19. package/dist/lib/codemirror-editor/json-editor.d.ts +19 -0
  20. package/dist/lib/codemirror-editor/raw-code-editor.d.ts +20 -0
  21. package/dist/lib/codemirror-editor/raw-text-editor.d.ts +11 -0
  22. package/dist/lib/codemirror-editor/text-editor.d.ts +23 -0
  23. package/dist/lib/codemirror-editor/themes/coze-dark.d.ts +1 -0
  24. package/dist/lib/codemirror-editor/themes/coze-light.d.ts +1 -0
  25. package/dist/lib/collapse-card/index.d.ts +14 -0
  26. package/dist/lib/collapse-item/index.d.ts +7 -0
  27. package/dist/lib/collapsible-card/index.d.ts +13 -0
  28. package/dist/{types → lib}/column-manage-storage/index.d.ts +6 -6
  29. package/dist/lib/columns-select/index.d.ts +19 -0
  30. package/dist/lib/copyable/index.d.ts +5 -0
  31. package/dist/lib/edit-icon-button/index.d.ts +8 -0
  32. package/dist/lib/footer-actions/index.d.ts +15 -0
  33. package/dist/{types → lib}/hooks/use-infinite-scroll.d.ts +12 -12
  34. package/dist/lib/hooks/use-mouse-down-offset.d.ts +9 -0
  35. package/dist/lib/hooks/use-unsave-leave-warning.d.ts +15 -0
  36. package/dist/lib/id-render/icon-button-container.d.ts +8 -0
  37. package/dist/lib/id-render/index.d.ts +7 -0
  38. package/dist/lib/index-controller/record-navigation.d.ts +6 -0
  39. package/dist/lib/index-controller/use-item-index-controller.d.ts +47 -0
  40. package/dist/lib/index.d.ts +71 -0
  41. package/dist/{types → lib}/infinite-scroll-table/index.d.ts +6 -6
  42. package/dist/lib/info-tooltip/index.d.ts +9 -0
  43. package/dist/lib/input-components/radio-button.d.ts +14 -0
  44. package/dist/lib/input-slider/index.d.ts +15 -0
  45. package/dist/lib/input-with-count/index.d.ts +2 -0
  46. package/dist/lib/jump-button/jump-icon-button.d.ts +4 -0
  47. package/dist/{types → lib}/large-txt-render/index.d.ts +2 -2
  48. package/dist/lib/layout/content.d.ts +7 -0
  49. package/dist/lib/layout/header.d.ts +7 -0
  50. package/dist/lib/layout/index.d.ts +12 -0
  51. package/dist/lib/layout/tabs.d.ts +6 -0
  52. package/dist/lib/lazy-load-component/index.d.ts +5 -0
  53. package/dist/lib/logic-editor/index.d.ts +3 -0
  54. package/dist/lib/logic-editor/logic-editor.d.ts +15 -0
  55. package/dist/lib/logic-editor/logic-left-render.d.ts +3 -0
  56. package/dist/lib/logic-editor/logic-operator-render.d.ts +3 -0
  57. package/dist/lib/logic-editor/logic-right-render.d.ts +3 -0
  58. package/dist/lib/logic-editor/logic-types.d.ts +53 -0
  59. package/dist/lib/logic-editor/utils.d.ts +2 -0
  60. package/dist/lib/logic-expr/consts.d.ts +2 -0
  61. package/dist/lib/logic-expr/expr-group-render.d.ts +2 -0
  62. package/dist/lib/logic-expr/expr-render.d.ts +2 -0
  63. package/dist/lib/logic-expr/index.d.ts +2 -0
  64. package/dist/lib/logic-expr/logic-expr.d.ts +2 -0
  65. package/dist/lib/logic-expr/logic-not.d.ts +10 -0
  66. package/dist/lib/logic-expr/logic-toggle.d.ts +12 -0
  67. package/dist/lib/logic-expr/types.d.ts +79 -0
  68. package/dist/lib/loop-icons/index.d.ts +1 -0
  69. package/dist/lib/loop-radio-group/index.d.ts +2 -0
  70. package/dist/lib/multi-part-editor/components/image-item-renderer.d.ts +14 -0
  71. package/dist/lib/multi-part-editor/components/multipart-item-renderer.d.ts +10 -0
  72. package/dist/lib/multi-part-editor/components/url-input-modal.d.ts +14 -0
  73. package/dist/lib/multi-part-editor/components/video-item-renderer.d.ts +14 -0
  74. package/dist/lib/multi-part-editor/index.d.ts +3 -0
  75. package/dist/lib/multi-part-editor/multi-part-render.d.ts +10 -0
  76. package/dist/lib/multi-part-editor/type.d.ts +81 -0
  77. package/dist/lib/multi-part-editor/upload-button.d.ts +23 -0
  78. package/dist/lib/multi-part-editor/utils.d.ts +16 -0
  79. package/dist/lib/open-detail-button/index.d.ts +6 -0
  80. package/dist/lib/page-content/index.d.ts +20 -0
  81. package/dist/lib/primary-page/index.d.ts +1 -0
  82. package/dist/lib/primary-page/primary-header.d.ts +14 -0
  83. package/dist/lib/primary-title/index.d.ts +6 -0
  84. package/dist/lib/resizable-side-sheet/index.d.ts +10 -0
  85. package/dist/{types → lib}/resize-sidesheet/index.d.ts +4 -3
  86. package/dist/lib/resize-sidesheet/use-drag.d.ts +11 -0
  87. package/dist/lib/schema-editor/index.d.ts +11 -0
  88. package/dist/lib/semi-schema-form/components/tmpls/array-field-item.d.ts +6 -0
  89. package/dist/lib/semi-schema-form/components/tmpls/array-field.d.ts +6 -0
  90. package/dist/lib/semi-schema-form/components/tmpls/base-input.d.ts +8 -0
  91. package/dist/lib/semi-schema-form/components/tmpls/description-field.d.ts +6 -0
  92. package/dist/lib/semi-schema-form/components/tmpls/error-list.d.ts +6 -0
  93. package/dist/lib/semi-schema-form/components/tmpls/field-error.d.ts +6 -0
  94. package/dist/lib/semi-schema-form/components/tmpls/field.d.ts +7 -0
  95. package/dist/lib/semi-schema-form/components/tmpls/icon-button.d.ts +11 -0
  96. package/dist/lib/semi-schema-form/components/tmpls/index.d.ts +2 -0
  97. package/dist/lib/semi-schema-form/components/tmpls/object-field.d.ts +8 -0
  98. package/dist/lib/semi-schema-form/components/tmpls/submit.d.ts +4 -0
  99. package/dist/lib/semi-schema-form/components/tmpls/title-field.d.ts +6 -0
  100. package/dist/lib/semi-schema-form/components/widgets/checkbox.d.ts +7 -0
  101. package/dist/lib/semi-schema-form/components/widgets/checkboxs.d.ts +7 -0
  102. package/dist/lib/semi-schema-form/components/widgets/index.d.ts +2 -0
  103. package/dist/lib/semi-schema-form/components/widgets/radio.d.ts +7 -0
  104. package/dist/lib/semi-schema-form/components/widgets/range.d.ts +7 -0
  105. package/dist/lib/semi-schema-form/components/widgets/select.d.ts +7 -0
  106. package/dist/lib/semi-schema-form/components/widgets/textarea.d.ts +6 -0
  107. package/dist/lib/semi-schema-form/index.d.ts +4 -0
  108. package/dist/lib/sentinel-form/enum.d.ts +8 -0
  109. package/dist/lib/sentinel-form/index.d.ts +20 -0
  110. package/dist/lib/step-nav/index.d.ts +12 -0
  111. package/dist/{types → lib}/table/index.d.ts +1 -1
  112. package/dist/lib/table/sort-icon.d.ts +8 -0
  113. package/dist/lib/table/table-with-pagination.d.ts +21 -0
  114. package/dist/lib/table/table-without-pagniation.d.ts +6 -0
  115. package/dist/lib/table-batch-operate/table-batch-operation.d.ts +9 -0
  116. package/dist/lib/table-batch-operate/use-batch-operate.d.ts +30 -0
  117. package/dist/lib/table-col-actions/index.d.ts +24 -0
  118. package/dist/lib/table-cols-config/index.d.ts +11 -0
  119. package/dist/lib/table-cols-config/type.d.ts +6 -0
  120. package/dist/lib/table-cols-config/use-hidden-col-keys.d.ts +5 -0
  121. package/dist/lib/table-cols-config/util.d.ts +3 -0
  122. package/dist/lib/table-empty/index.d.ts +2 -0
  123. package/dist/lib/table-header/index.d.ts +14 -0
  124. package/dist/{types → lib}/tabs/index.d.ts +1 -1
  125. package/dist/lib/text-area-pro/index.d.ts +6 -0
  126. package/dist/lib/text-with-copy/index.d.ts +14 -0
  127. package/dist/lib/title-with-sub/index.d.ts +7 -0
  128. package/dist/lib/tooltip-when-disabled/index.d.ts +6 -0
  129. package/dist/lib/tooltip-with-disabled/index.d.ts +5 -0
  130. package/dist/lib/upload/index.d.ts +9 -0
  131. package/dist/lib/user-profile/index.d.ts +9 -0
  132. package/dist/lib/utils/basic.d.ts +2 -0
  133. package/dist/lib/version-list/version-descriptions.d.ts +15 -0
  134. package/dist/lib/version-list/version-item.d.ts +9 -0
  135. package/dist/lib/version-list/version-list.d.ts +11 -0
  136. package/dist/lib/version-list/version-switch-panel.d.ts +5 -0
  137. package/package.json +47 -35
  138. package/dist/es/collapsible-card/index.js +0 -45
  139. package/dist/es/collapsible-card/index.module.js +0 -5
  140. package/dist/es/collapsible-card/index_module.css +0 -48
  141. package/dist/es/column-manage-storage/index.js +0 -73
  142. package/dist/es/columns-select/index.js +0 -219
  143. package/dist/es/hooks/use-infinite-scroll.js +0 -178
  144. package/dist/es/hooks/use-mouse-down-offset.js +0 -41
  145. package/dist/es/id-render/icon-button-container.js +0 -61
  146. package/dist/es/id-render/index.js +0 -78
  147. package/dist/es/index.js +0 -66
  148. package/dist/es/infinite-scroll-table/index.js +0 -98
  149. package/dist/es/input-slider/index.js +0 -123
  150. package/dist/es/input-slider/index.module.js +0 -5
  151. package/dist/es/input-slider/index_module.css +0 -21
  152. package/dist/es/large-txt-render/index.js +0 -38
  153. package/dist/es/page-content/index.js +0 -108
  154. package/dist/es/primary-page/index.js +0 -4
  155. package/dist/es/primary-page/primary-header.js +0 -38
  156. package/dist/es/resize-sidesheet/index.js +0 -100
  157. package/dist/es/resize-sidesheet/index.module.js +0 -5
  158. package/dist/es/resize-sidesheet/index_module.css +0 -9
  159. package/dist/es/resize-sidesheet/use-drag.js +0 -31
  160. package/dist/es/table/index.js +0 -56
  161. package/dist/es/table/index.module.js +0 -5
  162. package/dist/es/table/index_module.css +0 -90
  163. package/dist/es/table/sort-icon.js +0 -105
  164. package/dist/es/table/table-with-pagination.js +0 -112
  165. package/dist/es/table/table-without-pagniation.js +0 -74
  166. package/dist/es/table-col-actions/index.js +0 -103
  167. package/dist/es/table-header/index.js +0 -68
  168. package/dist/es/table-header/index.module.js +0 -5
  169. package/dist/es/table-header/index_module.css +0 -3
  170. package/dist/es/tabs/index.js +0 -42
  171. package/dist/es/tabs/index.module.js +0 -5
  172. package/dist/es/tabs/index_module.css +0 -37
  173. package/dist/es/text-with-copy/index.js +0 -71
  174. package/dist/es/tooltip-with-disabled/index.js +0 -49
  175. package/dist/es/utils/basic.js +0 -44
  176. package/dist/es/utils/rect.js +0 -37
  177. package/dist/lib/collapsible-card/index.js +0 -79
  178. package/dist/lib/collapsible-card/index.module.js +0 -25
  179. package/dist/lib/collapsible-card/index_module.css +0 -48
  180. package/dist/lib/column-manage-storage/index.js +0 -98
  181. package/dist/lib/columns-select/index.js +0 -241
  182. package/dist/lib/hooks/use-infinite-scroll.js +0 -195
  183. package/dist/lib/hooks/use-mouse-down-offset.js +0 -65
  184. package/dist/lib/id-render/icon-button-container.js +0 -89
  185. package/dist/lib/id-render/index.js +0 -112
  186. package/dist/lib/index.js +0 -110
  187. package/dist/lib/infinite-scroll-table/index.js +0 -126
  188. package/dist/lib/input-slider/index.js +0 -154
  189. package/dist/lib/input-slider/index.module.js +0 -25
  190. package/dist/lib/input-slider/index_module.css +0 -21
  191. package/dist/lib/large-txt-render/index.js +0 -62
  192. package/dist/lib/page-content/index.js +0 -136
  193. package/dist/lib/primary-page/index.js +0 -28
  194. package/dist/lib/primary-page/primary-header.js +0 -72
  195. package/dist/lib/resize-sidesheet/index.js +0 -129
  196. package/dist/lib/resize-sidesheet/index.module.js +0 -25
  197. package/dist/lib/resize-sidesheet/index_module.css +0 -9
  198. package/dist/lib/resize-sidesheet/use-drag.js +0 -55
  199. package/dist/lib/table/index.js +0 -88
  200. package/dist/lib/table/index.module.js +0 -25
  201. package/dist/lib/table/index_module.css +0 -90
  202. package/dist/lib/table/sort-icon.js +0 -137
  203. package/dist/lib/table/table-with-pagination.js +0 -146
  204. package/dist/lib/table/table-without-pagniation.js +0 -108
  205. package/dist/lib/table-col-actions/index.js +0 -123
  206. package/dist/lib/table-header/index.js +0 -96
  207. package/dist/lib/table-header/index.module.js +0 -25
  208. package/dist/lib/table-header/index_module.css +0 -3
  209. package/dist/lib/tabs/index.js +0 -74
  210. package/dist/lib/tabs/index.module.js +0 -25
  211. package/dist/lib/tabs/index_module.css +0 -37
  212. package/dist/lib/text-with-copy/index.js +0 -105
  213. package/dist/lib/tooltip-with-disabled/index.js +0 -71
  214. package/dist/lib/utils/basic.js +0 -78
  215. package/dist/lib/utils/rect.js +0 -65
  216. package/dist/types/collapsible-card/index.d.ts +0 -22
  217. package/dist/types/columns-select/index.d.ts +0 -29
  218. package/dist/types/hooks/use-mouse-down-offset.d.ts +0 -9
  219. package/dist/types/id-render/icon-button-container.d.ts +0 -12
  220. package/dist/types/id-render/index.d.ts +0 -13
  221. package/dist/types/index.d.ts +0 -19
  222. package/dist/types/input-slider/index.d.ts +0 -14
  223. package/dist/types/page-content/index.d.ts +0 -36
  224. package/dist/types/primary-page/index.d.ts +0 -1
  225. package/dist/types/primary-page/primary-header.d.ts +0 -17
  226. package/dist/types/resize-sidesheet/use-drag.d.ts +0 -10
  227. package/dist/types/table/sort-icon.d.ts +0 -13
  228. package/dist/types/table/table-with-pagination.d.ts +0 -14
  229. package/dist/types/table/table-without-pagniation.d.ts +0 -8
  230. package/dist/types/table-col-actions/index.d.ts +0 -21
  231. package/dist/types/table-header/index.d.ts +0 -20
  232. package/dist/types/text-with-copy/index.d.ts +0 -24
  233. package/dist/types/tooltip-with-disabled/index.d.ts +0 -9
  234. package/dist/types/utils/basic.d.ts +0 -1
  235. package/dist/types/utils/rect.d.ts +0 -10
@@ -1,45 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import cn from "classnames";
3
- import { IconCozArrowUpFill } from "@coze-arch/coze-design/icons";
4
- import { Card, Typography } from "@coze-arch/coze-design";
5
- import styles from "./index.module";
6
- function CollapsibleCard({
7
- title,
8
- children,
9
- actionBtns,
10
- className,
11
- style,
12
- isExpand,
13
- setIsExpand,
14
- hideExpand
15
- }) {
16
- return /* @__PURE__ */ jsxs(Card, { className: cn(styles.card, className), style, bordered: false, children: [
17
- title || actionBtns ? /* @__PURE__ */ jsxs("div", { className: styles["card-header"], children: [
18
- /* @__PURE__ */ jsxs(Typography.Text, { className: styles["card-title"], children: [
19
- title,
20
- children && !hideExpand ? /* @__PURE__ */ jsx(
21
- IconCozArrowUpFill,
22
- {
23
- className: cn(styles["chevron-icon"], {
24
- [styles["chevron-icon-close"]]: !isExpand
25
- }),
26
- onClick: () => setIsExpand == null ? void 0 : setIsExpand(!isExpand)
27
- }
28
- ) : null
29
- ] }),
30
- /* @__PURE__ */ jsx("div", { children: actionBtns })
31
- ] }) : null,
32
- /* @__PURE__ */ jsx(
33
- "div",
34
- {
35
- className: cn(styles["card-content"], {
36
- [styles.active]: isExpand
37
- }),
38
- children
39
- }
40
- )
41
- ] });
42
- }
43
- export {
44
- CollapsibleCard
45
- };
@@ -1,5 +0,0 @@
1
- import "./index_module.css";
2
- var index_module_default = { "card": "card_42a41", "card-header": "card-header_42a41", "card-title": "card-title_42a41", "chevron-icon": "chevron-icon_42a41", "chevron-icon-close": "chevron-icon-close_42a41", "card-content": "card-content_42a41", "active": "active_42a41" };
3
- export {
4
- index_module_default as default
5
- };
@@ -1,48 +0,0 @@
1
- /* stylelint-disable declaration-no-important */
2
- .card_42a41 {
3
- background: transparent !important;
4
- border-radius: 0 !important;
5
- }
6
- .card_42a41 .semi-card-body {
7
- display: flex;
8
- flex-direction: column;
9
- gap: 8px;
10
- box-sizing: border-box;
11
- height: 100%;
12
- padding: 0;
13
- }
14
- .card_42a41 .card-header_42a41 {
15
- display: flex;
16
- align-items: center;
17
- justify-content: space-between;
18
- height: 24px;
19
- min-height: 24px;
20
- padding: 10px 20px 0;
21
- }
22
- .card_42a41 .card-title_42a41 {
23
- position: relative;
24
- display: flex;
25
- gap: 4px;
26
- align-items: center;
27
- font-weight: 600;
28
- }
29
- .card_42a41 .card-title_42a41 .chevron-icon_42a41 {
30
- cursor: pointer;
31
- transition: transform 0.3s;
32
- }
33
- .card_42a41 .card-title_42a41 .chevron-icon_42a41.chevron-icon-close_42a41 {
34
- transform: rotate(180deg);
35
- }
36
- .card_42a41 .card-title_42a41 .chevron-icon_42a41:hover {
37
- color: var(--semi-color-primary);
38
- }
39
- .card_42a41 .card-content_42a41 {
40
- height: 0;
41
- opacity: 0;
42
- transition: height 0.2s, opacity 0.2s;
43
- }
44
- .card_42a41 .card-content_42a41.active_42a41 {
45
- overflow: hidden;
46
- height: 100%;
47
- opacity: 1;
48
- }
@@ -1,73 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { isEmpty } from "lodash-es";
21
- import { safeJsonParse } from "@cozeloop/toolkit";
22
- const DATASET_COLUMN_STORAGE_KEY = "dataset-column";
23
- const getColumnManageStorage = (storageKey) => {
24
- const storage = localStorage.getItem(storageKey);
25
- return safeJsonParse(storage || "{}") || {};
26
- };
27
- const setColumnsManageStorage = (storageKey, columns) => {
28
- if (!storageKey) {
29
- return;
30
- }
31
- const data = {};
32
- columns.forEach((column, index) => {
33
- var _a;
34
- data[column.key] = {
35
- index,
36
- checked: (_a = column.checked) != null ? _a : true
37
- };
38
- });
39
- localStorage.setItem(storageKey, JSON.stringify(data));
40
- };
41
- const dealColumnsWithStorage = (storageKey, columns) => {
42
- const sort = getColumnManageStorage(storageKey);
43
- if (!sort || isEmpty(sort)) {
44
- return columns;
45
- }
46
- const newColumns = [...columns || []].sort((a, b) => {
47
- var _a, _b, _c, _d;
48
- const indexA = (_b = (_a = sort[a.key]) == null ? void 0 : _a.index) != null ? _b : Infinity;
49
- const indexB = (_d = (_c = sort[b.key]) == null ? void 0 : _c.index) != null ? _d : Infinity;
50
- if (indexA !== Infinity && indexB !== Infinity) {
51
- return indexA - indexB;
52
- }
53
- if (indexA !== Infinity) {
54
- return -1;
55
- }
56
- if (indexB !== Infinity) {
57
- return 1;
58
- }
59
- return 0;
60
- });
61
- return newColumns.map((column) => {
62
- var _a, _b;
63
- return __spreadProps(__spreadValues({}, column), {
64
- checked: (_b = (_a = sort[column.key]) == null ? void 0 : _a.checked) != null ? _b : true
65
- });
66
- });
67
- };
68
- export {
69
- DATASET_COLUMN_STORAGE_KEY,
70
- dealColumnsWithStorage,
71
- getColumnManageStorage,
72
- setColumnsManageStorage
73
- };
@@ -1,219 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
- import * as sort from "react-sortable-hoc";
22
- import { Fragment as Fragment2, useEffect, useMemo, useState } from "react";
23
- import {
24
- IconCozHandle,
25
- IconCozTableSetting
26
- } from "@coze-arch/coze-design/icons";
27
- import {
28
- Button,
29
- Checkbox,
30
- Dropdown,
31
- Typography,
32
- Divider,
33
- Tooltip
34
- } from "@coze-arch/coze-design";
35
- const { sortableContainer, sortableElement, sortableHandle } = sort;
36
- const { arrayMove } = sort;
37
- const ColumnSelector = ({
38
- columns,
39
- defaultColumns = columns,
40
- onChange,
41
- buttonText,
42
- resetButtonText = "重置为默认",
43
- className,
44
- sortable = true,
45
- itemRender,
46
- footerRender
47
- }) => {
48
- const [list, setList] = useState(() => [...columns]);
49
- const selectedKeys = useMemo(
50
- () => list.filter((item) => item.checked).map((item) => item.key),
51
- [list]
52
- );
53
- const disabledKeys = useMemo(
54
- () => list.filter((item) => item.disabled).map((item) => item.key),
55
- [list]
56
- );
57
- const DragHandle = sortableHandle(() => /* @__PURE__ */ jsx(
58
- IconCozHandle,
59
- {
60
- className: "cursor-grab",
61
- "aria-label": "拖动排序",
62
- role: "button"
63
- }
64
- ));
65
- const RenderItem = (value, slot) => {
66
- var _a, _b, _c;
67
- const render = itemRender ? itemRender(value) : null;
68
- if (render) {
69
- return render;
70
- }
71
- return /* @__PURE__ */ jsx(
72
- "span",
73
- {
74
- className: "group flex items-center justify-between py-1 px-2 text-[var(--coz-fg-primary)] z-[99999] select-none hover:bg-[var(--coz-mg-secondary)] rounded-[6px] cursor-pointer bg-white",
75
- style: {
76
- zIndex: 99999
77
- },
78
- children: /* @__PURE__ */ jsxs(
79
- "div",
80
- {
81
- className: "flex items-center gap-x-2 max-w-full w-full",
82
- onClick: () => {
83
- var _a2, _b2;
84
- if (disabledKeys.includes((_a2 = value.key) != null ? _a2 : "") || value.disabled) {
85
- return;
86
- }
87
- const newKeys = selectedKeys.includes((_b2 = value.key) != null ? _b2 : "") ? selectedKeys.filter((key) => key !== value.key) : [...selectedKeys, value.key];
88
- const newColumns = list.map((item) => {
89
- if (newKeys.includes(item.key)) {
90
- return __spreadProps(__spreadValues({}, item), {
91
- checked: true
92
- });
93
- }
94
- return __spreadProps(__spreadValues({}, item), {
95
- checked: false
96
- });
97
- });
98
- setList(newColumns);
99
- onChange == null ? void 0 : onChange(newColumns);
100
- },
101
- children: [
102
- /* @__PURE__ */ jsx(
103
- Checkbox,
104
- {
105
- disabled: disabledKeys.includes((_a = value.key) != null ? _a : "") || value.disabled,
106
- checked: selectedKeys.includes((_b = value.key) != null ? _b : ""),
107
- "aria-label": `选择${value.value}`
108
- }
109
- ),
110
- /* @__PURE__ */ jsx(
111
- Typography.Text,
112
- {
113
- ellipsis: {
114
- showTooltip: {
115
- opts: {
116
- content: value.value,
117
- theme: "dark"
118
- }
119
- }
120
- },
121
- className: "text-[13px] text-[var(--coz-fg-primary)] flex-1 overflow-hidden w-full",
122
- style: {
123
- color: disabledKeys.includes((_c = value.key) != null ? _c : "") || value.disabled ? "var(--coz-fg-dim)" : ""
124
- },
125
- children: value.value
126
- }
127
- ),
128
- /* @__PURE__ */ jsx("div", { className: "opacity-0 group-hover:opacity-100 transition-opacity flex items-center coz-fg-secondary", children: slot })
129
- ]
130
- }
131
- )
132
- }
133
- );
134
- };
135
- const SortableItem = sortableElement(
136
- ({ value }) => RenderItem(value, /* @__PURE__ */ jsx(DragHandle, {}))
137
- );
138
- const SortableContainer = sortableContainer(
139
- ({ children }) => /* @__PURE__ */ jsx("div", { className: "max-w-[200px] w-fit rounded-[6px] py-2 px-1 max-h-[372px] overflow-y-auto flex gap-y-1 flex-col", children })
140
- );
141
- const handleSortEnd = ({
142
- oldIndex,
143
- newIndex
144
- }) => {
145
- const newList = arrayMove(list, oldIndex, newIndex);
146
- setList(newList);
147
- onChange == null ? void 0 : onChange(newList);
148
- };
149
- const handleReset = () => {
150
- setList(defaultColumns);
151
- onChange == null ? void 0 : onChange(defaultColumns);
152
- };
153
- useEffect(() => {
154
- setList(columns);
155
- }, [columns]);
156
- return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(
157
- Dropdown,
158
- {
159
- position: "bottomRight",
160
- render: /* @__PURE__ */ jsxs(
161
- "div",
162
- {
163
- onClick: (event) => {
164
- event.stopPropagation();
165
- },
166
- children: [
167
- /* @__PURE__ */ jsx(SortableContainer, { onSortEnd: handleSortEnd, useDragHandle: true, children: /* @__PURE__ */ jsx(Fragment, { children: list.map(
168
- (value, index) => (value == null ? void 0 : value.disabled) || !sortable ? /* @__PURE__ */ jsx(Fragment2, { children: RenderItem(value) }, `item-${value.key}`) : /* @__PURE__ */ jsx(
169
- SortableItem,
170
- {
171
- index,
172
- value
173
- },
174
- `item-${value.key}`
175
- )
176
- ) }) }),
177
- /* @__PURE__ */ jsx(Divider, {}),
178
- footerRender ? /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
179
- footerRender(list),
180
- /* @__PURE__ */ jsx(
181
- Button,
182
- {
183
- color: "secondary",
184
- type: "secondary",
185
- className: "text-center flex-1",
186
- onClick: handleReset,
187
- children: /* @__PURE__ */ jsx("span", { className: "text-brand font-medium text-[13px]", children: resetButtonText })
188
- }
189
- )
190
- ] }) : /* @__PURE__ */ jsx(
191
- Button,
192
- {
193
- color: "secondary",
194
- type: "secondary",
195
- className: "w-full text-center",
196
- onClick: handleReset,
197
- children: /* @__PURE__ */ jsx("span", { className: "text-brand font-medium text-[13px]", children: resetButtonText })
198
- }
199
- )
200
- ]
201
- }
202
- ),
203
- trigger: "click",
204
- children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { content: "列管理", theme: "dark", position: "top", children: /* @__PURE__ */ jsx(
205
- Button,
206
- {
207
- icon: /* @__PURE__ */ jsx(IconCozTableSetting, {}),
208
- type: "primary",
209
- color: "primary",
210
- className: "flex items-center justify-center",
211
- "aria-label": buttonText
212
- }
213
- ) }) })
214
- }
215
- ) });
216
- };
217
- export {
218
- ColumnSelector
219
- };
@@ -1,178 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __async = (__this, __arguments, generator) => {
21
- return new Promise((resolve, reject) => {
22
- var fulfilled = (value) => {
23
- try {
24
- step(generator.next(value));
25
- } catch (e) {
26
- reject(e);
27
- }
28
- };
29
- var rejected = (value) => {
30
- try {
31
- step(generator.throw(value));
32
- } catch (e) {
33
- reject(e);
34
- }
35
- };
36
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
- step((generator = generator.apply(__this, __arguments)).next());
38
- });
39
- };
40
- import { useMemo, useState } from "react";
41
- import { getTargetElement } from "ahooks/lib/utils/domTarget";
42
- import {
43
- useEventListener,
44
- useMemoizedFn,
45
- useRequest,
46
- useUpdateEffect
47
- } from "ahooks";
48
- import { getClientHeight, getScrollHeight, getScrollTop } from "../utils/rect";
49
- const useInfiniteScroll = (service, options = {}) => {
50
- const {
51
- target,
52
- isNoMore,
53
- threshold = 100,
54
- reloadDeps = [],
55
- manual,
56
- onBefore,
57
- onSuccess,
58
- onError,
59
- onFinally
60
- } = options;
61
- const [finalData, setFinalData] = useState();
62
- const [loadingMore, setLoadingMore] = useState(false);
63
- const noMore = useMemo(() => {
64
- if (!isNoMore) {
65
- return false;
66
- }
67
- return isNoMore(finalData);
68
- }, [finalData]);
69
- const { loading, error, run, runAsync, cancel } = useRequest(
70
- (lastData) => __async(void 0, null, function* () {
71
- var _a, _b;
72
- const currentData = yield service(lastData);
73
- if (!lastData) {
74
- setFinalData(__spreadProps(__spreadValues({}, currentData), {
75
- list: [...(_a = currentData.list) != null ? _a : []]
76
- }));
77
- } else {
78
- setFinalData(__spreadProps(__spreadValues({}, currentData), {
79
- list: [...(_b = lastData.list) != null ? _b : [], ...currentData.list]
80
- }));
81
- }
82
- return currentData;
83
- }),
84
- {
85
- manual,
86
- onFinally: (_, d, e) => {
87
- setLoadingMore(false);
88
- onFinally == null ? void 0 : onFinally(d, e);
89
- },
90
- onBefore: () => onBefore == null ? void 0 : onBefore(),
91
- onSuccess: (d) => {
92
- onSuccess == null ? void 0 : onSuccess(d);
93
- setTimeout(() => {
94
- checkFirstScreen();
95
- });
96
- },
97
- onError
98
- }
99
- );
100
- const loadMore = useMemoizedFn(() => {
101
- if (noMore) {
102
- return;
103
- }
104
- setLoadingMore(true);
105
- run(finalData);
106
- });
107
- const loadMoreAsync = useMemoizedFn(() => {
108
- if (noMore) {
109
- return Promise.reject();
110
- }
111
- setLoadingMore(true);
112
- return runAsync(finalData);
113
- });
114
- const reload = () => {
115
- setLoadingMore(false);
116
- setFinalData(void 0);
117
- return run();
118
- };
119
- const reloadAsync = () => {
120
- setLoadingMore(false);
121
- return runAsync();
122
- };
123
- const checkFirstScreen = () => {
124
- let el = getTargetElement(target);
125
- if (!el) {
126
- return;
127
- }
128
- el = el === document ? document.documentElement : el;
129
- const scrollHeight = getScrollHeight(el);
130
- const clientHeight = getClientHeight(el);
131
- if (scrollHeight <= clientHeight) {
132
- loadMore();
133
- }
134
- };
135
- const scrollMethod = () => {
136
- let el = getTargetElement(target);
137
- if (!el) {
138
- return;
139
- }
140
- el = el === document ? document.documentElement : el;
141
- const scrollTop = getScrollTop(el);
142
- const scrollHeight = getScrollHeight(el);
143
- const clientHeight = getClientHeight(el);
144
- if (scrollHeight - scrollTop <= clientHeight + threshold) {
145
- loadMore();
146
- }
147
- };
148
- useEventListener(
149
- "scroll",
150
- () => {
151
- if (loading || loadingMore) {
152
- return;
153
- }
154
- scrollMethod();
155
- },
156
- { target }
157
- );
158
- useUpdateEffect(() => {
159
- setFinalData(void 0);
160
- run();
161
- }, [...reloadDeps]);
162
- return {
163
- data: finalData,
164
- loading: !loadingMore && loading,
165
- error,
166
- loadingMore,
167
- noMore,
168
- loadMore,
169
- loadMoreAsync,
170
- reload: useMemoizedFn(reload),
171
- reloadAsync: useMemoizedFn(reloadAsync),
172
- mutate: setFinalData,
173
- cancel
174
- };
175
- };
176
- export {
177
- useInfiniteScroll
178
- };
@@ -1,41 +0,0 @@
1
- import { useState, useRef, useCallback } from "react";
2
- import { useLatest, useMemoizedFn } from "ahooks";
3
- const useMouseDownOffset = (callback) => {
4
- const [isActive, setIsActive] = useState(false);
5
- const targetRef = useRef(null);
6
- const [startPosition, setStartPosition] = useState(null);
7
- const callbackRef = useLatest(callback);
8
- const ref = useCallback((node) => {
9
- if (targetRef.current) {
10
- targetRef.current.removeEventListener("mousedown", handleMouseDown);
11
- }
12
- targetRef.current = node;
13
- if (targetRef.current) {
14
- targetRef.current.addEventListener("mousedown", handleMouseDown);
15
- }
16
- }, []);
17
- const handleMouseDown = useMemoizedFn((event) => {
18
- setIsActive(true);
19
- setStartPosition({ offsetX: event.clientX, offsetY: event.clientY });
20
- window.addEventListener("mousemove", handleMouseMove);
21
- window.addEventListener("mouseup", handleMouseUp);
22
- });
23
- const handleMouseMove = useMemoizedFn((event) => {
24
- if (startPosition) {
25
- callbackRef.current({
26
- offsetX: event.clientX - startPosition.offsetX,
27
- offsetY: event.clientY - startPosition.offsetY
28
- });
29
- }
30
- });
31
- const handleMouseUp = useMemoizedFn(() => {
32
- setIsActive(false);
33
- setStartPosition(null);
34
- window.removeEventListener("mousemove", handleMouseMove);
35
- window.removeEventListener("mouseup", handleMouseUp);
36
- });
37
- return { isActive, ref };
38
- };
39
- export {
40
- useMouseDownOffset
41
- };
@@ -1,61 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
- import { jsx } from "react/jsx-runtime";
33
- import cls from "classnames";
34
- function IconButtonContainer(_a) {
35
- var _b = _a, {
36
- icon,
37
- className,
38
- style,
39
- onClick
40
- } = _b, rest = __objRest(_b, [
41
- "icon",
42
- "className",
43
- "style",
44
- "onClick"
45
- ]);
46
- return /* @__PURE__ */ jsx(
47
- "div",
48
- __spreadProps(__spreadValues({}, rest), {
49
- onClick,
50
- style,
51
- className: cls(
52
- "inline-flex items-center justify-center w-5 h-5 rounded-[4px] cursor-pointer text-[var(--coz-fg-secondary)] hover:text-[var(--coz-fg-primary)] hover:bg-[var(--coz-mg-secondary-hovered)]",
53
- className
54
- ),
55
- children: icon
56
- })
57
- );
58
- }
59
- export {
60
- IconButtonContainer as default
61
- };