@tachybase/components 0.23.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.
- package/.turbo/turbo-build.log +9 -0
- package/LICENSE +201 -0
- package/lib/__builtins__/dayjs.d.ts +4 -0
- package/lib/__builtins__/dayjs.js +95 -0
- package/lib/__builtins__/hooks/index.d.ts +4 -0
- package/lib/__builtins__/hooks/index.js +27 -0
- package/lib/__builtins__/hooks/useClickAway.d.ts +5 -0
- package/lib/__builtins__/hooks/useClickAway.js +64 -0
- package/lib/__builtins__/hooks/useConfig.d.ts +1 -0
- package/lib/__builtins__/hooks/useConfig.js +31 -0
- package/lib/__builtins__/hooks/usePrefixCls.d.ts +3 -0
- package/lib/__builtins__/hooks/usePrefixCls.js +38 -0
- package/lib/__builtins__/hooks/useToken.d.ts +6 -0
- package/lib/__builtins__/hooks/useToken.js +28 -0
- package/lib/__builtins__/index.d.ts +7 -0
- package/lib/__builtins__/index.js +33 -0
- package/lib/__builtins__/loading.d.ts +1 -0
- package/lib/__builtins__/loading.js +40 -0
- package/lib/__builtins__/pickDataProps.d.ts +1 -0
- package/lib/__builtins__/pickDataProps.js +36 -0
- package/lib/__builtins__/portal.d.ts +10 -0
- package/lib/__builtins__/portal.js +89 -0
- package/lib/__builtins__/render.d.ts +9 -0
- package/lib/__builtins__/render.js +99 -0
- package/lib/__builtins__/sort.d.ts +73 -0
- package/lib/__builtins__/sort.js +126 -0
- package/lib/__builtins__/style.d.ts +23 -0
- package/lib/__builtins__/style.js +88 -0
- package/lib/array-base/index.d.ts +64 -0
- package/lib/array-base/index.js +345 -0
- package/lib/array-base/style.d.ts +2 -0
- package/lib/array-base/style.js +68 -0
- package/lib/array-cards/index.d.ts +5 -0
- package/lib/array-cards/index.js +166 -0
- package/lib/array-cards/style.d.ts +2 -0
- package/lib/array-cards/style.js +37 -0
- package/lib/array-collapse/index.d.ts +10 -0
- package/lib/array-collapse/index.js +199 -0
- package/lib/array-collapse/style.d.ts +2 -0
- package/lib/array-collapse/style.js +33 -0
- package/lib/array-items/index.d.ts +8 -0
- package/lib/array-items/index.js +122 -0
- package/lib/array-items/style.d.ts +2 -0
- package/lib/array-items/style.js +82 -0
- package/lib/array-table/index.d.ts +9 -0
- package/lib/array-table/index.js +376 -0
- package/lib/array-table/style.d.ts +2 -0
- package/lib/array-table/style.js +71 -0
- package/lib/array-tabs/index.d.ts +4 -0
- package/lib/array-tabs/index.js +102 -0
- package/lib/cascader/index.d.ts +12 -0
- package/lib/cascader/index.js +58 -0
- package/lib/checkbox/index.d.ts +5 -0
- package/lib/checkbox/index.js +51 -0
- package/lib/code-mirror/index.d.ts +3 -0
- package/lib/code-mirror/index.js +91 -0
- package/lib/date-picker/index.d.ts +2 -0
- package/lib/date-picker/index.js +70 -0
- package/lib/date-picker/style.d.ts +1 -0
- package/lib/date-picker/style.js +1 -0
- package/lib/editable/index.d.ts +8 -0
- package/lib/editable/index.js +181 -0
- package/lib/editable/style.d.ts +2 -0
- package/lib/editable/style.js +69 -0
- package/lib/form/index.d.ts +12 -0
- package/lib/form/index.js +71 -0
- package/lib/form-button-group/index.d.ts +27 -0
- package/lib/form-button-group/index.js +148 -0
- package/lib/form-button-group/style.d.ts +2 -0
- package/lib/form-button-group/style.js +41 -0
- package/lib/form-collapse/index.d.ts +28 -0
- package/lib/form-collapse/index.js +150 -0
- package/lib/form-dialog/index.d.ts +26 -0
- package/lib/form-dialog/index.js +194 -0
- package/lib/form-drawer/index.d.ts +25 -0
- package/lib/form-drawer/index.js +187 -0
- package/lib/form-grid/index.d.ts +34 -0
- package/lib/form-grid/index.js +108 -0
- package/lib/form-grid/style.d.ts +2 -0
- package/lib/form-grid/style.js +31 -0
- package/lib/form-item/hooks/index.d.ts +2 -0
- package/lib/form-item/hooks/index.js +23 -0
- package/lib/form-item/hooks/useFormItemLayout.d.ts +37 -0
- package/lib/form-item/hooks/useFormItemLayout.js +66 -0
- package/lib/form-item/hooks/useOverflow.d.ts +5 -0
- package/lib/form-item/hooks/useOverflow.js +55 -0
- package/lib/form-item/index.d.ts +11 -0
- package/lib/form-item/index.js +303 -0
- package/lib/form-item/style/animation.d.ts +2 -0
- package/lib/form-item/style/animation.js +57 -0
- package/lib/form-item/style/grid.d.ts +2 -0
- package/lib/form-item/style/grid.js +50 -0
- package/lib/form-item/style/index.d.ts +2 -0
- package/lib/form-item/style/index.js +387 -0
- package/lib/form-item/style/other.d.ts +2 -0
- package/lib/form-item/style/other.js +490 -0
- package/lib/form-item/types.d.ts +35 -0
- package/lib/form-item/types.js +15 -0
- package/lib/form-layout/index.d.ts +74 -0
- package/lib/form-layout/index.js +96 -0
- package/lib/form-layout/useResponsiveFormLayout.d.ts +17 -0
- package/lib/form-layout/useResponsiveFormLayout.js +89 -0
- package/lib/form-step/index.d.ts +27 -0
- package/lib/form-step/index.js +154 -0
- package/lib/form-tab/index.d.ts +19 -0
- package/lib/form-tab/index.js +150 -0
- package/lib/index.d.ts +38 -0
- package/lib/index.js +95 -0
- package/lib/input/index.d.ts +7 -0
- package/lib/input/index.js +57 -0
- package/lib/lightbox/constant.d.ts +21 -0
- package/lib/lightbox/constant.js +79 -0
- package/lib/lightbox/index.d.ts +2 -0
- package/lib/lightbox/index.js +37 -0
- package/lib/lightbox/interface.d.ts +43 -0
- package/lib/lightbox/interface.js +15 -0
- package/lib/lightbox/react-image-lightbox.d.ts +197 -0
- package/lib/lightbox/react-image-lightbox.js +1431 -0
- package/lib/lightbox/style.css +305 -0
- package/lib/lightbox/util.d.ts +7 -0
- package/lib/lightbox/util.js +71 -0
- package/lib/number-picker/index.d.ts +4 -0
- package/lib/number-picker/index.js +32 -0
- package/lib/password/PasswordStrength.d.ts +9 -0
- package/lib/password/PasswordStrength.js +188 -0
- package/lib/password/index.d.ts +7 -0
- package/lib/password/index.js +85 -0
- package/lib/preview-text/index.d.ts +12 -0
- package/lib/preview-text/index.js +263 -0
- package/lib/preview-text/style.d.ts +2 -0
- package/lib/preview-text/style.js +37 -0
- package/lib/radio/index.d.ts +8 -0
- package/lib/radio/index.js +51 -0
- package/lib/reset/index.d.ts +10 -0
- package/lib/reset/index.js +67 -0
- package/lib/select/index.d.ts +4 -0
- package/lib/select/index.js +59 -0
- package/lib/select-table/hooks/index.d.ts +5 -0
- package/lib/select-table/hooks/index.js +29 -0
- package/lib/select-table/hooks/useCheckSlackly.d.ts +16 -0
- package/lib/select-table/hooks/useCheckSlackly.js +57 -0
- package/lib/select-table/hooks/useFilterOptions.d.ts +3 -0
- package/lib/select-table/hooks/useFilterOptions.js +97 -0
- package/lib/select-table/hooks/useFlatOptions.d.ts +3 -0
- package/lib/select-table/hooks/useFlatOptions.js +46 -0
- package/lib/select-table/hooks/useSize.d.ts +9 -0
- package/lib/select-table/hooks/useSize.js +48 -0
- package/lib/select-table/hooks/useTitleAddon.d.ts +7 -0
- package/lib/select-table/hooks/useTitleAddon.js +90 -0
- package/lib/select-table/index.d.ts +27 -0
- package/lib/select-table/index.js +339 -0
- package/lib/select-table/style.d.ts +2 -0
- package/lib/select-table/style.js +33 -0
- package/lib/select-table/utils.d.ts +78 -0
- package/lib/select-table/utils.js +166 -0
- package/lib/space/index.d.ts +4 -0
- package/lib/space/index.js +49 -0
- package/lib/submit/index.d.ts +11 -0
- package/lib/submit/index.js +67 -0
- package/lib/switch/index.d.ts +2 -0
- package/lib/switch/index.js +44 -0
- package/lib/time-picker/index.d.ts +2 -0
- package/lib/time-picker/index.js +60 -0
- package/lib/time-picker/style.d.ts +1 -0
- package/lib/time-picker/style.js +1 -0
- package/lib/transfer/index.d.ts +2 -0
- package/lib/transfer/index.js +56 -0
- package/lib/tree-select/index.d.ts +2 -0
- package/lib/tree-select/index.js +58 -0
- package/lib/upload/index.d.ts +18 -0
- package/lib/upload/index.js +159 -0
- package/lib/upload/placeholder.d.ts +4 -0
- package/lib/upload/placeholder.js +88 -0
- package/package.json +31 -0
|
@@ -0,0 +1,148 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var form_button_group_exports = {};
|
|
30
|
+
__export(form_button_group_exports, {
|
|
31
|
+
FormButtonGroup: () => FormButtonGroup,
|
|
32
|
+
default: () => form_button_group_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(form_button_group_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_antd = require("antd");
|
|
37
|
+
var import_classnames = __toESM(require("classnames"));
|
|
38
|
+
var import_react_sticky_box = __toESM(require("react-sticky-box"));
|
|
39
|
+
var import_builtins = require("../__builtins__");
|
|
40
|
+
var import_form_item = require("../form-item");
|
|
41
|
+
var import_style = __toESM(require("./style"));
|
|
42
|
+
function getInheritedBackgroundColor(el) {
|
|
43
|
+
const defaultStyle = getDefaultBackground();
|
|
44
|
+
const backgroundColor = window.getComputedStyle(el).backgroundColor;
|
|
45
|
+
if (backgroundColor !== defaultStyle) return backgroundColor;
|
|
46
|
+
if (!el.parentElement) return defaultStyle;
|
|
47
|
+
return getInheritedBackgroundColor(el.parentElement);
|
|
48
|
+
}
|
|
49
|
+
__name(getInheritedBackgroundColor, "getInheritedBackgroundColor");
|
|
50
|
+
function getDefaultBackground() {
|
|
51
|
+
const div = document.createElement("div");
|
|
52
|
+
document.head.appendChild(div);
|
|
53
|
+
const bg = window.getComputedStyle(div).backgroundColor;
|
|
54
|
+
document.head.removeChild(div);
|
|
55
|
+
return bg;
|
|
56
|
+
}
|
|
57
|
+
__name(getDefaultBackground, "getDefaultBackground");
|
|
58
|
+
const FormButtonGroup = /* @__PURE__ */ __name(({
|
|
59
|
+
align,
|
|
60
|
+
gutter,
|
|
61
|
+
...props
|
|
62
|
+
}) => {
|
|
63
|
+
const prefixCls = (0, import_builtins.usePrefixCls)("formily-button-group");
|
|
64
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
65
|
+
import_antd.Space,
|
|
66
|
+
{
|
|
67
|
+
...props,
|
|
68
|
+
size: gutter,
|
|
69
|
+
className: (0, import_classnames.default)(prefixCls, props.className),
|
|
70
|
+
style: {
|
|
71
|
+
...props.style,
|
|
72
|
+
justifyContent: align === "left" ? "flex-start" : align === "right" ? "flex-end" : "center",
|
|
73
|
+
display: "flex"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
props.children
|
|
77
|
+
);
|
|
78
|
+
}, "FormButtonGroup");
|
|
79
|
+
FormButtonGroup.defaultProps = {
|
|
80
|
+
align: "left"
|
|
81
|
+
};
|
|
82
|
+
FormButtonGroup.FormItem = ({ gutter, ...props }) => {
|
|
83
|
+
var _a;
|
|
84
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
85
|
+
import_form_item.BaseItem,
|
|
86
|
+
{
|
|
87
|
+
...props,
|
|
88
|
+
label: " ",
|
|
89
|
+
style: {
|
|
90
|
+
margin: 0,
|
|
91
|
+
padding: 0,
|
|
92
|
+
...props.style,
|
|
93
|
+
width: "100%"
|
|
94
|
+
},
|
|
95
|
+
colon: false
|
|
96
|
+
},
|
|
97
|
+
((_a = props.children) == null ? void 0 : _a["length"]) ? /* @__PURE__ */ import_react.default.createElement(import_antd.Space, { size: gutter }, props.children) : props.children
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
const _Sticky = /* @__PURE__ */ __name(({
|
|
101
|
+
align = "left",
|
|
102
|
+
...props
|
|
103
|
+
}) => {
|
|
104
|
+
const ref = (0, import_react.useRef)(null);
|
|
105
|
+
const [color, setColor] = (0, import_react.useState)("transparent");
|
|
106
|
+
const prefixCls = (0, import_builtins.usePrefixCls)("formily-button-group");
|
|
107
|
+
const [wrapSSR, hashId] = (0, import_style.default)(prefixCls);
|
|
108
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
109
|
+
if (ref.current) {
|
|
110
|
+
const computed = getInheritedBackgroundColor(ref.current);
|
|
111
|
+
if (computed !== color) {
|
|
112
|
+
setColor(computed);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return wrapSSR(
|
|
117
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
118
|
+
import_react_sticky_box.default,
|
|
119
|
+
{
|
|
120
|
+
...props,
|
|
121
|
+
className: (0, import_classnames.default)(`${prefixCls}-sticky`, hashId, props.className),
|
|
122
|
+
style: {
|
|
123
|
+
backgroundColor: color,
|
|
124
|
+
...props.style
|
|
125
|
+
},
|
|
126
|
+
bottom: true
|
|
127
|
+
},
|
|
128
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
129
|
+
"div",
|
|
130
|
+
{
|
|
131
|
+
ref,
|
|
132
|
+
className: `${prefixCls}-sticky-inner`,
|
|
133
|
+
style: {
|
|
134
|
+
...props.style,
|
|
135
|
+
justifyContent: align === "left" ? "flex-start" : align === "right" ? "flex-end" : "center"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
props.children
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
);
|
|
142
|
+
}, "_Sticky");
|
|
143
|
+
FormButtonGroup.Sticky = _Sticky;
|
|
144
|
+
var form_button_group_default = FormButtonGroup;
|
|
145
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
146
|
+
0 && (module.exports = {
|
|
147
|
+
FormButtonGroup
|
|
148
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
var style_exports = {};
|
|
19
|
+
__export(style_exports, {
|
|
20
|
+
default: () => style_default
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(style_exports);
|
|
23
|
+
var import_builtins = require("./../__builtins__");
|
|
24
|
+
var style_default = (0, import_builtins.genStyleHook)("form-button-group", (token) => {
|
|
25
|
+
const { componentCls, antCls, colorBorder } = token;
|
|
26
|
+
return {
|
|
27
|
+
[componentCls]: {
|
|
28
|
+
"&-sticky": {
|
|
29
|
+
padding: "10px 0",
|
|
30
|
+
borderTop: `1px solid ${colorBorder}`,
|
|
31
|
+
zIndex: 999,
|
|
32
|
+
[`${componentCls}-sticky-inner`]: {
|
|
33
|
+
display: "flex",
|
|
34
|
+
[`${antCls}-formily-item`]: {
|
|
35
|
+
flex: 2
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ReactFC } from '@tachybase/schema';
|
|
3
|
+
import { CollapsePanelProps, CollapseProps } from 'antd';
|
|
4
|
+
type ActiveKeys = string | number | Array<string | number>;
|
|
5
|
+
type ActiveKey = string | number;
|
|
6
|
+
export interface IFormCollapse {
|
|
7
|
+
activeKeys: ActiveKeys;
|
|
8
|
+
hasActiveKey(key: ActiveKey): boolean;
|
|
9
|
+
setActiveKeys(key: ActiveKeys): void;
|
|
10
|
+
addActiveKey(key: ActiveKey): void;
|
|
11
|
+
removeActiveKey(key: ActiveKey): void;
|
|
12
|
+
toggleActiveKey(key: ActiveKey): void;
|
|
13
|
+
}
|
|
14
|
+
export interface IFormCollapseProps extends CollapseProps {
|
|
15
|
+
formCollapse?: IFormCollapse;
|
|
16
|
+
}
|
|
17
|
+
export declare const FormCollapse: ReactFC<IFormCollapseProps> & {
|
|
18
|
+
CollapsePanel: React.FC<React.PropsWithChildren<CollapsePanelProps>>;
|
|
19
|
+
createFormCollapse: (defaultActiveKeys?: ActiveKeys) => {
|
|
20
|
+
activeKeys: ActiveKeys;
|
|
21
|
+
setActiveKeys(keys: ActiveKeys): void;
|
|
22
|
+
hasActiveKey(key: ActiveKey): boolean;
|
|
23
|
+
addActiveKey(key: ActiveKey): void;
|
|
24
|
+
removeActiveKey(key: ActiveKey): void;
|
|
25
|
+
toggleActiveKey(key: ActiveKey): void;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export default FormCollapse;
|
|
@@ -0,0 +1,150 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var form_collapse_exports = {};
|
|
30
|
+
__export(form_collapse_exports, {
|
|
31
|
+
FormCollapse: () => FormCollapse,
|
|
32
|
+
default: () => form_collapse_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(form_collapse_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_schema = require("@tachybase/schema");
|
|
37
|
+
var import_antd = require("antd");
|
|
38
|
+
var import_classnames = __toESM(require("classnames"));
|
|
39
|
+
var import_builtins = require("../__builtins__");
|
|
40
|
+
const usePanels = /* @__PURE__ */ __name(() => {
|
|
41
|
+
const collapseField = (0, import_schema.useField)();
|
|
42
|
+
const schema = (0, import_schema.useFieldSchema)();
|
|
43
|
+
const panels = [];
|
|
44
|
+
schema.mapProperties((schema2, name) => {
|
|
45
|
+
var _a, _b, _c;
|
|
46
|
+
const field = collapseField.query(collapseField.address.concat(name)).take();
|
|
47
|
+
if ((field == null ? void 0 : field.display) === "none" || (field == null ? void 0 : field.display) === "hidden") return;
|
|
48
|
+
if (((_a = schema2["x-component"]) == null ? void 0 : _a.indexOf("CollapsePanel")) > -1) {
|
|
49
|
+
const key = ((_b = field == null ? void 0 : field.componentProps) == null ? void 0 : _b.key) || ((_c = schema2 == null ? void 0 : schema2["x-component-props"]) == null ? void 0 : _c.key) || name;
|
|
50
|
+
panels.push({
|
|
51
|
+
name,
|
|
52
|
+
props: {
|
|
53
|
+
...schema2 == null ? void 0 : schema2["x-component-props"],
|
|
54
|
+
...field == null ? void 0 : field.componentProps,
|
|
55
|
+
key
|
|
56
|
+
},
|
|
57
|
+
schema: schema2
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return panels;
|
|
62
|
+
}, "usePanels");
|
|
63
|
+
const createFormCollapse = /* @__PURE__ */ __name((defaultActiveKeys) => {
|
|
64
|
+
const formCollapse = (0, import_schema.model)({
|
|
65
|
+
activeKeys: defaultActiveKeys,
|
|
66
|
+
setActiveKeys(keys) {
|
|
67
|
+
formCollapse.activeKeys = keys;
|
|
68
|
+
},
|
|
69
|
+
hasActiveKey(key) {
|
|
70
|
+
if (Array.isArray(formCollapse.activeKeys)) {
|
|
71
|
+
if (formCollapse.activeKeys.includes(key)) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
} else if (formCollapse.activeKeys === key) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
},
|
|
79
|
+
addActiveKey(key) {
|
|
80
|
+
if (formCollapse.hasActiveKey(key)) return;
|
|
81
|
+
formCollapse.activeKeys = (0, import_schema.toArr)(formCollapse.activeKeys).concat(key);
|
|
82
|
+
},
|
|
83
|
+
removeActiveKey(key) {
|
|
84
|
+
if (Array.isArray(formCollapse.activeKeys)) {
|
|
85
|
+
formCollapse.activeKeys = formCollapse.activeKeys.filter((item) => item !== key);
|
|
86
|
+
} else {
|
|
87
|
+
formCollapse.activeKeys = "";
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
toggleActiveKey(key) {
|
|
91
|
+
if (formCollapse.hasActiveKey(key)) {
|
|
92
|
+
formCollapse.removeActiveKey(key);
|
|
93
|
+
} else {
|
|
94
|
+
formCollapse.addActiveKey(key);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return (0, import_schema.markRaw)(formCollapse);
|
|
99
|
+
}, "createFormCollapse");
|
|
100
|
+
const InternalFormCollapse = (0, import_schema.observer)(({ formCollapse, ...props }) => {
|
|
101
|
+
const field = (0, import_schema.useField)();
|
|
102
|
+
const panels = usePanels();
|
|
103
|
+
const prefixCls = (0, import_builtins.usePrefixCls)("formily-collapse", props);
|
|
104
|
+
const _formCollapse = (0, import_react.useMemo)(() => {
|
|
105
|
+
return formCollapse ? formCollapse : createFormCollapse(props.defaultActiveKey);
|
|
106
|
+
}, []);
|
|
107
|
+
const takeActiveKeys = /* @__PURE__ */ __name(() => {
|
|
108
|
+
var _a;
|
|
109
|
+
if (props.activeKey) return props.activeKey;
|
|
110
|
+
if (_formCollapse == null ? void 0 : _formCollapse.activeKeys) return _formCollapse == null ? void 0 : _formCollapse.activeKeys;
|
|
111
|
+
if (props.accordion) return (_a = panels[0]) == null ? void 0 : _a.name;
|
|
112
|
+
return panels.map((item) => item.name);
|
|
113
|
+
}, "takeActiveKeys");
|
|
114
|
+
const badgedHeader = /* @__PURE__ */ __name((key, props2) => {
|
|
115
|
+
const errors = field.form.queryFeedbacks({
|
|
116
|
+
type: "error",
|
|
117
|
+
address: `${field.address.concat(key)}.*`
|
|
118
|
+
});
|
|
119
|
+
if (errors.length) {
|
|
120
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd.Badge, { size: "small", className: "errors-badge", count: errors.length }, props2.header);
|
|
121
|
+
}
|
|
122
|
+
return props2.header;
|
|
123
|
+
}, "badgedHeader");
|
|
124
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
125
|
+
import_antd.Collapse,
|
|
126
|
+
{
|
|
127
|
+
...props,
|
|
128
|
+
className: (0, import_classnames.default)(prefixCls, props.className),
|
|
129
|
+
activeKey: takeActiveKeys(),
|
|
130
|
+
onChange: (key) => {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
(_a = props == null ? void 0 : props.onChange) == null ? void 0 : _a.call(props, key);
|
|
133
|
+
(_b = _formCollapse == null ? void 0 : _formCollapse.setActiveKeys) == null ? void 0 : _b.call(_formCollapse, key);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
panels.map(({ props: props2, schema, name }, index) => /* @__PURE__ */ import_react.default.createElement(import_antd.Collapse.Panel, { key: index, ...props2, header: badgedHeader(name, props2), forceRender: true }, /* @__PURE__ */ import_react.default.createElement(import_schema.RecursionField, { schema, name })))
|
|
137
|
+
);
|
|
138
|
+
});
|
|
139
|
+
const CollapsePanel = /* @__PURE__ */ __name(({ children }) => {
|
|
140
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.Fragment, null, children);
|
|
141
|
+
}, "CollapsePanel");
|
|
142
|
+
const FormCollapse = Object.assign(InternalFormCollapse, {
|
|
143
|
+
CollapsePanel,
|
|
144
|
+
createFormCollapse
|
|
145
|
+
});
|
|
146
|
+
var form_collapse_default = FormCollapse;
|
|
147
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
148
|
+
0 && (module.exports = {
|
|
149
|
+
FormCollapse
|
|
150
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Form, IFormProps, IMiddleware, ReactFC } from '@tachybase/schema';
|
|
3
|
+
import { ModalProps } from 'antd';
|
|
4
|
+
type FormDialogRenderer = React.ReactElement | ((form: Form) => React.ReactElement);
|
|
5
|
+
type ModalTitle = string | number | React.ReactElement;
|
|
6
|
+
export interface IFormDialog {
|
|
7
|
+
forOpen(middleware: IMiddleware<IFormProps>): IFormDialog;
|
|
8
|
+
forConfirm(middleware: IMiddleware<Form>): IFormDialog;
|
|
9
|
+
forCancel(middleware: IMiddleware<Form>): IFormDialog;
|
|
10
|
+
open(props?: IFormProps): Promise<any>;
|
|
11
|
+
close(): void;
|
|
12
|
+
}
|
|
13
|
+
export interface IModalProps extends ModalProps {
|
|
14
|
+
onOk?: (event: React.MouseEvent<HTMLElement>) => void | boolean;
|
|
15
|
+
onCancel?: (event: React.MouseEvent<HTMLElement>) => void | boolean;
|
|
16
|
+
loadingText?: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export declare function FormDialog(title: IModalProps, id: string, renderer: FormDialogRenderer): IFormDialog;
|
|
19
|
+
export declare function FormDialog(title: IModalProps, renderer: FormDialogRenderer): IFormDialog;
|
|
20
|
+
export declare function FormDialog(title: ModalTitle, id: string, renderer: FormDialogRenderer): IFormDialog;
|
|
21
|
+
export declare function FormDialog(title: ModalTitle, renderer: FormDialogRenderer): IFormDialog;
|
|
22
|
+
export declare namespace FormDialog {
|
|
23
|
+
var Footer: ReactFC;
|
|
24
|
+
var Portal: ReactFC<import("..").IPortalProps>;
|
|
25
|
+
}
|
|
26
|
+
export default FormDialog;
|
|
@@ -0,0 +1,194 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var form_dialog_exports = {};
|
|
30
|
+
__export(form_dialog_exports, {
|
|
31
|
+
FormDialog: () => FormDialog,
|
|
32
|
+
default: () => form_dialog_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(form_dialog_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_schema = require("@tachybase/schema");
|
|
37
|
+
var import_antd = require("antd");
|
|
38
|
+
var import_react_dom = require("react-dom");
|
|
39
|
+
var import_builtins = require("../__builtins__");
|
|
40
|
+
const isModalTitle = /* @__PURE__ */ __name((props) => {
|
|
41
|
+
return (0, import_schema.isNum)(props) || (0, import_schema.isStr)(props) || (0, import_schema.isBool)(props) || import_react.default.isValidElement(props);
|
|
42
|
+
}, "isModalTitle");
|
|
43
|
+
const getModelProps = /* @__PURE__ */ __name((props) => {
|
|
44
|
+
if (isModalTitle(props)) {
|
|
45
|
+
return {
|
|
46
|
+
title: props
|
|
47
|
+
};
|
|
48
|
+
} else {
|
|
49
|
+
return props;
|
|
50
|
+
}
|
|
51
|
+
}, "getModelProps");
|
|
52
|
+
function FormDialog(title, id, renderer) {
|
|
53
|
+
if ((0, import_schema.isFn)(id) || import_react.default.isValidElement(id)) {
|
|
54
|
+
renderer = id;
|
|
55
|
+
id = "form-dialog";
|
|
56
|
+
}
|
|
57
|
+
const env = {
|
|
58
|
+
host: document.createElement("div"),
|
|
59
|
+
form: null,
|
|
60
|
+
promise: null,
|
|
61
|
+
openMiddlewares: [],
|
|
62
|
+
confirmMiddlewares: [],
|
|
63
|
+
cancelMiddlewares: []
|
|
64
|
+
};
|
|
65
|
+
const root = (0, import_builtins.createPortalRoot)(env.host, id);
|
|
66
|
+
const props = getModelProps(title);
|
|
67
|
+
const modal = {
|
|
68
|
+
...props,
|
|
69
|
+
afterClose: /* @__PURE__ */ __name(() => {
|
|
70
|
+
var _a;
|
|
71
|
+
(_a = props == null ? void 0 : props.afterClose) == null ? void 0 : _a.call(props);
|
|
72
|
+
root.unmount();
|
|
73
|
+
}, "afterClose")
|
|
74
|
+
};
|
|
75
|
+
const DialogContent = (0, import_schema.observer)(() => {
|
|
76
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.Fragment, null, (0, import_schema.isFn)(renderer) ? renderer(env.form) : renderer);
|
|
77
|
+
});
|
|
78
|
+
const renderDialog = /* @__PURE__ */ __name((open = true, resolve, reject) => {
|
|
79
|
+
const { form } = env;
|
|
80
|
+
if (!form) return null;
|
|
81
|
+
return /* @__PURE__ */ import_react.default.createElement(import_schema.Observer, null, () => /* @__PURE__ */ import_react.default.createElement(
|
|
82
|
+
import_antd.Modal,
|
|
83
|
+
{
|
|
84
|
+
...modal,
|
|
85
|
+
open,
|
|
86
|
+
confirmLoading: form.submitting,
|
|
87
|
+
onCancel: (e) => {
|
|
88
|
+
var _a;
|
|
89
|
+
if (((_a = modal == null ? void 0 : modal.onCancel) == null ? void 0 : _a.call(modal, e)) !== false) {
|
|
90
|
+
reject == null ? void 0 : reject();
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
onOk: async (e) => {
|
|
94
|
+
var _a;
|
|
95
|
+
if (((_a = modal == null ? void 0 : modal.onOk) == null ? void 0 : _a.call(modal, e)) !== false) {
|
|
96
|
+
resolve == null ? void 0 : resolve();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
/* @__PURE__ */ import_react.default.createElement(import_schema.FormProvider, { form }, /* @__PURE__ */ import_react.default.createElement(DialogContent, null))
|
|
101
|
+
));
|
|
102
|
+
}, "renderDialog");
|
|
103
|
+
document.body.appendChild(env.host);
|
|
104
|
+
const formDialog = {
|
|
105
|
+
forOpen: /* @__PURE__ */ __name((middleware) => {
|
|
106
|
+
if ((0, import_schema.isFn)(middleware)) {
|
|
107
|
+
env.openMiddlewares.push(middleware);
|
|
108
|
+
}
|
|
109
|
+
return formDialog;
|
|
110
|
+
}, "forOpen"),
|
|
111
|
+
forConfirm: /* @__PURE__ */ __name((middleware) => {
|
|
112
|
+
if ((0, import_schema.isFn)(middleware)) {
|
|
113
|
+
env.confirmMiddlewares.push(middleware);
|
|
114
|
+
}
|
|
115
|
+
return formDialog;
|
|
116
|
+
}, "forConfirm"),
|
|
117
|
+
forCancel: /* @__PURE__ */ __name((middleware) => {
|
|
118
|
+
if ((0, import_schema.isFn)(middleware)) {
|
|
119
|
+
env.cancelMiddlewares.push(middleware);
|
|
120
|
+
}
|
|
121
|
+
return formDialog;
|
|
122
|
+
}, "forCancel"),
|
|
123
|
+
open: /* @__PURE__ */ __name(async (props2) => {
|
|
124
|
+
if (env.promise) return env.promise;
|
|
125
|
+
env.promise = new Promise((resolve, reject) => {
|
|
126
|
+
const run = /* @__PURE__ */ __name(async () => {
|
|
127
|
+
try {
|
|
128
|
+
props2 = await (0, import_builtins.loading)(modal.loadingText, () => (0, import_schema.applyMiddleware)(props2, env.openMiddlewares));
|
|
129
|
+
env.form = env.form || (0, import_schema.createForm)(props2);
|
|
130
|
+
} catch (e) {
|
|
131
|
+
reject(e);
|
|
132
|
+
}
|
|
133
|
+
}, "run");
|
|
134
|
+
run();
|
|
135
|
+
root.render(
|
|
136
|
+
() => renderDialog(
|
|
137
|
+
true,
|
|
138
|
+
() => {
|
|
139
|
+
var _a;
|
|
140
|
+
(_a = env.form) == null ? void 0 : _a.submit(async () => {
|
|
141
|
+
var _a2;
|
|
142
|
+
await (0, import_schema.applyMiddleware)(env.form, env.confirmMiddlewares);
|
|
143
|
+
resolve((0, import_schema.toJS)((_a2 = env.form) == null ? void 0 : _a2.values));
|
|
144
|
+
formDialog.close();
|
|
145
|
+
}).catch(() => {
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
async () => {
|
|
149
|
+
await (0, import_builtins.loading)(modal.loadingText, () => (0, import_schema.applyMiddleware)(env.form, env.cancelMiddlewares));
|
|
150
|
+
formDialog.close();
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
);
|
|
154
|
+
});
|
|
155
|
+
return env.promise;
|
|
156
|
+
}, "open"),
|
|
157
|
+
close: /* @__PURE__ */ __name(() => {
|
|
158
|
+
if (!env.host) return;
|
|
159
|
+
root.render(() => renderDialog(false));
|
|
160
|
+
}, "close")
|
|
161
|
+
};
|
|
162
|
+
return formDialog;
|
|
163
|
+
}
|
|
164
|
+
__name(FormDialog, "FormDialog");
|
|
165
|
+
const DialogFooter = /* @__PURE__ */ __name((props) => {
|
|
166
|
+
const ref = (0, import_react.useRef)(null);
|
|
167
|
+
const [footer, setFooter] = (0, import_react.useState)();
|
|
168
|
+
const footerRef = (0, import_react.useRef)();
|
|
169
|
+
const prefixCls = (0, import_builtins.usePrefixCls)("modal");
|
|
170
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
171
|
+
var _a;
|
|
172
|
+
const content = (_a = ref.current) == null ? void 0 : _a.closest(`.${prefixCls}-content`);
|
|
173
|
+
if (content) {
|
|
174
|
+
if (!footerRef.current) {
|
|
175
|
+
footerRef.current = content.querySelector(`.${prefixCls}-footer`);
|
|
176
|
+
if (!footerRef.current) {
|
|
177
|
+
footerRef.current = document.createElement("div");
|
|
178
|
+
footerRef.current.classList.add(`${prefixCls}-footer`);
|
|
179
|
+
content.appendChild(footerRef.current);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
setFooter(footerRef.current);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
footerRef.current = footer;
|
|
186
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { ref, style: { display: "none" } }, footer && (0, import_react_dom.createPortal)(props.children, footer));
|
|
187
|
+
}, "DialogFooter");
|
|
188
|
+
FormDialog.Footer = DialogFooter;
|
|
189
|
+
FormDialog.Portal = (0, import_builtins.createPortalProvider)("form-dialog");
|
|
190
|
+
var form_dialog_default = FormDialog;
|
|
191
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
+
0 && (module.exports = {
|
|
193
|
+
FormDialog
|
|
194
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Form, IFormProps, IMiddleware, ReactFC } from '@tachybase/schema';
|
|
3
|
+
import { DrawerProps } from 'antd';
|
|
4
|
+
type FormDrawerRenderer = React.ReactElement | ((form: Form) => React.ReactElement);
|
|
5
|
+
type DrawerTitle = string | number | React.ReactElement;
|
|
6
|
+
type EventType = React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement | HTMLButtonElement>;
|
|
7
|
+
export interface IFormDrawer {
|
|
8
|
+
forOpen(middleware: IMiddleware<IFormProps>): IFormDrawer;
|
|
9
|
+
open(props?: IFormProps): Promise<any>;
|
|
10
|
+
close(): void;
|
|
11
|
+
}
|
|
12
|
+
export interface IDrawerProps extends DrawerProps {
|
|
13
|
+
onClose?: (e: EventType) => void | boolean;
|
|
14
|
+
loadingText?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare function FormDrawer(title: IDrawerProps, id: string, renderer: FormDrawerRenderer): IFormDrawer;
|
|
17
|
+
export declare function FormDrawer(title: IDrawerProps, id: FormDrawerRenderer): IFormDrawer;
|
|
18
|
+
export declare function FormDrawer(title: DrawerTitle, id: string, renderer: FormDrawerRenderer): IFormDrawer;
|
|
19
|
+
export declare function FormDrawer(title: DrawerTitle, id: FormDrawerRenderer): IFormDrawer;
|
|
20
|
+
export declare namespace FormDrawer {
|
|
21
|
+
var Extra: ReactFC;
|
|
22
|
+
var Footer: ReactFC;
|
|
23
|
+
var Portal: ReactFC<import("..").IPortalProps>;
|
|
24
|
+
}
|
|
25
|
+
export default FormDrawer;
|