@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.
Files changed (66) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +7 -7
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +11 -11
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +11 -11
  11. package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +5 -0
  12. package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.js +18 -0
  13. package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.less +6 -0
  14. package/es/components/dataSourceComponents/fields/IconSelect/WithMode.d.ts +4 -0
  15. package/es/components/dataSourceComponents/fields/IconSelect/WithMode.js +5 -0
  16. package/es/components/dataSourceComponents/fields/IconSelect/index.d.ts +3 -0
  17. package/es/components/dataSourceComponents/fields/IconSelect/index.js +4 -0
  18. package/es/components/dataSourceComponents/fields/IconSelect/type.d.ts +8 -0
  19. package/es/components/dataSourceComponents/fields/IconSelect/type.js +1 -0
  20. package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  21. package/es/components/dataSourceComponents/fields/index.d.ts +2 -1
  22. package/es/components/dataSourceComponents/fields/index.js +3 -1
  23. package/es/components/iconSelect/index.d.ts +10 -0
  24. package/es/components/iconSelect/index.js +216 -0
  25. package/es/components/iconSelect/index.less +54 -0
  26. package/es/components/iconSelect/utils.d.ts +14 -0
  27. package/es/components/iconSelect/utils.js +102 -0
  28. package/es/index.d.ts +2 -0
  29. package/es/index.js +3 -1
  30. package/es/locales/en-US.d.ts +8 -1
  31. package/es/locales/en-US.js +25 -9
  32. package/es/locales/zh-CN.d.ts +7 -0
  33. package/es/locales/zh-CN.js +8 -1
  34. package/es/locales/zh-TW.d.ts +7 -0
  35. package/es/locales/zh-TW.js +8 -1
  36. package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +5 -0
  37. package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.js +52 -0
  38. package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.less +6 -0
  39. package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.d.ts +4 -0
  40. package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.js +39 -0
  41. package/lib/components/dataSourceComponents/fields/IconSelect/index.d.ts +3 -0
  42. package/lib/components/dataSourceComponents/fields/IconSelect/index.js +38 -0
  43. package/lib/components/dataSourceComponents/fields/IconSelect/type.d.ts +8 -0
  44. package/lib/components/dataSourceComponents/fields/IconSelect/type.js +17 -0
  45. package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  46. package/lib/components/dataSourceComponents/fields/index.d.ts +2 -1
  47. package/lib/components/dataSourceComponents/fields/index.js +3 -1
  48. package/lib/components/iconSelect/index.d.ts +10 -0
  49. package/lib/components/iconSelect/index.js +188 -0
  50. package/lib/components/iconSelect/index.less +54 -0
  51. package/lib/components/iconSelect/utils.d.ts +14 -0
  52. package/lib/components/iconSelect/utils.js +119 -0
  53. package/lib/index.d.ts +2 -0
  54. package/lib/index.js +6 -0
  55. package/lib/locales/en-US.d.ts +8 -1
  56. package/lib/locales/en-US.js +8 -2
  57. package/lib/locales/zh-CN.d.ts +7 -0
  58. package/lib/locales/zh-CN.js +8 -1
  59. package/lib/locales/zh-TW.d.ts +7 -0
  60. package/lib/locales/zh-TW.js +8 -1
  61. package/lowcode/_setters/antd-icon-setter/index.tsx +11 -4
  62. package/lowcode/data-source-form/constants.ts +2 -1
  63. package/lowcode/form-item-icon-select/meta.ts +65 -0
  64. package/lowcode/form-item-icon-select/snippets.ts +11 -0
  65. package/lowcode/icon-select/meta.ts +98 -0
  66. package/package.json +3 -3
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { IconSelectProps } from './type';
3
+ import './ReadPretty.less';
4
+ declare const IconSelectReadPretty: (props: IconSelectProps) => React.JSX.Element | null;
5
+ export default IconSelectReadPretty;
@@ -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,6 @@
1
+ .pisell-icon-select-read-pretty {
2
+ font-size: 24px;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ }
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconSelectProps } from './type';
3
+ declare const IconSelectWithMode: import("react").FC<IconSelectProps & import("../../dataSourceForm/utils").WithModeProps>;
4
+ export default IconSelectWithMode;
@@ -0,0 +1,5 @@
1
+ import IconSelect from "../../../iconSelect";
2
+ import ReadPretty from "./ReadPretty";
3
+ import { withMode } from "../../dataSourceForm/utils";
4
+ var IconSelectWithMode = withMode(IconSelect, ReadPretty);
5
+ export default IconSelectWithMode;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const IconSelect: React.FC<import("./type").IconSelectProps & import("../../dataSourceForm/utils").WithModeProps & import("../../dataSourceForm/utils").WithFormItemProps>;
3
+ export default IconSelect;
@@ -0,0 +1,4 @@
1
+ import { withFormItem } from "../../dataSourceForm/utils";
2
+ import IconSelectWithMode from "./WithMode";
3
+ var IconSelect = withFormItem(IconSelectWithMode);
4
+ export default IconSelect;
@@ -0,0 +1,8 @@
1
+ import { ModeType } from "../../dataSourceForm/type";
2
+ export interface IconSelectProps {
3
+ renderMode: ModeType;
4
+ value?: string;
5
+ defaultValue?: string;
6
+ disabled?: boolean;
7
+ onChange?: (value: string) => void;
8
+ }
@@ -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: "custom" | "xzero" | "saas";
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";
@@ -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;
@@ -1,9 +1,4 @@
1
- var _tableFilterSearch$;
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
- }, _defineProperty(_tableFilterSearch$, "pisell-design-mode-action-disabled", 'This operation is not allowed in edit mode'), _defineProperty(_tableFilterSearch$, 'pisell-translation-original', 'Original'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-title', 'Publish new version'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-current-version', 'Current version'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-version', 'Version'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-update-notes', 'Update notes'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-patch', 'Patch'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-minor', 'Minor'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-major', 'Major'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-custom', 'Custom version'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-cancel', 'Cancel'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-confirm', 'Confirm'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-describe-update-notes', 'Describe the main changes in this version...'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-version-error', 'Version number must be greater than the current version'), _defineProperty(_tableFilterSearch$, 'pisell-version-modal-version-required', 'Version number is required'), _tableFilterSearch$);
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
+ };
@@ -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;