@kne/entry-selector 0.1.3 → 0.1.4
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/README.md +34 -28
- package/dist/index.js +22 -5
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +22 -5
- package/dist/index.modern.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ npm i --save @kne/entry-selector
|
|
|
18
18
|
|
|
19
19
|
EntrySelector 是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
### 主要功能
|
|
22
22
|
|
|
23
23
|
- **双列表展示**:清晰地分离已选条目和可选条目
|
|
24
24
|
- **拖拽排序**:支持对已选条目进行拖拽排序
|
|
@@ -27,7 +27,7 @@ EntrySelector 是一个用于选择和管理条目列表的 React 组件。它
|
|
|
27
27
|
- **国际化支持**:内置中文和英文语言支持
|
|
28
28
|
- **添加新条目**:支持添加不在预设列表中的新条目
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
### 使用场景
|
|
31
31
|
|
|
32
32
|
EntrySelector 适用于需要从预定义列表中选择多个条目并进行排序的场景,例如:
|
|
33
33
|
|
|
@@ -36,9 +36,10 @@ EntrySelector 适用于需要从预定义列表中选择多个条目并进行排
|
|
|
36
36
|
- 配置用户权限
|
|
37
37
|
- 选择并排序展示项目
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
### 基本原理
|
|
40
40
|
|
|
41
|
-
组件内部维护已选条目列表和可选条目列表两个状态,通过用户交互在这两个列表之间移动条目。组件使用 react-sortablejs
|
|
41
|
+
组件内部维护已选条目列表和可选条目列表两个状态,通过用户交互在这两个列表之间移动条目。组件使用 react-sortablejs
|
|
42
|
+
实现拖拽排序功能,并支持通过搜索框过滤条目列表。
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
### 示例
|
|
@@ -87,7 +88,7 @@ const BaseExample = () => {
|
|
|
87
88
|
id: 3,
|
|
88
89
|
title: '请分享一次你快速作出决定的经验,当时的情况怎样?你是怎么处理的?'
|
|
89
90
|
}
|
|
90
|
-
]
|
|
91
|
+
].filter(({ title }) => !(data?.params?.title && title.indexOf(data.params.title) === -1))
|
|
91
92
|
};
|
|
92
93
|
}
|
|
93
94
|
}}
|
|
@@ -134,34 +135,39 @@ render(<BaseExample />);
|
|
|
134
135
|
|
|
135
136
|
### API
|
|
136
137
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
|
140
|
-
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
150
|
-
|
|
138
|
+
### 组件属性
|
|
139
|
+
|
|
140
|
+
| 属性名 | 类型 | 默认值 | 说明 |
|
|
141
|
+
|--------------------|----------|-----|-----------------------------------------------------------------------|
|
|
142
|
+
| value | Array | [] | 已选条目列表,每个条目应包含唯一id属性 |
|
|
143
|
+
| onChange | Function | - | 值变化时的回调函数,参数为新的value值 |
|
|
144
|
+
| onAdd | Function | - | 添加新条目的回调函数,参数为包含fetchApi、value和onChange的对象 |
|
|
145
|
+
| api | Function | - | 获取条目列表的API函数,用于加载可选条目数据 |
|
|
146
|
+
| options | Array | - | 条目操作选项列表,用于ButtonGroup组件 |
|
|
147
|
+
| renderSelectedItem | Function | - | 自定义渲染已选条目的函数,参数为条目数据和包含el、target、fetchApi、onChange的对象 |
|
|
148
|
+
| renderItem | Function | - | 自定义渲染可选条目的函数,参数为条目数据和包含fetchApi、el的对象 |
|
|
149
|
+
| renderOptions | Function | - | 自定义渲染操作选项的函数,参数为条目数据和包含searchProps、setSearchProps、fetchApi、options的对象 |
|
|
150
|
+
| getSearchProps | Function | - | 获取搜索属性的函数,用于配置搜索功能 |
|
|
151
|
+
| searchPlaceholder | String | - | 搜索框占位文本,未设置时使用国际化文本 |
|
|
152
|
+
| selectedTitle | String | - | 自定义已选列表的标题,未设置时使用国际化文本 |
|
|
153
|
+
| listTitle | String | - | 自定义可选列表的标题,未设置时使用国际化文本 |
|
|
154
|
+
| renderListTitle | Function | - | 自定义渲染列表标题的函数,参数为包含fetchApi、searchProps、setSearchProps的对象 |
|
|
155
|
+
| maxScrollerHeight | Number | 800 | 设置滚动区域的最大高度(单位:像素) |
|
|
156
|
+
|
|
157
|
+
### 国际化支持
|
|
151
158
|
|
|
152
159
|
组件内置中文和英文两种语言,默认使用中文。可通过createWithIntlProvider配置国际化。
|
|
153
160
|
|
|
154
|
-
| 语言 | 代码
|
|
155
|
-
|
|
161
|
+
| 语言 | 代码 |
|
|
162
|
+
|----|-------|
|
|
156
163
|
| 中文 | zh-CN |
|
|
157
164
|
| 英文 | en-US |
|
|
158
165
|
|
|
159
|
-
|
|
166
|
+
### 国际化文本键值
|
|
160
167
|
|
|
161
|
-
| 键名
|
|
162
|
-
|
|
163
|
-
| add
|
|
164
|
-
| selected
|
|
165
|
-
| list
|
|
168
|
+
| 键名 | 中文 | 英文 |
|
|
169
|
+
|-------------------|--------|----------------------|
|
|
170
|
+
| add | 添加 | Add |
|
|
171
|
+
| selected | 已选 | Selected |
|
|
172
|
+
| list | 列表 | List |
|
|
166
173
|
| searchPlaceholder | 请输入关键字 | Please input keyword |
|
|
167
|
-
|
package/dist/index.js
CHANGED
|
@@ -56,7 +56,7 @@ const locale = {
|
|
|
56
56
|
|
|
57
57
|
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
58
58
|
|
|
59
|
-
const _excluded = ["onAdd", "api", "options", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
59
|
+
const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
60
60
|
const EntrySelector = reactIntl.createWithIntlProvider({
|
|
61
61
|
defaultLocale: 'zh-CN',
|
|
62
62
|
messages: {
|
|
@@ -69,6 +69,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
69
69
|
onAdd,
|
|
70
70
|
api,
|
|
71
71
|
options,
|
|
72
|
+
selectedTitle,
|
|
73
|
+
listTitle,
|
|
74
|
+
renderListTitle,
|
|
72
75
|
renderSelectedItem,
|
|
73
76
|
renderItem,
|
|
74
77
|
renderOptions,
|
|
@@ -83,6 +86,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
83
86
|
formatMessage
|
|
84
87
|
} = reactIntl.useIntl();
|
|
85
88
|
const ref = React.useRef(null);
|
|
89
|
+
const selectedMappingRef = React.useRef(new Map());
|
|
86
90
|
return /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
87
91
|
vertical: true,
|
|
88
92
|
gap: 8,
|
|
@@ -126,7 +130,10 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
126
130
|
pageData: [],
|
|
127
131
|
totalCount: 0
|
|
128
132
|
}, data);
|
|
129
|
-
|
|
133
|
+
pageData.forEach(item => {
|
|
134
|
+
selectedMappingRef.current.set(item.id, item);
|
|
135
|
+
});
|
|
136
|
+
const listMapping = selectedMappingRef.current;
|
|
130
137
|
const currentList = (value || []).map(_ref3 => {
|
|
131
138
|
let {
|
|
132
139
|
id
|
|
@@ -141,7 +148,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
141
148
|
className: style['list-outer']
|
|
142
149
|
}, totalCount > 0 && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
143
150
|
className: style['list-header']
|
|
144
|
-
}, formatMessage({
|
|
151
|
+
}, selectedTitle || formatMessage({
|
|
145
152
|
id: 'selected'
|
|
146
153
|
})), /*#__PURE__*/React__default["default"].createElement(SimpleBar__default["default"], {
|
|
147
154
|
className: style['list-scroll'],
|
|
@@ -193,6 +200,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
193
200
|
el: defaultItem,
|
|
194
201
|
target: item,
|
|
195
202
|
fetchApi,
|
|
203
|
+
searchProps,
|
|
204
|
+
setSearchProps,
|
|
196
205
|
onChange: item => {
|
|
197
206
|
return onChange(value => {
|
|
198
207
|
const newValue = (value || []).slice(0);
|
|
@@ -223,7 +232,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
223
232
|
justify: "space-between"
|
|
224
233
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
225
234
|
className: style['list-header-title']
|
|
226
|
-
},
|
|
235
|
+
}, listTitle || typeof renderListTitle === 'function' && renderListTitle({
|
|
236
|
+
fetchApi,
|
|
237
|
+
searchProps,
|
|
238
|
+
setSearchProps
|
|
239
|
+
}) || formatMessage({
|
|
227
240
|
id: 'list'
|
|
228
241
|
})), /*#__PURE__*/React__default["default"].createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React__default["default"].createElement(SearchInput__default["default"], {
|
|
229
242
|
size: "small",
|
|
@@ -252,6 +265,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
252
265
|
className: 'list-item-title'
|
|
253
266
|
}, item.title);
|
|
254
267
|
const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
|
|
268
|
+
searchProps,
|
|
269
|
+
setSearchProps,
|
|
255
270
|
fetchApi,
|
|
256
271
|
options
|
|
257
272
|
}) : options;
|
|
@@ -288,7 +303,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
288
303
|
flex: 1
|
|
289
304
|
}, typeof renderItem === 'function' ? renderItem(item, {
|
|
290
305
|
fetchApi,
|
|
291
|
-
el: defaultItem
|
|
306
|
+
el: defaultItem,
|
|
307
|
+
searchProps,
|
|
308
|
+
setSearchProps
|
|
292
309
|
}) : defaultItem), targetOptions && /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
293
310
|
flex: '0 0 50px',
|
|
294
311
|
onClick: e => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n const listMapping = new Map(pageData.map(item => [item.id, item]));\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n onChange: item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof item === 'function' ? item(currentItem) : item));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push({ id: item.id });\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","_ref2","children","data","pageData","totalCount","Object","assign","listMapping","Map","map","item","currentList","_ref3","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref4","_ref5","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","_ref6","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref7","dataSource","targetOptions","_ref8","push","Checkbox","checked","_ref9","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,QAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,IAAI;AACTC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,iBAAiB,EAAE,QAAA;AACrB,CAAC;;ACLD,MAAMJ,MAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,iBAAiB,EAAE,sBAAA;AACrB,CAAC;;;;;ACYKC,MAAAA,aAAa,GAAGC,gCAAsB,CAAC;AAC3CC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,QAAQ,EAAE;AACR,IAAA,OAAO,EAAEC,QAAI;AACb,IAAA,OAAO,EAAEC,MAAAA;GACV;AACDC,EAAAA,SAAS,EAAE,gBAAA;AACb,CAAC,CAAC,CAACC,IAAA,IAAkJ;EAAA,IAAjJ;MAAEC,KAAK;MAAEC,GAAG;MAAEC,OAAO;MAAEC,kBAAkB;MAAEC,UAAU;MAAEC,aAAa;MAAEC,cAAc;MAAEf,iBAAiB;AAAEgB,MAAAA,iBAAiB,GAAG,GAAA;AAAc,KAAC,GAAAR,IAAA;AAAPS,IAAAA,KAAK,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;EAC5I,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,sCAAkB,CAACL,KAAK,CAAC,CAAA;EACnD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AACxB,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;IACHC,QAAQ,EAAA,IAAA;AACRC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,SAAS,EAAEC,KAAK,CAAC,gBAAgB,CAAE;AACnCA,IAAAA,KAAK,EAAE;AACL,MAAA,uBAAuB,EAAKpB,iBAAiB,GAAA,IAAA;AAC/C,KAAA;AAAE,GAAA,EAED,OAAOP,KAAK,KAAK,UAAU,iBAC1BqB,yBAAA,CAAAC,aAAA,CAACC,SAAI,EACHF,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AACLC,IAAAA,KAAK,EAAC,OAAO;AACbC,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,IAAI,EAAC,SAAS;IACdC,OAAO,EAAEA,MAAM;AACbhC,MAAAA,KAAK,CAAC;QAAEiC,QAAQ,EAAEd,GAAG,CAACe,OAAO;QAAEvB,KAAK;AAAEC,QAAAA,QAAAA;AAAS,OAAC,CAAC,CAAA;AACnD,KAAA;AAAE,GAAA,EAEDK,aAAa,CAAC;AAAEkB,IAAAA,EAAE,EAAE,KAAA;AAAM,GAAC,CACtB,CACJ,CACP,eACDd,yBAAA,CAAAC,aAAA,CAACc,8BAAiB,EAAAC,QAAA,CAAA,EAAA,EACZ7B,KAAK,EAAA;AACT8B,IAAAA,YAAY,EAAE,IAAK;AACnBxB,IAAAA,WAAW,EAAEA,WAAY;AACzBR,IAAAA,cAAc,EAAEA,cAAe;AAC/BL,IAAAA,GAAG,EAAEA,GAAI;AACTkB,IAAAA,GAAG,EAAEA,GAAI;AACTO,IAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAChCY,IAAAA,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAEC,KAAA,IAA4B;MAAA,IAA3B;QAAER,QAAQ;AAAES,QAAAA,QAAAA;AAAS,OAAC,GAAAD,KAAA,CAAA;MAC7B,MAAM;AAAEE,QAAAA,IAAAA;AAAK,OAAC,GAAGV,QAAQ,CAAA;MACzB,MAAM;QAAEW,QAAQ;AAAEC,QAAAA,UAAAA;AAAW,OAAC,GAAGC,MAAM,CAACC,MAAM,CAC5C,EAAE,EACF;AACEH,QAAAA,QAAQ,EAAE,EAAE;AACZC,QAAAA,UAAU,EAAE,CAAA;OACb,EACDF,IACF,CAAC,CAAA;AACD,MAAA,MAAMK,WAAW,GAAG,IAAIC,GAAG,CAACL,QAAQ,CAACM,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAAChB,EAAE,EAAEgB,IAAI,CAAC,CAAC,CAAC,CAAA;MAClE,MAAMC,WAAW,GAAG,CAACzC,KAAK,IAAI,EAAE,EAAEuC,GAAG,CAACG,KAAA,IAAA;QAAA,IAAC;AAAElB,UAAAA,EAAAA;AAAG,SAAC,GAAAkB,KAAA,CAAA;AAAA,QAAA,OAAKL,WAAW,CAACM,GAAG,CAACnB,EAAE,CAAC,CAAA;OAAC,CAAA,CAACoB,MAAM,CAACJ,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CAAA;AAC7F,MAAA,oBACE9B,yBAAA,CAAAC,aAAA,CAACkC,QAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBpC,yBAAA,CAAAC,aAAA,CAACoC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTtC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,EACjCkB,UAAU,GAAG,CAAC,iBAAIxB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAA;AAAE,OAAA,EAAEV,aAAa,CAAC;AAAEkB,QAAAA,EAAE,EAAE,UAAA;AAAW,OAAC,CAAO,CAAC,eAClGd,yBAAA,CAAAC,aAAA,CAACsC,6BAAS,EAAA;AAAClC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD5B,KAAK,IAAIA,KAAK,CAACkD,MAAM,GAAG,CAAC,gBACxBxC,yBAAA,CAAAC,aAAA,CAACwC,SAAI,EAAA;AAACpC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,yBAAA,CAAAC,aAAA,CAACyC,6BAAa,EAAA;AACZR,QAAAA,MAAM,EAAC,kBAAkB;AACzBS,QAAAA,SAAS,EAAErC,KAAK,CAAC,eAAe,CAAE;AAClCsC,QAAAA,UAAU,EAAEtC,KAAK,CAAC,gBAAgB,CAAE;QACpCuC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACT/E,QAAAA,IAAI,EAAE8D,WAAY;QAClBkB,OAAO,EAAEhF,IAAI,IAAI;UACfsB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM4D,OAAO,GAAG,IAAItB,GAAG,CAAC,CAACtC,KAAK,IAAI,EAAE,EAAEuC,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAAChB,EAAE,EAAEgB,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,YAAA,OAAO7D,IAAI,CAAC4D,GAAG,CAACsB,KAAA,IAAY;cAAA,IAAX;AAAErC,gBAAAA,EAAAA;AAAG,eAAC,GAAAqC,KAAA,CAAA;AACrB,cAAA,OAAOD,OAAO,CAACjB,GAAG,CAACnB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;AAAE,OAAA,EAED,CAACxB,KAAK,IAAI,EAAE,EACVuC,GAAG,CAACuB,KAAA,IAAA;QAAA,IAAC;AAAEtC,UAAAA,EAAAA;AAAG,SAAC,GAAAsC,KAAA,CAAA;AAAA,QAAA,OAAKzB,WAAW,CAACM,GAAG,CAACnB,EAAE,CAAC,CAAA;AAAA,OAAA,CAAC,CACpCoB,MAAM,CAACJ,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBD,GAAG,CAAC,CAACC,IAAI,EAAEuB,KAAK,KAAK;AACpB,QAAA,MAAMC,WAAW,gBAAGtD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoByB,EAAAA,IAAI,CAACyB,KAAY,CAAC,CAAA;QAC3E,MAAML,OAAO,GAAG,IAAItB,GAAG,CAAC,CAACtC,KAAK,IAAI,EAAE,EAAEuC,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAAChB,EAAE,EAAEgB,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,QAAA,oBACE9B,yBAAA,CAAAC,aAAA,CAACwC,SAAI,CAACe,IAAI,EAAA;UAACC,GAAG,EAAE3B,IAAI,CAAChB,EAAG;UAACT,SAAS,EAAEqD,8BAAU,CAACpD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,yBAAA,CAAAC,aAAA,CAAC0D,oBAAc,EAAA;UAACtD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAI+C,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDrD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACyD,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAO9E,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACoE,OAAO,CAACjB,GAAG,CAACH,IAAI,CAAChB,EAAE,CAAC,EAAE;AACvC+C,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAEhC,IAAI;UACZlB,QAAQ;UACRrB,QAAQ,EAAEuC,IAAI,IAAI;YAChB,OAAOvC,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAMyE,QAAQ,GAAG,CAACzE,KAAK,IAAI,EAAE,EAAE0E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACC,KAAA,IAAA;gBAAA,IAAC;AAAEpD,kBAAAA,EAAAA;AAAG,iBAAC,GAAAoD,KAAA,CAAA;AAAA,gBAAA,OAAKpD,EAAE,KAAKgB,IAAI,CAAChB,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,MAAMqD,WAAW,GAAGJ,QAAQ,CAACV,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdU,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,EAAE5B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOI,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACqC,WAAW,CAAC,GAAGrC,IAAI,CAAC,CAAC,CAAA;AACrG,eAAA;AACA,cAAA,OAAOiC,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AACF,SAAC,CAAC,GACFT,WACA,CACG,CAAC,CAAA;OAEf,CACU,CACX,CAAC,gBAEPtD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAAC+D,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DtE,yBAAA,CAAAC,aAAA,CAACsE,UAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNvE,yBAAA,CAAAC,aAAA,CAACoC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTtC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,eAClCN,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAAC+D,QAAAA,OAAO,EAAC,eAAA;OAC7CrE,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,mBAAmB,CAAA;AAAE,OAAA,EAAEV,aAAa,CAAC;AAAEkB,QAAAA,EAAE,EAAE,MAAA;AAAO,OAAC,CAAO,CAAC,eACjFd,yBAAA,CAAAC,aAAA,CACG,KAAA,EAAA,IAAA,EAAA,OAAOhB,cAAc,KAAK,UAAU,iBACnCe,yBAAA,CAAAC,aAAA,CAACuE,+BAAW,EAAA;AACV/D,QAAAA,IAAI,EAAC,OAAO;AACZgE,QAAAA,WAAW,EAAEvG,iBAAiB,IAAI0B,aAAa,CAAC;AAAEkB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7ExB,KAAK,EAAEG,WAAW,CAACiF,UAAW;QAC9BC,QAAQ,EAAErF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAIgC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEjC,WAAW,EAAE;AAAEiF,YAAAA,UAAU,EAAEpF,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACN+B,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAEDuD,KAAA,IAAwB;IAAA,IAAvB;MAAEhE,QAAQ;AAAE3C,MAAAA,IAAAA;AAAK,KAAC,GAAA2G,KAAA,CAAA;AAClB,IAAA,oBACE5E,yBAAA,CAAAC,aAAA,CAACwC,SAAI,EAAA;AACHpC,MAAAA,SAAS,EAAEqD,8BAAU,CAACpD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZoE,MAAAA,UAAU,EAAE5G,IAAK;MACjBc,UAAU,EAAE+C,IAAI,IAAI;AAClB,QAAA,MAAMwB,WAAW,gBAAGtD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoByB,EAAAA,IAAI,CAACyB,KAAY,CAAC,CAAA;QAC3E,MAAMuB,aAAa,GACjB,OAAO9F,aAAa,KAAK,UAAU,GAC/BA,aAAa,CAAC8C,IAAI,EAAE;UAClBlB,QAAQ;AACR/B,UAAAA,OAAAA;SACD,CAAC,GACFA,OAAO,CAAA;AACb,QAAA,oBACEmB,yBAAA,CAAAC,aAAA,CAACwC,SAAI,CAACe,IAAI,EAAA;UACRC,GAAG,EAAE3B,IAAI,CAAChB,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbpB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAMyE,QAAQ,GAAG,CAACzE,KAAK,IAAI,EAAE,EAAE0E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACc,KAAA,IAAA;gBAAA,IAAC;AAAEjE,kBAAAA,EAAAA;AAAG,iBAAC,GAAAiE,KAAA,CAAA;AAAA,gBAAA,OAAKjE,EAAE,KAAKgB,IAAI,CAAChB,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,IAAIuC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdU,gBAAAA,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;gBACLU,QAAQ,CAACiB,IAAI,CAAC;kBAAElE,EAAE,EAAEgB,IAAI,CAAChB,EAAAA;AAAG,iBAAC,CAAC,CAAA;AAChC,eAAA;AAEA,cAAA,OAAOiD,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEF/D,yBAAA,CAAAC,aAAA,CAACgF,aAAQ,EAAA;UAACC,OAAO,EAAE,CAAC5F,KAAK,IAAI,EAAE,EAAE2E,SAAS,CAACkB,KAAA,IAAA;YAAA,IAAC;AAAErE,cAAAA,EAAAA;AAAG,aAAC,GAAAqE,KAAA,CAAA;AAAA,YAAA,OAAKrE,EAAE,KAAKgB,IAAI,CAAChB,EAAE,CAAA;AAAA,WAAA,CAAC,GAAG,CAAC,CAAA;AAAE,SAAE,CAAC,eAC/Ed,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACyD,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAO7E,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC+C,IAAI,EAAE;UACflB,QAAQ;AACRiD,UAAAA,EAAE,EAAEP,WAAAA;SACL,CAAC,GACFA,WACA,CAAC,EACNwB,aAAa,iBACZ9E,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AACH0D,UAAAA,IAAI,EAAE,UAAW;UACjBjD,OAAO,EAAEyE,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEFrF,yBAAA,CAAAC,aAAA,CAACqF,+BAAW,EAAA;AAACC,UAAAA,IAAI,eAAEvF,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAAC8E,YAAAA,IAAI,eAAExF,yBAAA,CAAAC,aAAA,CAACwF,kBAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAACxH,UAAAA,IAAI,EAAE6G,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange: item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof item === 'function' ? item(currentItem) : item));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push({ id: item.id });\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","_ref2","children","data","pageData","totalCount","Object","assign","forEach","item","set","listMapping","currentList","map","_ref3","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref4","_ref5","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","_ref6","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref7","dataSource","targetOptions","_ref8","push","Checkbox","checked","_ref9","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,QAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,IAAI;AACTC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,iBAAiB,EAAE,QAAA;AACrB,CAAC;;ACLD,MAAMJ,MAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,iBAAiB,EAAE,sBAAA;AACrB,CAAC;;;;;ACYKC,MAAAA,aAAa,GAAGC,gCAAsB,CAAC;AAC3CC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,QAAQ,EAAE;AACR,IAAA,OAAO,EAAEC,QAAI;AACb,IAAA,OAAO,EAAEC,MAAAA;GACV;AACDC,EAAAA,SAAS,EAAE,gBAAA;AACb,CAAC,CAAC,CAACC,IAAA,IAA6L;EAAA,IAA5L;MAAEC,KAAK;MAAEC,GAAG;MAAEC,OAAO;MAAEC,aAAa;MAAEC,SAAS;MAAEC,eAAe;MAAEC,kBAAkB;MAAEC,UAAU;MAAEC,aAAa;MAAEC,cAAc;MAAElB,iBAAiB;AAAEmB,MAAAA,iBAAiB,GAAG,GAAA;AAAc,KAAC,GAAAX,IAAA;AAAPY,IAAAA,KAAK,GAAAC,6BAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;EACvL,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,sCAAkB,CAACL,KAAK,CAAC,CAAA;EACnD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EACxB,MAAMC,kBAAkB,GAAGD,YAAM,CAAC,IAAIE,GAAG,EAAE,CAAC,CAAA;AAC5C,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;IACHC,QAAQ,EAAA,IAAA;AACRC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,SAAS,EAAEC,KAAK,CAAC,gBAAgB,CAAE;AACnCA,IAAAA,KAAK,EAAE;AACL,MAAA,uBAAuB,EAAKtB,iBAAiB,GAAA,IAAA;AAC/C,KAAA;AAAE,GAAA,EAED,OAAOV,KAAK,KAAK,UAAU,iBAC1B0B,yBAAA,CAAAC,aAAA,CAACC,SAAI,EACHF,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AACLC,IAAAA,KAAK,EAAC,OAAO;AACbC,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,IAAI,EAAC,SAAS;IACdC,OAAO,EAAEA,MAAM;AACbrC,MAAAA,KAAK,CAAC;QAAEsC,QAAQ,EAAEhB,GAAG,CAACiB,OAAO;QAAEzB,KAAK;AAAEC,QAAAA,QAAAA;AAAS,OAAC,CAAC,CAAA;AACnD,KAAA;AAAE,GAAA,EAEDK,aAAa,CAAC;AAAEoB,IAAAA,EAAE,EAAE,KAAA;AAAM,GAAC,CACtB,CACJ,CACP,eACDd,yBAAA,CAAAC,aAAA,CAACc,8BAAiB,EAAAC,QAAA,CAAA,EAAA,EACZ/B,KAAK,EAAA;AACTgC,IAAAA,YAAY,EAAE,IAAK;AACnB1B,IAAAA,WAAW,EAAEA,WAAY;AACzBR,IAAAA,cAAc,EAAEA,cAAe;AAC/BR,IAAAA,GAAG,EAAEA,GAAI;AACTqB,IAAAA,GAAG,EAAEA,GAAI;AACTS,IAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAChCY,IAAAA,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAEC,KAAA,IAA4B;MAAA,IAA3B;QAAER,QAAQ;AAAES,QAAAA,QAAAA;AAAS,OAAC,GAAAD,KAAA,CAAA;MAC7B,MAAM;AAAEE,QAAAA,IAAAA;AAAK,OAAC,GAAGV,QAAQ,CAAA;MACzB,MAAM;QAAEW,QAAQ;AAAEC,QAAAA,UAAAA;AAAW,OAAC,GAAGC,MAAM,CAACC,MAAM,CAC5C,EAAE,EACF;AACEH,QAAAA,QAAQ,EAAE,EAAE;AACZC,QAAAA,UAAU,EAAE,CAAA;OACb,EACDF,IACF,CAAC,CAAA;AACDC,MAAAA,QAAQ,CAACI,OAAO,CAACC,IAAI,IAAI;QACvB9B,kBAAkB,CAACe,OAAO,CAACgB,GAAG,CAACD,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAA;AAC/C,OAAC,CAAC,CAAA;AACF,MAAA,MAAME,WAAW,GAAGhC,kBAAkB,CAACe,OAAO,CAAA;MAC9C,MAAMkB,WAAW,GAAG,CAAC3C,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACC,KAAA,IAAA;QAAA,IAAC;AAAEnB,UAAAA,EAAAA;AAAG,SAAC,GAAAmB,KAAA,CAAA;AAAA,QAAA,OAAKH,WAAW,CAACI,GAAG,CAACpB,EAAE,CAAC,CAAA;OAAC,CAAA,CAACqB,MAAM,CAACP,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CAAA;AAC7F,MAAA,oBACE5B,yBAAA,CAAAC,aAAA,CAACmC,QAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBrC,yBAAA,CAAAC,aAAA,CAACqC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTvC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,EACjCkB,UAAU,GAAG,CAAC,iBAAIxB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAA;OAAI7B,EAAAA,aAAa,IAAIiB,aAAa,CAAC;AAAEoB,QAAAA,EAAE,EAAE,UAAA;AAAW,OAAC,CAAO,CAAC,eACnHd,yBAAA,CAAAC,aAAA,CAACuC,6BAAS,EAAA;AAACnC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD9B,KAAK,IAAIA,KAAK,CAACqD,MAAM,GAAG,CAAC,gBACxBzC,yBAAA,CAAAC,aAAA,CAACyC,SAAI,EAAA;AAACrC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,yBAAA,CAAAC,aAAA,CAAC0C,6BAAa,EAAA;AACZR,QAAAA,MAAM,EAAC,kBAAkB;AACzBS,QAAAA,SAAS,EAAEtC,KAAK,CAAC,eAAe,CAAE;AAClCuC,QAAAA,UAAU,EAAEvC,KAAK,CAAC,gBAAgB,CAAE;QACpCwC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACTrF,QAAAA,IAAI,EAAEmE,WAAY;QAClBmB,OAAO,EAAEtF,IAAI,IAAI;UACfyB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM+D,OAAO,GAAG,IAAIpD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,YAAA,OAAOhE,IAAI,CAACoE,GAAG,CAACoB,KAAA,IAAY;cAAA,IAAX;AAAEtC,gBAAAA,EAAAA;AAAG,eAAC,GAAAsC,KAAA,CAAA;AACrB,cAAA,OAAOD,OAAO,CAACjB,GAAG,CAACpB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;AAAE,OAAA,EAED,CAAC1B,KAAK,IAAI,EAAE,EACV4C,GAAG,CAACqB,KAAA,IAAA;QAAA,IAAC;AAAEvC,UAAAA,EAAAA;AAAG,SAAC,GAAAuC,KAAA,CAAA;AAAA,QAAA,OAAKvB,WAAW,CAACI,GAAG,CAACpB,EAAE,CAAC,CAAA;AAAA,OAAA,CAAC,CACpCqB,MAAM,CAACP,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBI,GAAG,CAAC,CAACJ,IAAI,EAAE0B,KAAK,KAAK;AACpB,QAAA,MAAMC,WAAW,gBAAGvD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC4B,KAAY,CAAC,CAAA;QAC3E,MAAML,OAAO,GAAG,IAAIpD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,QAAA,oBACE5B,yBAAA,CAAAC,aAAA,CAACyC,SAAI,CAACe,IAAI,EAAA;UAACC,GAAG,EAAE9B,IAAI,CAACd,EAAG;UAACT,SAAS,EAAEsD,8BAAU,CAACrD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,yBAAA,CAAAC,aAAA,CAAC2D,oBAAc,EAAA;UAACvD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAIgD,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDtD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAAC0D,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAOjF,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACuE,OAAO,CAACjB,GAAG,CAACN,IAAI,CAACd,EAAE,CAAC,EAAE;AACvCgD,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAEnC,IAAI;UACZhB,QAAQ;UACRrB,WAAW;UACXC,cAAc;UACdH,QAAQ,EAAEuC,IAAI,IAAI;YAChB,OAAOvC,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAM4E,QAAQ,GAAG,CAAC5E,KAAK,IAAI,EAAE,EAAE6E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACC,KAAA,IAAA;gBAAA,IAAC;AAAErD,kBAAAA,EAAAA;AAAG,iBAAC,GAAAqD,KAAA,CAAA;AAAA,gBAAA,OAAKrD,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,MAAMsD,WAAW,GAAGJ,QAAQ,CAACV,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdU,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,EAAE7B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOE,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACwC,WAAW,CAAC,GAAGxC,IAAI,CAAC,CAAC,CAAA;AACrG,eAAA;AACA,cAAA,OAAOoC,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AACF,SAAC,CAAC,GACFT,WACA,CACG,CAAC,CAAA;OAEf,CACU,CACX,CAAC,gBAEPvD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACgE,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DvE,yBAAA,CAAAC,aAAA,CAACuE,UAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNxE,yBAAA,CAAAC,aAAA,CAACqC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTvC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,eAClCN,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACgE,QAAAA,OAAO,EAAC,eAAA;OAC7CtE,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,mBAAmB,CAAA;OACtC5B,EAAAA,SAAS,IACP,OAAOC,eAAe,KAAK,UAAU,IACpCA,eAAe,CAAC;QACdiC,QAAQ;QACRrB,WAAW;AACXC,QAAAA,cAAAA;OACD,CAAE,IACLE,aAAa,CAAC;AAAEoB,QAAAA,EAAE,EAAE,MAAA;AAAO,OAAC,CAC3B,CAAC,eACNd,yBAAA,CAAAC,aAAA,CACG,KAAA,EAAA,IAAA,EAAA,OAAOlB,cAAc,KAAK,UAAU,iBACnCiB,yBAAA,CAAAC,aAAA,CAACwE,+BAAW,EAAA;AACVhE,QAAAA,IAAI,EAAC,OAAO;AACZiE,QAAAA,WAAW,EAAE7G,iBAAiB,IAAI6B,aAAa,CAAC;AAAEoB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7E1B,KAAK,EAAEG,WAAW,CAACoF,UAAW;QAC9BC,QAAQ,EAAExF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAIkC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEnC,WAAW,EAAE;AAAEoF,YAAAA,UAAU,EAAEvF,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACNiC,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAEDwD,KAAA,IAAwB;IAAA,IAAvB;MAAEjE,QAAQ;AAAEhD,MAAAA,IAAAA;AAAK,KAAC,GAAAiH,KAAA,CAAA;AAClB,IAAA,oBACE7E,yBAAA,CAAAC,aAAA,CAACyC,SAAI,EAAA;AACHrC,MAAAA,SAAS,EAAEsD,8BAAU,CAACrD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZqE,MAAAA,UAAU,EAAElH,IAAK;MACjBiB,UAAU,EAAE+C,IAAI,IAAI;AAClB,QAAA,MAAM2B,WAAW,gBAAGvD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC4B,KAAY,CAAC,CAAA;QAC3E,MAAMuB,aAAa,GACjB,OAAOjG,aAAa,KAAK,UAAU,GAC/BA,aAAa,CAAC8C,IAAI,EAAE;UAClBrC,WAAW;UACXC,cAAc;UACdoB,QAAQ;AACRpC,UAAAA,OAAAA;SACD,CAAC,GACFA,OAAO,CAAA;AACb,QAAA,oBACEwB,yBAAA,CAAAC,aAAA,CAACyC,SAAI,CAACe,IAAI,EAAA;UACRC,GAAG,EAAE9B,IAAI,CAACd,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbtB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAM4E,QAAQ,GAAG,CAAC5E,KAAK,IAAI,EAAE,EAAE6E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACc,KAAA,IAAA;gBAAA,IAAC;AAAElE,kBAAAA,EAAAA;AAAG,iBAAC,GAAAkE,KAAA,CAAA;AAAA,gBAAA,OAAKlE,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,IAAIwC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdU,gBAAAA,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;gBACLU,QAAQ,CAACiB,IAAI,CAAC;kBAAEnE,EAAE,EAAEc,IAAI,CAACd,EAAAA;AAAG,iBAAC,CAAC,CAAA;AAChC,eAAA;AAEA,cAAA,OAAOkD,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEFhE,yBAAA,CAAAC,aAAA,CAACiF,aAAQ,EAAA;UAACC,OAAO,EAAE,CAAC/F,KAAK,IAAI,EAAE,EAAE8E,SAAS,CAACkB,KAAA,IAAA;YAAA,IAAC;AAAEtE,cAAAA,EAAAA;AAAG,aAAC,GAAAsE,KAAA,CAAA;AAAA,YAAA,OAAKtE,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;AAAA,WAAA,CAAC,GAAG,CAAC,CAAA;AAAE,SAAE,CAAC,eAC/Ed,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAAC0D,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAOhF,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC+C,IAAI,EAAE;UACfhB,QAAQ;AACRkD,UAAAA,EAAE,EAAEP,WAAW;UACfhE,WAAW;AACXC,UAAAA,cAAAA;SACD,CAAC,GACF+D,WACA,CAAC,EACNwB,aAAa,iBACZ/E,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AACH2D,UAAAA,IAAI,EAAE,UAAW;UACjBlD,OAAO,EAAE0E,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEFtF,yBAAA,CAAAC,aAAA,CAACsF,+BAAW,EAAA;AAACC,UAAAA,IAAI,eAAExF,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAAC+E,YAAAA,IAAI,eAAEzF,yBAAA,CAAAC,aAAA,CAACyF,kBAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAAC9H,UAAAA,IAAI,EAAEmH,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
|
package/dist/index.modern.js
CHANGED
|
@@ -47,7 +47,7 @@ const locale = {
|
|
|
47
47
|
|
|
48
48
|
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
49
49
|
|
|
50
|
-
const _excluded = ["onAdd", "api", "options", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
50
|
+
const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
51
51
|
const EntrySelector = createWithIntlProvider({
|
|
52
52
|
defaultLocale: 'zh-CN',
|
|
53
53
|
messages: {
|
|
@@ -60,6 +60,9 @@ const EntrySelector = createWithIntlProvider({
|
|
|
60
60
|
onAdd,
|
|
61
61
|
api,
|
|
62
62
|
options,
|
|
63
|
+
selectedTitle,
|
|
64
|
+
listTitle,
|
|
65
|
+
renderListTitle,
|
|
63
66
|
renderSelectedItem,
|
|
64
67
|
renderItem,
|
|
65
68
|
renderOptions,
|
|
@@ -74,6 +77,7 @@ const EntrySelector = createWithIntlProvider({
|
|
|
74
77
|
formatMessage
|
|
75
78
|
} = useIntl();
|
|
76
79
|
const ref = useRef(null);
|
|
80
|
+
const selectedMappingRef = useRef(new Map());
|
|
77
81
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
78
82
|
vertical: true,
|
|
79
83
|
gap: 8,
|
|
@@ -116,7 +120,10 @@ const EntrySelector = createWithIntlProvider({
|
|
|
116
120
|
pageData: [],
|
|
117
121
|
totalCount: 0
|
|
118
122
|
}, data);
|
|
119
|
-
|
|
123
|
+
pageData.forEach(item => {
|
|
124
|
+
selectedMappingRef.current.set(item.id, item);
|
|
125
|
+
});
|
|
126
|
+
const listMapping = selectedMappingRef.current;
|
|
120
127
|
const currentList = (value || []).map(({
|
|
121
128
|
id
|
|
122
129
|
}) => listMapping.get(id)).filter(item => !!item);
|
|
@@ -128,7 +135,7 @@ const EntrySelector = createWithIntlProvider({
|
|
|
128
135
|
className: style['list-outer']
|
|
129
136
|
}, totalCount > 0 && /*#__PURE__*/React.createElement("div", {
|
|
130
137
|
className: style['list-header']
|
|
131
|
-
}, formatMessage({
|
|
138
|
+
}, selectedTitle || formatMessage({
|
|
132
139
|
id: 'selected'
|
|
133
140
|
})), /*#__PURE__*/React.createElement(SimpleBar, {
|
|
134
141
|
className: style['list-scroll'],
|
|
@@ -176,6 +183,8 @@ const EntrySelector = createWithIntlProvider({
|
|
|
176
183
|
el: defaultItem,
|
|
177
184
|
target: item,
|
|
178
185
|
fetchApi,
|
|
186
|
+
searchProps,
|
|
187
|
+
setSearchProps,
|
|
179
188
|
onChange: item => {
|
|
180
189
|
return onChange(value => {
|
|
181
190
|
const newValue = (value || []).slice(0);
|
|
@@ -203,7 +212,11 @@ const EntrySelector = createWithIntlProvider({
|
|
|
203
212
|
justify: "space-between"
|
|
204
213
|
}, /*#__PURE__*/React.createElement("div", {
|
|
205
214
|
className: style['list-header-title']
|
|
206
|
-
},
|
|
215
|
+
}, listTitle || typeof renderListTitle === 'function' && renderListTitle({
|
|
216
|
+
fetchApi,
|
|
217
|
+
searchProps,
|
|
218
|
+
setSearchProps
|
|
219
|
+
}) || formatMessage({
|
|
207
220
|
id: 'list'
|
|
208
221
|
})), /*#__PURE__*/React.createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React.createElement(SearchInput, {
|
|
209
222
|
size: "small",
|
|
@@ -231,6 +244,8 @@ const EntrySelector = createWithIntlProvider({
|
|
|
231
244
|
className: 'list-item-title'
|
|
232
245
|
}, item.title);
|
|
233
246
|
const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
|
|
247
|
+
searchProps,
|
|
248
|
+
setSearchProps,
|
|
234
249
|
fetchApi,
|
|
235
250
|
options
|
|
236
251
|
}) : options;
|
|
@@ -261,7 +276,9 @@ const EntrySelector = createWithIntlProvider({
|
|
|
261
276
|
flex: 1
|
|
262
277
|
}, typeof renderItem === 'function' ? renderItem(item, {
|
|
263
278
|
fetchApi,
|
|
264
|
-
el: defaultItem
|
|
279
|
+
el: defaultItem,
|
|
280
|
+
searchProps,
|
|
281
|
+
setSearchProps
|
|
265
282
|
}) : defaultItem), targetOptions && /*#__PURE__*/React.createElement(Flex, {
|
|
266
283
|
flex: '0 0 50px',
|
|
267
284
|
onClick: e => {
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n const listMapping = new Map(pageData.map(item => [item.id, item]));\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n onChange: item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof item === 'function' ? item(currentItem) : item));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push({ id: item.id });\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","children","data","pageData","totalCount","Object","assign","listMapping","Map","map","item","currentList","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","dataSource","targetOptions","push","Checkbox","checked","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange: item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof item === 'function' ? item(currentItem) : item));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push({ id: item.id });\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","children","data","pageData","totalCount","Object","assign","forEach","item","set","listMapping","currentList","map","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","dataSource","targetOptions","push","Checkbox","checked","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kne/entry-selector",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "EntrySelector是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。",
|
|
5
5
|
"syntax": {
|
|
6
6
|
"esmodules": true
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@kne/button-group": "^0.1.16",
|
|
92
92
|
"@kne/react-fetch": "^1.5.5",
|
|
93
93
|
"@kne/react-intl": "^0.1.9",
|
|
94
|
-
"@kne/scroll-loader": "^0.1.
|
|
94
|
+
"@kne/scroll-loader": "^0.1.11",
|
|
95
95
|
"@kne/search-input": "^0.1.0",
|
|
96
96
|
"@kne/use-control-value": "^0.1.9",
|
|
97
97
|
"classnames": "^2.5.1",
|