@kne/entry-selector 0.1.3 → 0.1.5

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 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
- | value | Array | [] | 已选条目列表,每个条目应包含唯一id属性 |
140
- | onChange | Function | - | 值变化时的回调函数,参数为新的value值 |
141
- | onAdd | Function | - | 添加新条目的回调函数,参数为包含fetchApi、value和onChange的对象 |
142
- | api | Function | - | 获取条目列表的API函数,用于加载可选条目数据 |
143
- | options | Array | - | 条目操作选项列表,用于ButtonGroup组件 |
144
- | renderSelectedItem | Function | - | 自定义渲染已选条目的函数,参数为条目数据和包含el、target、fetchApi、onChange的对象 |
145
- | renderItem | Function | - | 自定义渲染可选条目的函数,参数为条目数据和包含fetchApi、el的对象 |
146
- | renderOptions | Function | - | 自定义渲染操作选项的函数,参数为包含fetchApi、options的对象 |
147
- | getSearchProps | Function | - | 获取搜索属性的函数,用于配置搜索功能 |
148
- | searchPlaceholder | String | - | 搜索框占位文本,未设置时使用国际化文本 |
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 | 添加 | Add |
164
- | selected | 已选 | Selected |
165
- | list | 列表 | 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,13 +130,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
126
130
  pageData: [],
127
131
  totalCount: 0
128
132
  }, data);
