@nutui/nutui-react-taro 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/esm/Audio.js +4 -4
  3. package/dist/esm/Calendar.js +4 -4
  4. package/dist/esm/CalendarItem.js +3 -3
  5. package/dist/esm/DatePicker.js +4 -4
  6. package/dist/esm/Drag.js +3 -4
  7. package/dist/esm/Elevator.js +2 -4
  8. package/dist/esm/Menu.js +2 -2
  9. package/dist/esm/MenuItem.js +2 -2
  10. package/dist/esm/NoticeBar.js +3 -3
  11. package/dist/esm/Picker.js +3 -3
  12. package/dist/esm/Popover.js +3 -3
  13. package/dist/esm/Range.js +3 -3
  14. package/dist/esm/SearchBar.js +3 -2
  15. package/dist/esm/Signature.js +3 -2
  16. package/dist/esm/Swipe.js +3 -3
  17. package/dist/esm/actionsheet.taro-360d8d34.js +15 -25
  18. package/dist/esm/address.taro-f16cef31.js +151 -219
  19. package/dist/esm/animatingnumbers.taro-6f40a2e9.js +13 -41
  20. package/dist/esm/{audio.taro-29f5568f.js → audio.taro-57d4f0da.js} +33 -60
  21. package/dist/esm/avatar.taro-ec620cdd.js +25 -50
  22. package/dist/esm/avatargroup-5b2584d9.js +2 -9
  23. package/dist/esm/backtop.taro-aa8b2bc5.js +29 -55
  24. package/dist/esm/badge.taro-38684262.js +9 -20
  25. package/dist/esm/barrage.taro-d86c367a.js +8 -21
  26. package/dist/esm/button.taro-a9ebb937.js +22 -37
  27. package/dist/esm/{calendar.taro-438940bd.js → calendar.taro-533b3219.js} +13 -24
  28. package/dist/esm/{calendaritem.taro-11333579.js → calendaritem.taro-fe5dd4bd.js} +71 -183
  29. package/dist/esm/card.taro-1bc35ebe.js +14 -20
  30. package/dist/esm/cascader.taro-77100fb4.js +77 -197
  31. package/dist/esm/cell.taro-a4c3bb7b.js +20 -30
  32. package/dist/esm/cellgroup.taro-8c87bf08.js +6 -12
  33. package/dist/esm/checkbox.taro-104557c1.js +27 -48
  34. package/dist/esm/checkboxgroup.taro-3d380042.js +12 -30
  35. package/dist/esm/circleprogress.taro-3c89a157.js +14 -41
  36. package/dist/esm/col.taro-2a437387.js +11 -22
  37. package/dist/esm/collapse.taro-72e58ba2.js +11 -27
  38. package/dist/esm/collapseitem-75843a5e.js +33 -47
  39. package/dist/esm/configprovider-3e87d67a.js +2 -6
  40. package/dist/esm/configprovider.taro-6c7b3056.js +4 -14
  41. package/dist/esm/countdown.taro-f2d9ffed.js +37 -74
  42. package/dist/esm/{datepicker.taro-1acec61f.js → datepicker.taro-49a4cf0c.js} +43 -104
  43. package/dist/esm/dialog.taro-492e2b9a.js +27 -58
  44. package/dist/esm/divider.taro-5236fe6a.js +8 -15
  45. package/dist/esm/drag.taro-0717c783.js +153 -0
  46. package/dist/esm/{elevator.taro-8e385785.js → elevator.taro-443253ec.js} +99 -124
  47. package/dist/esm/empty.taro-ab9c4f03.js +11 -24
  48. package/dist/esm/fixednav.taro-582322a1.js +16 -27
  49. package/dist/esm/grid.taro-5d75c0ad.js +13 -28
  50. package/dist/esm/griditem.taro-866cd288.js +18 -34
  51. package/dist/esm/icon-8dc4de10.js +11 -21
  52. package/dist/esm/icon.taro-1d0d4fb7.js +11 -21
  53. package/dist/esm/imagepreview.taro-1199e977.js +36 -71
  54. package/dist/esm/indicator.taro-183ea169.js +9 -20
  55. package/dist/esm/infiniteloading.taro-b95e62bf.js +23 -49
  56. package/dist/esm/input.taro-2453d7c4.js +62 -106
  57. package/dist/esm/inputnumber.taro-0cf7c1b7.js +25 -52
  58. package/dist/esm/layout.taro-358f014f.js +0 -6
  59. package/dist/esm/{menu.taro-9345dcfd.js → menu.taro-f8ca86db.js} +24 -42
  60. package/dist/esm/{menuitem.taro-fc0961b7.js → menuitem.taro-7bf564c9.js} +32 -57
  61. package/dist/esm/navbar.taro-c931c078.js +18 -34
  62. package/dist/esm/{noticebar.taro-1fa04a96.js → noticebar.taro-332691f9.js} +55 -107
  63. package/dist/esm/notify.taro-d9c48fae.js +18 -34
  64. package/dist/esm/numberkeyboard.taro-53c350b8.js +21 -52
  65. package/dist/esm/nutui-react.es.js +18 -18
  66. package/dist/esm/offsetContext-0e3d04b3.js +0 -3
  67. package/dist/esm/overlay.taro-be45fed5.js +12 -23
  68. package/dist/esm/pagination.taro-62bbd23f.js +38 -71
  69. package/dist/esm/{picker.taro-6a4dad23.js → picker.taro-f003b725.js} +95 -186
  70. package/dist/esm/{popover.taro-eddd0bd2.js → popover.taro-7e5dff8c.js} +33 -76
  71. package/dist/esm/popup.taro-33d0bbc8.js +40 -72
  72. package/dist/esm/price.taro-97393d8f.js +7 -24
  73. package/dist/esm/progress.taro-623bc807.js +23 -31
  74. package/dist/esm/pulltorefresh.taro-e66c78ad.js +29 -92
  75. package/dist/esm/radio.taro-95d43860.js +24 -47
  76. package/dist/esm/radiogroup.taro-b5dad516.js +14 -24
  77. package/dist/esm/{range.taro-515d37a4.js → range.taro-fc7c0b6a.js} +50 -133
  78. package/dist/esm/rate.taro-69c85081.js +21 -39
  79. package/dist/esm/row.taro-cec13a7e.js +7 -16
  80. package/dist/esm/{searchbar.taro-f134fb96.js → searchbar.taro-0d3c0081.js} +55 -70
  81. package/dist/esm/shortpassword.taro-2e96ca22.js +29 -56
  82. package/dist/esm/sidenavbar.taro-87f056cd.js +9 -16
  83. package/dist/esm/sidenavbaritem.taro-77e077f4.js +4 -11
  84. package/dist/esm/signature.taro-59b3b3ab.js +146 -0
  85. package/dist/esm/skeleton.taro-b9ff84b9.js +13 -23
  86. package/dist/esm/step.taro-f1057500.js +12 -28
  87. package/dist/esm/steps.taro-943f4fbb.js +6 -14
  88. package/dist/esm/sticky.taro-30d4e453.js +0 -7
  89. package/dist/esm/subsidenavbar.taro-2c1fcf16.js +7 -22
  90. package/dist/esm/{swipe.taro-dfb9a049.js → swipe.taro-83bc248f.js} +98 -91
  91. package/dist/esm/swiper.taro-f314d67a.js +110 -196
  92. package/dist/esm/swiperitem-d00e7513.js +2 -12
  93. package/dist/esm/switch.taro-be5eb823.js +13 -27
  94. package/dist/esm/tabbar.taro-da72fa2c.js +13 -25
  95. package/dist/esm/tabbaritem.taro-94cd62c2.js +15 -23
  96. package/dist/esm/table.taro-7ac89a6c.js +19 -39
  97. package/dist/esm/tabpane.taro-95aa185b.js +4 -10
  98. package/dist/esm/tabs.taro-86186dff.js +28 -54
  99. package/dist/esm/tag.taro-95d7f5c2.js +19 -36
  100. package/dist/esm/textarea.taro-388d1f90.js +18 -35
  101. package/dist/esm/timedetail.taro-519808cf.js +15 -28
  102. package/dist/esm/timepannel.taro-9904f6e6.js +5 -12
  103. package/dist/esm/timeselect.taro-73796bfc.js +35 -59
  104. package/dist/esm/toast.taro-86862dff.js +26 -46
  105. package/dist/esm/types/src/packages/elevator/demo.d.ts +1 -0
  106. package/dist/esm/types/src/packages/searchbar/searchbar.d.ts +2 -0
  107. package/dist/esm/types/src/packages/searchbar/searchbar.taro.d.ts +2 -0
  108. package/dist/esm/types/src/packages/signature/signature.taro.d.ts +10 -2
  109. package/dist/esm/uploader.taro-6184abe7.js +52 -144
  110. package/dist/esm/{useClientRect-8b7cc406.js → useClientRect-bf69d7b3.js} +1 -40
  111. package/dist/esm/useTouch-a2ea68c6.js +27 -47
  112. package/dist/esm/video-c1090c92.js +8 -19
  113. package/dist/esm/virtuallist.taro-6858f690.js +84 -118
  114. package/dist/locales/base.js +1 -1
  115. package/dist/locales/en-US.js +1 -1
  116. package/dist/locales/id-ID.js +1 -1
  117. package/dist/locales/zh-CN.js +1 -1
  118. package/dist/locales/zh-TW.js +1 -1
  119. package/dist/nutui.react.es.js +10848 -11365
  120. package/dist/nutui.react.umd.js +10840 -11357
  121. package/dist/packages/menu/menu.scss +4 -0
  122. package/dist/packages/menuitem/menuitem.scss +27 -2
  123. package/dist/packages/searchbar/searchbar.scss +20 -3
  124. package/dist/style.css +1 -1
  125. package/dist/style.es.js +1 -1
  126. package/dist/types/index.d.ts +17 -8
  127. package/package.json +1 -1
  128. package/dist/esm/drag.taro-56e8c87a.js +0 -134
  129. package/dist/esm/signature.taro-a9286cd1.js +0 -178
