doui-react 2.0.7 → 2.0.8

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 (55) hide show
  1. package/es/color-picker/component/index.d.ts +2 -0
  2. package/es/color-picker/component/index.js +17 -0
  3. package/es/color-picker/index.d.ts +2 -0
  4. package/es/color-picker/index.js +2 -0
  5. package/es/color-picker/type/index.d.ts +7 -0
  6. package/es/color-picker/type/index.js +1 -0
  7. package/es/form/component/form-item-map.d.ts +2 -0
  8. package/es/form/component/form-item-map.js +2 -0
  9. package/es/form/component/utils.d.ts +8 -8
  10. package/es/index.d.ts +2 -1
  11. package/es/index.js +1 -0
  12. package/es/open-modal/style/index.js +1 -1
  13. package/es/radio/component/abstract-box.d.ts +30 -30
  14. package/es/table/component/display-column.d.ts +2 -0
  15. package/es/table/component/display-column.js +95 -0
  16. package/es/table/component/index.d.ts +2 -0
  17. package/es/table/component/index.js +3 -1
  18. package/es/table/component/table.js +3 -1
  19. package/es/table/component/utils.d.ts +2 -2
  20. package/es/table/component/utils.js +37 -20
  21. package/es/table/style/index.d.ts +1 -0
  22. package/es/table/style/index.js +3 -2
  23. package/es/table/type/display-column.d.ts +9 -0
  24. package/es/table/type/display-column.js +1 -0
  25. package/es/table/type/index.d.ts +6 -0
  26. package/es/table/type/index.js +1 -0
  27. package/es/tabs/component/utils.d.ts +7 -7
  28. package/lib/color-picker/component/index.d.ts +2 -0
  29. package/lib/color-picker/component/index.js +24 -0
  30. package/lib/color-picker/index.d.ts +2 -0
  31. package/lib/color-picker/index.js +27 -0
  32. package/lib/color-picker/type/index.d.ts +7 -0
  33. package/lib/color-picker/type/index.js +5 -0
  34. package/lib/form/component/form-item-map.d.ts +2 -0
  35. package/lib/form/component/form-item-map.js +2 -0
  36. package/lib/form/component/utils.d.ts +8 -8
  37. package/lib/index.d.ts +2 -1
  38. package/lib/index.js +8 -0
  39. package/lib/open-modal/style/index.js +1 -1
  40. package/lib/radio/component/abstract-box.d.ts +30 -30
  41. package/lib/table/component/display-column.d.ts +2 -0
  42. package/lib/table/component/display-column.js +102 -0
  43. package/lib/table/component/index.d.ts +2 -0
  44. package/lib/table/component/index.js +3 -1
  45. package/lib/table/component/table.js +3 -1
  46. package/lib/table/component/utils.d.ts +2 -2
  47. package/lib/table/component/utils.js +38 -20
  48. package/lib/table/style/index.d.ts +1 -0
  49. package/lib/table/style/index.js +3 -2
  50. package/lib/table/type/display-column.d.ts +9 -0
  51. package/lib/table/type/display-column.js +5 -0
  52. package/lib/table/type/index.d.ts +6 -0
  53. package/lib/table/type/index.js +11 -0
  54. package/lib/tabs/component/utils.d.ts +7 -7
  55. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { TableProps as AntdTableProps } from 'antd';
6
6
  import { ReactNode } from 'react';
7
7
  export * from './action';
8
8
  export * from './column';
9
+ export * from './display-column';
9
10
  export type DataSource = any[];
10
11
  export interface TableContext {
11
12
  /**
@@ -37,8 +38,13 @@ export interface TableContext {
37
38
  * @description 设置表格上下文
38
39
  */
39
40
  setContext(state: any): void;
41
+ /**
42
+ * @description 列配置
43
+ */
44
+ columns: Column[];
40
45
  rowKey: string;
41
46
  editorValueKey: string;
47
+ displayColumnKeys?: string[];
42
48
  [key: string]: any;
43
49
  }
