@pisell/materials 1.0.586 → 1.0.587
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 +7 -7
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +11 -11
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +11 -11
- package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +5 -0
- package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.js +18 -0
- package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.less +6 -0
- package/es/components/dataSourceComponents/fields/IconSelect/WithMode.d.ts +4 -0
- package/es/components/dataSourceComponents/fields/IconSelect/WithMode.js +5 -0
- package/es/components/dataSourceComponents/fields/IconSelect/index.d.ts +3 -0
- package/es/components/dataSourceComponents/fields/IconSelect/index.js +4 -0
- package/es/components/dataSourceComponents/fields/IconSelect/type.d.ts +8 -0
- package/es/components/dataSourceComponents/fields/IconSelect/type.js +1 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +2 -1
- package/es/components/dataSourceComponents/fields/index.js +3 -1
- package/es/components/iconSelect/index.d.ts +10 -0
- package/es/components/iconSelect/index.js +216 -0
- package/es/components/iconSelect/index.less +54 -0
- package/es/components/iconSelect/utils.d.ts +14 -0
- package/es/components/iconSelect/utils.js +102 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +3 -1
- package/es/locales/en-US.d.ts +8 -1
- package/es/locales/en-US.js +25 -9
- package/es/locales/zh-CN.d.ts +7 -0
- package/es/locales/zh-CN.js +8 -1
- package/es/locales/zh-TW.d.ts +7 -0
- package/es/locales/zh-TW.js +8 -1
- package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +5 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.js +52 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.less +6 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.d.ts +4 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.js +39 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/index.d.ts +3 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/index.js +38 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/type.d.ts +8 -0
- package/lib/components/dataSourceComponents/fields/IconSelect/type.js +17 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/index.d.ts +2 -1
- package/lib/components/dataSourceComponents/fields/index.js +3 -1
- package/lib/components/iconSelect/index.d.ts +10 -0
- package/lib/components/iconSelect/index.js +188 -0
- package/lib/components/iconSelect/index.less +54 -0
- package/lib/components/iconSelect/utils.d.ts +14 -0
- package/lib/components/iconSelect/utils.js +119 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -0
- package/lib/locales/en-US.d.ts +8 -1
- package/lib/locales/en-US.js +8 -2
- package/lib/locales/zh-CN.d.ts +7 -0
- package/lib/locales/zh-CN.js +8 -1
- package/lib/locales/zh-TW.d.ts +7 -0
- package/lib/locales/zh-TW.js +8 -1
- package/lowcode/_setters/antd-icon-setter/index.tsx +11 -4
- package/lowcode/data-source-form/constants.ts +2 -1
- package/lowcode/form-item-icon-select/meta.ts +65 -0
- package/lowcode/form-item-icon-select/snippets.ts +11 -0
- package/lowcode/icon-select/meta.ts +98 -0
- package/package.json +3 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Button } from 'antd';
|
|
4
|
+
import Icon from "../../../icon";
|
|
5
|
+
import "./ReadPretty.less";
|
|
6
|
+
var IconSelectReadPretty = function IconSelectReadPretty(props) {
|
|
7
|
+
if (!props.value) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
11
|
+
size: "large",
|
|
12
|
+
icon: /*#__PURE__*/React.createElement(Icon, _extends({
|
|
13
|
+
type: props.value
|
|
14
|
+
}, props)),
|
|
15
|
+
className: "pisell-icon-select-read-pretty"
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
export default IconSelectReadPretty;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
declare const Subdomain: React.FC<import("antd").InputProps & {
|
|
3
3
|
onChange: (value: string) => void;
|
|
4
4
|
onBlur?: ((e: React.FocusEvent<HTMLInputElement, Element>) => void) | undefined;
|
|
5
|
-
rootDomain:
|
|
5
|
+
rootDomain: string;
|
|
6
6
|
customDomain?: string | undefined;
|
|
7
7
|
value?: string | undefined;
|
|
8
8
|
isVerification?: boolean | undefined;
|
|
@@ -56,6 +56,7 @@ declare const formFieldMap: {
|
|
|
56
56
|
FormItemDateRangePicker: import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
57
57
|
FormItemUpload: import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
58
58
|
FormItemTranslation: import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
59
|
+
FormItemIconSelect: import("react").FC<import("./IconSelect/type").IconSelectProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
59
60
|
};
|
|
60
61
|
declare const getFieldComponent: (fieldComponent: string) => import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<any> | (import("react").FC<{}> & {
|
|
61
62
|
Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
|
|
@@ -93,5 +94,5 @@ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<
|
|
|
93
94
|
valueField: string;
|
|
94
95
|
} & {
|
|
95
96
|
dataSource?: any;
|
|
96
|
-
}) => import("react").JSX.Element) | import("react").FC<import("./TimePicker/type").TimePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
97
|
+
}) => import("react").JSX.Element) | import("react").FC<import("./TimePicker/type").TimePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./IconSelect/type").IconSelectProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
97
98
|
export { getFieldComponent, formFieldMap };
|
|
@@ -9,6 +9,7 @@ import TimePicker from "./TimePicker";
|
|
|
9
9
|
import DateRangePicker from "./DateRangePicker";
|
|
10
10
|
import Upload from "./Upload";
|
|
11
11
|
import Translation from "./Translation";
|
|
12
|
+
import IconSelect from "./IconSelect";
|
|
12
13
|
|
|
13
14
|
// 表单字段组件映射 增加时需要同步更新 utils 中的 formFieldFilterFuncMap
|
|
14
15
|
var formFieldMap = {
|
|
@@ -31,7 +32,8 @@ var formFieldMap = {
|
|
|
31
32
|
'FormItemCheckbox.Group': Checkbox.Group,
|
|
32
33
|
FormItemDateRangePicker: DateRangePicker,
|
|
33
34
|
FormItemUpload: Upload,
|
|
34
|
-
FormItemTranslation: Translation
|
|
35
|
+
FormItemTranslation: Translation,
|
|
36
|
+
FormItemIconSelect: IconSelect
|
|
35
37
|
};
|
|
36
38
|
var getFieldComponent = function getFieldComponent(fieldComponent) {
|
|
37
39
|
return formFieldMap[fieldComponent];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
export interface IconSelectProps {
|
|
4
|
+
value?: string;
|
|
5
|
+
onChange?: (value: string) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const IconSelect: React.FC<IconSelectProps>;
|
|
10
|
+
export default IconSelect;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
var _excluded = ["type", "icons"];
|
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
9
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
+
import React, { useState, useEffect } from 'react';
|
|
11
|
+
import { Button, Input, Popover, Radio, Space } from 'antd';
|
|
12
|
+
import { CloseOutlined, SearchOutlined } from '@ant-design/icons';
|
|
13
|
+
import { useControllableValue } from 'ahooks';
|
|
14
|
+
import { isUndefined } from '@pisell/utils';
|
|
15
|
+
import { getText } from "../../locales";
|
|
16
|
+
import { getIconList } from "./utils";
|
|
17
|
+
import "./index.less";
|
|
18
|
+
var IconGroupNameMap = {
|
|
19
|
+
outlined: getText('pisell-icon-select-outlined'),
|
|
20
|
+
filled: getText('pisell-icon-select-filled'),
|
|
21
|
+
'two-tone': getText('pisell-icon-select-two-tone'),
|
|
22
|
+
iconfont: getText('pisell-icon-select-iconfont')
|
|
23
|
+
};
|
|
24
|
+
var Icon = function Icon(props) {
|
|
25
|
+
var type = props.type,
|
|
26
|
+
_props$icons = props.icons,
|
|
27
|
+
icons = _props$icons === void 0 ? {} : _props$icons,
|
|
28
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
29
|
+
var Comp = icons[type];
|
|
30
|
+
if (!Comp) return null;
|
|
31
|
+
return /*#__PURE__*/React.createElement(Comp, rest);
|
|
32
|
+
};
|
|
33
|
+
var IconContent = function IconContent(_ref) {
|
|
34
|
+
var selectedGroup = _ref.selectedGroup,
|
|
35
|
+
groups = _ref.groups,
|
|
36
|
+
setSelectedGroup = _ref.setSelectedGroup,
|
|
37
|
+
search = _ref.search,
|
|
38
|
+
setSearch = _ref.setSearch,
|
|
39
|
+
list = _ref.list,
|
|
40
|
+
handleChange = _ref.handleChange,
|
|
41
|
+
icons = _ref.icons;
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: "pisell-lowcode-icon-select-popup"
|
|
44
|
+
}, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
45
|
+
className: "pisell-lowcode-icon-select-radio-group",
|
|
46
|
+
size: "middle",
|
|
47
|
+
value: selectedGroup,
|
|
48
|
+
onChange: function onChange(e) {
|
|
49
|
+
return setSelectedGroup(e.target.value);
|
|
50
|
+
}
|
|
51
|
+
}, groups.map(function (item) {
|
|
52
|
+
return /*#__PURE__*/React.createElement(Radio.Button, {
|
|
53
|
+
key: item.group,
|
|
54
|
+
value: item.group
|
|
55
|
+
}, IconGroupNameMap[item.group]);
|
|
56
|
+
})), /*#__PURE__*/React.createElement(Input, {
|
|
57
|
+
value: search,
|
|
58
|
+
size: "middle",
|
|
59
|
+
placeholder: getText('pisell-icon-select-search'),
|
|
60
|
+
allowClear: true,
|
|
61
|
+
prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),
|
|
62
|
+
onChange: function onChange(e) {
|
|
63
|
+
return setSearch(e.target.value);
|
|
64
|
+
},
|
|
65
|
+
style: {
|
|
66
|
+
width: '100%'
|
|
67
|
+
},
|
|
68
|
+
className: "pisell-lowcode-icon-select-search"
|
|
69
|
+
}), /*#__PURE__*/React.createElement("ul", {
|
|
70
|
+
className: "pisell-lowcode-icon-select-content"
|
|
71
|
+
}, list.map(function (item) {
|
|
72
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
73
|
+
className: "pisell-lowcode-icon-select-item",
|
|
74
|
+
key: item.name,
|
|
75
|
+
onClick: function onClick() {
|
|
76
|
+
return handleChange(item.name);
|
|
77
|
+
},
|
|
78
|
+
title: item.name
|
|
79
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
80
|
+
type: item.name,
|
|
81
|
+
icons: icons
|
|
82
|
+
}));
|
|
83
|
+
})));
|
|
84
|
+
};
|
|
85
|
+
var IconSelect = function IconSelect(props) {
|
|
86
|
+
var disabled = props.disabled,
|
|
87
|
+
_props$defaultValue = props.defaultValue,
|
|
88
|
+
defaultValue = _props$defaultValue === void 0 ? 'HeartOutlined' : _props$defaultValue;
|
|
89
|
+
var _useState = useState(false),
|
|
90
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
91
|
+
open = _useState2[0],
|
|
92
|
+
setOpen = _useState2[1];
|
|
93
|
+
var _useState3 = useState(''),
|
|
94
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
95
|
+
search = _useState4[0],
|
|
96
|
+
setSearch = _useState4[1];
|
|
97
|
+
var _useState5 = useState({}),
|
|
98
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
99
|
+
icons = _useState6[0],
|
|
100
|
+
setIcons = _useState6[1];
|
|
101
|
+
var _useState7 = useState([]),
|
|
102
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
103
|
+
groups = _useState8[0],
|
|
104
|
+
setGroups = _useState8[1];
|
|
105
|
+
var _useState9 = useState('outlined'),
|
|
106
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
107
|
+
selectedGroup = _useState10[0],
|
|
108
|
+
setSelectedGroup = _useState10[1];
|
|
109
|
+
var _useState11 = useState(true),
|
|
110
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
111
|
+
firstLoad = _useState12[0],
|
|
112
|
+
setFirstLoad = _useState12[1];
|
|
113
|
+
var _useState13 = useState([]),
|
|
114
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
115
|
+
list = _useState14[0],
|
|
116
|
+
setList = _useState14[1];
|
|
117
|
+
var _useControllableValue = useControllableValue(props, {
|
|
118
|
+
defaultValue: defaultValue
|
|
119
|
+
}),
|
|
120
|
+
_useControllableValue2 = _slicedToArray(_useControllableValue, 2),
|
|
121
|
+
value = _useControllableValue2[0],
|
|
122
|
+
onChange = _useControllableValue2[1];
|
|
123
|
+
if (firstLoad && defaultValue && isUndefined(value)) {
|
|
124
|
+
onChange(defaultValue);
|
|
125
|
+
setFirstLoad(false);
|
|
126
|
+
}
|
|
127
|
+
useEffect(function () {
|
|
128
|
+
var _groups$;
|
|
129
|
+
var iconList = getIconList();
|
|
130
|
+
var groups = [];
|
|
131
|
+
var icons = {};
|
|
132
|
+
iconList.forEach(function (item) {
|
|
133
|
+
var _ref2 = item,
|
|
134
|
+
group = _ref2.group,
|
|
135
|
+
name = _ref2.name,
|
|
136
|
+
icon = _ref2.icon;
|
|
137
|
+
if (groups.every(function (item) {
|
|
138
|
+
return item.group !== group;
|
|
139
|
+
})) {
|
|
140
|
+
groups.push({
|
|
141
|
+
group: group,
|
|
142
|
+
list: []
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
var target = groups.find(function (item) {
|
|
146
|
+
return item.group === group;
|
|
147
|
+
});
|
|
148
|
+
target.list.push(item);
|
|
149
|
+
icons[item.name] = item === null || item === void 0 ? void 0 : item.icon;
|
|
150
|
+
});
|
|
151
|
+
setIcons(icons);
|
|
152
|
+
setGroups(groups);
|
|
153
|
+
setSelectedGroup((_groups$ = groups[0]) === null || _groups$ === void 0 ? void 0 : _groups$.group);
|
|
154
|
+
}, []);
|
|
155
|
+
useEffect(function () {
|
|
156
|
+
var _currentGroup$list;
|
|
157
|
+
var currentGroup = groups.find(function (item) {
|
|
158
|
+
return item.group === selectedGroup;
|
|
159
|
+
});
|
|
160
|
+
setList(((_currentGroup$list = currentGroup === null || currentGroup === void 0 ? void 0 : currentGroup.list) !== null && _currentGroup$list !== void 0 ? _currentGroup$list : []).filter(function (item) {
|
|
161
|
+
return search ? item.name.toLowerCase().indexOf(search.toLowerCase()) > -1 : true;
|
|
162
|
+
}));
|
|
163
|
+
}, [selectedGroup, search, groups]);
|
|
164
|
+
var handleChange = function handleChange(icon) {
|
|
165
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(icon);
|
|
166
|
+
hide();
|
|
167
|
+
};
|
|
168
|
+
var triggerNode = /*#__PURE__*/React.createElement("div", {
|
|
169
|
+
className: "pisell-lowcode-icon-select-trigger"
|
|
170
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
171
|
+
type: value,
|
|
172
|
+
icons: icons,
|
|
173
|
+
style: {
|
|
174
|
+
fontSize: 24
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
var hide = function hide() {
|
|
178
|
+
setOpen(false);
|
|
179
|
+
};
|
|
180
|
+
var handleOpenChange = function handleOpenChange(newOpen) {
|
|
181
|
+
setOpen(newOpen);
|
|
182
|
+
};
|
|
183
|
+
return /*#__PURE__*/React.createElement(Space.Compact, {
|
|
184
|
+
block: true,
|
|
185
|
+
className: "pisell-lowcode-icon-select"
|
|
186
|
+
}, /*#__PURE__*/React.createElement(Popover, {
|
|
187
|
+
content: /*#__PURE__*/React.createElement(IconContent, {
|
|
188
|
+
selectedGroup: selectedGroup,
|
|
189
|
+
groups: groups,
|
|
190
|
+
setSelectedGroup: setSelectedGroup,
|
|
191
|
+
search: search,
|
|
192
|
+
setSearch: setSearch,
|
|
193
|
+
list: list,
|
|
194
|
+
handleChange: handleChange,
|
|
195
|
+
icons: icons
|
|
196
|
+
}),
|
|
197
|
+
trigger: "click",
|
|
198
|
+
placement: "bottom",
|
|
199
|
+
open: open,
|
|
200
|
+
onOpenChange: handleOpenChange
|
|
201
|
+
}, value ? /*#__PURE__*/React.createElement(Button, {
|
|
202
|
+
size: "large",
|
|
203
|
+
disabled: disabled,
|
|
204
|
+
icon: triggerNode,
|
|
205
|
+
className: "pisell-lowcode-icon-select-button"
|
|
206
|
+
}) : /*#__PURE__*/React.createElement(Button, {
|
|
207
|
+
className: "pisell-lowcode-icon-select-button-text"
|
|
208
|
+
}, getText('pisell-icon-select-select'))), value && !disabled && /*#__PURE__*/React.createElement(Button, {
|
|
209
|
+
icon: /*#__PURE__*/React.createElement(CloseOutlined, null),
|
|
210
|
+
className: "pisell-lowcode-icon-select-button",
|
|
211
|
+
onClick: function onClick() {
|
|
212
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange('');
|
|
213
|
+
}
|
|
214
|
+
}));
|
|
215
|
+
};
|
|
216
|
+
export default IconSelect;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.pisell-lowcode-icon-select-trigger {
|
|
2
|
+
font-size: 20px;
|
|
3
|
+
.anticon {
|
|
4
|
+
font-size: 20px;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.pisell-lowcode-icon-select-button {
|
|
9
|
+
// width: 44px;
|
|
10
|
+
// height: 44px;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.pisell-lowcode-icon-select-button-text {
|
|
17
|
+
border-radius: 9px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.pisell-lowcode-icon-select-popup {
|
|
21
|
+
width: 350px;
|
|
22
|
+
border-radius: 12px;
|
|
23
|
+
display: flex;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
gap: 12px;
|
|
26
|
+
.pisell-lowcode-icon-select-radio-group {
|
|
27
|
+
width: 100%;
|
|
28
|
+
display: flex;
|
|
29
|
+
& > * {
|
|
30
|
+
flex: 1;
|
|
31
|
+
padding: 0;
|
|
32
|
+
text-align: center;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
.pisell-lowcode-icon-select-content {
|
|
36
|
+
flex: 1;
|
|
37
|
+
overflow-y: auto;
|
|
38
|
+
max-height: 280px;
|
|
39
|
+
.pisell-lowcode-icon-select-item {
|
|
40
|
+
width: 36px;
|
|
41
|
+
height: 36px;
|
|
42
|
+
line-height: 36px;
|
|
43
|
+
font-size: 24px;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
display: inline-block;
|
|
46
|
+
transition: background-color 0.2s;
|
|
47
|
+
text-align: center;
|
|
48
|
+
border-radius: 4px;
|
|
49
|
+
&:hover {
|
|
50
|
+
background-color: #f1f2f3;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type IconGroup = 'outlined' | 'filled' | 'two-tone' | 'iconfont';
|
|
2
|
+
export declare function get(obj: any, path: string, defaultValue?: any): any;
|
|
3
|
+
export declare function getAntdIconList(): ({
|
|
4
|
+
name: any;
|
|
5
|
+
group: "filled" | "outlined" | "two-tone";
|
|
6
|
+
icon: any;
|
|
7
|
+
} | null)[];
|
|
8
|
+
interface IconItem {
|
|
9
|
+
name: string;
|
|
10
|
+
group: IconGroup;
|
|
11
|
+
icon: any;
|
|
12
|
+
}
|
|
13
|
+
export declare function getIconList(): IconItem[];
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
4
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
5
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
6
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export function get(obj, path, defaultValue) {
|
|
11
|
+
// 处理路径为空的情况
|
|
12
|
+
if (!path) return defaultValue;
|
|
13
|
+
|
|
14
|
+
// 将路径分割成数组
|
|
15
|
+
var keys = path.split('.');
|
|
16
|
+
var result = obj;
|
|
17
|
+
|
|
18
|
+
// 遍历路径
|
|
19
|
+
var _iterator = _createForOfIteratorHelper(keys),
|
|
20
|
+
_step;
|
|
21
|
+
try {
|
|
22
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
23
|
+
var key = _step.value;
|
|
24
|
+
// 如果当前结果是null或undefined,返回默认值
|
|
25
|
+
if (result == null) {
|
|
26
|
+
return defaultValue;
|
|
27
|
+
}
|
|
28
|
+
result = result[key];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// 如果最终结果是null或undefined,返回默认值
|
|
32
|
+
} catch (err) {
|
|
33
|
+
_iterator.e(err);
|
|
34
|
+
} finally {
|
|
35
|
+
_iterator.f();
|
|
36
|
+
}
|
|
37
|
+
return result === undefined ? defaultValue : result;
|
|
38
|
+
}
|
|
39
|
+
function getIconfontIconList() {
|
|
40
|
+
// iconfont的js会在页面中添加svg元素
|
|
41
|
+
var symbols = Array.prototype.slice.call(window.document.querySelectorAll('svg[style="position: absolute; width: 0px; height: 0px; overflow: hidden;"][aria-hidden="true"] > symbol'));
|
|
42
|
+
return symbols.map(function (symbol) {
|
|
43
|
+
var id = symbol.id;
|
|
44
|
+
return {
|
|
45
|
+
name: id,
|
|
46
|
+
group: 'iconfont',
|
|
47
|
+
icon: function icon(props) {
|
|
48
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
49
|
+
role: "img",
|
|
50
|
+
className: "anticon"
|
|
51
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
52
|
+
viewBox: "64 64 896 896",
|
|
53
|
+
width: "1em",
|
|
54
|
+
height: "1em",
|
|
55
|
+
fill: "currentColor",
|
|
56
|
+
dangerouslySetInnerHTML: {
|
|
57
|
+
__html: symbol.innerHTML
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export function getAntdIconList() {
|
|
65
|
+
var antdIcons = window.icons;
|
|
66
|
+
return Object.keys(antdIcons).map(function (key) {
|
|
67
|
+
var _ref, _item$displayName, _item$render;
|
|
68
|
+
var item = antdIcons[key];
|
|
69
|
+
if (_typeof(item) !== 'object') {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
var name = (_ref = (_item$displayName = item === null || item === void 0 ? void 0 : item.displayName) !== null && _item$displayName !== void 0 ? _item$displayName : item === null || item === void 0 ? void 0 : (_item$render = item.render) === null || _item$render === void 0 ? void 0 : _item$render.displayName) !== null && _ref !== void 0 ? _ref : key;
|
|
73
|
+
var group = 'outlined';
|
|
74
|
+
var lowercaseName = name.toLowerCase();
|
|
75
|
+
if (/outlined$/.test(lowercaseName)) {
|
|
76
|
+
group = 'outlined';
|
|
77
|
+
} else if (/filled$/.test(lowercaseName)) {
|
|
78
|
+
group = 'filled';
|
|
79
|
+
} else if (/twotone$/.test(lowercaseName)) {
|
|
80
|
+
group = 'two-tone';
|
|
81
|
+
} else {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
name: name,
|
|
86
|
+
group: group,
|
|
87
|
+
icon: item
|
|
88
|
+
};
|
|
89
|
+
}).filter(Boolean);
|
|
90
|
+
}
|
|
91
|
+
export function getIconList() {
|
|
92
|
+
var iconfontIconList = getIconfontIconList();
|
|
93
|
+
var antdIconList = getAntdIconList();
|
|
94
|
+
var allIcons = [].concat(_toConsumableArray(iconfontIconList), _toConsumableArray(antdIconList));
|
|
95
|
+
var uniqueIconsMap = new Map();
|
|
96
|
+
allIcons.forEach(function (icon) {
|
|
97
|
+
if (!uniqueIconsMap.has(icon.name)) {
|
|
98
|
+
uniqueIconsMap.set(icon.name, icon);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return Array.from(uniqueIconsMap.values());
|
|
102
|
+
}
|
package/es/index.d.ts
CHANGED
|
@@ -138,6 +138,7 @@ export { default as FormItemSelect } from './components/dataSourceComponents/fie
|
|
|
138
138
|
export { default as FormItemTimePicker } from './components/dataSourceComponents/fields/TimePicker';
|
|
139
139
|
export { default as FormItemUpload } from './components/dataSourceComponents/fields/Upload';
|
|
140
140
|
export { default as FormItemTranslation } from './components/dataSourceComponents/fields/Translation';
|
|
141
|
+
export { default as FormItemIconSelect } from './components/dataSourceComponents/fields/IconSelect';
|
|
141
142
|
export { default as DataSourceTable } from './components/dataSourceComponents/dataSourceTable';
|
|
142
143
|
export { default as DataSourceWrapper } from './components/dataSourceComponents/dataSourceWrapper';
|
|
143
144
|
export { default as DataSourceTypography } from './components/dataSourceComponents/dataSourceShow/dataSourceTypography';
|
|
@@ -155,3 +156,4 @@ export { default as PageHeader } from './components/page-header';
|
|
|
155
156
|
export { default as OrganizationTenantSwitcher } from './components/organizationTenantSwitcher';
|
|
156
157
|
export { default as loginAndRegister } from './components/login-and-register';
|
|
157
158
|
export { default as PublishVersionModal } from './components/versionModal';
|
|
159
|
+
export { default as IconSelect } from './components/iconSelect';
|
package/es/index.js
CHANGED
|
@@ -168,6 +168,7 @@ export { default as FormItemSelect } from "./components/dataSourceComponents/fie
|
|
|
168
168
|
export { default as FormItemTimePicker } from "./components/dataSourceComponents/fields/TimePicker";
|
|
169
169
|
export { default as FormItemUpload } from "./components/dataSourceComponents/fields/Upload";
|
|
170
170
|
export { default as FormItemTranslation } from "./components/dataSourceComponents/fields/Translation";
|
|
171
|
+
export { default as FormItemIconSelect } from "./components/dataSourceComponents/fields/IconSelect";
|
|
171
172
|
export { default as DataSourceTable } from "./components/dataSourceComponents/dataSourceTable";
|
|
172
173
|
export { default as DataSourceWrapper } from "./components/dataSourceComponents/dataSourceWrapper";
|
|
173
174
|
export { default as DataSourceTypography } from "./components/dataSourceComponents/dataSourceShow/dataSourceTypography";
|
|
@@ -184,4 +185,5 @@ export { default as PisellList01 } from "./components/pisellList01";
|
|
|
184
185
|
export { default as PageHeader } from "./components/page-header";
|
|
185
186
|
export { default as OrganizationTenantSwitcher } from "./components/organizationTenantSwitcher";
|
|
186
187
|
export { default as loginAndRegister } from "./components/login-and-register";
|
|
187
|
-
export { default as PublishVersionModal } from "./components/versionModal";
|
|
188
|
+
export { default as PublishVersionModal } from "./components/versionModal";
|
|
189
|
+
export { default as IconSelect } from "./components/iconSelect";
|
package/es/locales/en-US.d.ts
CHANGED
|
@@ -168,11 +168,11 @@ declare const _default: {
|
|
|
168
168
|
'walletCard-discount': string;
|
|
169
169
|
'pisellQrcode-done': string;
|
|
170
170
|
'pisellQrcode-qrcode': string;
|
|
171
|
-
'pisell-design-mode-action-disabled': string;
|
|
172
171
|
'pisell-delete-confirm-title': string;
|
|
173
172
|
'pisell-delete-confirm-content': string;
|
|
174
173
|
'pisell-delete-confirm-ok': string;
|
|
175
174
|
'pisell-delete-confirm-cancel': string;
|
|
175
|
+
'pisell-design-mode-action-disabled': string;
|
|
176
176
|
'pisell-translation-original': string;
|
|
177
177
|
'pisell-version-modal-title': string;
|
|
178
178
|
'pisell-version-modal-current-version': string;
|
|
@@ -187,5 +187,12 @@ declare const _default: {
|
|
|
187
187
|
'pisell-version-modal-describe-update-notes': string;
|
|
188
188
|
'pisell-version-modal-version-error': string;
|
|
189
189
|
'pisell-version-modal-version-required': string;
|
|
190
|
+
'pisell-icon-select-placeholder': string;
|
|
191
|
+
'pisell-icon-select-outlined': string;
|
|
192
|
+
'pisell-icon-select-filled': string;
|
|
193
|
+
'pisell-icon-select-two-tone': string;
|
|
194
|
+
'pisell-icon-select-iconfont': string;
|
|
195
|
+
'pisell-icon-select-search': string;
|
|
196
|
+
'pisell-icon-select-select': string;
|
|
190
197
|
};
|
|
191
198
|
export default _default;
|
package/es/locales/en-US.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
5
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
-
export default (_tableFilterSearch$ = {
|
|
1
|
+
export default {
|
|
7
2
|
"table-filter-search": "Search",
|
|
8
3
|
"table-filter-clear": "Clear",
|
|
9
4
|
"table-filter-filter": "Filter",
|
|
@@ -224,9 +219,30 @@ export default (_tableFilterSearch$ = {
|
|
|
224
219
|
//PisellQrcode组件
|
|
225
220
|
'pisellQrcode-done': 'Done',
|
|
226
221
|
'pisellQrcode-qrcode': 'QR code',
|
|
227
|
-
'pisell-design-mode-action-disabled': 'This action cannot be performed in edit mode',
|
|
228
222
|
'pisell-delete-confirm-title': 'Confirm Delete',
|
|
229
223
|
'pisell-delete-confirm-content': 'Are you sure you want to delete this record? This action cannot be undone.',
|
|
230
224
|
'pisell-delete-confirm-ok': 'Delete',
|
|
231
|
-
'pisell-delete-confirm-cancel': 'Cancel'
|
|
232
|
-
|
|
225
|
+
'pisell-delete-confirm-cancel': 'Cancel',
|
|
226
|
+
'pisell-design-mode-action-disabled': 'This operation is not allowed in edit mode',
|
|
227
|
+
'pisell-translation-original': 'Original',
|
|
228
|
+
'pisell-version-modal-title': 'Publish new version',
|
|
229
|
+
'pisell-version-modal-current-version': 'Current version',
|
|
230
|
+
'pisell-version-modal-version': 'Version',
|
|
231
|
+
'pisell-version-modal-update-notes': 'Update notes',
|
|
232
|
+
'pisell-version-modal-patch': 'Patch',
|
|
233
|
+
'pisell-version-modal-minor': 'Minor',
|
|
234
|
+
'pisell-version-modal-major': 'Major',
|
|
235
|
+
'pisell-version-modal-custom': 'Custom version',
|
|
236
|
+
'pisell-version-modal-cancel': 'Cancel',
|
|
237
|
+
'pisell-version-modal-confirm': 'Confirm',
|
|
238
|
+
'pisell-version-modal-describe-update-notes': 'Describe the main changes in this version...',
|
|
239
|
+
'pisell-version-modal-version-error': 'Version number must be greater than the current version',
|
|
240
|
+
'pisell-version-modal-version-required': 'Version number is required',
|
|
241
|
+
'pisell-icon-select-placeholder': 'Select icon',
|
|
242
|
+
'pisell-icon-select-outlined': 'Outlined',
|
|
243
|
+
'pisell-icon-select-filled': 'Filled',
|
|
244
|
+
'pisell-icon-select-two-tone': 'Two-tone',
|
|
245
|
+
'pisell-icon-select-iconfont': 'Iconfont',
|
|
246
|
+
'pisell-icon-select-search': 'Search icon',
|
|
247
|
+
'pisell-icon-select-select': 'Select icon'
|
|
248
|
+
};
|
package/es/locales/zh-CN.d.ts
CHANGED
|
@@ -187,5 +187,12 @@ declare const _default: {
|
|
|
187
187
|
'pisell-version-modal-describe-update-notes': string;
|
|
188
188
|
'pisell-version-modal-version-error': string;
|
|
189
189
|
'pisell-version-modal-version-required': string;
|
|
190
|
+
'pisell-icon-select-placeholder': string;
|
|
191
|
+
'pisell-icon-select-outlined': string;
|
|
192
|
+
'pisell-icon-select-filled': string;
|
|
193
|
+
'pisell-icon-select-two-tone': string;
|
|
194
|
+
'pisell-icon-select-iconfont': string;
|
|
195
|
+
'pisell-icon-select-search': string;
|
|
196
|
+
'pisell-icon-select-select': string;
|
|
190
197
|
};
|
|
191
198
|
export default _default;
|