@pisell/materials 1.0.443 → 1.0.444
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +2 -2
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.js +12 -12
- package/build/lowcode/view.js +12 -12
- package/dist/umd/materials.min.css +1 -0
- package/dist/umd/materials.min.js +1 -0
- package/dist/umd/static/DotsSix.57d66266.svg +1 -0
- package/dist/umd/static/arrow-left.e542294f.svg +1 -0
- package/dist/umd/static/arrow-right.763f03e0.svg +1 -0
- package/dist/umd/static/filter-lines.04a54ae9.svg +1 -0
- package/dist/umd/static/help-circle.31c9be40.svg +1 -0
- package/dist/umd/static/switch-vertical-01.7ebe3ba8.svg +1 -0
- package/es/components/Pagination/index.d.ts +1 -1
- package/es/components/button/index.js +2 -0
- package/es/components/buttonGroupEdit/index.d.ts +8 -0
- package/es/components/buttonGroupEdit/index.js +411 -0
- package/es/components/buttonGroupPreview/index.d.ts +20 -0
- package/es/components/buttonGroupPreview/index.js +81 -0
- package/es/components/tabs/index.js +4 -7
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.js +4 -1
- package/lib/components/Pagination/index.d.ts +1 -1
- package/lib/components/button/index.js +2 -0
- package/lib/components/buttonGroupEdit/index.d.ts +8 -0
- package/lib/components/buttonGroupEdit/index.js +234 -0
- package/lib/components/buttonGroupPreview/index.d.ts +20 -0
- package/lib/components/buttonGroupPreview/index.js +65 -0
- package/lib/components/tabs/index.js +2 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +7 -2
- package/lowcode/button/meta.ts +0 -1
- package/lowcode/button-group/meta.ts +201 -0
- package/lowcode/button-group/snippets.ts +68 -0
- package/lowcode/button-group-edit/meta.ts +32 -0
- package/lowcode/button-group-edit/snippets.ts +98 -0
- package/lowcode/button-group-preview/meta.ts +55 -0
- package/lowcode/button-group-preview/snippets.ts +57 -0
- package/lowcode/tabs/meta.ts +0 -134
- package/package.json +1 -5
- package/es/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
- package/es/components/table/Actions/component/ExportImport/utils/index.js +0 -11
- package/lib/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
- package/lib/components/table/Actions/component/ExportImport/utils/index.js +0 -31
|
@@ -36,10 +36,12 @@ var import_react = __toESM(require("react"));
|
|
|
36
36
|
var import_antd = require("antd");
|
|
37
37
|
var Button = (0, import_react.forwardRef)((props, ref) => {
|
|
38
38
|
var _a;
|
|
39
|
+
console.log("%c [ props ]-15", "font-size:13px; background:#e991b5; color:#ffd5f9;", props);
|
|
39
40
|
const innerProps = {};
|
|
40
41
|
if (!((_a = props.href) == null ? void 0 : _a.trim()) || props.__designMode === "design") {
|
|
41
42
|
innerProps.href = void 0;
|
|
42
43
|
}
|
|
44
|
+
debugger;
|
|
43
45
|
const _children = (0, import_react.useMemo)(() => {
|
|
44
46
|
if (props.rightIcon) {
|
|
45
47
|
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("span", { style: { marginRight: 8 } }, " ", props.children), props.rightIcon);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonGroupListItemProps } from './../buttonGroupPreview';
|
|
3
|
+
interface ButtonGroupEditProps {
|
|
4
|
+
buttonList: ButtonGroupListItemProps[];
|
|
5
|
+
buttonGroupList: ButtonGroupListItemProps[][];
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ButtonGroupEditProps & React.RefAttributes<any>>>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/buttonGroupEdit/index.tsx
|
|
30
|
+
var buttonGroupEdit_exports = {};
|
|
31
|
+
__export(buttonGroupEdit_exports, {
|
|
32
|
+
default: () => buttonGroupEdit_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(buttonGroupEdit_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_antd = require("antd");
|
|
37
|
+
var import_icons = require("@ant-design/icons");
|
|
38
|
+
var import_core = require("@dnd-kit/core");
|
|
39
|
+
var import_sortable = require("@dnd-kit/sortable");
|
|
40
|
+
var import_utils = require("../../utils/index");
|
|
41
|
+
var commonStyle = {
|
|
42
|
+
cursor: "move",
|
|
43
|
+
transition: "transform 0.3s ease"
|
|
44
|
+
};
|
|
45
|
+
var DraggableButton = ({ buttonItem, buttonList, onEdit }) => {
|
|
46
|
+
const { id, isMore = false, children = "", buttonProps = {} } = buttonItem;
|
|
47
|
+
const { listeners, setNodeRef, transform, transition, isDragging } = (0, import_sortable.useSortable)({
|
|
48
|
+
id
|
|
49
|
+
});
|
|
50
|
+
const style = transform ? {
|
|
51
|
+
...commonStyle,
|
|
52
|
+
transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`,
|
|
53
|
+
transition: isDragging ? "unset" : transition
|
|
54
|
+
} : commonStyle;
|
|
55
|
+
const handleClick = (e) => {
|
|
56
|
+
if (isDragging) {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const menu = {
|
|
63
|
+
items: buttonList.filter((item) => !item.isMore).map((item) => ({ key: item.id, label: item.children })),
|
|
64
|
+
onClick: (e) => {
|
|
65
|
+
const item = buttonList.find((item2) => item2.id === e.key);
|
|
66
|
+
onEdit(item);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { ref: setNodeRef, ...listeners, style }, isMore ? /* @__PURE__ */ import_react.default.createElement(import_antd.Dropdown, { menu }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { onClick: handleClick }, /* @__PURE__ */ import_react.default.createElement(import_icons.MoreOutlined, null))) : /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { style, ...buttonProps, onClick: () => onEdit(buttonItem) }, children));
|
|
70
|
+
};
|
|
71
|
+
var ButtonGroupEdit = (0, import_react.forwardRef)((props, ref) => {
|
|
72
|
+
const [buttonList, setButtonList] = (0, import_react.useState)(props.buttonList);
|
|
73
|
+
const [buttonGroupList, setButtonGroupList] = (0, import_react.useState)(props.buttonGroupList);
|
|
74
|
+
const sensors = (0, import_core.useSensors)(
|
|
75
|
+
(0, import_core.useSensor)(import_core.PointerSensor, {
|
|
76
|
+
activationConstraint: {
|
|
77
|
+
distance: 5
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
const [isModalVisible, setIsModalVisible] = (0, import_react.useState)(false);
|
|
82
|
+
const [currentButton, setCurrentButton] = (0, import_react.useState)(null);
|
|
83
|
+
const [form] = import_antd.Form.useForm();
|
|
84
|
+
(0, import_react.useEffect)(() => {
|
|
85
|
+
setButtonList(props.buttonList);
|
|
86
|
+
if (props.buttonList.length > 0) {
|
|
87
|
+
setButtonList([...buttonList, {
|
|
88
|
+
id: (0, import_utils.uuid)(),
|
|
89
|
+
isMore: true
|
|
90
|
+
}]);
|
|
91
|
+
} else {
|
|
92
|
+
setButtonGroupList(props.buttonGroupList);
|
|
93
|
+
}
|
|
94
|
+
}, [props.buttonList, props.buttonGroupList]);
|
|
95
|
+
const addRow = () => {
|
|
96
|
+
const newButton = {
|
|
97
|
+
id: (0, import_utils.uuid)(),
|
|
98
|
+
children: `按钮${(0, import_utils.uuid)()}`,
|
|
99
|
+
// 默认按钮文本
|
|
100
|
+
buttonProps: {
|
|
101
|
+
type: "default"
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
setButtonGroupList((prev) => [...prev, [newButton]]);
|
|
105
|
+
};
|
|
106
|
+
(0, import_react.useEffect)(() => {
|
|
107
|
+
var _a;
|
|
108
|
+
if (currentButton) {
|
|
109
|
+
form.setFieldsValue({ children: currentButton.children, type: (_a = currentButton.buttonProps) == null ? void 0 : _a.type });
|
|
110
|
+
}
|
|
111
|
+
}, [currentButton, form]);
|
|
112
|
+
const handleEditButton = (button) => {
|
|
113
|
+
setCurrentButton(button);
|
|
114
|
+
setIsModalVisible(true);
|
|
115
|
+
};
|
|
116
|
+
const handleCancel = () => {
|
|
117
|
+
setIsModalVisible(false);
|
|
118
|
+
setCurrentButton(null);
|
|
119
|
+
};
|
|
120
|
+
const handleSave = (values) => {
|
|
121
|
+
console.log("%c [ values ]-153", "font-size:13px; background:#968084; color:#dac4c8;", values);
|
|
122
|
+
if (!currentButton)
|
|
123
|
+
return;
|
|
124
|
+
const updatedButton = { ...currentButton, children: values.children, buttonProps: values };
|
|
125
|
+
setButtonList(
|
|
126
|
+
(prevList) => prevList.map(
|
|
127
|
+
(item) => item.id === currentButton.id ? { ...item, ...updatedButton } : item
|
|
128
|
+
)
|
|
129
|
+
);
|
|
130
|
+
setButtonGroupList(
|
|
131
|
+
(prevGroupList) => prevGroupList.map(
|
|
132
|
+
(row) => row.map(
|
|
133
|
+
(item) => item.id === currentButton.id ? { ...item, ...updatedButton } : item
|
|
134
|
+
)
|
|
135
|
+
)
|
|
136
|
+
);
|
|
137
|
+
handleCancel();
|
|
138
|
+
};
|
|
139
|
+
const onDragEnd = (event) => {
|
|
140
|
+
var _a, _b, _c, _d, _e;
|
|
141
|
+
const { active, over } = event;
|
|
142
|
+
if (!over)
|
|
143
|
+
return;
|
|
144
|
+
let activeId = active.id;
|
|
145
|
+
let overId = over.id;
|
|
146
|
+
let activeContainerId = "";
|
|
147
|
+
let overContainerId = "";
|
|
148
|
+
if ((_a = active == null ? void 0 : active.data) == null ? void 0 : _a.current) {
|
|
149
|
+
activeContainerId = active.data.current.sortable.containerId;
|
|
150
|
+
}
|
|
151
|
+
if ((_b = over == null ? void 0 : over.data) == null ? void 0 : _b.current) {
|
|
152
|
+
overContainerId = over.data.current.sortable.containerId;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
if (activeContainerId === "list1" && overContainerId === "list2") {
|
|
156
|
+
const activeIndex = buttonList.findIndex((item) => item.id === activeId);
|
|
157
|
+
if (activeIndex === -1)
|
|
158
|
+
return;
|
|
159
|
+
const movedItem = { ...buttonList[activeIndex] };
|
|
160
|
+
const overRowIndex = buttonGroupList.findIndex((row) => row.some((item) => item.id === overId));
|
|
161
|
+
if (overRowIndex === -1)
|
|
162
|
+
return;
|
|
163
|
+
const updatedGroupList = [...buttonGroupList];
|
|
164
|
+
updatedGroupList[overRowIndex].push(movedItem);
|
|
165
|
+
const updatedButtonList = buttonList.filter((item) => item.id !== activeId);
|
|
166
|
+
setButtonGroupList(updatedGroupList);
|
|
167
|
+
setButtonList(updatedButtonList);
|
|
168
|
+
}
|
|
169
|
+
if (activeContainerId === "list2" && overContainerId === "list1") {
|
|
170
|
+
const overRowIndex = buttonGroupList.findIndex((row) => row.some((item) => item.id === overId));
|
|
171
|
+
if (overRowIndex === -1)
|
|
172
|
+
return;
|
|
173
|
+
const overColIndex = (_c = buttonGroupList[overRowIndex]) == null ? void 0 : _c.findIndex((item) => item.id === overId);
|
|
174
|
+
if (overColIndex === -1)
|
|
175
|
+
return;
|
|
176
|
+
const [movedItem] = buttonGroupList[overRowIndex].splice(overColIndex, 1);
|
|
177
|
+
setButtonGroupList([...buttonGroupList]);
|
|
178
|
+
setButtonList((prev) => [...prev, movedItem]);
|
|
179
|
+
}
|
|
180
|
+
if (activeContainerId === "list1" && overContainerId === "list1") {
|
|
181
|
+
const activeIndex = buttonList.findIndex((item) => item.id === activeId);
|
|
182
|
+
const overIndex = buttonList.findIndex((item) => item.id === overId);
|
|
183
|
+
if (activeIndex === -1 || overIndex === -1)
|
|
184
|
+
return;
|
|
185
|
+
const updatedList = [...buttonList];
|
|
186
|
+
const [movedItem] = updatedList.splice(activeIndex, 1);
|
|
187
|
+
updatedList.splice(overIndex, 0, movedItem);
|
|
188
|
+
setButtonList(updatedList);
|
|
189
|
+
}
|
|
190
|
+
if (activeContainerId === "list2" && overContainerId === "list2") {
|
|
191
|
+
const activeRowIndex = buttonGroupList.findIndex((row) => row.some((item) => item.id === activeId));
|
|
192
|
+
const activeColIndex = (_d = buttonGroupList[activeRowIndex]) == null ? void 0 : _d.findIndex((item) => item.id === activeId);
|
|
193
|
+
const overRowIndex = buttonGroupList.findIndex((row) => row.some((item) => item.id === overId));
|
|
194
|
+
const overColIndex = (_e = buttonGroupList[overRowIndex]) == null ? void 0 : _e.findIndex((item) => item.id === overId);
|
|
195
|
+
if (activeRowIndex === -1 || overRowIndex === -1 || activeColIndex === -1 || overColIndex === -1)
|
|
196
|
+
return;
|
|
197
|
+
const updatedGroupList = [...buttonGroupList];
|
|
198
|
+
const [movedItem] = updatedGroupList[activeRowIndex].splice(activeColIndex, 1);
|
|
199
|
+
updatedGroupList[overRowIndex].splice(overColIndex, 0, movedItem);
|
|
200
|
+
setButtonGroupList(updatedGroupList);
|
|
201
|
+
}
|
|
202
|
+
} catch (error) {
|
|
203
|
+
console.error("拖拽结束时出错:", error);
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
console.log("%c [ currentButton ]-235", "font-size:13px; background:#07d83a; color:#4bff7e;", currentButton);
|
|
207
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { wrap: true, justify: "space-between", align: "center", gap: "middle" }, /* @__PURE__ */ import_react.default.createElement(import_core.DndContext, { onDragEnd, sensors, collisionDetection: import_core.closestCenter }, /* @__PURE__ */ import_react.default.createElement(import_antd.Card, { title: "按钮列表" }, /* @__PURE__ */ import_react.default.createElement(import_sortable.SortableContext, { id: "list1", items: buttonList.map((item) => item.id), strategy: import_sortable.verticalListSortingStrategy }, /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { gap: "middle", vertical: true }, buttonList.map((item) => /* @__PURE__ */ import_react.default.createElement(
|
|
208
|
+
DraggableButton,
|
|
209
|
+
{
|
|
210
|
+
key: item.id,
|
|
211
|
+
buttonItem: item,
|
|
212
|
+
buttonList,
|
|
213
|
+
onEdit: handleEditButton
|
|
214
|
+
}
|
|
215
|
+
))))), /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { type: "primary", icon: /* @__PURE__ */ import_react.default.createElement(import_icons.SwapOutlined, null) }), /* @__PURE__ */ import_react.default.createElement(import_antd.Card, { title: "调整列表", style: { flex: 1 } }, /* @__PURE__ */ import_react.default.createElement(import_sortable.SortableContext, { id: "list2", items: buttonGroupList.flat().map((item) => item.id), strategy: import_sortable.verticalListSortingStrategy }, /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { gap: "middle", vertical: true }, buttonGroupList.map((subItem, rowIndex) => /* @__PURE__ */ import_react.default.createElement(import_antd.Card, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { key: rowIndex, gap: "middle" }, subItem.map((item) => /* @__PURE__ */ import_react.default.createElement(
|
|
216
|
+
DraggableButton,
|
|
217
|
+
{
|
|
218
|
+
key: item.id,
|
|
219
|
+
buttonItem: item,
|
|
220
|
+
buttonList,
|
|
221
|
+
onEdit: handleEditButton
|
|
222
|
+
}
|
|
223
|
+
))))))))), /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { type: "primary", onClick: addRow }, "新增一行"), /* @__PURE__ */ import_react.default.createElement(
|
|
224
|
+
import_antd.Modal,
|
|
225
|
+
{
|
|
226
|
+
title: "编辑按钮属性",
|
|
227
|
+
open: isModalVisible,
|
|
228
|
+
onCancel: handleCancel,
|
|
229
|
+
footer: null
|
|
230
|
+
},
|
|
231
|
+
currentButton && /* @__PURE__ */ import_react.default.createElement(import_antd.Form, { form, onFinish: handleSave }, /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { name: "children", label: "按钮名称", rules: [{ required: true, message: "请输入按钮名称" }] }, /* @__PURE__ */ import_react.default.createElement(import_antd.Input, { placeholder: "请输入按钮名称" })), /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { name: "type", label: "按钮类型", rules: [{ required: true, message: "请选择按钮类型" }] }, /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Group, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Button, { value: "primary" }, "primary"), /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Button, { value: "dashed" }, "dashed"), /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Button, { value: "link" }, "link"), /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Button, { value: "text" }, "text"), /* @__PURE__ */ import_react.default.createElement(import_antd.Radio.Button, { value: "default" }, "default"))), /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { type: "primary", htmlType: "submit" }, "保存")))
|
|
232
|
+
));
|
|
233
|
+
});
|
|
234
|
+
var buttonGroupEdit_default = (0, import_react.memo)(ButtonGroupEdit);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MenuProps, ButtonProps } from 'antd';
|
|
3
|
+
export interface ButtonGroupListItemProps {
|
|
4
|
+
id: string;
|
|
5
|
+
children?: string;
|
|
6
|
+
isMore?: boolean;
|
|
7
|
+
menuData?: MenuProps['items'];
|
|
8
|
+
buttonProps?: ButtonProps;
|
|
9
|
+
updateButtonProps?: ButtonProps;
|
|
10
|
+
}
|
|
11
|
+
interface ButtonConfigProps {
|
|
12
|
+
[id: string]: ButtonGroupListItemProps;
|
|
13
|
+
}
|
|
14
|
+
export declare type ButtonGroupListProps = ButtonGroupListItemProps[][];
|
|
15
|
+
interface ButtonGroupPreviewProps {
|
|
16
|
+
buttonConfig?: ButtonConfigProps;
|
|
17
|
+
buttonGroupList: ButtonGroupListProps;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ButtonGroupPreviewProps & React.RefAttributes<any>>>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/buttonGroupPreview/index.tsx
|
|
30
|
+
var buttonGroupPreview_exports = {};
|
|
31
|
+
__export(buttonGroupPreview_exports, {
|
|
32
|
+
default: () => buttonGroupPreview_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(buttonGroupPreview_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_antd = require("antd");
|
|
37
|
+
var import_icons = require("@ant-design/icons");
|
|
38
|
+
var updateSourceData = ({ buttonConfig, buttonGroupList }) => {
|
|
39
|
+
console.log("%c [ 0 ]-43", "font-size:13px; background:#26c778; color:#6affbc;", Object.keys(buttonConfig).length !== 0);
|
|
40
|
+
if (Object.keys(buttonConfig).length !== 0) {
|
|
41
|
+
return buttonGroupList.map((subArray) => {
|
|
42
|
+
return subArray.map((item) => {
|
|
43
|
+
if (buttonConfig.hasOwnProperty(item.id)) {
|
|
44
|
+
return buttonConfig[item.id];
|
|
45
|
+
}
|
|
46
|
+
return item;
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
console.log("%c [ buttonGroupList ]-54", "font-size:13px; background:#721db9; color:#b661fd;", buttonGroupList);
|
|
51
|
+
return buttonGroupList;
|
|
52
|
+
};
|
|
53
|
+
var ButtonGroupPreview = (0, import_react.forwardRef)((props, ref) => {
|
|
54
|
+
const { buttonConfig = {}, buttonGroupList = [] } = props;
|
|
55
|
+
console.log("%c [ props ]-57", "font-size:13px; background:#305767; color:#749bab;", props);
|
|
56
|
+
const sourceDatas = (0, import_react.useMemo)(() => {
|
|
57
|
+
return updateSourceData({ buttonConfig, buttonGroupList });
|
|
58
|
+
}, [buttonGroupList, buttonConfig]);
|
|
59
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { wrap: true, vertical: true, style: { marginBottom: 10 } }, sourceDatas.map((item, index) => /* @__PURE__ */ import_react.default.createElement(import_antd.Space, { key: index }, item.map((items, index2) => {
|
|
60
|
+
const { isMore = false, id = "", menuData = [], children = "默认按钮名称", buttonProps, updateButtonProps = {} } = items;
|
|
61
|
+
const btnProps = { ...buttonProps, ...updateButtonProps };
|
|
62
|
+
return isMore ? /* @__PURE__ */ import_react.default.createElement(import_antd.Dropdown, { menu: { items: menuData } }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, null, /* @__PURE__ */ import_react.default.createElement(import_icons.MoreOutlined, null))) : /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { key: id, ...btnProps, children: updateButtonProps.children || children });
|
|
63
|
+
}))));
|
|
64
|
+
});
|
|
65
|
+
var buttonGroupPreview_default = (0, import_react.memo)(ButtonGroupPreview);
|
|
@@ -60,6 +60,8 @@ var Tabs = class extends import_react.Component {
|
|
|
60
60
|
};
|
|
61
61
|
this.renderIconLabelTabBar = (props, DefaultTabBar) => {
|
|
62
62
|
var _a;
|
|
63
|
+
console.log("%c [ props ]-31", "font-size:13px; background:#4d3662; color:#917aa6;", props);
|
|
64
|
+
debugger;
|
|
63
65
|
const { items, sidebarWidth } = this.props;
|
|
64
66
|
let wrapStyle = {
|
|
65
67
|
gap: props.tabBarGutter
|
|
@@ -91,7 +93,6 @@ var Tabs = class extends import_react.Component {
|
|
|
91
93
|
key: item.key,
|
|
92
94
|
onClick: (e) => props.onTabClick(item.key, e)
|
|
93
95
|
},
|
|
94
|
-
/* @__PURE__ */ import_react.default.createElement(import_antd.Badge, { count: item.badge, offset: [0, 6] }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}tab-bar-icon-wrap` }, item.icon)),
|
|
95
96
|
/* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}tab-bar-label` }, item.label)
|
|
96
97
|
);
|
|
97
98
|
}),
|
package/lib/index.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export { Timeline } from 'antd';
|
|
|
37
37
|
export { Tooltip } from 'antd';
|
|
38
38
|
export { version } from 'antd';
|
|
39
39
|
export { default as Typography } from './components/typography';
|
|
40
|
+
export { default as ButtonGroupEdit } from './components/buttonGroupEdit';
|
|
41
|
+
export { default as ButtonGroupPreview } from './components/buttonGroupPreview';
|
|
40
42
|
export { default as Skeleton } from './components/skeleton';
|
|
41
43
|
export { default as Checkbox } from './components/checkbox';
|
|
42
44
|
export { default as Button } from './components/button';
|
package/lib/index.js
CHANGED
|
@@ -39,6 +39,8 @@ __export(src_exports, {
|
|
|
39
39
|
BatchEditor: () => import_batch_editor.default,
|
|
40
40
|
Breadcrumb: () => import_antd6.Breadcrumb,
|
|
41
41
|
Button: () => import_button.default,
|
|
42
|
+
ButtonGroupEdit: () => import_buttonGroupEdit.default,
|
|
43
|
+
ButtonGroupPreview: () => import_buttonGroupPreview.default,
|
|
42
44
|
Calendar: () => import_calendar.default,
|
|
43
45
|
Card: () => import_antd7.Card,
|
|
44
46
|
Carousel: () => import_antd9.Carousel,
|
|
@@ -183,6 +185,8 @@ var import_antd36 = require("antd");
|
|
|
183
185
|
var import_antd37 = require("antd");
|
|
184
186
|
var import_antd38 = require("antd");
|
|
185
187
|
var import_typography = __toESM(require("./components/typography"));
|
|
188
|
+
var import_buttonGroupEdit = __toESM(require("./components/buttonGroupEdit"));
|
|
189
|
+
var import_buttonGroupPreview = __toESM(require("./components/buttonGroupPreview"));
|
|
186
190
|
var import_skeleton = __toESM(require("./components/skeleton"));
|
|
187
191
|
var import_checkbox = __toESM(require("./components/checkbox"));
|
|
188
192
|
var import_button = __toESM(require("./components/button"));
|
|
@@ -268,6 +272,8 @@ var import_PisellAdjustPriceInputNumber = __toESM(require("./components/pisellAd
|
|
|
268
272
|
BatchEditor,
|
|
269
273
|
Breadcrumb,
|
|
270
274
|
Button,
|
|
275
|
+
ButtonGroupEdit,
|
|
276
|
+
ButtonGroupPreview,
|
|
271
277
|
Calendar,
|
|
272
278
|
Card,
|
|
273
279
|
Carousel,
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var utils_exports = {};
|
|
21
21
|
__export(utils_exports, {
|
|
22
22
|
getCssNumber: () => getCssNumber,
|
|
23
|
-
isBrowser: () => isBrowser
|
|
23
|
+
isBrowser: () => isBrowser,
|
|
24
|
+
uuid: () => uuid
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(utils_exports);
|
|
26
27
|
var import_utils = require("@pisell/utils");
|
|
@@ -38,8 +39,12 @@ var getCssNumber = (val) => {
|
|
|
38
39
|
return val;
|
|
39
40
|
}
|
|
40
41
|
};
|
|
42
|
+
function uuid() {
|
|
43
|
+
return (Math.random() * 1e6 >> 0).toString(36);
|
|
44
|
+
}
|
|
41
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
42
46
|
0 && (module.exports = {
|
|
43
47
|
getCssNumber,
|
|
44
|
-
isBrowser
|
|
48
|
+
isBrowser,
|
|
49
|
+
uuid
|
|
45
50
|
});
|
package/lowcode/button/meta.ts
CHANGED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
|
|
2
|
+
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';
|
|
3
|
+
import snippets from './snippets';
|
|
4
|
+
import { uuid } from '../_utils/utils';
|
|
5
|
+
|
|
6
|
+
const ButtonGroupMeta: IPublicTypeComponentMetadata = {
|
|
7
|
+
"componentName": "ButtonGroup",
|
|
8
|
+
"title": "ButtonGroup",
|
|
9
|
+
category: "通用",
|
|
10
|
+
"docUrl": "",
|
|
11
|
+
"screenshot": "",
|
|
12
|
+
"devMode": "proCode",
|
|
13
|
+
"npm": {
|
|
14
|
+
package: "@pisell/materials",
|
|
15
|
+
"version": "0.1.0",
|
|
16
|
+
"exportName": "ButtonGroup",
|
|
17
|
+
"main": "src/index.tsx",
|
|
18
|
+
"destructuring": true,
|
|
19
|
+
"subName": ""
|
|
20
|
+
},
|
|
21
|
+
"configure": {
|
|
22
|
+
"props": [
|
|
23
|
+
{
|
|
24
|
+
name: "options",
|
|
25
|
+
title: { label: "按钮列表", tip: "按钮列表" },
|
|
26
|
+
setter: {
|
|
27
|
+
componentName: "ArraySetter",
|
|
28
|
+
props: {
|
|
29
|
+
itemSetter: {
|
|
30
|
+
componentName: "ObjectSetter",
|
|
31
|
+
props: {
|
|
32
|
+
config: {
|
|
33
|
+
items: [
|
|
34
|
+
{
|
|
35
|
+
name: "buttonText",
|
|
36
|
+
title: "按钮名称",
|
|
37
|
+
isRequired:true,
|
|
38
|
+
setter: "StringSetter",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: "buttonType",
|
|
42
|
+
title: "按钮类型",
|
|
43
|
+
isRequired:true,
|
|
44
|
+
propType: {
|
|
45
|
+
type: "oneOf",
|
|
46
|
+
value: ["primary", "default", "ghost", "dashed", "danger", "link", "text"],
|
|
47
|
+
},
|
|
48
|
+
setter: [
|
|
49
|
+
{
|
|
50
|
+
componentName: "SelectSetter",
|
|
51
|
+
props: {
|
|
52
|
+
options: [
|
|
53
|
+
{
|
|
54
|
+
title: "primary",
|
|
55
|
+
value: "primary",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: "default",
|
|
59
|
+
value: "default",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: "dashed",
|
|
63
|
+
value: "dashed",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
title: "danger",
|
|
67
|
+
value: "danger",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
title: "link",
|
|
71
|
+
value: "link",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
title: "text",
|
|
75
|
+
value: "text",
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
"VariableSetter",
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: "onClick",
|
|
85
|
+
title: { label: "点击事件", tip: "点击事件" },
|
|
86
|
+
propType: "func",
|
|
87
|
+
isRequired:true,
|
|
88
|
+
setter: "FunctionSetter",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
initialValue: () => {
|
|
94
|
+
return {
|
|
95
|
+
buttonText: "按钮名称",
|
|
96
|
+
buttonType: "default",
|
|
97
|
+
onClick: (e) => {
|
|
98
|
+
console.log(e,99999999);
|
|
99
|
+
alert('点击了按钮')
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: 'isShowMore',
|
|
109
|
+
title: {
|
|
110
|
+
label: {
|
|
111
|
+
type: "i18n",
|
|
112
|
+
"en-US": "Right icon",
|
|
113
|
+
"zh-CN": "菜单按钮",
|
|
114
|
+
},
|
|
115
|
+
tip: "icon | Set the icon component of the button",
|
|
116
|
+
},
|
|
117
|
+
propType: { type: "oneOfType", value: ["node"] },
|
|
118
|
+
setter: [{
|
|
119
|
+
componentName: "SlotSetter",
|
|
120
|
+
initialValue: {
|
|
121
|
+
type: "JSSlot",
|
|
122
|
+
value: [
|
|
123
|
+
{
|
|
124
|
+
componentName: "Dropdown",
|
|
125
|
+
props: {
|
|
126
|
+
items: [{
|
|
127
|
+
label: '菜单名称',
|
|
128
|
+
key: uuid(),
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
defaultValue: null
|
|
136
|
+
}],
|
|
137
|
+
|
|
138
|
+
// defaultValue: false,
|
|
139
|
+
// supportVariable: true,
|
|
140
|
+
}, {
|
|
141
|
+
name: 'moreMenus',
|
|
142
|
+
"title": { label: '下拉按钮', tip: '下拉按钮配置项' },
|
|
143
|
+
"setter": {
|
|
144
|
+
"componentName": "ArraySetter",
|
|
145
|
+
"props": {
|
|
146
|
+
"itemSetter": {
|
|
147
|
+
"componentName": "ObjectSetter",
|
|
148
|
+
"props": {
|
|
149
|
+
"config": {
|
|
150
|
+
"items": [{
|
|
151
|
+
"name": "key",
|
|
152
|
+
title: { label: '菜单ID', tip: '菜单唯一标识' },
|
|
153
|
+
isRequired: true,
|
|
154
|
+
"setter": "StringSetter"
|
|
155
|
+
}, {
|
|
156
|
+
"name": "label",
|
|
157
|
+
title: { label: '菜单名称', tip: '菜单名称' },
|
|
158
|
+
isRequired: true,
|
|
159
|
+
"setter": "StringSetter"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "callback",
|
|
163
|
+
title: { label: '回调函数', tip: '点击按钮绑定回调函数' },
|
|
164
|
+
isRequired: true,
|
|
165
|
+
"description": "callback",
|
|
166
|
+
"setter": {
|
|
167
|
+
"componentName": "FunctionSetter"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"initialValue": {
|
|
174
|
+
"label": "按钮名称",
|
|
175
|
+
"key": uuid(),
|
|
176
|
+
"callback": null
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
},],
|
|
183
|
+
"supports": {
|
|
184
|
+
"style": true
|
|
185
|
+
},
|
|
186
|
+
"component": {}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
export default {
|
|
199
|
+
...ButtonGroupMeta,
|
|
200
|
+
snippets
|
|
201
|
+
};
|