@@ -2,17 +2,13 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  var _excluded = ["children", "disabled", "buttonSize", "min", "max", "inputWidth", "readonly", "modelValue", "decimalPlaces", "step", "isAsync", "className", "style", "add", "reduce", "change", "overlimit", "blur", "focus", "iconClassPrefix", "iconFontClassName"];
5
-
6
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
-
8
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
-
10
7
  import React__default, { useState, useEffect } from 'react';
11
8
  import classNames from 'classnames';
12
9
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
13
10
  import { c as cn } from './bem-893ad28d.js';
14
11
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
15
-
16
12
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
17
13
  disabled: false,
18
14
  buttonSize: '',
@@ -25,76 +21,65 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
25
21
  decimalPlaces: 0,
26
22
  isAsync: false
27
23
  });
28
-
29
24
  function pxCheck(value) {
30
25
  return Number.isNaN(Number(value)) ? String(value) : "".concat(value, "px");
31
26
  }
32
-
33
27
  var InputNumber = function InputNumber(props) {
34
28
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
35
- children = _defaultProps$props.children,
36
- disabled = _defaultProps$props.disabled,
37
- buttonSize = _defaultProps$props.buttonSize,
38
- min = _defaultProps$props.min,
39
- max = _defaultProps$props.max,
40
- inputWidth = _defaultProps$props.inputWidth,
41
- readonly = _defaultProps$props.readonly,
42
- modelValue = _defaultProps$props.modelValue,
43
- decimalPlaces = _defaultProps$props.decimalPlaces,
44
- step = _defaultProps$props.step,
45
- isAsync = _defaultProps$props.isAsync,
46
- className = _defaultProps$props.className,
47
- style = _defaultProps$props.style,
48
- add = _defaultProps$props.add,
49
- reduce = _defaultProps$props.reduce,
50
- change = _defaultProps$props.change,
51
- overlimit = _defaultProps$props.overlimit,
52
- blur = _defaultProps$props.blur,
53
- focus = _defaultProps$props.focus,
54
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
55
- iconFontClassName = _defaultProps$props.iconFontClassName,
56
- restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
57
-
29
+ children = _defaultProps$props.children,
30
+ disabled = _defaultProps$props.disabled,
31
+ buttonSize = _defaultProps$props.buttonSize,
32
+ min = _defaultProps$props.min,
33
+ max = _defaultProps$props.max,
34
+ inputWidth = _defaultProps$props.inputWidth,
35
+ readonly = _defaultProps$props.readonly,
36
+ modelValue = _defaultProps$props.modelValue,
37
+ decimalPlaces = _defaultProps$props.decimalPlaces,
38
+ step = _defaultProps$props.step,
39
+ isAsync = _defaultProps$props.isAsync,
40
+ className = _defaultProps$props.className,
41
+ style = _defaultProps$props.style,
42
+ add = _defaultProps$props.add,
43
+ reduce = _defaultProps$props.reduce,
44
+ change = _defaultProps$props.change,
45
+ overlimit = _defaultProps$props.overlimit,
46
+ blur = _defaultProps$props.blur,
47
+ focus = _defaultProps$props.focus,
48
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
49
+ iconFontClassName = _defaultProps$props.iconFontClassName,
50
+ restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
58
51
  var _useState = useState(modelValue),
59
- _useState2 = _slicedToArray(_useState, 2),
60
- inputValue = _useState2[0],
61
- setInputValue = _useState2[1];
62
-
52
+ _useState2 = _slicedToArray(_useState, 2),
53
+ inputValue = _useState2[0],
54
+ setInputValue = _useState2[1];
63
55
  useEffect(function () {
64
56
  setInputValue(modelValue);
65
57
  }, [modelValue]);
66
58
  var b = cn('inputnumber');
67
59
  var classes = classNames(_defineProperty({}, "".concat(b(''), "--disabled"), disabled), className, b(''));
68
-
69
60
  var styles = _objectSpread({
70
61
  height: pxCheck(buttonSize)
71
62
  }, style);
72
-
73
63
  var addAllow = function addAllow() {
74
64
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number(inputValue);
75
65
  return value < Number(max) && !disabled;
76
66
  };
77
-
78
67
  var reduceAllow = function reduceAllow() {
79
68
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number(inputValue);
80
69
  return value > Number(min) && !disabled;
81
70
  };
82
-
83
71
  var iconMinusClasses = classNames('nut-inputnumber__icon', {
84
72
  'nut-inputnumber__icon--disabled': !reduceAllow()
85
73
  });
86
74
  var iconAddClasses = classNames('nut-inputnumber__icon', {
87
75
  'nut-inputnumber__icon--disabled': !addAllow()
88
76
  });
89
-
90
77
  var fixedDecimalPlaces = function fixedDecimalPlaces(v) {
91
78
  return Number(v).toFixed(Number(decimalPlaces));
92
79
  };
93
-
94
80
  var emitChange = function emitChange(value, e) {
95
81
  var outputValue = fixedDecimalPlaces(value);
96
82
  change && change(outputValue, e);
97
-
98
83
  if (!isAsync) {
99
84
  if (Number(outputValue) < Number(min)) {
100
85
  setInputValue(Number(min));
@@ -105,10 +90,8 @@ var InputNumber = function InputNumber(props) {
105
90
  }
106
91
  }
107
92
  };
108
-
109
93
  var reduceNumber = function reduceNumber(e) {
110
94
  reduce && reduce(e);
111
-
112
95
  if (reduceAllow()) {
113
96
  var outputValue = Number(inputValue) - Number(step);
114
97
  emitChange(outputValue, e);
@@ -116,10 +99,8 @@ var InputNumber = function InputNumber(props) {
116
99
  overlimit && overlimit(e);
117
100
  }
118
101
  };
119
-
120
102
  var addNumber = function addNumber(e) {
121
103
  add && add(e);
122
-
123
104
  if (addAllow()) {
124
105
  var outputValue = Number(inputValue) + Number(step);
125
106
  emitChange(outputValue, e);
@@ -127,11 +108,9 @@ var InputNumber = function InputNumber(props) {
127
108
  overlimit && overlimit(e);
128
109
  }
129
110
  };
130
-
131
111
  var changeValue = function changeValue(e) {
132
112
  var value = Number(e.detail.value);
133
113
  change && change(value, e);
134
-
135
114
  if (!isAsync) {
136
115
  if (Number.isNaN(value)) {
137
116
  setInputValue(inputValue);
@@ -140,28 +119,23 @@ var InputNumber = function InputNumber(props) {
140
119
  }
141
120
  }
142
121
  };
143
-
144
122
  var focusValue = function focusValue(e) {
145
123
  if (disabled) return;
146
124
  if (readonly) return;
147
125
  focus && focus(e);
148
126
  };
149
-
150
127
  var burValue = function burValue(e) {
151
128
  if (disabled) return;
152
129
  if (readonly) return;
153
130
  var value = Number(e.detail.value);
154
-
155
131
  if (value < Number(min)) {
156
132
  value = Number(min);
157
133
  } else if (value > Number(max)) {
158
134
  value = Number(max);
159
135
  }
160
-
161
136
  emitChange(value, e);
162
137
  blur && blur(e);
163
138
  };
164
-
165
139
  return React__default.createElement("div", _objectSpread({
166
140
  className: classes,
167
141
  style: styles
@@ -194,7 +168,6 @@ var InputNumber = function InputNumber(props) {
194
168
  onClick: addNumber
195
169
  }));
196
170
  };
197
-
198
171
  InputNumber.defaultProps = defaultProps;
199
172
  InputNumber.displayName = 'NutInputNumber';
200
173
  export { InputNumber as I };
@@ -1,20 +1,14 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import React__default from 'react';
8
5
  var defaultProps = {};
9
-
10
6
  var Layout = function Layout(props) {
11
7
  _objectSpread(_objectSpread({}, defaultProps), props);
12
-
13
8
  return React__default.createElement("div", {
14
9
  className: "nut-layout"
15
10
  }, "Layout");
16
11
  };
17
-
18
12
  Layout.defaultProps = defaultProps;
19
13
  Layout.displayName = 'NutLayout';
20
14
  export { Layout as L };
@@ -3,16 +3,12 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
  var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor", "iconClassPrefix", "iconFontClassName"];
6
-
7
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
-
9
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
-
11
8
  import React__default, { useRef, useEffect, useState } from 'react';
12
9
  import classNames from 'classnames';
13
10
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
14
11
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
15
-
16
12
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
17
13
  className: '',
18
14
  style: {},
@@ -22,44 +18,36 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
22
18
  lockScroll: true,
23
19
  titleIcon: ''
24
20
  });
25
-
26
21
  var Menu = function Menu(props) {
27
22
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
28
- className = _defaultProps$props.className,
29
- titleIcon = _defaultProps$props.titleIcon,
30
- scrollFixed = _defaultProps$props.scrollFixed,
31
- lockScroll = _defaultProps$props.lockScroll,
32
- closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
33
- children = _defaultProps$props.children,
34
- activeColor = _defaultProps$props.activeColor,
35
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
36
- iconFontClassName = _defaultProps$props.iconFontClassName,
37
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
38
-
23
+ className = _defaultProps$props.className,
24
+ titleIcon = _defaultProps$props.titleIcon,
25
+ scrollFixed = _defaultProps$props.scrollFixed,
26
+ lockScroll = _defaultProps$props.lockScroll,
27
+ closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
28
+ children = _defaultProps$props.children,
29
+ activeColor = _defaultProps$props.activeColor,
30
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
31
+ iconFontClassName = _defaultProps$props.iconFontClassName,
32
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
39
33
  var parentRef = useRef(null);
40
-
41
34
  var onScroll = function onScroll() {};
42
-
43
35
  useEffect(function () {
44
36
  if (scrollFixed) {
45
37
  window.addEventListener('scroll', onScroll);
46
38
  }
47
-
48
39
  return function () {
49
40
  return window.removeEventListener('scroll', onScroll);
50
41
  };
51
42
  }, []);
52
-
53
43
  var _useState = useState([]),
54
- _useState2 = _slicedToArray(_useState, 2),
55
- itemShow = _useState2[0],
56
- setItemShow = _useState2[1];
57
-
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ itemShow = _useState2[0],
46
+ setItemShow = _useState2[1];
58
47
  var _useState3 = useState([]),
59
- _useState4 = _slicedToArray(_useState3, 2),
60
- itemTitle = _useState4[0],
61
- setItemTitle = _useState4[1];
62
-
48
+ _useState4 = _slicedToArray(_useState3, 2),
49
+ itemTitle = _useState4[0],
50
+ setItemTitle = _useState4[1];
63
51
  var toggleItemShow = function toggleItemShow(index) {
64
52
  itemShow[index] = !itemShow[index];
65
53
  var temp = itemShow.map(function (i, idx) {
@@ -67,21 +55,17 @@ var Menu = function Menu(props) {
67
55
  });
68
56
  setItemShow(_toConsumableArray(temp));
69
57
  };
70
-
71
58
  var hideItemShow = function hideItemShow(index) {
72
59
  itemShow[index] = false;
73
60
  setItemShow(_toConsumableArray(itemShow));
74
61
  };
75
-
76
62
  var updateTitle = function updateTitle(text, index) {
77
63
  itemTitle[index] = text;
78
64
  setItemTitle(_toConsumableArray(itemTitle));
79
65
  };
80
-
81
66
  var parent = function parent() {
82
67
  return parentRef;
83
68
  };
84
-
85
69
  var cloneChildren = function cloneChildren() {
86
70
  return React__default.Children.map(children, function (child, index) {
87
71
  return React__default.cloneElement(child, {
@@ -99,32 +83,31 @@ var Menu = function Menu(props) {
99
83
  });
100
84
  });
101
85
  };
102
-
103
86
  return React__default.createElement("div", _objectSpread(_objectSpread({
104
87
  className: "nut-menu ".concat(className)
105
88
  }, rest), {}, {
106
89
  ref: parentRef
107
90
  }), React__default.createElement("div", {
91
+ className: "nut-menu-relative"
92
+ }, React__default.createElement("div", {
108
93
  className: "nut-menu__bar ".concat(itemShow.includes(true) ? 'opened' : '', " ").concat(className)
109
94
  }, React__default.Children.toArray(children).map(function (child, index) {
110
95
  if (!child) return null;
111
96
  var _child$props = child.props,
112
- disabled = _child$props.disabled,
113
- title = _child$props.title,
114
- value = _child$props.value,
115
- direction = _child$props.direction,
116
- options = _child$props.options;
97
+ disabled = _child$props.disabled,
98
+ title = _child$props.title,
99
+ value = _child$props.value,
100
+ direction = _child$props.direction,
101
+ options = _child$props.options;
117
102
  var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
118
103
  return option.value === value;
119
104
  });
120
-
121
105
  function finallyTitle() {
122
106
  if (title) return title;
123
107
  if (itemTitle && itemTitle[index]) return itemTitle[index];
124
108
  if (currentTitle && currentTitle[0] && currentTitle[0].text) return currentTitle[0].text;
125
109
  return '';
126
110
  }
127
-
128
111
  return React__default.createElement("div", {
129
112
  className: "nut-menu__item ".concat(classNames({
130
113
  active: itemShow[index],
@@ -151,9 +134,8 @@ var Menu = function Menu(props) {
151
134
  size: "10",
152
135
  name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
153
136
  })));
154
- })), cloneChildren());
137
+ })), cloneChildren()));
155
138
  };
156
-
157
139
  Menu.defaultProps = defaultProps;
158
140
  Menu.displayName = 'NutMenu';
159
141
  export { Menu as M };
@@ -2,11 +2,8 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _regeneratorRuntime from "@babel/runtime/regenerator";
5
-
6
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
-
8
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
-
10
7
  import React__default, { useState, useEffect } from 'react';
11
8
  import classNames from 'classnames';
12
9
  import { CSSTransition } from 'react-transition-group';
@@ -14,7 +11,6 @@ import { u as useConfig } from './configprovider.taro-6c7b3056.js';
14
11
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
15
12
  import { O as Overlay } from './overlay.taro-be45fed5.js';
16
13
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
17
-
18
14
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
19
15
  className: '',
20
16
  style: {},
@@ -29,77 +25,64 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
29
25
  return undefined;
30
26
  }
