@donglegeyu/company-ui 1.1.0 → 1.1.1

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 (71) hide show
  1. package/dist/cjs/basic-components/CompanyDatePicker/index.js +32 -2
  2. package/dist/cjs/basic-components/CompanyForm/index.d.ts +1 -1
  3. package/dist/cjs/basic-components/CompanyInput/index.d.ts +7 -2
  4. package/dist/cjs/basic-components/CompanyInput/index.js +8 -1
  5. package/dist/cjs/basic-components/CompanyMessage/index.d.ts +1 -0
  6. package/dist/cjs/basic-components/CompanyMessage/index.js +5 -2
  7. package/dist/cjs/basic-components/CompanyMessage/useCompanyMessage.d.ts +1 -0
  8. package/dist/cjs/basic-components/CompanyMessage/useCompanyMessage.js +33 -0
  9. package/dist/cjs/basic-components/CompanyTable/index.js +23 -1
  10. package/dist/cjs/index.d.ts +2 -0
  11. package/dist/cjs/index.js +5 -1
  12. package/dist/cjs/shared-components/ActionCell/index.d.ts +15 -0
  13. package/dist/cjs/shared-components/ActionCell/index.js +113 -0
  14. package/dist/cjs/shared-components/ActionCell/index.scss +36 -0
  15. package/dist/cjs/shared-components/FilterOptionsDrawer/index.d.ts +16 -0
  16. package/dist/cjs/shared-components/FilterOptionsDrawer/index.js +202 -0
  17. package/dist/cjs/shared-components/SvgIcon/index.d.ts +10 -0
  18. package/dist/cjs/shared-components/SvgIcon/index.js +37 -0
  19. package/dist/cjs/shared-components/index.d.ts +4 -0
  20. package/dist/cjs/shared-components/index.js +45 -0
  21. package/dist/cjs/template-components/ColumnSettingsPanel/index.d.ts +19 -0
  22. package/dist/cjs/template-components/ColumnSettingsPanel/index.js +164 -0
  23. package/dist/cjs/template-components/ColumnSettingsPanel/index.scss +148 -0
  24. package/dist/cjs/template-components/CommonListPage/index.js +2 -2
  25. package/dist/cjs/template-components/FilterForm/index.d.ts +12 -0
  26. package/dist/cjs/template-components/FilterForm/index.js +257 -0
  27. package/dist/cjs/template-components/FilterForm/index.scss +123 -0
  28. package/dist/cjs/template-components/SmartListTemplate/index.d.ts +40 -0
  29. package/dist/cjs/template-components/SmartListTemplate/index.js +764 -0
  30. package/dist/cjs/template-components/SmartListTemplate/index.scss +294 -0
  31. package/dist/cjs/template-components/index.d.ts +4 -0
  32. package/dist/cjs/template-components/index.js +25 -0
  33. package/dist/cjs/theme/GlobalTheme.js +4 -6
  34. package/dist/cjs/types/index.d.ts +71 -0
  35. package/dist/cjs/types/index.js +17 -0
  36. package/dist/es/basic-components/CompanyDatePicker/index.js +43 -2
  37. package/dist/es/basic-components/CompanyForm/index.d.ts +1 -1
  38. package/dist/es/basic-components/CompanyInput/index.d.ts +7 -2
  39. package/dist/es/basic-components/CompanyInput/index.js +66 -2
  40. package/dist/es/basic-components/CompanyMessage/index.d.ts +1 -0
  41. package/dist/es/basic-components/CompanyMessage/index.js +2 -1
  42. package/dist/es/basic-components/CompanyMessage/useCompanyMessage.d.ts +1 -0
  43. package/dist/es/basic-components/CompanyMessage/useCompanyMessage.js +6 -0
  44. package/dist/es/basic-components/CompanyTable/index.js +33 -1
  45. package/dist/es/index.d.ts +2 -0
  46. package/dist/es/index.js +4 -0
  47. package/dist/es/shared-components/ActionCell/index.d.ts +15 -0
  48. package/dist/es/shared-components/ActionCell/index.js +90 -0
  49. package/dist/es/shared-components/ActionCell/index.scss +36 -0
  50. package/dist/es/shared-components/FilterOptionsDrawer/index.d.ts +16 -0
  51. package/dist/es/shared-components/FilterOptionsDrawer/index.js +262 -0
  52. package/dist/es/shared-components/SvgIcon/index.d.ts +10 -0
  53. package/dist/es/shared-components/SvgIcon/index.js +27 -0
  54. package/dist/es/shared-components/index.d.ts +4 -0
  55. package/dist/es/shared-components/index.js +3 -0
  56. package/dist/es/template-components/ColumnSettingsPanel/index.d.ts +19 -0
  57. package/dist/es/template-components/ColumnSettingsPanel/index.js +200 -0
  58. package/dist/es/template-components/ColumnSettingsPanel/index.scss +148 -0
  59. package/dist/es/template-components/CommonListPage/index.js +2 -2
  60. package/dist/es/template-components/FilterForm/index.d.ts +12 -0
  61. package/dist/es/template-components/FilterForm/index.js +285 -0
  62. package/dist/es/template-components/FilterForm/index.scss +123 -0
  63. package/dist/es/template-components/SmartListTemplate/index.d.ts +40 -0
  64. package/dist/es/template-components/SmartListTemplate/index.js +978 -0
  65. package/dist/es/template-components/SmartListTemplate/index.scss +294 -0
  66. package/dist/es/template-components/index.d.ts +4 -0
  67. package/dist/es/template-components/index.js +4 -1
  68. package/dist/es/theme/GlobalTheme.js +4 -6
  69. package/dist/es/types/index.d.ts +71 -0
  70. package/dist/es/types/index.js +1 -0
  71. package/package.json +5 -1