44
50
  export interface RefreshProps {
@@ -1,5 +1,6 @@
1
1
  export * from "./action";
2
2
  export * from "./column";
3
+ export * from "./display-column";
3
4
 
4
5
  /**
5
6
  * @noExtends
@@ -6,19 +6,19 @@ export declare function getRenderTabBar({ type, items, size, tabBarGutter, tabBa
6
6
  export declare function generateTabItems({ items }: TabsProps): {
7
7
  label: import("@emotion/react/jsx-runtime").JSX.Element;
8
8
  key: string;
9
- children?: import("react").ReactNode;
9
+ prefixCls?: string | undefined;
10
+ disabled?: boolean | undefined;
10
11
  className?: string | undefined;
11
12
  style?: import("react").CSSProperties | undefined;
12
- closable?: boolean | undefined;
13
- prefixCls?: string | undefined;
14
- closeIcon?: import("react").ReactNode;
13
+ children?: import("react").ReactNode;
15
14
  forceRender?: boolean | undefined;
16
15
  id?: string | undefined;
17
- disabled?: boolean | undefined;
18
- icon?: import("react").ReactNode;
19
- active?: boolean | undefined;
20
16
  destroyInactiveTabPane?: boolean | undefined;
21
17
  animated?: boolean | undefined;
18
+ closable?: boolean | undefined;
19
+ closeIcon?: import("react").ReactNode;
20
+ icon?: import("react").ReactNode;
22
21
  tabKey?: string | undefined;
22
+ active?: boolean | undefined;
23
23
  }[];
24
24
  export {};
@@ -0,0 +1,2 @@
1
+ import { ColorPickerProps } from '../type';
2
+ export declare function ColorPicker({ onChange, ...props }: ColorPickerProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ColorPicker = ColorPicker;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _api = require("../../api");
11
+ var _antd = require("antd");
12
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
13
+ var _excluded = ["onChange"];
14
+ function ColorPicker(_ref) {
15
+ var _onChange = _ref.onChange,
16
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
17
+ return (0, _jsxRuntime.jsx)(_antd.ColorPicker, (0, _objectSpread2.default)({
18
+ allowClear: true,
19
+ onChange: function onChange(color) {
20
+ _onChange === null || _onChange === void 0 || _onChange(color.cleared ? undefined : color.toHexString());
21
+ },
22
+ getPopupContainer: _api.getPopupContainer
23
+ }, props));
24
+ }
@@ -0,0 +1,2 @@
1
+ export * from './component';
2
+ export * from './type';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _component = require("./component");
7
+ Object.keys(_component).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _component[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _component[key];
14
+ }
15
+ });
16
+ });
17
+ var _type = require("./type");
18
+ Object.keys(_type).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _type[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _type[key];
25
+ }
26
+ });
27
+ });
@@ -0,0 +1,7 @@
1
+ import { ColorPickerProps as AntdColorPickerProps } from 'antd';
2
+ export interface ColorPickerProps extends Omit<AntdColorPickerProps, 'onChange'> {
3
+ /**
4
+ * @description 回调方法
5
+ */
6
+ onChange?: (value?: string) => void;
7
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CheckboxProps } from "../../checkbox";
3
+ import { ColorPicker } from "../../color-picker";
3
4
  import { DatePicker, RangePicker } from "../../date-picker";
4
5
  import { FormInstance, FormItemContext, FormItemProps } from "..";
5
6
  import { Radio } from "../../radio";
@@ -35,6 +36,7 @@ export declare const formItemMap: {
35
36
  switch: typeof Switch;
36
37
  radio: typeof Radio;
37
38
  slider: import("react").ForwardRefExoticComponent<(import("antd").SliderSingleProps | import("antd/es/slider").SliderRangeProps) & import("react").RefAttributes<import("rc-slider").SliderRef>>;
39
+ colorPicker: typeof ColorPicker;
38
40
  date: typeof DatePicker;
39
41
  rangeDate: typeof RangePicker;
40
42
  };
@@ -11,6 +11,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
  var _checkbox = require("../../checkbox");
14
+ var _colorPicker = require("../../color-picker");
14
15
  var _datePicker = require("../../date-picker");
15
16
  var _ = require("./..");
