@gx-design-vue/pro-table 0.0.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 (52) hide show
  1. package/README.md +1 -0
  2. package/dist/ProTable.d.ts +704 -0
  3. package/dist/_utils/ant-design-vue/index.d.ts +5 -0
  4. package/dist/_utils/ant-design-vue/pagination/typings.d.ts +1 -0
  5. package/dist/_utils/ant-design-vue/table/props.d.ts +191 -0
  6. package/dist/_utils/ant-design-vue/table/typings.d.ts +11 -0
  7. package/dist/_utils/gx-design-vue/extract-public-props.d.ts +7 -0
  8. package/dist/_utils/gx-design-vue/index.d.ts +2 -0
  9. package/dist/_utils/gx-design-vue/typings.d.ts +1 -0
  10. package/dist/_utils/hooks/useRefFunction/index.d.ts +1 -0
  11. package/dist/_utils/index.d.ts +15 -0
  12. package/dist/_utils/typings.d.ts +40 -0
  13. package/dist/components/ColumnSetting/index.d.ts +10 -0
  14. package/dist/components/ColumnSetting/style.less +95 -0
  15. package/dist/components/Form/index.d.ts +35 -0
  16. package/dist/components/Form/style.less +42 -0
  17. package/dist/components/Form/useForm.d.ts +6 -0
  18. package/dist/components/ListToolBar/index.d.ts +61 -0
  19. package/dist/components/ListToolBar/style.less +62 -0
  20. package/dist/components/ToolBar/DensityIcon.d.ts +3 -0
  21. package/dist/components/ToolBar/FullscreenIcon.d.ts +3 -0
  22. package/dist/components/ToolBar/index.d.ts +16 -0
  23. package/dist/components/ToolBar/style.less +40 -0
  24. package/dist/context/TableContext.d.ts +25 -0
  25. package/dist/design/config.less +7 -0
  26. package/dist/hooks/core/index.d.ts +3 -0
  27. package/dist/hooks/core/useMemo.d.ts +10 -0
  28. package/dist/hooks/core/useTimeout.d.ts +11 -0
  29. package/dist/hooks/useColumnSetting.d.ts +30 -0
  30. package/dist/hooks/useColums.d.ts +24 -0
  31. package/dist/hooks/useDebounceFn.d.ts +10 -0
  32. package/dist/hooks/useFetchData.d.ts +37 -0
  33. package/dist/hooks/useLoading.d.ts +17 -0
  34. package/dist/hooks/usePagination.d.ts +11 -0
  35. package/dist/hooks/useRowSelection.d.ts +9 -0
  36. package/dist/hooks/useTableForm.d.ts +15 -0
  37. package/dist/hooks/useTableScroll.d.ts +27 -0
  38. package/dist/hooks/useTableSize.d.ts +9 -0
  39. package/dist/index.d.ts +6 -0
  40. package/dist/pro-table.mjs +2095 -0
  41. package/dist/pro-table.umd.js +1 -0
  42. package/dist/props.d.ts +433 -0
  43. package/dist/style/index.less +168 -0
  44. package/dist/style/table.less +42 -0
  45. package/dist/style.css +1 -0
  46. package/dist/style.less +5 -0
  47. package/dist/types/column.d.ts +147 -0
  48. package/dist/types/table.d.ts +78 -0
  49. package/dist/typings/components.d.ts +6 -0
  50. package/dist/utils/index.d.ts +86 -0
  51. package/dist/utils/validate.d.ts +25 -0
  52. package/package.json +74 -0
