@kne/react-filter 0.1.15 → 0.1.18

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.
@@ -1,25 +1,24 @@
1
1
  var React = require('react');
2
2
  var antd = require('antd');
3
- var reactCitySelect = require('@kne/react-city-select');
4
3
  var classnames = require('classnames');
5
- var get = require('lodash/get');
6
- var isFunction = require('lodash/isFunction');
7
- var isEqual = require('lodash/isEqual');
4
+ var reactCitySelect = require('@kne/react-city-select');
5
+ var lodash = require('lodash');
8
6
  var useClickOutSide = require('@kne/use-click-outside');
9
- var isNumber = require('lodash/isNumber');
10
7
 
11
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
9
 
13
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
11
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
15
- var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
16
- var isFunction__default = /*#__PURE__*/_interopDefaultLegacy(isFunction);
17
- var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
18
12
  var useClickOutSide__default = /*#__PURE__*/_interopDefaultLegacy(useClickOutSide);
19
- var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);
13
+
14
+ var context$1 = React.createContext({});
15
+ var Provider$1 = context$1.Provider;
16
+ var useConsumer = function useConsumer() {
17
+ return React.useContext(context$1);
18
+ };
20
19
 
21
20
  function _extends() {
22
- _extends = Object.assign || function (target) {
21
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
23
22
  for (var i = 1; i < arguments.length; i++) {
24
23
  var source = arguments[i];
25
24
 
@@ -32,7 +31,6 @@ function _extends() {
32
31
 
33
32
  return target;
34
33
  };
35
-
36
34
  return _extends.apply(this, arguments);
37
35
  }
38
36
 
@@ -51,21 +49,30 @@ function _objectWithoutPropertiesLoose(source, excluded) {
51
49
  return target;
52
50
  }
53
51
 
54
- var context$1 = React.createContext({});
55
- var Provider$1 = context$1.Provider;
56
- var useConsumer = function useConsumer() {
57
- return React.useContext(context$1);
58
- };
59
-
60
- var _excluded$5 = ["label"];
52
+ var _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
61
53
 
62
54
  var FilterItem = function FilterItem(_ref) {
63
55
  var className = _ref.className,
64
56
  label = _ref.label,
57
+ labelHidden = _ref.labelHidden,
58
+ isMore = _ref.isMore,
59
+ moreTrigger = _ref.moreTrigger,
65
60
  children = _ref.children;
61
+
62
+ if (isMore) {
63
+ return /*#__PURE__*/React__default["default"].createElement("div", {
64
+ className: classnames__default["default"]("react-filter-item-label", "is-more", className)
65
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Popover, {
66
+ content: children,
67
+ trigger: moreTrigger,
68
+ placement: "bottom",
69
+ overlayClassName: "react-filter-item-popover"
70
+ }, /*#__PURE__*/React__default["default"].createElement("a", null, label)));
71
+ }
72
+
66
73
  return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
67
74
  className: classnames__default["default"]('react-filter-item', className)
68
- }, /*#__PURE__*/React__default["default"].createElement("div", {
75
+ }, labelHidden ? null : /*#__PURE__*/React__default["default"].createElement("div", {
69
76
  className: "react-filter-item-label"
70
77
  }, label, ":"), /*#__PURE__*/React__default["default"].createElement("div", {
71
78
  className: "react-filter-item-children"
@@ -75,21 +82,31 @@ var FilterItem = function FilterItem(_ref) {
75
82
  var withFilterItem = function withFilterItem(WrappedComponent) {
76
83
  return function (_ref2) {
77
84
  var label = _ref2.label,
78
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$5);
85
+ labelHidden = _ref2.labelHidden,
86
+ isMore = _ref2.isMore,
87
+ moreTrigger = _ref2.moreTrigger,
88
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
79
89
 
80
90
  return /*#__PURE__*/React__default["default"].createElement(FilterItem, {
81
- label: label
82
- }, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, props));
91
+ label: label,
92
+ labelHidden: labelHidden,
93
+ isMore: isMore,
94
+ moreTrigger: moreTrigger
95
+ }, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({}, props, {
96
+ label: label,
97
+ isMore: isMore
98
+ })));
83
99
  };
84
100
  };
85
101
 
86
- var _excluded$4 = ["value", "label"];
102
+ var _excluded$7 = ["value", "label"];
87
103
  var CheckableTag = antd.Tag.CheckableTag;
88
104
  var context = React.createContext({});
89
105
  var Provider = context.Provider;
90
106
 
91
107
  var List = function List(_ref) {
92
108
  var label = _ref.label,
109
+ labelHidden = _ref.labelHidden,
93
110
  name = _ref.name,
94
111
  size = _ref.size,
95
112
  children = _ref.children,
@@ -101,7 +118,7 @@ var List = function List(_ref) {
101
118
  onChange = _useConsumer.onChange;
102
119
 
103
120
  var currentValue = function () {
104
- var originValue = get__default["default"](value, name);
121
+ var originValue = lodash.get(value, name);
105
122
 
106
123
  if (size === 1) {
107
124
  return originValue !== void 0 ? [originValue] : [];
@@ -160,7 +177,7 @@ var List = function List(_ref) {
160
177
  });
161
178
  }
162
179
 
163
- if (isFunction__default["default"](children)) {
180
+ if (lodash.isFunction(children)) {
164
181
  return children({
165
182
  value: currentValue,
166
183
  onChange: changeHandler
@@ -171,14 +188,15 @@ var List = function List(_ref) {
171
188
  }();
172
189
 
173
190
  return /*#__PURE__*/React__default["default"].createElement(FilterItem, {
174
- label: label
191
+ label: label,
192
+ labelHidden: labelHidden
175
193
  }, /*#__PURE__*/React__default["default"].createElement(Provider, {
176
194
  value: {
177
195
  currentValue: currentValue,
178
196
  createCheckedChangeHandler: createCheckedChangeHandler
179
197
  }
180
198
  }, computedChildren, more ? function () {
181
- if (isFunction__default["default"](more)) {
199
+ if (lodash.isFunction(more)) {
182
200
  return more({
183
201
  name: name,
184
202
  size: size,
@@ -207,7 +225,7 @@ var List = function List(_ref) {
207
225
  List.Item = function (_ref3) {
208
226
  var value = _ref3.value,
209
227
  label = _ref3.label,
210
- props = _objectWithoutPropertiesLoose(_ref3, _excluded$4);
228
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded$7);
211
229
 
212
230
  var _useContext = React.useContext(context),
213
231
  currentValue = _useContext.currentValue,
@@ -217,7 +235,7 @@ List.Item = function (_ref3) {
217
235
 
218
236
  if (value !== void 0) {
219
237
  itemProps.checked = currentValue.findIndex(function (item) {
220
- return isEqual__default["default"](get__default["default"](item, 'value'), value);
238
+ return lodash.isEqual(lodash.get(item, 'value'), value);
221
239
  }) > -1;
222
240
  itemProps.onChange = createCheckedChangeHandler({
223
241
  label: label,
@@ -232,13 +250,18 @@ List.defaultProps = {
232
250
  size: 2
233
251
  };
234
252
 
253
+ var _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
235
254
  var Item = List.Item;
236
255
 
237
256
  var City = function City(_ref) {
238
257
  var label = _ref.label,
258
+ labelHidden = _ref.labelHidden,
239
259
  name = _ref.name,
240
260
  size = _ref.size;
261
+ _objectWithoutPropertiesLoose(_ref, _excluded$6);
262
+
241
263
  return /*#__PURE__*/React__default["default"].createElement(List, {
264
+ labelHidden: labelHidden,
242
265
  label: label,
243
266
  name: name,
244
267
  size: size,
@@ -320,6 +343,7 @@ var City = function City(_ref) {
320
343
  var SearchButton = function SearchButton(_ref) {
321
344
  var name = _ref.name,
322
345
  size = _ref.size,
346
+ isMore = _ref.isMore,
323
347
  template = _ref.template,
324
348
  children = _ref.children,
325
349
  defaultValue = _ref.defaultValue,
@@ -336,7 +360,7 @@ var SearchButton = function SearchButton(_ref) {
336
360
 
337
361
  var currentValue = aValue[name];
338
362
 
339
- var _useState = React.useState(defaultValue || get__default["default"](currentValue, "value")),
363
+ var _useState = React.useState(defaultValue || lodash.get(currentValue, "value")),
340
364
  value = _useState[0],
341
365
  setValue = _useState[1];
342
366
 
@@ -351,12 +375,12 @@ var SearchButton = function SearchButton(_ref) {
351
375
 
352
376
  return {
353
377
  value: value,
354
- label: isFunction__default["default"](template) ? template(value) : value.toString()
378
+ label: lodash.isFunction(template) ? template(value) : value.toString()
355
379
  };
356
380
  };
357
381
 
358
382
  var ref = useClickOutSide__default["default"](function () {
359
- setValue(get__default["default"](currentValue, "value"));
383
+ setValue(lodash.get(currentValue, "value"));
360
384
  setActive(false);
361
385
  onBlur && onBlur();
362
386
  });
@@ -367,7 +391,7 @@ var SearchButton = function SearchButton(_ref) {
367
391
  }, [active]);
368
392
  return /*#__PURE__*/React__default["default"].createElement("div", {
369
393
  className: classnames__default["default"]("react-filter-search-button", {
370
- "is-active": active
394
+ "is-active": active && !isMore
371
395
  }),
372
396
  ref: ref,
373
397
  onMouseEnter: function onMouseEnter() {
@@ -376,14 +400,17 @@ var SearchButton = function SearchButton(_ref) {
376
400
  onMouseLeave: function onMouseLeave() {
377
401
  active && setActive(false);
378
402
  }
379
- }, /*#__PURE__*/React__default["default"].createElement("div", {
380
- className: "inner"
403
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Space, {
404
+ className: "inner",
405
+ size: 0
381
406
  }, /*#__PURE__*/React__default["default"].createElement("div", null, children({
382
407
  value: value,
383
408
  setValue: setValue,
384
409
  setActive: setActive
385
- })), active ? /*#__PURE__*/React__default["default"].createElement(antd.Button, {
386
- className: "react-filter-search-confirm",
410
+ })), active || isMore ? /*#__PURE__*/React__default["default"].createElement(antd.Button, {
411
+ className: classnames__default["default"]("react-filter-search-confirm", {
412
+ "is-more": isMore
413
+ }),
387
414
  size: "small",
388
415
  type: "primary",
389
416
  onClick: function onClick(e) {
@@ -410,13 +437,15 @@ SearchButton.defaultProps = {
410
437
  var RangeInner = function RangeInner(_ref) {
411
438
  var name = _ref.name,
412
439
  size = _ref.size,
440
+ isMore = _ref.isMore,
413
441
  defaultActive = _ref.defaultActive,
414
442
  template = _ref.template,
415
443
  onBlur = _ref.onBlur,
416
444
  onSearch = _ref.onSearch,
417
445
  _onActiveChange = _ref.onActiveChange,
418
446
  startProps = _ref.startProps,
419
- endProps = _ref.endProps;
447
+ endProps = _ref.endProps,
448
+ placeholder = _ref.placeholder;
420
449
 
421
450
  var _useState = React.useState(null),
422
451
  error = _useState[0],
@@ -429,7 +458,7 @@ var RangeInner = function RangeInner(_ref) {
429
458
  return false;
430
459
  }
431
460
 
432
- if (isNumber__default["default"](value[1]) && value[0] > value[1]) {
461
+ if (lodash.isNumber(value[1]) && value[0] > value[1]) {
433
462
  setError("最大值不能小于最小值");
434
463
  return false;
435
464
  }
@@ -440,6 +469,7 @@ var RangeInner = function RangeInner(_ref) {
440
469
  return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
441
470
  size: size,
442
471
  template: template,
472
+ isMore: isMore,
443
473
  onBlur: onBlur,
444
474
  defaultActive: defaultActive,
445
475
  name: name,
@@ -467,44 +497,50 @@ var RangeInner = function RangeInner(_ref) {
467
497
  }, /*#__PURE__*/React__default["default"].createElement(antd.InputNumber, _extends({
468
498
  size: "small"
469
499
  }, startProps, {
470
- value: get__default["default"](value, 0),
500
+ value: lodash.get(value, 0),
471
501
  onChange: function onChange(inputValue) {
472
- var target = [inputValue, get__default["default"](value, 1)];
502
+ var target = [inputValue, lodash.get(value, 1)];
473
503
  check(target);
474
504
  setValue(target);
475
505
  },
476
506
  onFocus: function onFocus() {
477
507
  setActive(true);
478
- }
508
+ },
509
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
479
510
  })), "~", /*#__PURE__*/React__default["default"].createElement(antd.InputNumber, _extends({
480
511
  size: "small"
481
512
  }, endProps, {
482
- value: get__default["default"](value, 1),
513
+ value: lodash.get(value, 1),
483
514
  onChange: function onChange(inputValue) {
484
- var target = [get__default["default"](value, 0), inputValue];
515
+ var target = [lodash.get(value, 0), inputValue];
485
516
  check(target);
486
517
  setValue(target);
487
518
  },
488
519
  onFocus: function onFocus() {
489
520
  setActive(true);
490
- }
521
+ },
522
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
491
523
  }))));
492
524
  });
493
525
  };
494
526
  var Range = withFilterItem(RangeInner);
495
527
 
496
- var _excluded$3 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange"];
528
+ var _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
497
529
  var TextInner = function TextInner(_ref) {
498
530
  var name = _ref.name,
531
+ label = _ref.label,
532
+ isMore = _ref.isMore,
499
533
  template = _ref.template,
500
534
  defaultActive = _ref.defaultActive,
501
535
  onBlur = _ref.onBlur,
502
536
  onSearch = _ref.onSearch,
503
537
  _onActiveChange = _ref.onActiveChange,
504
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
538
+ placeholder = _ref.placeholder,
539
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
505
540
 
506
541
  return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
507
542
  defaultActive: defaultActive,
543
+ isMore: isMore,
508
544
  onBlur: onBlur,
509
545
  template: template,
510
546
  name: name,
@@ -519,6 +555,7 @@ var TextInner = function TextInner(_ref) {
519
555
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Input, _extends({
520
556
  size: "small"
521
557
  }, props, {
558
+ placeholder: placeholder || label,
522
559
  value: value,
523
560
  onChange: function onChange(e) {
524
561
  setValue(e.target.value);
@@ -531,10 +568,12 @@ var TextInner = function TextInner(_ref) {
531
568
  };
532
569
  var Text = withFilterItem(TextInner);
533
570
 
534
- var _excluded$2 = ["name"];
571
+ var _excluded$4 = ["name", "label", "placeholder", "isMore"];
535
572
  var SelectorInner = function SelectorInner(_ref) {
536
573
  var name = _ref.name,
537
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
574
+ label = _ref.label,
575
+ placeholder = _ref.placeholder,
576
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
538
577
 
539
578
  var _useConsumer = useConsumer(),
540
579
  aValue = _useConsumer.value,
@@ -542,9 +581,7 @@ var SelectorInner = function SelectorInner(_ref) {
542
581
 
543
582
  var currentValue = aValue[name];
544
583
  return /*#__PURE__*/React__default["default"].createElement(antd.Select, _extends({}, props, {
545
- style: {
546
- minWidth: "150px"
547
- },
584
+ placeholder: label || placeholder,
548
585
  size: "small",
549
586
  value: currentValue,
550
587
  onChange: function onChange(value, item) {
@@ -554,12 +591,13 @@ var SelectorInner = function SelectorInner(_ref) {
554
591
  };
555
592
  var Selector = withFilterItem(SelectorInner);
556
593
 
557
- var _excluded$1 = ["name", "label"];
594
+ var _excluded$3 = ["name", "label", "className", "isMore"];
558
595
 
559
596
  var Check = function Check(_ref) {
560
597
  var name = _ref.name,
561
598
  label = _ref.label,
562
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
599
+ className = _ref.className,
600
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
563
601
 
564
602
  var _useConsumer = useConsumer(),
565
603
  aValue = _useConsumer.value,
@@ -567,6 +605,7 @@ var Check = function Check(_ref) {
567
605
 
568
606
  var currentValue = aValue[name];
569
607
  return /*#__PURE__*/React__default["default"].createElement(antd.Checkbox, _extends({}, props, {
608
+ className: classnames__default["default"]('react-filter-item', className),
570
609
  size: "small",
571
610
  checked: currentValue,
572
611
  onChange: function onChange(e) {
@@ -578,56 +617,59 @@ var Check = function Check(_ref) {
578
617
  }), label);
579
618
  };
580
619
 
581
- var _excluded = ["name", "value", "children"],
582
- _excluded2 = ["type"];
583
- var withMoreExtraButton = function withMoreExtraButton(WrappedComponent) {
584
- return function (_ref) {
585
- var name = _ref.name,
586
- children = _ref.children,
587
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
588
-
589
- var _useState = React.useState(false),
590
- isEdit = _useState[0],
591
- setIsEdit = _useState[1];
620
+ var _excluded$2 = ["label", "name", "options", "isMore"];
621
+ var RadioList = withFilterItem(function (_ref) {
622
+ var name = _ref.name,
623
+ options = _ref.options,
624
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
592
625
 
593
- return isEdit ? /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({
594
- defaultActive: true
595
- }, props, {
596
- name: name,
597
- onBlur: function onBlur() {
598
- setIsEdit(false);
599
- }
600
- })) : /*#__PURE__*/React__default["default"].createElement(List.Item, {
601
- onClick: function onClick(e) {
602
- e.stopPropagation();
603
- setIsEdit(true);
604
- },
605
- label: children || "其他"
606
- });
607
- };
608
- };
609
- var RangeButton = withMoreExtraButton(RangeInner);
610
- var TextButton = withMoreExtraButton(TextInner);
611
- var SelectorButton = withMoreExtraButton(SelectorInner);
612
- var createExtraButton = function createExtraButton(_ref2) {
613
- var type = _ref2.type,
614
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
626
+ var _useConsumer = useConsumer(),
627
+ aValue = _useConsumer.value,
628
+ _onChange = _useConsumer.onChange;
615
629
 
616
- return function (innerProps) {
617
- var mapping = {
618
- range: RangeButton,
619
- text: TextButton,
620
- selector: SelectorButton
621
- };
622
- var ExtraButtonComponent = mapping[type];
630
+ var currentValue = aValue[name];
631
+ return /*#__PURE__*/React__default["default"].createElement(antd.Radio.Group, _extends({}, props, {
632
+ options: options,
633
+ value: lodash.get(currentValue, 'value'),
634
+ onChange: function onChange(e) {
635
+ var item = options.find(function (item) {
636
+ return item.value === e.target.value;
637
+ });
623
638
 
624
- if (!ExtraButtonComponent) {
625
- return null;
639
+ _onChange(name, item);
626
640
  }
641
+ }));
642
+ });
627
643
 
628
- return /*#__PURE__*/React__default["default"].createElement(ExtraButtonComponent, _extends({}, props, innerProps));
629
- };
630
- };
644
+ var _excluded$1 = ["label", "name", "options", "isMore"];
645
+ var CheckboxList = withFilterItem(function (_ref) {
646
+ var name = _ref.name,
647
+ options = _ref.options,
648
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
649
+
650
+ var _useConsumer = useConsumer(),
651
+ aValue = _useConsumer.value,
652
+ _onChange = _useConsumer.onChange;
653
+
654
+ var currentValue = aValue[name];
655
+ return /*#__PURE__*/React__default["default"].createElement(antd.Checkbox.Group, _extends({}, props, {
656
+ value: (currentValue || []).map(function (_ref2) {
657
+ var value = _ref2.value;
658
+ return value;
659
+ }),
660
+ onChange: function onChange(value) {
661
+ var item = value.map(function (value) {
662
+ return options.find(function (item) {
663
+ return item.value === value;
664
+ });
665
+ });
666
+ console.log(item);
667
+
668
+ _onChange(name, item);
669
+ },
670
+ options: options
671
+ }));
672
+ });
631
673
 
632
674
  var filterNull = function filterNull(item) {
633
675
  var target = Object.assign({}, item);
@@ -669,9 +711,14 @@ var Filter = function Filter(_ref) {
669
711
  isExtra = _ref.isExtra,
670
712
  list = _ref.list,
671
713
  label = _ref.label,
714
+ labelHidden = _ref.labelHidden,
715
+ itemLabelHidden = _ref.itemLabelHidden,
672
716
  unfoldText = _ref.unfoldText,
673
717
  foldText = _ref.foldText,
674
718
  extra = _ref.extra,
719
+ more = _ref.more,
720
+ moreTrigger = _ref.moreTrigger,
721
+ moreLabel = _ref.moreLabel,
675
722
  originValue = _ref.value,
676
723
  onChange = _ref.onChange;
677
724
  var value = React.useMemo(function () {
@@ -688,10 +735,12 @@ var Filter = function Filter(_ref) {
688
735
  var renderList = function renderList(list) {
689
736
  return list.map(function (item, index) {
690
737
  return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
691
- key: index
738
+ key: index,
739
+ className: "react-filter-line"
692
740
  }, item.map(function (item, index) {
693
741
  return React.cloneElement(item, {
694
- key: index
742
+ key: index,
743
+ labelHidden: itemLabelHidden
695
744
  });
696
745
  }));
697
746
  });
@@ -704,6 +753,24 @@ var Filter = function Filter(_ref) {
704
753
  onChange(filterNull(target));
705
754
  };
706
755
 
756
+ var moreFilter = more && more.length > 0 ? /*#__PURE__*/React__default["default"].createElement(antd.Space, {
757
+ className: "react-filter-line is-more"
758
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Space, {
759
+ className: "react-filter-item"
760
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
761
+ className: "react-filter-item-label"
762
+ }, moreLabel, ":"), /*#__PURE__*/React__default["default"].createElement(antd.Space, {
763
+ className: "react-filter-item-children",
764
+ split: /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
765
+ type: "vertical"
766
+ })
767
+ }, more.map(function (item, index) {
768
+ return React.cloneElement(item, {
769
+ key: index,
770
+ isMore: true,
771
+ moreTrigger: moreTrigger
772
+ });
773
+ })))) : null;
707
774
  return /*#__PURE__*/React__default["default"].createElement(Provider$1, {
708
775
  value: {
709
776
  value: value,
@@ -713,7 +780,7 @@ var Filter = function Filter(_ref) {
713
780
  className: "react-filter"
714
781
  }, /*#__PURE__*/React__default["default"].createElement("div", {
715
782
  className: "react-filter-inner"
716
- }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(antd.Space, null, /*#__PURE__*/React__default["default"].createElement(FilterItem, {
783
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, labelHidden ? null : /*#__PURE__*/React__default["default"].createElement(antd.Space, null, /*#__PURE__*/React__default["default"].createElement(FilterItem, {
717
784
  className: "react-filter-selected",
718
785
  label: label
719
786
  }, Object.keys(value).map(function (key) {
@@ -730,11 +797,11 @@ var Filter = function Filter(_ref) {
730
797
  var label = _ref2.label;
731
798
  return label;
732
799
  }).join(",") : item.label);
733
- })), /*#__PURE__*/React__default["default"].createElement("div", null, extra))), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
800
+ })), /*#__PURE__*/React__default["default"].createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 ? moreFilter : null), display ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
734
801
  className: "react-filter-divider"
735
802
  }), /*#__PURE__*/React__default["default"].createElement("div", {
736
803
  className: "react-filter-inner"
737
- }, renderList(moreList))) : /*#__PURE__*/React__default["default"].createElement("div", {
804
+ }, renderList(moreList)), moreList.length > 0 ? moreFilter : null) : /*#__PURE__*/React__default["default"].createElement("div", {
738
805
  className: "react-filter-divider-close"
739
806
  }), isExtra && list.length > displayLine ? /*#__PURE__*/React__default["default"].createElement(antd.Row, {
740
807
  className: "react-filter-switch-btn",
@@ -755,21 +822,79 @@ Filter.type = {
755
822
  Range: Range,
756
823
  Text: Text,
757
824
  Selector: Selector,
758
- Check: Check
825
+ Check: Check,
826
+ RadioList: RadioList,
827
+ CheckboxList: CheckboxList
759
828
  };
760
829
  Filter.defaultProps = {
761
830
  label: '筛选项',
831
+ labelHidden: false,
832
+ itemLabelHidden: false,
762
833
  unfoldText: '展开',
763
834
  foldText: '收起',
764
835
  displayLine: 2,
765
836
  defaultDisplay: false,
766
837
  isExtra: true,
767
838
  list: [[]],
839
+ more: [],
840
+ moreTrigger: 'hover',
841
+ moreLabel: '更多',
768
842
  value: {},
769
843
  extra: null,
770
844
  onChange: function onChange() {}
771
845
  };
772
846
 
847
+ var _excluded = ["name", "value", "children"],
848
+ _excluded2 = ["type"];
849
+ var withMoreExtraButton = function withMoreExtraButton(WrappedComponent) {
850
+ return function (_ref) {
851
+ var name = _ref.name,
852
+ children = _ref.children,
853
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
854
+
855
+ var _useState = React.useState(false),
856
+ isEdit = _useState[0],
857
+ setIsEdit = _useState[1];
858
+
859
+ return isEdit ? /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({
860
+ defaultActive: true
861
+ }, props, {
862
+ name: name,
863
+ onBlur: function onBlur() {
864
+ setIsEdit(false);
865
+ }
866
+ })) : /*#__PURE__*/React__default["default"].createElement(List.Item, {
867
+ onClick: function onClick(e) {
868
+ e.stopPropagation();
869
+ setIsEdit(true);
870
+ },
871
+ label: children || "其他"
872
+ });
873
+ };
874
+ };
875
+ var RangeButton = withMoreExtraButton(RangeInner);
876
+ var TextButton = withMoreExtraButton(TextInner);
877
+ var SelectorButton = withMoreExtraButton(SelectorInner);
878
+ var createExtraButton = function createExtraButton(_ref2) {
879
+ var type = _ref2.type,
880
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
881
+
882
+ return function (innerProps) {
883
+ var mapping = {
884
+ range: RangeButton,
885
+ text: TextButton,
886
+ selector: SelectorButton
887
+ };
888
+ var ExtraButtonComponent = mapping[type];
889
+
890
+ if (!ExtraButtonComponent) {
891
+ return null;
892
+ }
893
+
894
+ return /*#__PURE__*/React__default["default"].createElement(ExtraButtonComponent, _extends({}, props, innerProps));
895
+ };
896
+ };
897
+
773
898
  exports.FilterItem = FilterItem;
774
899
  exports.SearchButton = SearchButton;
775
900
  exports.createExtraButton = createExtraButton;
@@ -777,4 +902,4 @@ exports["default"] = Filter;
777
902
  exports.useFilterContext = useConsumer;
778
903
  exports.withFilterItem = withFilterItem;
779
904
  exports.withMoreExtraButton = withMoreExtraButton;
780
- //# sourceMappingURL=index.js.map
905
+ //# sourceMappingURL=index.cjs.map