@@ -1,6 +1,8 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
8
  for (var name in all)
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
14
16
  }
15
17
  return to;
16
18
  };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
17
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
28
 
19
29
  // src/basic-components/CompanyDatePicker/index.tsx
@@ -23,11 +33,31 @@ __export(CompanyDatePicker_exports, {
23
33
  });
24
34
  module.exports = __toCommonJS(CompanyDatePicker_exports);
25
35
  var import_antd = require("antd");
36
+ var import_zh_CN = __toESM(require("antd/locale/zh_CN"));
26
37
  var import_theme = require("../../theme");
27
38
  var import_jsx_runtime = require("react/jsx-runtime");
28
- var CompanyDatePicker = (props) => {
29
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker, { ...props }) });
39
+ var Picker = (props) => {
40
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker, { ...props }) });
30
41
  };
42
+ Picker.RangePicker = (props) => {
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker.RangePicker, { ...props }) });
44
+ };
45
+ Picker.WeekPicker = (props) => {
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker.WeekPicker, { ...props }) });
47
+ };
48
+ Picker.MonthPicker = (props) => {
49
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker.MonthPicker, { ...props }) });
50
+ };
51
+ Picker.QuarterPicker = (props) => {
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker.QuarterPicker, { ...props }) });
53
+ };
54
+ Picker.YearPicker = (props) => {
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { locale: import_zh_CN.default, theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.DatePicker.YearPicker, { ...props }) });
56
+ };
57
+ Picker._InternalPanelDoNotUseOrYouWillBeFired = import_antd.DatePicker._InternalPanelDoNotUseOrYouWillBeFired;
58
+ Picker._InternalRangePanelDoNotUseOrYouWillBeFired = import_antd.DatePicker._InternalRangePanelDoNotUseOrYouWillBeFired;
59
+ Picker.generatePicker = import_antd.DatePicker.generatePicker;
60
+ var CompanyDatePicker = Picker;
31
61
  // Annotate the CommonJS export names for ESM import in node:
32
62
  0 && (module.exports = {
33
63
  CompanyDatePicker
@@ -8,7 +8,7 @@ export declare const CompanyForm: (<Values = any>(props: FormProps<Values> & {
8
8
  useWatch: typeof import("@rc-component/form").useWatch;
9
9
  Item: (<Values_1 = any>(props: import("antd").FormItemProps<Values_1>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>) & {
10
10
  useStatus: () => {
11
- status?: "" | "success" | "error" | "warning" | "validating" | undefined;
11
+ status?: "" | "success" | "warning" | "error" | "validating" | undefined;
12
12
  errors: React.ReactNode[];
13
13
  warnings: React.ReactNode[];
14
14
  };
@@ -1,3 +1,8 @@
1
1
  import React from "react";
2
- import type { InputProps } from "antd";
3
- export declare const CompanyInput: React.FC<InputProps>;
2
+ export declare const CompanyInput: React.ForwardRefExoticComponent<import("antd").InputProps & React.RefAttributes<import("antd").InputRef>> & {
3
+ Group: React.FC<import("antd/es/input").GroupProps>;
4
+ Search: React.ForwardRefExoticComponent<import("antd/es/input").SearchProps & React.RefAttributes<import("antd").InputRef>>;
5
+ TextArea: React.ForwardRefExoticComponent<import("antd/es/input").TextAreaProps & React.RefAttributes<import("antd/es/input/TextArea").TextAreaRef>>;
6
+ Password: React.ForwardRefExoticComponent<import("antd/es/input").PasswordProps & React.RefAttributes<import("antd").InputRef>>;
7
+ OTP: React.ForwardRefExoticComponent<import("antd/es/input/OTP").OTPProps & React.RefAttributes<import("antd/es/input/OTP").OTPRef>>;
8
+ };
@@ -25,9 +25,16 @@ module.exports = __toCommonJS(CompanyInput_exports);
25
25
  var import_antd = require("antd");
26
26
  var import_theme = require("../../theme");
27
27
  var import_jsx_runtime = require("react/jsx-runtime");
28
- var CompanyInput = (props) => {
28
+ var CompanyInputComponent = (props) => {
29
29
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input, { ...props }) });
30
30
  };
31
+ var CompanyInput = Object.assign(CompanyInputComponent, {
32
+ Search: (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input.Search, { ...props }) }),
33
+ Password: (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input.Password, { ...props }) }),
34
+ TextArea: (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input.TextArea, { ...props }) }),
35
+ Group: (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input.Group, { ...props }) }),
36
+ OTP: (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Input.OTP, { ...props }) })
37
+ });
31
38
  // Annotate the CommonJS export names for ESM import in node:
32
39
  0 && (module.exports = {
33
40
  CompanyInput
@@ -9,3 +9,4 @@ export declare const CompanyMessage: {
9
9
  destroy: () => void;
10
10
  useMessage: any;
11
11
  };
12
+ export { useCompanyMessage } from "./useCompanyMessage";
@@ -19,12 +19,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/basic-components/CompanyMessage/index.tsx
20
20
  var CompanyMessage_exports = {};
21
21
  __export(CompanyMessage_exports, {
22
- CompanyMessage: () => CompanyMessage
22
+ CompanyMessage: () => CompanyMessage,
23
+ useCompanyMessage: () => import_useCompanyMessage.useCompanyMessage
23
24
  });
24
25
  module.exports = __toCommonJS(CompanyMessage_exports);
25
26
  var import_antd = require("antd");
27
+ var import_useCompanyMessage = require("./useCompanyMessage");
26
28
  var CompanyMessage = import_antd.message;
27
29
  // Annotate the CommonJS export names for ESM import in node:
28
30
  0 && (module.exports = {
29
- CompanyMessage
31
+ CompanyMessage,
32
+ useCompanyMessage
30
33
  });
@@ -0,0 +1 @@
1
+ export declare function useCompanyMessage(): import("antd/es/message/interface").MessageInstance;
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/basic-components/CompanyMessage/useCompanyMessage.ts
20
+ var useCompanyMessage_exports = {};
21
+ __export(useCompanyMessage_exports, {
22
+ useCompanyMessage: () => useCompanyMessage
23
+ });
24
+ module.exports = __toCommonJS(useCompanyMessage_exports);
25
+ var import_antd = require("antd");
26
+ function useCompanyMessage() {
27
+ const { message } = import_antd.App.useApp();
28
+ return message;
29
+ }
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ useCompanyMessage
33
+ });
@@ -25,8 +25,30 @@ module.exports = __toCommonJS(CompanyTable_exports);
25
25
  var import_antd = require("antd");