@@ -0,0 +1,5 @@
1
+ import PropTypes from 'ant-design-vue/es/_util/vue-types';
2
+ export { PropTypes };
3
+ export * from './pagination/typings';
4
+ export * from './table/typings';
5
+ export * from './table/props';
@@ -0,0 +1 @@
1
+ export type { PaginationProps } from 'ant-design-vue/es/pagination';
@@ -0,0 +1,191 @@
1
+ import type { PropType } from 'vue';
2
+ import type { ColumnsType, ColumnType, ContextSlots, FilterValue, GetPopupContainer, SorterResult, SortOrder, TableCurrentDataSource, TableLocale, TablePaginationConfig, TableRowSelection } from './typings';
3
+ import type { SizeType, SpinProps, TooltipProps } from '../../index';
4
+ export declare const tableProps: {
5
+ prefixCls: {
6
+ type: PropType<string>;
7
+ default: undefined;
8
+ };
9
+ columns: {
10
+ type: PropType<ColumnsType<any>>;
11
+ default: undefined;
12
+ };
13
+ rowKey: {
14
+ type: PropType<string | import("ant-design-vue/lib/vc-table/interface").GetRowKey<any> | undefined>;
15
+ default: undefined;
16
+ };
17
+ tableLayout: {
18
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").TableLayout | undefined>;
19
+ default: undefined;
20
+ };
21
+ rowClassName: {
22
+ type: PropType<string | import("ant-design-vue/lib/vc-table/interface").RowClassName<any> | undefined>;
23
+ default: undefined;
24
+ };
25
+ title: {
26
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").PanelRender<any> | undefined>;
27
+ default: undefined;
28
+ };
29
+ footer: {
30
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").PanelRender<any> | undefined>;
31
+ default: undefined;
32
+ };
33
+ id: {
34
+ type: PropType<string | undefined>;
35
+ default: undefined;
36
+ };
37
+ showHeader: {
38
+ type: PropType<boolean | undefined>;
39
+ default: undefined;
40
+ };
41
+ components: {
42
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").TableComponents<any> | undefined>;
43
+ default: undefined;
44
+ };
45
+ customRow: {
46
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").GetComponentProps<any> | undefined>;
47
+ default: undefined;
48
+ };
49
+ customHeaderRow: {
50
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").GetComponentProps<import("ant-design-vue/lib/vc-table/interface").ColumnType<any>[]> | undefined>;
51
+ default: undefined;
52
+ };
53
+ direction: {
54
+ type: PropType<"ltr" | "rtl" | undefined>;
55
+ default: undefined;
56
+ };
57
+ expandFixed: {
58
+ type: PropType<boolean | "left" | "right" | undefined>;
59
+ default: undefined;
60
+ };
61
+ expandColumnWidth: {
62
+ type: PropType<number | undefined>;
63
+ default: undefined;
64
+ };
65
+ expandedRowKeys: {
66
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").Key[] | undefined>;
67
+ default: import("ant-design-vue/lib/vc-table/interface").Key[] | undefined;
68
+ };
69
+ defaultExpandedRowKeys: {
70
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").Key[] | undefined>;
71
+ default: import("ant-design-vue/lib/vc-table/interface").Key[] | undefined;
72
+ };
73
+ expandedRowRender: {
74
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").ExpandedRowRender<any> | undefined>;
75
+ default: undefined;
76
+ };
77
+ expandRowByClick: {
78
+ type: PropType<boolean | undefined>;
79
+ default: undefined;
80
+ };
81
+ expandIcon: {
82
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").RenderExpandIcon<any> | undefined>;
83
+ default: undefined;
84
+ };
85
+ onExpand: {
86
+ type: PropType<((expanded: boolean, record: any) => void) | undefined>;
87
+ default: undefined;
88
+ };
89
+ onExpandedRowsChange: {
90
+ type: PropType<((expandedKeys: import("ant-design-vue/lib/vc-table/interface").Key[]) => void) | undefined>;
91
+ default: undefined;
92
+ };
93
+ 'onUpdate:expandedRowKeys': {
94
+ type: PropType<((expandedKeys: import("ant-design-vue/lib/vc-table/interface").Key[]) => void) | undefined>;
95
+ default: undefined;
96
+ };
97
+ defaultExpandAllRows: {
98
+ type: PropType<boolean | undefined>;
99
+ default: undefined;
100
+ };
101
+ indentSize: {
102
+ type: PropType<number | undefined>;
103
+ default: undefined;
104
+ };
105
+ /** @deprecated Please use `EXPAND_COLUMN` in `columns` directly */
106
+ expandIconColumnIndex: {
107
+ type: PropType<number | undefined>;
108
+ default: undefined;
109
+ };
110
+ showExpandColumn: {
111
+ type: BooleanConstructor;
112
+ default: undefined;
113
+ };
114
+ expandedRowClassName: {
115
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").RowClassName<any> | undefined>;
116
+ default: undefined;
117
+ };
118
+ childrenColumnName: {
119
+ type: PropType<string | undefined>;
120
+ default: undefined;
121
+ };
122
+ rowExpandable: {
123
+ type: PropType<((record: any) => boolean) | undefined>;
124
+ default: undefined;
125
+ };
126
+ sticky: {
127
+ type: PropType<boolean | import("ant-design-vue/lib/vc-table/interface").TableSticky | undefined>;
128
+ default: undefined;
129
+ };
130
+ dropdownPrefixCls: StringConstructor;
131
+ dataSource: {
132
+ type: PropType<any[] | undefined>;
133
+ default: undefined;
134
+ };
135
+ pagination: {
136
+ type: PropType<false | TablePaginationConfig>;
137
+ default: undefined;
138
+ };
139
+ loading: {
140
+ type: PropType<boolean | SpinProps>;
141
+ default: undefined;
142
+ };
143
+ size: {
144
+ type: PropType<SizeType>;
145
+ default: undefined;
146
+ };
147
+ bordered: BooleanConstructor;
148
+ locale: {
149
+ type: PropType<TableLocale>;
150
+ default: undefined;
151
+ };
152
+ onChange: {
153
+ type: PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void>;
154
+ default: undefined;
155
+ };
156
+ onResizeColumn: {
157
+ type: PropType<(w: number, col: ColumnType) => void>;
158
+ default: undefined;
159
+ };
160
+ rowSelection: {
161
+ type: PropType<TableRowSelection<any>>;
162
+ default: undefined;
163
+ };
164
+ getPopupContainer: {
165
+ type: PropType<GetPopupContainer>;
166
+ default: undefined;
167
+ };
168
+ scroll: {
169
+ type: PropType<{
170
+ x?: string | number | true | undefined;
171
+ y?: string | number | undefined;
172
+ } & {
173
+ scrollToFirstRowOnChange?: boolean | undefined;
174
+ }>;
175
+ default: undefined;
176
+ };
177
+ sortDirections: {
178
+ type: PropType<SortOrder[]>;
179
+ default: undefined;
180
+ };
181
+ showSorterTooltip: {
182
+ type: PropType<boolean | TooltipProps>;
183
+ default: boolean;
184
+ };
185
+ contextSlots: {
186
+ type: PropType<ContextSlots>;
187
+ };
188
+ transformCellText: {
189
+ type: PropType<import("ant-design-vue/lib/vc-table/interface").TransformCellText<any> | undefined>;
190
+ };
191
+ };
@@ -0,0 +1,11 @@
1
+ import type { TableProps } from 'ant-design-vue';
2
+ export type { ContextSlots } from 'ant-design-vue/es/table/context';
3
+ export declare type PageItemRender = WithFalse<(opt: {
4
+ page: number;
5
+ type: 'page' | 'prev' | 'next' | 'jump-prev' | 'jump-next';
6
+ originalElement: any;
7
+ }) => CustomRender>;
8
+ export type { Key, SortOrder, ColumnFilterItem, ColumnTitle, CompareFn, FilterDropdownProps, GetRowKey, FilterValue, ColumnsType, ExpandType, TablePaginationConfig, TableAction, TableLocale, SorterResult, TableCurrentDataSource, ColumnType, TableRowSelection, GetPopupContainer } from 'ant-design-vue/es/table/interface';
9
+ export type { AlignType, CellEllipsisType, DataIndex, FixedType, GetComponentProps, RenderedCell } from 'ant-design-vue/es/vc-table/interface';
10
+ export type { TableProps as RcTableProps } from 'ant-design-vue/es/vc-table/Table';
11
+ export type { TableProps };
@@ -0,0 +1,7 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+ declare type RemoveReadonly<T> = {
3
+ -readonly [key in keyof T]: T[key];
4
+ };
5
+ export declare type ExtractPublicPropTypes<T> = Omit<Partial<RemoveReadonly<ExtractPropTypes<T>>>, Extract<keyof T, `internal${string}`>>;
6
+ export declare type ExtractInternalPropTypes<T> = Partial<ExtractPropTypes<T>>;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './typings';
2
+ export * from './extract-public-props';
@@ -0,0 +1 @@
1
+ export declare type SizeType = 'small' | 'middle' | 'large' | undefined;
@@ -0,0 +1 @@
1
+ export declare const useRefFunction: <T extends (...args: any) => any>(reFunction: T) => (...rest: Parameters<T>) => ReturnType<T>;
@@ -0,0 +1,15 @@
1
+ import type { Slots } from 'vue';
2
+ export { initDefaultProps } from 'ant-design-vue/es/_util/props-util';
3
+ export { noteOnce, warning } from 'ant-design-vue/es/vc-util/warning';
4
+ export interface prefixCls {
5
+ suffixCls?: string;
6
+ customizePrefixCls?: string;
7
+ isPor?: boolean;
8
+ className?: string;
9
+ }
10
+ export declare const getPrefixCls: ({ suffixCls, customizePrefixCls, isPor, className }: prefixCls) => string;
11
+ export declare function getSlot<T>(slots: Slots, props: Record<string, unknown>, prop?: string): T | false;
12
+ export declare function getSlotVNode<T>(slots: Slots, props: Record<string, unknown>, prop?: string): T | false;
13
+ export * from './typings';
14
+ export * from './gx-design-vue';
15
+ export * from './ant-design-vue';
@@ -0,0 +1,40 @@
1
+ import type { CSSProperties, Plugin } from 'vue';
2
+ declare type triggerTypes = 'hover' | 'focus' | 'click' | 'contextmenu';
3
+ declare type placementTypes = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
4
+ export declare type abstractTooltipProps = {
5
+ trigger?: triggerTypes | triggerTypes[];
6
+ visible?: boolean;
7
+ defaultVisible?: boolean;
8
+ placement?: placementTypes;
9
+ color?: string;
10
+ transitionName?: string;
11
+ overlayStyle?: CSSProperties;
12
+ overlayClassName?: string;
13
+ openClassName?: string;
14
+ prefixCls?: string;
15
+ mouseEnterDelay?: number;
16
+ mouseLeaveDelay?: number;
17
+ getPopupContainer?: () => void;
18
+ arrowPointAtCenter?: boolean;
19
+ autoAdjustOverflow?: boolean | object;
20
+ destroyTooltipOnHide?: boolean;
21
+ align?: object;
22
+ builtinPlacements?: object;
23
+ children?: any[];
24
+ onVisibleChange?: () => void;
25
+ };
26
+ export declare type TooltipProps = {
27
+ title?: any;
28
+ } & abstractTooltipProps;
29
+ export declare type SpinProps = {
30
+ prefixCls?: string;
31
+ spinning?: boolean;
32
+ size?: 'small' | 'default' | 'large';
33
+ wrapperClassName?: string;
34
+ tip?: string;
35
+ delay?: number;
36
+ indicator?: any;
37
+ };
38
+ export declare type SFCWithInstall<T> = T & Plugin;
39
+ export declare const withInstall: <T>(comp: T) => SFCWithInstall<T>;
40
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { FunctionalComponent as FC } from 'vue';
2
+ import './style.less';
3
+ export declare type ColumnSettingProps = {
4
+ draggable?: boolean;
5
+ checkable?: boolean;
6
+ extra?: VueNode;
7
+ checkedReset?: boolean;
8
+ };
9
+ declare const ColumnSetting: FC<ColumnSettingProps>;
10
+ export default ColumnSetting;
@@ -0,0 +1,95 @@
1
+ @import '../../design/config.less';
2
+
3
+ @import 'ant-design-vue/es/tree/style/index.less';
4
+ @import 'ant-design-vue/es/checkbox/style/index.less';
5
+
6
+ @root-entry-name: 'default';
7
+
8
+ @pro-column-setting-prefix-cls: ~'@{gx-prefix-pro}-table-column-setting';
9
+
10
+ .@{pro-column-setting-prefix-cls} {
11
+ width: auto;
12
+ &-title {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ height: 32px;
17
+ }
18
+
19
+ &-overlay {
20
+ .@{ant-prefix}-popover-inner-content {
21
+ width: 200px;
22
+ padding: 0px;
23
+ padding-bottom: 8px;
24
+ }
25
+
26
+ .ant-tree {
27
+ .@{ant-prefix}-tree-node-content-wrapper:hover {
28
+ background-color: transparent;
29
+ }
30
+
31
+ .@{ant-prefix}-tree-draggable-icon {
32
+ cursor: grab;
33
+ }
34
+
35
+ .@{ant-prefix}-tree-treenode {
36
+ align-items: center;
37
+
38
+ &:hover {
39
+ background-color: @item-active-bg;
40
+ .@{pro-column-setting-prefix-cls}-list-item-option {
41
+ display: block;
42
+ }
43
+ }
44
+
45
+ .@{ant-prefix}-tree-checkbox {
46
+ top: 0;
47
+ margin: 0;
48
+ margin-right: 4px;
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ .@{pro-column-setting-prefix-cls}-list {
56
+ display: flex;
57
+ flex-direction: column;
58
+ width: 100%;
59
+ padding-top: 8px;
60
+
61
+ &.@{pro-column-setting-prefix-cls}-list-group {
62
+ padding-top: 0;
63
+ }
64
+
65
+ &-title {
66
+ padding-left: 24px;
67
+ margin-top: 6px;
68
+ margin-bottom: 6px;
69
+ font-size: 12px;
70
+ color: @text-color-secondary;
71
+ }
72
+
73
+ &-item {
74
+ display: flex;
75
+ align-items: center;
76
+
77
+ &-title {
78
+ flex: 1;
79
+ }
80
+
81
+ &-option {
82
+ display: none;
83
+ float: right;
84
+ cursor: pointer;
85
+ > span {
86
+ > span.anticon {
87
+ color: var(--ant-primary-color);
88
+ }
89
+ }
90
+ > span + span {
91
+ margin-left: 8px;
92
+ }
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,35 @@
1
+ import type { ProSearchMap } from '../../types/column';
2
+ import './style.less';
3
+ declare const ProTableForm: import("vue").DefineComponent<{
4
+ search: {
5
+ type: import("vue").PropType<import("../../types/table").SearchConfig>;
6
+ default: () => import("../../types/table").SearchConfig;
7
+ };
8
+ modal: import("vue").PropType<boolean>;
9
+ searchMap: {
10
+ type: PropType<ProSearchMap<"text", "date">[]>;
11
+ default: () => never[];
12
+ };
13
+ loading: PropType<boolean>;
14
+ prefixCls: PropType<string>;
15
+ defaultParams: PropType<RecordType>;
16
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "search"[], "search", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
+ search: {
18
+ type: import("vue").PropType<import("../../types/table").SearchConfig>;
19
+ default: () => import("../../types/table").SearchConfig;
20
+ };
21
+ modal: import("vue").PropType<boolean>;
22
+ searchMap: {
23
+ type: PropType<ProSearchMap<"text", "date">[]>;
24
+ default: () => never[];
25
+ };
26
+ loading: PropType<boolean>;
27
+ prefixCls: PropType<string>;
28
+ defaultParams: PropType<RecordType>;
29
+ }>> & {
30
+ onSearch?: ((...args: any[]) => any) | undefined;
31
+ }, {
32
+ search: import("../../types/table").SearchConfig;
33
+ searchMap: ProSearchMap<"text", "date">[];
34
+ }>;
35
+ export default ProTableForm;
@@ -0,0 +1,42 @@
1
+ @import '../../design/config.less';
2
+
3
+ @import 'ant-design-vue/es/tree-select/style/index.less';
4
+ @import 'ant-design-vue/es/button/style/index.less';
5
+ @import 'ant-design-vue/es/form/style/index.less';
6
+ @import 'ant-design-vue/es/select/style/index.less';
7
+ @import 'ant-design-vue/es/time-picker/style/index.less';
8
+ @import 'ant-design-vue/es/date-picker/style/index.less';
9
+ @import 'ant-design-vue/es/input/style/index.less';
10
+
11
+ @pro-table-form-prefix-cls: ~'@{gx-prefix-pro}-table-form';
12
+
13
+ .@{pro-table-form-prefix-cls} {
14
+ .@{pro-table-form-prefix-cls}-container {
15
+ position: relative;
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ align-items: center;
19
+
20
+ .ant-form-item {
21
+ margin-bottom: 16px;
22
+ }
23
+ }
24
+
25
+ &-collapse-button {
26
+ box-sizing: border-box;
27
+ display: flex;
28
+ align-items: center;
29
+ height: 32px;
30
+ padding: 0;
31
+ margin: 0;
32
+ margin-bottom: 16px;
33
+ font-size: 14px;
34
+ line-height: 1.5;
35
+ vertical-align: top;
36
+ list-style: none;
37
+
38
+ .anticon {
39
+ margin-left: 2px;
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,6 @@
1
+ import type { ProSearchMap } from '../../types/column';
2
+ export declare function useForm(defaultParams: RecordType, searchMap: ProSearchMap[]): {
3
+ formState: any;
4
+ resetFormState: () => void;
5
+ changeFormState: (key: string, value: any) => void;
6
+ };
@@ -0,0 +1,61 @@
1
+ import './style.less';
2
+ export declare type ListToolBarSetting = {
3
+ icon: VueNode;
4
+ tooltip?: string;
5
+ key?: string;
6
+ onClick?: (key?: string) => void;
7
+ };
8
+ declare const ListToolBar: import("vue").DefineComponent<{
9
+ actions: {
10
+ type: import("vue").PropType<ProVueNode>;
11
+ default: () => undefined;
12
+ };
13
+ settings: PropType<VueNode[]>;
14
+ titleTip: {
15
+ type: import("vue").PropType<ProVueNode>;
16
+ default: () => undefined;
17
+ };
18
+ prefixCls: StringConstructor;
19
+ headerTitle: {
20
+ type: import("vue").PropType<ProVueNode>;
21
+ default: () => undefined;
22
+ };
23
+ titleTipText: {
24
+ type: import("vue").PropType<string>;
25
+ default: string;
26
+ };
27
+ optionsExtra: {
28
+ type: import("vue").PropType<VueNode>;
29
+ default: () => undefined;
30
+ };
31
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
+ actions: {
33
+ type: import("vue").PropType<ProVueNode>;
34
+ default: () => undefined;
35
+ };
36
+ settings: PropType<VueNode[]>;
37
+ titleTip: {
38
+ type: import("vue").PropType<ProVueNode>;
39
+ default: () => undefined;
40
+ };
41
+ prefixCls: StringConstructor;
42
+ headerTitle: {
43
+ type: import("vue").PropType<ProVueNode>;
44
+ default: () => undefined;
45
+ };
46
+ titleTipText: {
47
+ type: import("vue").PropType<string>;
48
+ default: string;
49
+ };
50
+ optionsExtra: {
51
+ type: import("vue").PropType<VueNode>;
52
+ default: () => undefined;
53
+ };
54
+ }>>, {
55
+ headerTitle: ProVueNode;
56
+ titleTip: ProVueNode;
57
+ optionsExtra: VueNode;
58
+ titleTipText: string;
59
+ actions: ProVueNode;
60
+ }>;
61
+ export default ListToolBar;
@@ -0,0 +1,62 @@
1
+ @import '../../design/config.less';
2
+
3
+ @root-entry-name: 'default';
4
+ @pro-list-toolbar: ~'@{gx-prefix-pro}-table-list-toolbar';
5
+
6
+ .@{pro-list-toolbar} {
7
+ line-height: 1;
8
+
9
+ &-container {
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ padding-bottom: @padding-md;
14
+
15
+ &-mobile {
16
+ flex-direction: column;
17
+ flex-wrap: wrap;
18
+ align-items: flex-start;
19
+
20
+ .@{pro-list-toolbar}-left {
21
+ flex-wrap: wrap;
22
+ width: 100%;
23
+ margin-bottom: 16px;
24
+ }
25
+
26
+ .@{pro-list-toolbar}-right {
27
+ width: 100%;
28
+ }
29
+ }
30
+ }
31
+
32
+ &-title {
33
+ gap: 8px;
34
+ font-size: @font-size-lg;
35
+ font-weight: 500;
36
+ color: @heading-color;
37
+ }
38
+
39
+ &-setting-item {
40
+ margin: 0 4px;
41
+ font-size: @font-size-lg;
42
+ color: @icon-color-hover;
43
+ cursor: pointer;
44
+
45
+ &:hover {
46
+ .anticon {
47
+ color: var(--ant-primary-color);
48
+ }
49
+ }
50
+ }
51
+
52
+ &-left {
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: flex-start;
56
+ }
57
+
58
+ &-right {
59
+ display: flex;
60
+ justify-content: flex-end;
61
+ }
62
+ }
@@ -0,0 +1,3 @@
1
+ import type { FunctionalComponent as FC } from 'vue';
2
+ declare const DensityIcon: FC;
3
+ export default DensityIcon;
@@ -0,0 +1,3 @@
1
+ import type { FunctionalComponent as FC } from 'vue';
2
+ declare const FullScreenIcon: FC;
3
+ export default FullScreenIcon;
@@ -0,0 +1,16 @@
1
+ import type { FunctionalComponent as FC } from 'vue';
2
+ import type { ProTableProps } from '../../ProTable';
3
+ import type { OptionConfig } from '../../types/table';
4
+ import './style.less';
5
+ export declare type ToolBarProps = {
6
+ headerTitle?: ProTableProps['headerTitle'];
7
+ titleTip?: ProTableProps['titleTip'];
8
+ toolBarBtn?: ProTableProps['toolBarBtn'];
9
+ titleTipText?: string;
10
+ optionsExtra?: VueNode;
11
+ settingExtra?: VueNode;
12
+ options?: OptionConfig | boolean;
13
+ };
14
+ export declare type OptionsFunctionType = () => void;
15
+ declare const ToolbarRender: FC<ToolBarProps>;
16
+ export default ToolbarRender;
@@ -0,0 +1,40 @@
1
+ @import '../../design/config.less';
2
+
3
+ @import 'ant-design-vue/es/menu/style/index.less';
4
+ @import 'ant-design-vue/es/popover/style/index.less';
5
+ @import 'ant-design-vue/es/dropdown/style/index.less';
6
+ @import 'ant-design-vue/es/tooltip/style/index.less';
7
+
8
+ .@{gx-prefix-pro}-table-list-toolbar {
9
+ &-title {
10
+ flex: 1;
11
+ font-size: 16px;
12
+ font-weight: 500;
13
+ line-height: 24px;
14
+ color: @label-color;
15
+ opacity: 0.85;
16
+ }
17
+
18
+ &-actions {
19
+ .ant-btn {
20
+ color: var(--ant-primary-color);
21
+ border-color: var(--ant-primary-color);
22
+
23
+ &.ant-btn-primary {
24
+ color: @white;
25
+ border-color: @white;
26
+ }
27
+ }
28
+
29
+ .ant-btn[disabled],
30
+ .ant-btn[disabled]:hover,
31
+ .ant-btn[disabled]:focus,
32
+ .ant-btn[disabled]:active {
33
+ color: #00000040;
34
+ text-shadow: none;
35
+ background: #f5f5f5;
36
+ border-color: #d9d9d9;
37
+ box-shadow: none;
38
+ }
39
+ }
40
+ }