31
27
  });
32
-
33
28
  var MenuItem = function MenuItem(props) {
34
29
  useConfig();
35
-
36
30
  var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
37
-
38
31
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
39
- className = _defaultProps$props.className,
40
- style = _defaultProps$props.style,
41
- options = _defaultProps$props.options,
42
- value = _defaultProps$props.value,
43
- columns = _defaultProps$props.columns,
44
- title = _defaultProps$props.title,
45
- optionsIcon = _defaultProps$props.optionsIcon,
46
- direction = _defaultProps$props.direction,
47
- onChange = _defaultProps$props.onChange,
48
- activeTitleClass = _defaultProps$props.activeTitleClass,
49
- inactiveTitleClass = _defaultProps$props.inactiveTitleClass,
50
- children = _defaultProps$props.children,
51
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
52
- iconFontClassName = _defaultProps$props.iconFontClassName;
53
-
32
+ className = _defaultProps$props.className,
33
+ style = _defaultProps$props.style,
34
+ options = _defaultProps$props.options,
35
+ value = _defaultProps$props.value,
36
+ columns = _defaultProps$props.columns,
37
+ title = _defaultProps$props.title,
38
+ optionsIcon = _defaultProps$props.optionsIcon,
39
+ direction = _defaultProps$props.direction,
40
+ onChange = _defaultProps$props.onChange,
41
+ activeTitleClass = _defaultProps$props.activeTitleClass,
42
+ inactiveTitleClass = _defaultProps$props.inactiveTitleClass,
43
+ children = _defaultProps$props.children,
44
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
45
+ iconFontClassName = _defaultProps$props.iconFontClassName;
54
46
  var activeColor = mergedProps.activeColor,
55
- showPopup = mergedProps.showPopup,
56
- parent = mergedProps.parent,
57
- orderKey = mergedProps.orderKey;
58
-
47
+ showPopup = mergedProps.showPopup,
48
+ parent = mergedProps.parent,
49
+ orderKey = mergedProps.orderKey;
59
50
  var _useState = useState(showPopup),
60
- _useState2 = _slicedToArray(_useState, 2),
61
- _showPopup = _useState2[0],
62
- setShowPopup = _useState2[1];
63
-
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ _showPopup = _useState2[0],
53
+ setShowPopup = _useState2[1];
64
54
  var _useState3 = useState(value),
65
- _useState4 = _slicedToArray(_useState3, 2),
66
- _value = _useState4[0],
67
- setValue = _useState4[1];
68
-
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ _value = _useState4[0],
57
+ setValue = _useState4[1];
69
58
  useEffect(function () {
70
59
  setShowPopup(showPopup);
71
60
  }, [showPopup]);
72
61
  useEffect(function () {
73
62
  getParentOffset();
74
63
  }, [_showPopup]);
75
-
76
64
  var getIconCName = function getIconCName(optionVal, value) {
77
65
  var _classNames;
78
-
79
66
  return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal === value), _defineProperty(_classNames, inactiveTitleClass, optionVal !== value), _classNames));