26
26
  var import_theme = require("../../theme");
27
27
  var import_jsx_runtime = require("react/jsx-runtime");
28
+ var HEADER_PADDING_BLOCK = 12;
28
29
  var CompanyTable = (props) => {
29
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Table, { ...props }) });
30
+ const { components: userComponents, ...restProps } = props;
31
+ const userHeader = userComponents == null ? void 0 : userComponents.header;
32
+ const userCell = userHeader == null ? void 0 : userHeader.cell;
33
+ const mergedComponents = {
34
+ ...userComponents,
35
+ header: {
36
+ ...userHeader,
37
+ cell: (cellProps) => {
38
+ const { style: antdStyle, ...restCellProps } = cellProps;
39
+ const mergedStyle = {
40
+ ...antdStyle || {},
41
+ paddingTop: HEADER_PADDING_BLOCK,
42
+ paddingBottom: HEADER_PADDING_BLOCK
43
+ };
44
+ if (userCell) {
45
+ return userCell({ ...restCellProps, style: mergedStyle });
46
+ }
47
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("th", { ...restCellProps, style: mergedStyle, children: cellProps.children });
48
+ }
49
+ }
50
+ };
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.ConfigProvider, { theme: import_theme.companyTheme, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Table, { ...restProps, components: mergedComponents }) });
30
52
  };
31
53
  // Annotate the CommonJS export names for ESM import in node:
32
54
  0 && (module.exports = {
@@ -1,8 +1,10 @@
1
1
  import "./global.css";
2
2
  import type { Locale } from "antd/es/locale";
3
3
  export * from "./basic-components";
4
+ export * from "./shared-components";
4
5
  export * from "./template-components";
5
6
  export * from "./theme";
7
+ export * from "./types";
6
8
  export declare const ThemeProvider: (props: {
7
9
  children: React.ReactNode;
8
10
  locale?: Locale;
package/dist/cjs/index.js CHANGED
@@ -27,8 +27,10 @@ var import_global = require("./global.css");
27
27
  var import_antd = require("antd");
28
28
  var import_theme = require("./theme");
29
29
  __reExport(src_exports, require("./basic-components"), module.exports);
30
+ __reExport(src_exports, require("./shared-components"), module.exports);
30
31
  __reExport(src_exports, require("./template-components"), module.exports);
31
32
  __reExport(src_exports, require("./theme"), module.exports);
33
+ __reExport(src_exports, require("./types"), module.exports);
32
34
  var import_jsx_runtime = require("react/jsx-runtime");
33
35
  var ThemeProvider = (props) => {
34
36
  const { children, locale } = props;
@@ -38,6 +40,8 @@ var ThemeProvider = (props) => {
38
40
  0 && (module.exports = {
39
41
  ThemeProvider,
40
42
  ...require("./basic-components"),
43
+ ...require("./shared-components"),
41
44
  ...require("./template-components"),
42
- ...require("./theme")
45
+ ...require("./theme"),
46
+ ...require("./types")
43
47
  });
@@ -0,0 +1,15 @@
1
+ import './index.scss';
2
+ export interface ActionButton {
3
+ key: string;
4
+ label: string;
5
+ danger?: boolean;
6
+ confirm?: boolean;
7
+ confirmTitle?: string;
8
+ onClick?: () => void;
9
+ }
10
+ interface ActionCellProps {
11
+ buttons: ActionButton[];
12
+ maxVisible?: number;
13
+ }
14
+ export default function ActionCell({ buttons, maxVisible, }: ActionCellProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,113 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/shared-components/ActionCell/index.tsx
30
+ var ActionCell_exports = {};
31
+ __export(ActionCell_exports, {
32
+ default: () => ActionCell
33
+ });
34
+ module.exports = __toCommonJS(ActionCell_exports);
35
+ var import_react = require("react");
36
+ var import_antd = require("antd");
37
+ var import_basic_components = require("../../basic-components");
38
+ var import_SvgIcon = __toESM(require("../SvgIcon"));
39
+ var import_index = require("./index.scss");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ function ActionCell({
42
+ buttons,
43
+ maxVisible = 2
44
+ }) {
45
+ const visibleButtons = (0, import_react.useMemo)(
46
+ () => buttons.slice(0, maxVisible),
47
+ [buttons, maxVisible]
48
+ );
49
+ const moreButtons = (0, import_react.useMemo)(
50
+ () => buttons.slice(maxVisible),
51
+ [buttons, maxVisible]
52
+ );
53
+ const handleClick = (btn) => {
54
+ var _a;
55
+ (_a = btn.onClick) == null ? void 0 : _a.call(btn);
56
+ };
57
+ const moreMenuItems = (0, import_react.useMemo)(
58
+ () => moreButtons.map((btn) => ({
59
+ key: btn.key,
60
+ label: btn.confirm ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
+ import_basic_components.CompanyPopconfirm,
62
+ {
63
+ title: btn.confirmTitle || "确定?",
64
+ onConfirm: () => handleClick(btn),
65
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: btn.label })
66
+ }
67
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: btn.label })
68
+ })),
69
+ [moreButtons]
70
+ );
71
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_antd.Space, { size: 4, children: [
72
+ visibleButtons.map(
73
+ (btn) => btn.confirm ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
+ import_basic_components.CompanyPopconfirm,
75
+ {
76
+ title: btn.confirmTitle || "确定?",
77
+ onConfirm: () => handleClick(btn),
78
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_basic_components.CompanyButton, { type: "link", danger: btn.danger, className: "action-btn", children: btn.label })
79
+ },
80
+ btn.key
81
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
82
+ import_basic_components.CompanyButton,
83
+ {
84
+ type: "link",
85
+ danger: btn.danger,
86
+ className: "action-btn",
87
+ onClick: () => handleClick(btn),
88
+ children: btn.label
89
+ },
90
+ btn.key
91
+ )
92
+ ),
93
+ moreButtons.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
+ import_basic_components.CompanyDropdown,
95
+ {
96
+ placement: "bottomRight",
97
+ popupRender: () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
98
+ import_antd.Menu,
99
+ {
100
+ style: { minWidth: 120 },
101
+ onClick: (info) => {
102
+ var _a;
103
+ const btn = moreButtons.find((b) => b.key === info.key);
104
+ (_a = btn == null ? void 0 : btn.onClick) == null ? void 0 : _a.call(btn);
105
+ },
106
+ items: moreMenuItems
107
+ }
108
+ ),
109
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_basic_components.CompanyButton, { type: "link", className: "action-more-btn", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SvgIcon.default, { href: "more-one", size: 16 }) })
110
+ }
111
+ )
112
+ ] });
113
+ }
@@ -0,0 +1,36 @@
1
+ .action-more-btn {
2
+ color: #F95914 !important;
3
+ background: transparent !important;
4
+ border: none !important;
5
+ padding: 0 !important;
6
+ display: flex !important;
7
+ align-items: center !important;
8
+ justify-content: center !important;
9
+ width: 32px !important;
10
+ height: 32px !important;
11
+ line-height: 1 !important;
12
+ }
13
+
14
+ .action-more-btn:hover,
15
+ .action-more-btn:focus,
16
+ .action-more-btn:active {
17
+ color: #F95914 !important;
18
+ background: rgba(0, 0, 0, 0.04) !important;
19
+ border: none !important;
20
+ }
21
+
22
+ .action-btn {
23
+ padding-left: 8px;
24
+ padding-right: 8px;
25
+ }
26
+
27
+ .action-btn:hover,
28
+ .action-btn:focus {
29
+ background: rgba(0, 0, 0, 0.04) !important;
30
+ color: #F95914 !important;
31
+ }
32
+
33
+ .action-btn:active {
34
+ background: rgba(0, 0, 0, 0.06) !important;
35
+ color: #F95914 !important;
36
+ }
@@ -0,0 +1,16 @@
1
+ import type { FilterOption } from '../../types';
2
+ interface FilterOptionsDrawerProps {
3
+ open: boolean;
4
+ options: FilterOption[];
5
+ isEdit?: boolean;
6
+ editName?: string;
7
+ editId?: string;
8
+ onClose?: () => void;
9
+ onSave?: (data: {
10
+ name: string;
11
+ id?: string;
12
+ options: FilterOption[];
13
+ }) => void;
14
+ }
15
+ export default function FilterOptionsDrawer({ open, options, isEdit, editName, editId, onClose, onSave, }: FilterOptionsDrawerProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,202 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/shared-components/FilterOptionsDrawer/index.tsx
30
+ var FilterOptionsDrawer_exports = {};
31
+ __export(FilterOptionsDrawer_exports, {
32
+ default: () => FilterOptionsDrawer
33
+ });
34
+ module.exports = __toCommonJS(FilterOptionsDrawer_exports);
35
+ var import_react = require("react");
36
+ var import_antd = require("antd");
37
+ var import_basic_components = require("../../basic-components");
38
+ var import_SvgIcon = __toESM(require("../SvgIcon"));
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ function FilterOptionsDrawer({
41
+ open,
42
+ options,
43
+ isEdit = false,
44
+ editName = "",
45
+ editId = "",
46
+ onClose,
47
+ onSave
48
+ }) {
49
+ const [schemeName, setSchemeName] = (0, import_react.useState)(editName);
50
+ const [editingId, setEditingId] = (0, import_react.useState)(editId);
51
+ const [localOptions, setLocalOptions] = (0, import_react.useState)([]);
52
+ const [dragIndex, setDragIndex] = (0, import_react.useState)(null);
53
+ (0, import_react.useEffect)(() => {
54
+ if (open) {
55
+ setLocalOptions(
56
+ options.map((opt) => ({
57
+ key: opt.key,
58
+ label: opt.label,
59
+ checked: opt.checked,
60
+ options: opt.options ? [...opt.options] : void 0,
61
+ defaultValue: opt.defaultValue
62
+ }))
63
+ );
64
+ setSchemeName(editName);
65
+ setEditingId(editId);
66
+ }
67
+ }, [open, options, editName, editId]);
68
+ const handleClose = (0, import_react.useCallback)(() => {
69
+ onClose == null ? void 0 : onClose();
70
+ }, [onClose]);
71
+ const handleSave = (0, import_react.useCallback)(() => {
72
+ if (!schemeName.trim())
73
+ return;
74
+ const selectedCount = localOptions.filter((opt) => opt.checked).length;
75
+ if (selectedCount === 0)
76
+ return;
77
+ onSave == null ? void 0 : onSave({
78
+ name: schemeName.trim(),
79
+ id: editingId,
80
+ options: [...localOptions]
81
+ });
82
+ }, [schemeName, localOptions, editingId, onSave]);
83
+ const handleCheckedChange = (0, import_react.useCallback)((index, checked) => {
84
+ setLocalOptions(
85
+ (prev) => prev.map((item, i) => i === index ? { ...item, checked } : item)
86
+ );
87
+ }, []);
88
+ const handleDefaultValueChange = (0, import_react.useCallback)((index, value) => {
89
+ setLocalOptions(
90
+ (prev) => prev.map((item, i) => i === index ? { ...item, defaultValue: value } : item)
91
+ );
92
+ }, []);
93
+ const handleDragStart = (0, import_react.useCallback)((event, index) => {
94
+ setDragIndex(index);
95
+ event.dataTransfer.effectAllowed = "move";
96
+ }, []);
97
+ const handleDragOver = (0, import_react.useCallback)((event) => {
98
+ event.preventDefault();
99
+ event.dataTransfer.dropEffect = "move";
100
+ }, []);
101
+ const handleDrop = (0, import_react.useCallback)((event, index) => {
102
+ event.preventDefault();
103
+ if (dragIndex === null || dragIndex === index)
104
+ return;
105
+ const items = [...localOptions];
106
+ const [dragItem] = items.splice(dragIndex, 1);
107
+ items.splice(index, 0, dragItem);
108
+ setLocalOptions(items);
109
+ setDragIndex(null);
110
+ }, [dragIndex, localOptions]);
111
+ const handleDragEnd = (0, import_react.useCallback)(() => {
112
+ setDragIndex(null);
113
+ }, []);
114
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ import_basic_components.CompanyDrawer,
116
+ {
117
+ title: isEdit ? "编辑视图" : "新增视图",
118
+ open,
119
+ onClose: handleClose,
120
+ size: 380,
121
+ footer: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { textAlign: "right" }, children: [
122
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_basic_components.CompanyButton, { onClick: handleClose, children: "取消" }),
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_basic_components.CompanyButton, { type: "primary", style: { marginLeft: 8 }, onClick: handleSave, children: "保存" })
124
+ ] }),
125
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 16 }, children: [
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "view-name-section", children: [
127
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { fontSize: 14, fontWeight: 500, color: "rgba(0, 0, 0, 0.85)", marginBottom: 8 }, children: [
128
+ "视图名称",
129
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { color: "#ff4d4f", marginLeft: 4 }, children: "*" })
130
+ ] }),
131
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
132
+ import_basic_components.CompanyInput,
133
+ {
134
+ value: schemeName,
135
+ onChange: (e) => setSchemeName(e.target.value),
136
+ placeholder: "请输入视图名称(最多8个字)",
137
+ maxLength: 8,
138
+ showCount: true
139
+ }
140
+ )
141
+ ] }),
142
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { fontSize: 12, color: "rgba(0, 0, 0, 0.45)", marginBottom: 8 }, children: "勾选并调整视图条件顺序后保存" }),
143
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: localOptions.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
144
+ "div",
145
+ {
146
+ draggable: true,
147
+ onDragStart: (e) => handleDragStart(e, index),
148
+ onDragOver: handleDragOver,
149
+ onDrop: (e) => handleDrop(e, index),
150
+ onDragEnd: handleDragEnd,
151
+ style: {
152
+ background: "#fafafa",
153
+ borderRadius: 4,
154
+ padding: 12,
155
+ cursor: "move",
156
+ transition: "background-color 0.2s"
157
+ },
158
+ onMouseEnter: (e) => {
159
+ e.currentTarget.style.background = "#f0f0f0";
160
+ },
161
+ onMouseLeave: (e) => {
162
+ e.currentTarget.style.background = "#fafafa";
163
+ },
164
+ children: [
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
166
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SvgIcon.default, { href: "drag", size: 16, style: { flexShrink: 0, cursor: "grab", color: "rgba(0, 0, 0, 0.25)" } }),
167
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
168
+ import_antd.Checkbox,
169
+ {
170
+ checked: item.checked,
171
+ onChange: (e) => handleCheckedChange(index, e.target.checked),
172
+ children: item.label
173
+ }
174
+ )
175
+ ] }),
176
+ item.checked && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { marginTop: 8, marginLeft: 24 }, children: item.options ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
177
+ import_basic_components.CompanySelect,
178
+ {
179
+ value: item.defaultValue || "",
180
+ onChange: (val) => handleDefaultValueChange(index, val),
181
+ options: item.options,
182
+ placeholder: "默认值",
183
+ style: { width: "100%" },
184
+ allowClear: true
185
+ }
186
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
187
+ import_basic_components.CompanyInput,
188
+ {
189
+ value: item.defaultValue || "",
190
+ onChange: (e) => handleDefaultValueChange(index, e.target.value),
191
+ placeholder: "默认日期",
192
+ style: { width: "100%" }
193
+ }
194
+ ) })
195
+ ]
196
+ },
197
+ item.key
198
+ )) })
199
+ ] })
200
+ }
201
+ );
202
+ }
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ interface SvgIconProps {
3
+ href: string;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ size?: number | string;
7
+ onClick?: (e: React.MouseEvent) => void;
8
+ }
9
+ export default function SvgIcon({ href, className, style, size, onClick }: SvgIconProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};