16
17
  var _hooks = require("../../hooks");
@@ -124,6 +125,7 @@ var formItemMap = exports.formItemMap = (0, _objectSpread2.default)({
124
125
  switch: _switch.Switch,
125
126
  radio: _radio.Radio,
126
127
  slider: _antd.Slider,
128
+ colorPicker: _colorPicker.ColorPicker,
127
129
  date: _datePicker.DatePicker,
128
130
  rangeDate: _datePicker.RangePicker
129
131
  }, supportCollectStateItem);
@@ -38,26 +38,26 @@ export declare function getFormItemProps(props: any): {
38
38
  defaultVisible?: boolean | undefined;
39
39
  onVisibleChange?: ((visible: boolean) => void) | undefined;
40
40
  afterVisibleChange?: ((visible: boolean) => void) | undefined;
41
- zIndex?: number | undefined;
42
- animation?: string | undefined;
43
- motion?: import("rc-motion").CSSMotionProps | undefined;
44
- transitionName?: string | undefined;
45
41
  prefixCls?: string | undefined;
46
- forceRender?: boolean | undefined;
47
- id?: string | undefined;
48
- align?: import("@rc-component/trigger").AlignType | undefined;
49
42
  onPopupAlign?: ((element: HTMLElement, align: import("@rc-component/trigger").AlignType) => void) | undefined;
50
43
  fresh?: boolean | undefined;
51
44
  mouseLeaveDelay?: number | undefined;
52
45
  mouseEnterDelay?: number | undefined;
46
+ forceRender?: boolean | undefined;
53
47
  popupVisible?: boolean | undefined;
54
48
  trigger?: import("@rc-component/trigger").ActionType | import("@rc-component/trigger").ActionType[] | undefined;
49
+ transitionName?: string | undefined;
50
+ animation?: string | undefined;
51
+ motion?: import("rc-motion").CSSMotionProps | undefined;
55
52
  overlayStyle?: import("react").CSSProperties | undefined;
56
53
  overlayClassName?: string | undefined;
57
54
  getTooltipContainer?: ((node: HTMLElement) => HTMLElement) | undefined;
55
+ align?: import("@rc-component/trigger").AlignType | undefined;
58
56
  showArrow?: boolean | import("@rc-component/trigger").ArrowType | undefined;
59
57
  arrowContent?: import("react").ReactNode;
58
+ id?: string | undefined;
60
59
  overlayInnerStyle?: import("react").CSSProperties | undefined;
60
+ zIndex?: number | undefined;
61
61
  icon: import("@emotion/react/jsx-runtime").JSX.Element;
62
62
  } | undefined;
63
63
  initialValue: any;
@@ -85,7 +85,7 @@ export declare function transformPathToName(path?: NamePath): string | undefined
85
85
  export declare function transformKeyToPath(params?: Record<string, any>): Record<string, any>;
86
86
  export declare function parseFormFailedError(error: ValidateErrorEntity): Record<string, string>;
87
87
  export declare function noStyle(item: FormItemProps): boolean;
88
- export declare function transformOptions(item: FormItemProps, values: FormValues, params: CommonParams): ((values: FormValues, params: import("..").OptionsParams) => import("../../api").FunctionReturn<SelectOptions>) | import("../../api").FunctionReturn<SelectOptions> | ((search?: string) => import("../../api").FunctionReturn<SelectOptions>) | undefined;
88
+ export declare function transformOptions(item: FormItemProps, values: FormValues, params: CommonParams): import("../../api").FunctionReturn<SelectOptions> | ((values: FormValues, params: import("..").OptionsParams) => import("../../api").FunctionReturn<SelectOptions>) | ((search?: string) => import("../../api").FunctionReturn<SelectOptions>) | undefined;
89
89
  interface FocusFirstInputParams extends CommonParams {
90
90
  focusFirstOnMount: FormProps['focusFirstOnMount'];
91
91
  }
package/lib/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './hooks';
3
3
  export * from './icon';
4
4
  export { Button, type ButtonProps } from './button';
5
5
  export { Checkbox, type CheckboxProps } from './checkbox';