80
67
  };
81
-
82
68
  var setTitle = function setTitle(text) {
83
69
  if (!title) {
84
70
  parent.updateTitle(text, orderKey);
85
71
  }
86
72
  };
87
-
88
73
  var handleClick = function handleClick(item) {
89
74
  parent.toggleItemShow(orderKey);
90
75
  setTitle(item.text);
91
76
  setValue(item.value);
92
77
  onChange && onChange(item);
93
78
  };
94
-
95
79
  var _useState5 = useState({
96
- top: 0,
97
- height: 0
98
- }),
99
- _useState6 = _slicedToArray(_useState5, 2),
100
- position = _useState6[0],
101
- setPosition = _useState6[1];
102
-
80
+ top: 0,
81
+ height: 0
82
+ }),
83
+ _useState6 = _slicedToArray(_useState5, 2),
84
+ position = _useState6[0],
85
+ setPosition = _useState6[1];
103
86
  var getParentOffset = function getParentOffset() {
104
87
  setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
105
88
  var p, rect;
@@ -110,14 +93,12 @@ var MenuItem = function MenuItem(props) {
110
93
  p = parent.parent().current;
111
94
  _context.next = 3;
112
95
  return p.getBoundingClientRect();
113
-
114
96
  case 3:
115
97
  rect = _context.sent;
116
98
  setPosition({
117
99
  height: rect.height,
118
100
  top: rect.top
119
101
  });
120
-
121
102
  case 5:
122
103
  case "end":
123
104
  return _context.stop();
@@ -126,14 +107,12 @@ var MenuItem = function MenuItem(props) {
126
107
  }, _callee);
127
108
  })));