129
- const listMapping = new Map(pageData.map(item => [item.id, item]));
130
- const currentList = (value || []).map(_ref3 => {
131
- let {
132
- id
133
- } = _ref3;
134
- return listMapping.get(id);
135
- }).filter(item => !!item);
133
+ pageData.forEach(item => {
134
+ selectedMappingRef.current.set(item.id, item);
135
+ });
136
+ const listMapping = selectedMappingRef.current;
137
+ const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));
136
138
  return /*#__PURE__*/React__default["default"].createElement(antd.Row, {
137
139
  gutter: [12, 12]
138
140
  }, /*#__PURE__*/React__default["default"].createElement(antd.Col, {
@@ -141,7 +143,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
141
143
  className: style['list-outer']
142
144
  }, totalCount > 0 && /*#__PURE__*/React__default["default"].createElement("div", {
143
145
  className: style['list-header']
144
- }, formatMessage({
146
+ }, selectedTitle || formatMessage({
145
147
  id: 'selected'
146
148
  })), /*#__PURE__*/React__default["default"].createElement(SimpleBar__default["default"], {
147
149
  className: style['list-scroll'],
@@ -161,20 +163,15 @@ const EntrySelector = reactIntl.createWithIntlProvider({
161
163
  setList: list => {
162
164
  onChange(value => {
163
165
  const mapping = new Map((value || []).map(item => [item.id, item]));
164
- return list.map(_ref4 => {
166
+ return list.map(_ref3 => {
165
167
  let {
166
168
  id
167
- } = _ref4;
169
+ } = _ref3;
168
170
  return mapping.get(id);
169
171
  });
170
172
  });
171
173
  }
172
- }, (value || []).map(_ref5 => {
173
- let {
174
- id
175
- } = _ref5;
176
- return listMapping.get(id);
177
- }).filter(item => !!item).map((item, index) => {
174
+ }, currentList.map((item, index) => {
178
175
  const defaultItem = /*#__PURE__*/React__default["default"].createElement("span", {
179
176
  className: 'list-item-title'
180
177
  }, item.title);
@@ -193,13 +190,15 @@ const EntrySelector = reactIntl.createWithIntlProvider({
193
190
  el: defaultItem,
194
191
  target: item,
195
192
  fetchApi,
193
+ searchProps,
194
+ setSearchProps,
196
195
  onChange: item => {
197
196
  return onChange(value => {
198
197
  const newValue = (value || []).slice(0);
199
- const index = newValue.findIndex(_ref6 => {
198
+ const index = newValue.findIndex(_ref4 => {
200
199
  let {
201
200
  id
202
- } = _ref6;
201
+ } = _ref4;
203
202
  return id === item.id;
204
203
  });
205
204
  const currentItem = newValue[index];
@@ -223,7 +222,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
223
222
  justify: "space-between"
224
223
  }, /*#__PURE__*/React__default["default"].createElement("div", {
225
224
  className: style['list-header-title']
226
- }, formatMessage({
225
+ }, listTitle || typeof renderListTitle === 'function' && renderListTitle({
226
+ fetchApi,
227
+ searchProps,
228
+ setSearchProps
229
+ }) || formatMessage({
227
230
  id: 'list'
228
231
  })), /*#__PURE__*/React__default["default"].createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React__default["default"].createElement(SearchInput__default["default"], {
229
232
  size: "small",
@@ -238,11 +241,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
238
241
  }
239
242
  }))), children)));
240
243
  }
241
- }), _ref7 => {
244
+ }), _ref5 => {
242
245
  let {
243
246
  fetchApi,
244
247
  list
245
- } = _ref7;
248
+ } = _ref5;
246
249
  return /*#__PURE__*/React__default["default"].createElement(antd.List, {
247
250
  className: classnames__default["default"](style['list'], style['list-lib']),
248
251
  size: "small",
@@ -252,6 +255,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
252
255
  className: 'list-item-title'
253
256
  }, item.title);
254
257
  const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
258
+ searchProps,
259
+ setSearchProps,
255
260
  fetchApi,
256
261
  options
257
262
  }) : options;
@@ -260,10 +265,10 @@ const EntrySelector = reactIntl.createWithIntlProvider({
260
265
  onClick: () => {
261
266
  onChange(value => {
262
267
  const newValue = (value || []).slice(0);
263
- const index = newValue.findIndex(_ref8 => {
268
+ const index = newValue.findIndex(_ref6 => {
264
269
  let {
265
270
  id
266
- } = _ref8;
271
+ } = _ref6;
267
272
  return id === item.id;
268
273
  });
269
274
  if (index > -1) {
@@ -277,10 +282,10 @@ const EntrySelector = reactIntl.createWithIntlProvider({
277
282
  });
278
283
  }
279
284
  }, /*#__PURE__*/React__default["default"].createElement(antd.Checkbox, {
280
- checked: (value || []).findIndex(_ref9 => {
285
+ checked: (value || []).findIndex(_ref7 => {
281
286
  let {
282
287
  id
283
- } = _ref9;
288
+ } = _ref7;
284
289
  return id === item.id;
285
290
  }) > -1
286
291
  }), /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
@@ -288,7 +293,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
288
293
  flex: 1
289
294
  }, typeof renderItem === 'function' ? renderItem(item, {
290
295
  fetchApi,
291
- el: defaultItem
296
+ el: defaultItem,
297
+ searchProps,
298
+ setSearchProps
292
299
  }) : defaultItem), targetOptions && /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
293
300
  flex: '0 0 50px',
294
301
  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":"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"}
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(item => Object.assign({}, listMapping.get(item.id) || 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 {currentList.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","get","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref3","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","_ref4","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref5","dataSource","targetOptions","_ref6","push","Checkbox","checked","_ref7","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":"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"}
@@ -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,10 +120,11 @@ const EntrySelector = createWithIntlProvider({
116
120
  pageData: [],
117
121
  totalCount: 0
118
122
  }, data);
119
- const listMapping = new Map(pageData.map(item => [item.id, item]));
120
- const currentList = (value || []).map(({
121
- id
122
- }) => listMapping.get(id)).filter(item => !!item);
123
+ pageData.forEach(item => {
124
+ selectedMappingRef.current.set(item.id, item);
125
+ });
126
+ const listMapping = selectedMappingRef.current;
127
+ const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));
123
128
  return /*#__PURE__*/React.createElement(Row, {
124
129
  gutter: [12, 12]
125
130
  }, /*#__PURE__*/React.createElement(Col, {
@@ -128,7 +133,7 @@ const EntrySelector = createWithIntlProvider({
128
133
  className: style['list-outer']
129
134
  }, totalCount > 0 && /*#__PURE__*/React.createElement("div", {
130
135
  className: style['list-header']
131
- }, formatMessage({
136
+ }, selectedTitle || formatMessage({
132
137
  id: 'selected'
133
138
  })), /*#__PURE__*/React.createElement(SimpleBar, {
134
139
  className: style['list-scroll'],
@@ -155,9 +160,7 @@ const EntrySelector = createWithIntlProvider({
155
160
  });
156
161
  });
157
162
  }
158
- }, (value || []).map(({
159
- id
160
- }) => listMapping.get(id)).filter(item => !!item).map((item, index) => {
163
+ }, currentList.map((item, index) => {
161
164
  const defaultItem = /*#__PURE__*/React.createElement("span", {
162
165
  className: 'list-item-title'
163
166
  }, item.title);
@@ -176,6 +179,8 @@ const EntrySelector = createWithIntlProvider({
176
179
  el: defaultItem,
177
180
  target: item,
178
181
  fetchApi,
182
+ searchProps,
183
+ setSearchProps,
179
184
  onChange: item => {
180
185
  return onChange(value => {
181
186
  const newValue = (value || []).slice(0);
@@ -203,7 +208,11 @@ const EntrySelector = createWithIntlProvider({
203
208
  justify: "space-between"
204
209
  }, /*#__PURE__*/React.createElement("div", {
205
210
  className: style['list-header-title']
206
- }, formatMessage({
211
+ }, listTitle || typeof renderListTitle === 'function' && renderListTitle({
212
+ fetchApi,
213
+ searchProps,
214
+ setSearchProps
215
+ }) || formatMessage({
207
216
  id: 'list'
208
217
  })), /*#__PURE__*/React.createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React.createElement(SearchInput, {
209
218
  size: "small",
@@ -231,6 +240,8 @@ const EntrySelector = createWithIntlProvider({
231
240
  className: 'list-item-title'
232
241
  }, item.title);
233
242
  const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
243
+ searchProps,
244
+ setSearchProps,
234
245
  fetchApi,
235
246
  options
236
247
  }) : options;
@@ -261,7 +272,9 @@ const EntrySelector = createWithIntlProvider({
261
272
  flex: 1
262
273
  }, typeof renderItem === 'function' ? renderItem(item, {
263
274
  fetchApi,
264
- el: defaultItem
275
+ el: defaultItem,
276
+ searchProps,
277
+ setSearchProps
265
278
  }) : defaultItem), targetOptions && /*#__PURE__*/React.createElement(Flex, {
266
279
  flex: '0 0 50px',
267
280
  onClick: e => {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,sBAAsB,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,kBAAkB,CAACL,KAAK,CAAC,CAAA;EACnD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AACxB,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;IACHC,QAAQ,EAAA,IAAA;AACRC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,SAAS,EAAEC,KAAK,CAAC,gBAAgB,CAAE;AACnCA,IAAAA,KAAK,EAAE;MACL,uBAAuB,EAAE,GAAGpB,iBAAiB,CAAA,EAAA,CAAA;AAC/C,KAAA;AAAE,GAAA,EAED,OAAOP,KAAK,KAAK,UAAU,iBAC1BqB,KAAA,CAAAC,aAAA,CAACC,IAAI,EACHF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACM,MAAM,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,KAAA,CAAAC,aAAA,CAACc,iBAAiB,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;AAChBC,IAAAA,MAAM,EAAEA,CAAC;MAAEP,QAAQ;AAAEQ,MAAAA,QAAAA;AAAS,KAAC,KAAK;MAClC,MAAM;AAAEC,QAAAA,IAAAA;AAAK,OAAC,GAAGT,QAAQ,CAAA;MACzB,MAAM;QAAEU,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,CAACf,EAAE,EAAEe,IAAI,CAAC,CAAC,CAAC,CAAA;MAClE,MAAMC,WAAW,GAAG,CAACxC,KAAK,IAAI,EAAE,EAAEsC,GAAG,CAAC,CAAC;AAAEd,QAAAA,EAAAA;AAAG,OAAC,KAAKY,WAAW,CAACK,GAAG,CAACjB,EAAE,CAAC,CAAC,CAACkB,MAAM,CAACH,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CAAA;AAC7F,MAAA,oBACE7B,KAAA,CAAAC,aAAA,CAACgC,GAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBlC,KAAA,CAAAC,aAAA,CAACkC,GAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTpC,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,EACjCiB,UAAU,GAAG,CAAC,iBAAIvB,KAAA,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,KAAA,CAAAC,aAAA,CAACoC,SAAS,EAAA;AAAChC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD5B,KAAK,IAAIA,KAAK,CAACgD,MAAM,GAAG,CAAC,gBACxBtC,KAAA,CAAAC,aAAA,CAACsC,IAAI,EAAA;AAAClC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,KAAA,CAAAC,aAAA,CAACuC,aAAa,EAAA;AACZR,QAAAA,MAAM,EAAC,kBAAkB;AACzBS,QAAAA,SAAS,EAAEnC,KAAK,CAAC,eAAe,CAAE;AAClCoC,QAAAA,UAAU,EAAEpC,KAAK,CAAC,gBAAgB,CAAE;QACpCqC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACT7E,QAAAA,IAAI,EAAE6D,WAAY;QAClBiB,OAAO,EAAE9E,IAAI,IAAI;UACfsB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM0D,OAAO,GAAG,IAAIrB,GAAG,CAAC,CAACrC,KAAK,IAAI,EAAE,EAAEsC,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAACf,EAAE,EAAEe,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,YAAA,OAAO5D,IAAI,CAAC2D,GAAG,CAAC,CAAC;AAAEd,cAAAA,EAAAA;AAAG,aAAC,KAAK;AAC1B,cAAA,OAAOkC,OAAO,CAACjB,GAAG,CAACjB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;AAAE,OAAA,EAED,CAACxB,KAAK,IAAI,EAAE,EACVsC,GAAG,CAAC,CAAC;AAAEd,QAAAA,EAAAA;OAAI,KAAKY,WAAW,CAACK,GAAG,CAACjB,EAAE,CAAC,CAAC,CACpCkB,MAAM,CAACH,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBD,GAAG,CAAC,CAACC,IAAI,EAAEoB,KAAK,KAAK;AACpB,QAAA,MAAMC,WAAW,gBAAGlD,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBwB,EAAAA,IAAI,CAACsB,KAAY,CAAC,CAAA;QAC3E,MAAMH,OAAO,GAAG,IAAIrB,GAAG,CAAC,CAACrC,KAAK,IAAI,EAAE,EAAEsC,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAACf,EAAE,EAAEe,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,QAAA,oBACE7B,KAAA,CAAAC,aAAA,CAACsC,IAAI,CAACa,IAAI,EAAA;UAACC,GAAG,EAAExB,IAAI,CAACf,EAAG;UAACT,SAAS,EAAEiD,UAAU,CAAChD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,KAAA,CAAAC,aAAA,CAACsD,cAAc,EAAA;UAAClD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAI2C,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDjD,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACqD,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAO1E,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACkE,OAAO,CAACjB,GAAG,CAACF,IAAI,CAACf,EAAE,CAAC,EAAE;AACvC2C,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAE7B,IAAI;UACZjB,QAAQ;UACRrB,QAAQ,EAAEsC,IAAI,IAAI;YAChB,OAAOtC,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAMqE,QAAQ,GAAG,CAACrE,KAAK,IAAI,EAAE,EAAEsE,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAAC,CAAC;AAAE/C,gBAAAA,EAAAA;AAAG,eAAC,KAAKA,EAAE,KAAKe,IAAI,CAACf,EAAE,CAAC,CAAA;AAC5D,cAAA,MAAMgD,WAAW,GAAGH,QAAQ,CAACV,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdU,QAAQ,CAACI,MAAM,CAACd,KAAK,EAAE,CAAC,EAAEzB,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOI,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACiC,WAAW,CAAC,GAAGjC,IAAI,CAAC,CAAC,CAAA;AACrG,eAAA;AACA,cAAA,OAAO8B,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AACF,SAAC,CAAC,GACFT,WACA,CACG,CAAC,CAAA;OAEf,CACU,CACX,CAAC,gBAEPlD,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAAC0D,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DjE,KAAA,CAAAC,aAAA,CAACiE,KAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNlE,KAAA,CAAAC,aAAA,CAACkC,GAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTpC,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,eAClCN,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAAC0D,QAAAA,OAAO,EAAC,eAAA;OAC7ChE,eAAAA,KAAA,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,KAAA,CAAAC,aAAA,CACG,KAAA,EAAA,IAAA,EAAA,OAAOhB,cAAc,KAAK,UAAU,iBACnCe,KAAA,CAAAC,aAAA,CAACkE,WAAW,EAAA;AACV1D,QAAAA,IAAI,EAAC,OAAO;AACZ2D,QAAAA,WAAW,EAAElG,iBAAiB,IAAI0B,aAAa,CAAC;AAAEkB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7ExB,KAAK,EAAEG,WAAW,CAAC4E,UAAW;QAC9BC,QAAQ,EAAEhF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAI+B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEhC,WAAW,EAAE;AAAE4E,YAAAA,UAAU,EAAE/E,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACN8B,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAED,CAAC;IAAER,QAAQ;AAAE3C,IAAAA,IAAAA;AAAK,GAAC,KAAK;AACvB,IAAA,oBACE+B,KAAA,CAAAC,aAAA,CAACsC,IAAI,EAAA;AACHlC,MAAAA,SAAS,EAAEiD,UAAU,CAAChD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZ8D,MAAAA,UAAU,EAAEtG,IAAK;MACjBc,UAAU,EAAE8C,IAAI,IAAI;AAClB,QAAA,MAAMqB,WAAW,gBAAGlD,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBwB,EAAAA,IAAI,CAACsB,KAAY,CAAC,CAAA;QAC3E,MAAMqB,aAAa,GACjB,OAAOxF,aAAa,KAAK,UAAU,GAC/BA,aAAa,CAAC6C,IAAI,EAAE;UAClBjB,QAAQ;AACR/B,UAAAA,OAAAA;SACD,CAAC,GACFA,OAAO,CAAA;AACb,QAAA,oBACEmB,KAAA,CAAAC,aAAA,CAACsC,IAAI,CAACa,IAAI,EAAA;UACRC,GAAG,EAAExB,IAAI,CAACf,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbpB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAMqE,QAAQ,GAAG,CAACrE,KAAK,IAAI,EAAE,EAAEsE,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAAC,CAAC;AAAE/C,gBAAAA,EAAAA;AAAG,eAAC,KAAKA,EAAE,KAAKe,IAAI,CAACf,EAAE,CAAC,CAAA;AAC5D,cAAA,IAAImC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdU,gBAAAA,QAAQ,CAACI,MAAM,CAACd,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;gBACLU,QAAQ,CAACc,IAAI,CAAC;kBAAE3D,EAAE,EAAEe,IAAI,CAACf,EAAAA;AAAG,iBAAC,CAAC,CAAA;AAChC,eAAA;AAEA,cAAA,OAAO6C,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEF3D,KAAA,CAAAC,aAAA,CAACyE,QAAQ,EAAA;UAACC,OAAO,EAAE,CAACrF,KAAK,IAAI,EAAE,EAAEuE,SAAS,CAAC,CAAC;AAAE/C,YAAAA,EAAAA;WAAI,KAAKA,EAAE,KAAKe,IAAI,CAACf,EAAE,CAAC,GAAG,CAAC,CAAA;AAAE,SAAE,CAAC,eAC/Ed,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACqD,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAOzE,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC8C,IAAI,EAAE;UACfjB,QAAQ;AACR6C,UAAAA,EAAE,EAAEP,WAAAA;SACL,CAAC,GACFA,WACA,CAAC,EACNsB,aAAa,iBACZxE,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACHsD,UAAAA,IAAI,EAAE,UAAW;UACjB7C,OAAO,EAAEiE,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEF7E,KAAA,CAAAC,aAAA,CAAC6E,WAAW,EAAA;AAACC,UAAAA,IAAI,eAAE/E,KAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAACsE,YAAAA,IAAI,eAAEhF,KAAA,CAAAC,aAAA,CAACgF,YAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAAChH,UAAAA,IAAI,EAAEuG,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
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(item => Object.assign({}, listMapping.get(item.id) || 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 {currentList.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","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,sBAAsB,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,kBAAkB,CAACL,KAAK,CAAC,CAAA;EACnD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EACxB,MAAMC,kBAAkB,GAAGD,MAAM,CAAC,IAAIE,GAAG,EAAE,CAAC,CAAA;AAC5C,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;IACHC,QAAQ,EAAA,IAAA;AACRC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,SAAS,EAAEC,KAAK,CAAC,gBAAgB,CAAE;AACnCA,IAAAA,KAAK,EAAE;MACL,uBAAuB,EAAE,GAAGtB,iBAAiB,CAAA,EAAA,CAAA;AAC/C,KAAA;AAAE,GAAA,EAED,OAAOV,KAAK,KAAK,UAAU,iBAC1B0B,KAAA,CAAAC,aAAA,CAACC,IAAI,EACHF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACM,MAAM,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,KAAA,CAAAC,aAAA,CAACc,iBAAiB,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;AAChBC,IAAAA,MAAM,EAAEA,CAAC;MAAEP,QAAQ;AAAEQ,MAAAA,QAAAA;AAAS,KAAC,KAAK;MAClC,MAAM;AAAEC,QAAAA,IAAAA;AAAK,OAAC,GAAGT,QAAQ,CAAA;MACzB,MAAM;QAAEU,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;QACvB7B,kBAAkB,CAACe,OAAO,CAACe,GAAG,CAACD,IAAI,CAACb,EAAE,EAAEa,IAAI,CAAC,CAAA;AAC/C,OAAC,CAAC,CAAA;AACF,MAAA,MAAME,WAAW,GAAG/B,kBAAkB,CAACe,OAAO,CAAA;AAC9C,MAAA,MAAMiB,WAAW,GAAG,CAAC1C,KAAK,IAAI,EAAE,EAAE2C,GAAG,CAACJ,IAAI,IAAIH,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEI,WAAW,CAACG,GAAG,CAACL,IAAI,CAACb,EAAE,CAAC,IAAIa,IAAI,CAAC,CAAC,CAAA;AAClG,MAAA,oBACE3B,KAAA,CAAAC,aAAA,CAACgC,GAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBlC,KAAA,CAAAC,aAAA,CAACkC,GAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTpC,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,EACjCiB,UAAU,GAAG,CAAC,iBAAIvB,KAAA,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,KAAA,CAAAC,aAAA,CAACoC,SAAS,EAAA;AAAChC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD9B,KAAK,IAAIA,KAAK,CAACkD,MAAM,GAAG,CAAC,gBACxBtC,KAAA,CAAAC,aAAA,CAACsC,IAAI,EAAA;AAAClC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,KAAA,CAAAC,aAAA,CAACuC,aAAa,EAAA;AACZC,QAAAA,MAAM,EAAC,kBAAkB;AACzBC,QAAAA,SAAS,EAAEpC,KAAK,CAAC,eAAe,CAAE;AAClCqC,QAAAA,UAAU,EAAErC,KAAK,CAAC,gBAAgB,CAAE;QACpCsC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACTnF,QAAAA,IAAI,EAAEkE,WAAY;QAClBkB,OAAO,EAAEpF,IAAI,IAAI;UACfyB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM6D,OAAO,GAAG,IAAIlD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE2C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACb,EAAE,EAAEa,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,YAAA,OAAO/D,IAAI,CAACmE,GAAG,CAAC,CAAC;AAAEjB,cAAAA,EAAAA;AAAG,aAAC,KAAK;AAC1B,cAAA,OAAOmC,OAAO,CAACjB,GAAG,CAAClB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;OAECgB,EAAAA,WAAW,CAACC,GAAG,CAAC,CAACJ,IAAI,EAAEuB,KAAK,KAAK;AAChC,QAAA,MAAMC,WAAW,gBAAGnD,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBsB,EAAAA,IAAI,CAACyB,KAAY,CAAC,CAAA;QAC3E,MAAMH,OAAO,GAAG,IAAIlD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE2C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACb,EAAE,EAAEa,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,QAAA,oBACE3B,KAAA,CAAAC,aAAA,CAACsC,IAAI,CAACc,IAAI,EAAA;UAACC,GAAG,EAAE3B,IAAI,CAACb,EAAG;UAACT,SAAS,EAAEkD,UAAU,CAACjD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,KAAA,CAAAC,aAAA,CAACuD,cAAc,EAAA;UAACnD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAI4C,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDlD,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACsD,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAO7E,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACqE,OAAO,CAACjB,GAAG,CAACL,IAAI,CAACb,EAAE,CAAC,EAAE;AACvC4C,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAEhC,IAAI;UACZf,QAAQ;UACRrB,WAAW;UACXC,cAAc;UACdH,QAAQ,EAAEsC,IAAI,IAAI;YAChB,OAAOtC,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAMwE,QAAQ,GAAG,CAACxE,KAAK,IAAI,EAAE,EAAEyE,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAAC,CAAC;AAAEhD,gBAAAA,EAAAA;AAAG,eAAC,KAAKA,EAAE,KAAKa,IAAI,CAACb,EAAE,CAAC,CAAA;AAC5D,cAAA,MAAMiD,WAAW,GAAGH,QAAQ,CAACV,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdU,QAAQ,CAACI,MAAM,CAACd,KAAK,EAAE,CAAC,EAAE1B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOE,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACoC,WAAW,CAAC,GAAGpC,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,CACY,CACX,CAAC,gBAEPnD,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAAC2D,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DlE,KAAA,CAAAC,aAAA,CAACkE,KAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNnE,KAAA,CAAAC,aAAA,CAACkC,GAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTpC,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,eAClCN,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAAC2D,QAAAA,OAAO,EAAC,eAAA;OAC7CjE,eAAAA,KAAA,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,KAAA,CAAAC,aAAA,CACG,KAAA,EAAA,IAAA,EAAA,OAAOlB,cAAc,KAAK,UAAU,iBACnCiB,KAAA,CAAAC,aAAA,CAACmE,WAAW,EAAA;AACV3D,QAAAA,IAAI,EAAC,OAAO;AACZ4D,QAAAA,WAAW,EAAExG,iBAAiB,IAAI6B,aAAa,CAAC;AAAEoB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7E1B,KAAK,EAAEG,WAAW,CAAC+E,UAAW;QAC9BC,QAAQ,EAAEnF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAIiC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAElC,WAAW,EAAE;AAAE+E,YAAAA,UAAU,EAAElF,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACNgC,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAED,CAAC;IAAER,QAAQ;AAAEhD,IAAAA,IAAAA;AAAK,GAAC,KAAK;AACvB,IAAA,oBACEoC,KAAA,CAAAC,aAAA,CAACsC,IAAI,EAAA;AACHlC,MAAAA,SAAS,EAAEkD,UAAU,CAACjD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZ+D,MAAAA,UAAU,EAAE5G,IAAK;MACjBiB,UAAU,EAAE8C,IAAI,IAAI;AAClB,QAAA,MAAMwB,WAAW,gBAAGnD,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBsB,EAAAA,IAAI,CAACyB,KAAY,CAAC,CAAA;QAC3E,MAAMqB,aAAa,GACjB,OAAO3F,aAAa,KAAK,UAAU,GAC/BA,aAAa,CAAC6C,IAAI,EAAE;UAClBpC,WAAW;UACXC,cAAc;UACdoB,QAAQ;AACRpC,UAAAA,OAAAA;SACD,CAAC,GACFA,OAAO,CAAA;AACb,QAAA,oBACEwB,KAAA,CAAAC,aAAA,CAACsC,IAAI,CAACc,IAAI,EAAA;UACRC,GAAG,EAAE3B,IAAI,CAACb,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbtB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAMwE,QAAQ,GAAG,CAACxE,KAAK,IAAI,EAAE,EAAEyE,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAAC,CAAC;AAAEhD,gBAAAA,EAAAA;AAAG,eAAC,KAAKA,EAAE,KAAKa,IAAI,CAACb,EAAE,CAAC,CAAA;AAC5D,cAAA,IAAIoC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdU,gBAAAA,QAAQ,CAACI,MAAM,CAACd,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;gBACLU,QAAQ,CAACc,IAAI,CAAC;kBAAE5D,EAAE,EAAEa,IAAI,CAACb,EAAAA;AAAG,iBAAC,CAAC,CAAA;AAChC,eAAA;AAEA,cAAA,OAAO8C,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEF5D,KAAA,CAAAC,aAAA,CAAC0E,QAAQ,EAAA;UAACC,OAAO,EAAE,CAACxF,KAAK,IAAI,EAAE,EAAE0E,SAAS,CAAC,CAAC;AAAEhD,YAAAA,EAAAA;WAAI,KAAKA,EAAE,KAAKa,IAAI,CAACb,EAAE,CAAC,GAAG,CAAC,CAAA;AAAE,SAAE,CAAC,eAC/Ed,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACsD,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAO5E,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC8C,IAAI,EAAE;UACff,QAAQ;AACR8C,UAAAA,EAAE,EAAEP,WAAW;UACf5D,WAAW;AACXC,UAAAA,cAAAA;SACD,CAAC,GACF2D,WACA,CAAC,EACNsB,aAAa,iBACZzE,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACHuD,UAAAA,IAAI,EAAE,UAAW;UACjB9C,OAAO,EAAEkE,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEF9E,KAAA,CAAAC,aAAA,CAAC8E,WAAW,EAAA;AAACC,UAAAA,IAAI,eAAEhF,KAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAACuE,YAAAA,IAAI,eAAEjF,KAAA,CAAAC,aAAA,CAACiF,YAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAACtH,UAAAA,IAAI,EAAE6G,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kne/entry-selector",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
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.9",
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",