6
+ export { ColorPicker, type ColorPickerProps } from './color-picker';
6
7
  export { DatePicker, RangePicker, type DatePickerProps, type RangePickerProps } from './date-picker';
7
8
  export { Empty, type EmptyProps } from './empty';
8
9
  export { Form, useForm, useFormContext, useFormListContext, useFormValue, useFormValueChange, useValidateForm, useValidateNotExistValue, type FormContext, type FormItemChildrenProps, type FormItemProps, type FormItemRenderProps, type FormProps, type FormValues, type SubmitButtonProps, } from './form';
@@ -16,7 +17,7 @@ export { Radio, type RadioProps } from './radio';
16
17
  export { Select, type SelectProps } from './select';
17
18
  export { CenterStack, HStack, VStack, type CenterStackProps, type HStackProps, type VStackProps } from './stack';
18
19
  export { Switch, type SwitchProps } from './switch';
19
- export { Table, useSearchColumn, useTableContext, type ActionProps as TableActionProps, type Column as TableColumn, type RenderProps as TableColumnRenderProps, type TableContext, type TableProps, } from './table';
20
+ export { Table, useSearchColumn, useTableContext, type DisplayColumnProps, type ActionProps as TableActionProps, type Column as TableColumn, type RenderProps as TableColumnRenderProps, type TableContext, type TableProps, } from './table';
20
21
  export { Tabs, type TabsProps } from './tabs';
21
22
  export { Text, type TextProps } from './text';
22
23
  export { Tooltip, type TooltipProps } from './tooltip';
package/lib/index.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  Button: true,
8
8
  Checkbox: true,
9
+ ColorPicker: true,
9
10
  DatePicker: true,
10
11
  RangePicker: true,
11
12
  Empty: true,
@@ -63,6 +64,12 @@ Object.defineProperty(exports, "Checkbox", {
63
64
  return _checkbox.Checkbox;
64
65
  }
65
66
  });