128
109
  };
129
-
130
110
  var isShow = function isShow() {
131
111
  if (_showPopup) return {};
132
112
  return {
133
113
  display: 'none'
134
114
  };
135
115
  };
136
-
137
116
  var getPosition = function getPosition() {
138
117
  return direction === 'down' ? {
139
118
  top: "".concat(position.top + position.height, "px")
@@ -142,20 +121,17 @@ var MenuItem = function MenuItem(props) {
142
121
  top: 'auto'
143
122
  };
144
123
  };
145
-
146
124
  var placeholderStyle = function placeholderStyle() {
147
125
  if (direction === 'down') {
148
126
  return _objectSpread(_objectSpread({
149
127
  height: "".concat(position.top + position.height, "px")
150
128
  }, isShow()), style);
151
129
  }
152
-
153
130
  return _objectSpread(_objectSpread({
154
131
  height: "".concat(window.innerHeight - position.top, "px"),
155
132
  top: 'auto'
156
133
  }, isShow()), style);
157
134
  };
158
-
159
135
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
160
136
  className: "placeholder-element ".concat(classNames({
161
137
  up: direction === 'up'
@@ -174,12 +150,12 @@ var MenuItem = function MenuItem(props) {
174
150
  parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
175
151
  }
176
152
  }), React__default.createElement("div", {
177
- className: "nut-menu-item__wrap",
178
- style: _objectSpread(_objectSpread({}, getPosition()), isShow())
153
+ className: direction === 'down' ? 'nut-menu-item__wrap' : 'nut-menu-item__wrap-up',
154
+ style: _objectSpread({}, isShow())
179
155
  }, React__default.createElement(CSSTransition, {
180
156
  "in": _showPopup,
181
157
  timeout: 100,
182
- classNames: "menu-item"
158
+ classNames: direction === 'down' ? 'menu-item' : 'menu-item-up'
183
159
  }, React__default.createElement("div", {
184
160
  className: "nut-menu-item__content"
185
161
  }, options === null || options === void 0 ? void 0 : options.map(function (item, index) {
@@ -208,7 +184,6 @@ var MenuItem = function MenuItem(props) {
208
184
  }, item.text));
209
185
  }), children))));
210
186
  };
211
-
212
187
  MenuItem.defaultProps = defaultProps;
213
188
  MenuItem.displayName = 'NutMenuItem';
214
189
  export { MenuItem as M };