67
+ Object.defineProperty(exports, "ColorPicker", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _colorPicker.ColorPicker;
71
+ }
72
+ });
66
73
  Object.defineProperty(exports, "DatePicker", {
67
74
  enumerable: true,
68
75
  get: function get() {
@@ -323,6 +330,7 @@ Object.keys(_icon).forEach(function (key) {
323
330
  });
324
331
  var _button = require("./button");
325
332
  var _checkbox = require("./checkbox");
333
+ var _colorPicker = require("./color-picker");
326
334
  var _datePicker = require("./date-picker");
327
335
  var _empty = require("./empty");
328
336
  var _form = require("./form");
@@ -19,7 +19,7 @@ var style = {
19
19
  wrapper: function wrapper(_ref) {
20
20
  var bodyBottomMargin = _ref.bodyBottomMargin,
21
21
  titleCenter = _ref.titleCenter;
22
- return (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n .ant-modal-title {\n font-size: 16px;\n ", "\n }\n\n .ant-modal-body {\n overflow: auto;\n max-height: calc(100vh - 300px);\n border-top: 1px solid #f0f0f0;\n border-bottom: 1px solid #f0f0f0;\n margin: 15px 0 20px;\n padding: 20px 0 ", ";\n }\n\n .do-table-wrapper {\n height: unset;\n }\n\n &:not(:has(.ant-modal-footer)) {\n .", " {\n display: none;\n }\n }\n "])), titleStyle(titleCenter), bodyBottomMargin, (0, _api.getClassName)('footer-divider'));
22
+ return (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n .ant-modal-title {\n font-size: 16px;\n ", "\n }\n\n .ant-modal-body {\n overflow: hidden auto;\n max-height: calc(100vh - 300px);\n border-top: 1px solid #f0f0f0;\n border-bottom: 1px solid #f0f0f0;\n margin: 15px 0 20px;\n padding: 20px 0 ", ";\n }\n\n .do-table-wrapper {\n height: unset;\n }\n\n &:not(:has(.ant-modal-footer)) {\n .", " {\n display: none;\n }\n }\n "])), titleStyle(titleCenter), bodyBottomMargin, (0, _api.getClassName)('footer-divider'));
23
23
  }
24
24
  };
25
25
  var _default = exports.default = style;
@@ -36,26 +36,26 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
36
36
  defaultVisible?: boolean | undefined;
37
37
  onVisibleChange?: ((visible: boolean) => void) | undefined;
38
38
  afterVisibleChange?: ((visible: boolean) => void) | undefined;
39
- zIndex?: number | undefined;
40
- animation?: string | undefined;
41
- motion?: import("rc-motion").CSSMotionProps | undefined;
42
- transitionName?: string | undefined;
43
39
  prefixCls?: string | undefined;
44
- forceRender?: boolean | undefined;
45
- id?: string | undefined;
46
- align?: import("@rc-component/trigger").AlignType | undefined;
47
40
  onPopupAlign?: ((element: HTMLElement, align: import("@rc-component/trigger").AlignType) => void) | undefined;
48
41
  fresh?: boolean | undefined;
49
42
  mouseLeaveDelay?: number | undefined;
50
43
  mouseEnterDelay?: number | undefined;
44
+ forceRender?: boolean | undefined;
51
45
  popupVisible?: boolean | undefined;
52
46
  trigger?: import("@rc-component/trigger").ActionType | import("@rc-component/trigger").ActionType[] | undefined;
47
+ transitionName?: string | undefined;
48
+ animation?: string | undefined;
49
+ motion?: import("rc-motion").CSSMotionProps | undefined;
53
50
  overlayStyle?: import("react").CSSProperties | undefined;
54
51
  overlayClassName?: string | undefined;
55
52
  getTooltipContainer?: ((node: HTMLElement) => HTMLElement) | undefined;
53
+ align?: import("@rc-component/trigger").AlignType | undefined;
56
54
  showArrow?: boolean | import("@rc-component/trigger").ArrowType | undefined;
57
55
  arrowContent?: import("react").ReactNode;
56
+ id?: string | undefined;
58
57
  overlayInnerStyle?: import("react").CSSProperties | undefined;
58
+ zIndex?: number | undefined;
59
59
  };
60
60
  boxProps: {
61
61
  onChange(e: CheckboxChangeEvent): void;
@@ -65,50 +65,49 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
65
65
  value?: any;
66
66
  boxTooltip?: import("react").ReactNode | import("antd").TooltipProps;
67
67
  inGroup?: boolean | undefined;
68
+ prefixCls?: string | undefined;
69
+ disabled?: boolean | undefined;
68
70
  className?: string | undefined;
69
71
  style?: import("react").CSSProperties | undefined;
70
- title?: string | undefined;
71
- prefixCls?: string | undefined;
72
+ id?: string | undefined;
72
73
  rootClassName?: string | undefined;
74
+ checked?: boolean | undefined;
73
75
  name?: string | undefined;
76
+ required?: boolean | undefined;
77
+ type?: string | undefined;
74
78
  defaultChecked?: boolean | undefined;
75
79
  autoFocus?: boolean | undefined;
76
- id?: string | undefined;
77
80
  tabIndex?: number | undefined;
81
+ title?: string | undefined;
78
82
  onKeyDown?: import("react").KeyboardEventHandler<HTMLElement> | undefined;
79
83
  onKeyPress?: import("react").KeyboardEventHandler<HTMLElement> | undefined;
80
84
  onClick?: import("react").MouseEventHandler<HTMLElement> | undefined;
81
85
  onMouseEnter?: import("react").MouseEventHandler<HTMLElement> | undefined;
82
86
  onMouseLeave?: import("react").MouseEventHandler<HTMLElement> | undefined;
83
- disabled?: boolean | undefined;
84
- type?: string | undefined;
85
- checked?: boolean | undefined;
86
- required?: boolean | undefined;
87
87
  indeterminate?: boolean | undefined;
88
88
  skipGroup?: boolean | undefined;
89
- color?: string | undefined;
90
- content?: string | undefined;
91
- direction?: import("antd/es/config-provider").DirectionType;
92
- translate?: "yes" | "no" | undefined;
93
- onSubmit?: import("react").FormEventHandler<HTMLElement> | undefined;
94
89
  defaultValue?: string | number | readonly string[] | undefined;
90
+ color?: string | undefined;
91
+ rows?: number | false | undefined;
95
92
  suppressContentEditableWarning?: boolean | undefined;
96
93
  suppressHydrationWarning?: boolean | undefined;
97
94
  accessKey?: string | undefined;
98
- autoCapitalize?: (string & {}) | "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined;
99
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
95
+ autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
96
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
100
97
  contextMenu?: string | undefined;
101
98
  dir?: string | undefined;
102
99
  draggable?: (boolean | "true" | "false") | undefined;
103
- enterKeyHint?: "done" | "enter" | "go" | "next" | "previous" | "search" | "send" | undefined;
100
+ enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
104
101
  hidden?: boolean | undefined;
105
102
  lang?: string | undefined;
106
103
  nonce?: string | undefined;
107
104
  slot?: string | undefined;
108
105
  spellCheck?: (boolean | "true" | "false") | undefined;
106
+ translate?: "yes" | "no" | undefined;
109
107
  radioGroup?: string | undefined;
110
108
  role?: import("react").AriaRole | undefined;
111
109
  about?: string | undefined;
110
+ content?: string | undefined;
112
111
  datatype?: string | undefined;
113
112
  inlist?: any;
114
113
  prefix?: string | undefined;
@@ -128,13 +127,13 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
128
127
  results?: number | undefined;
129
128
  security?: string | undefined;
130
129
  unselectable?: "off" | "on" | undefined;
131
- inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
130
+ inputMode?: "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined;
132
131
  is?: string | undefined;
133
132
  exportparts?: string | undefined;
134
133
  part?: string | undefined;
135
134
  "aria-activedescendant"?: string | undefined;
136
135
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
137
- "aria-autocomplete"?: "inline" | "none" | "list" | "both" | undefined;
136
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
138
137
  "aria-braillelabel"?: string | undefined;
139
138
  "aria-brailleroledescription"?: string | undefined;
140
139
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -144,17 +143,17 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
144
143
  "aria-colindextext"?: string | undefined;
145
144
  "aria-colspan"?: number | undefined;
146
145
  "aria-controls"?: string | undefined;
147
- "aria-current"?: boolean | "page" | "true" | "false" | "step" | "location" | "date" | "time" | undefined;
146
+ "aria-current"?: boolean | "step" | "true" | "false" | "page" | "location" | "date" | "time" | undefined;
148
147
  "aria-describedby"?: string | undefined;
149
148
  "aria-description"?: string | undefined;
150
149
  "aria-details"?: string | undefined;
151
150
  "aria-disabled"?: (boolean | "true" | "false") | undefined;
152
- "aria-dropeffect"?: "none" | "link" | "copy" | "execute" | "move" | "popup" | undefined;
151
+ "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
153
152
  "aria-errormessage"?: string | undefined;
154
153
  "aria-expanded"?: (boolean | "true" | "false") | undefined;
155
154
  "aria-flowto"?: string | undefined;
156
155
  "aria-grabbed"?: (boolean | "true" | "false") | undefined;
157
- "aria-haspopup"?: boolean | "grid" | "true" | "false" | "dialog" | "listbox" | "menu" | "tree" | undefined;
156
+ "aria-haspopup"?: boolean | "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
158
157
  "aria-hidden"?: (boolean | "true" | "false") | undefined;
159
158
  "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
160
159
  "aria-keyshortcuts"?: string | undefined;
@@ -165,13 +164,13 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
165
164
  "aria-modal"?: (boolean | "true" | "false") | undefined;
166
165
  "aria-multiline"?: (boolean | "true" | "false") | undefined;
167
166
  "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
168
- "aria-orientation"?: "vertical" | "horizontal" | undefined;
167
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
169
168
  "aria-owns"?: string | undefined;
170
169
  "aria-placeholder"?: string | undefined;
171
170
  "aria-posinset"?: number | undefined;
172
171
  "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
173
172
  "aria-readonly"?: (boolean | "true" | "false") | undefined;
174
- "aria-relevant"?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
173
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
175
174
  "aria-required"?: (boolean | "true" | "false") | undefined;
176
175
  "aria-roledescription"?: string | undefined;
177
176
  "aria-rowcount"?: number | undefined;
@@ -209,6 +208,7 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
209
208
  onInputCapture?: import("react").FormEventHandler<HTMLElement> | undefined;
210
209
  onReset?: import("react").FormEventHandler<HTMLElement> | undefined;
211
210
  onResetCapture?: import("react").FormEventHandler<HTMLElement> | undefined;
211
+ onSubmit?: import("react").FormEventHandler<HTMLElement> | undefined;
212
212
  onSubmitCapture?: import("react").FormEventHandler<HTMLElement> | undefined;
213
213
  onInvalid?: import("react").FormEventHandler<HTMLElement> | undefined;
214
214
  onInvalidCapture?: import("react").FormEventHandler<HTMLElement> | undefined;
@@ -337,8 +337,8 @@ export declare function useAbstractBox({ refs, boxTooltip, value, onChange, inGr
337
337
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLElement> | undefined;
338
338
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLElement> | undefined;
339
339
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLElement> | undefined;
340
+ direction?: import("antd/es/config-provider").DirectionType;
340
341
  tooltip?: import("react").ReactNode | import("antd").TooltipProps;
341
- rows?: number | false | undefined;
342
342
  autoShowTooltip?: boolean | undefined;
343
343
  refs?: import("../../api").Refs | undefined;
344
344
  ref: import("../../api").Refs | undefined;
@@ -0,0 +1,2 @@
1
+ import { DisplayColumnProps } from "..";
2
+ export declare function DisplayColumn({ value, onChange, storageKey, ...props }: DisplayColumnProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DisplayColumn = DisplayColumn;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _api = require("../../api");
12
+ var _button = require("../../button");
13
+ var _checkbox = require("../../checkbox");
14
+ var _2 = require("./..");
15
+ var _icons = require("@ant-design/icons");
16
+ var _antd = require("antd");
17
+ var _lodash = _interopRequireDefault(require("lodash"));
18
+ var _react = require("react");
19
+ var _reactUse = require("react-use");
20
+ var _style = _interopRequireDefault(require("../style"));
21
+ var _utils = require("./utils");
22
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
+ var _excluded = ["value", "onChange", "storageKey"];
24
+ function useControllableState(_ref) {
25
+ var value = _ref.value,
26
+ onChange = _ref.onChange,
27
+ _ref$storageKey = _ref.storageKey,
28
+ storageKey = _ref$storageKey === void 0 ? 'default' : _ref$storageKey,
29
+ defaultOptions = _ref.defaultOptions;
30
+ var finalStorageKey = "table-display-column-".concat(storageKey);
31
+ var _useLocalStorage = (0, _reactUse.useLocalStorage)(finalStorageKey, defaultOptions),
32
+ _useLocalStorage2 = (0, _slicedToArray2.default)(_useLocalStorage, 2),
33
+ internalValue = _useLocalStorage2[0],
34
+ setInternalValue = _useLocalStorage2[1];
35
+ var _useTableContext = (0, _2.useTableContext)(),
36
+ setContext = _useTableContext.setContext;
37
+ var finalValue = value !== null && value !== void 0 ? value : internalValue;
38
+ (0, _react.useEffect)(function () {
39
+ setContext({
40
+ displayColumnKeys: finalValue
41
+ });
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ }, [finalValue]);
44
+ return {
45
+ value: finalValue,
46
+ onChange: onChange !== null && onChange !== void 0 ? onChange : setInternalValue
47
+ };
48
+ }
49
+ function useOptions() {
50
+ var _useTableContext2 = (0, _2.useTableContext)(),
51
+ columns = _useTableContext2.columns;
52
+ var options = _lodash.default.filter(columns, function (column) {
53
+ return column.title && !(0, _utils.isActionsColumn)(column);
54
+ }).map(function (column) {
55
+ return {
56
+ label: column.title,
57
+ value: column.dataIndex
58
+ };
59
+ });
60
+ return {
61
+ options: options,
62
+ defaultOptions: _lodash.default.map(options, 'value')
63
+ };
64
+ }
65
+ function Content(props) {
66
+ var _useOptions = useOptions(),
67
+ options = _useOptions.options,
68
+ defaultOptions = _useOptions.defaultOptions;
69
+ var _useControllableState = useControllableState((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
70
+ defaultOptions: defaultOptions
71
+ })),
72
+ value = _useControllableState.value,
73
+ onChange = _useControllableState.onChange;
74
+ return (0, _jsxRuntime.jsx)(_checkbox.Checkbox, {
75
+ value: value,
76
+ onChange: onChange,
77
+ options: options,
78
+ sort: false,
79
+ css: _style.default.displayColumn
80
+ });
81
+ }
82
+ function DisplayColumn(_ref2) {
83
+ var value = _ref2.value,
84
+ onChange = _ref2.onChange,
85
+ storageKey = _ref2.storageKey,
86
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
87
+ return (0, _jsxRuntime.jsx)(_antd.Popover, {
88
+ placement: "bottomRight",
89
+ arrow: false,
90
+ trigger: "click",
91
+ forceRender: true,
92
+ getPopupContainer: _api.getPopupContainer,
93
+ content: (0, _jsxRuntime.jsx)(Content, {
94
+ value: value,
95
+ onChange: onChange,
96
+ storageKey: storageKey
97
+ }),
98
+ children: (0, _jsxRuntime.jsx)(_button.Button, (0, _objectSpread2.default)({
99
+ icon: (0, _jsxRuntime.jsx)(_icons.SettingOutlined, {})
100
+ }, props))
101
+ });
102
+ }
@@ -1,7 +1,9 @@
1
1
  import { ActionButton } from './action-button';
2
+ import { DisplayColumn } from './display-column';
2
3
  import { Table as InternalTable } from './table';
3
4
  type TableType = typeof InternalTable & {
4
5
  ActionButton: typeof ActionButton;
6
+ DisplayColumn: typeof DisplayColumn;
5
7
  };
6
8
  export declare const Table: TableType;
7
9
  export {};
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Table = void 0;
7
7
  var _actionButton = require("./action-button");
8
+ var _displayColumn = require("./display-column");
8
9
  var _table = require("./table");
9
10
  var Table = exports.Table = _table.Table;
10
- Table.ActionButton = _actionButton.ActionButton;
11
+ Table.ActionButton = _actionButton.ActionButton;
12
+ Table.DisplayColumn = _displayColumn.DisplayColumn;
@@ -112,6 +112,7 @@ function useInit(_ref2) {
112
112
  },
113
113
  operation: operation,
114
114
  rowKey: rowKey,
115
+ columns: columns,
115
116
  editorValueKey: editorValueKey
116
117
  });
117
118
  function updateSelectedStatus(keys) {
@@ -196,7 +197,8 @@ function useTable(_ref4) {
196
197
  columns: _lodash.default.reject(restProps.columns, {
197
198
  type: 'selection'
198
199
  }),
199
- getSearchColumn: getSearchColumn
200
+ getSearchColumn: getSearchColumn,
201
+ context: params.context
200
202
  });
201
203
  return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
202
204
  onRow: function onRow(record) {
@@ -1,5 +1,4 @@
1
1
  import { FormInstance, FormProps } from "../../form";
2
- import type { ColumnType } from 'antd/es/table';
3
2
  import type { TableRowSelection } from 'antd/es/table/interface';
4
3
  import { Column, DataSource, GetSearchColumn, TableContext, TableProps } from '../type';
5
4
  import { Actions } from './actions';
@@ -20,7 +19,8 @@ export declare const componentMap: {
20
19
  editor: typeof Editor;
21
20
  default: (props: any) => any;
22
21
  };
23
- export declare function generateColumns({ columns, getSearchColumn }: GenerateColumnsProps): ColumnType<any>[];
22
+ export declare function isActionsColumn(column: Column): boolean;
23
+ export declare function generateColumns({ columns, getSearchColumn, context }: GenerateColumnsProps): Column[];
24
24
  interface RowSelectionProps {
25
25
  rowKey: string;
26
26
  columns: Column[];