@nutui/nutui-react 1.3.0 → 1.3.1-beta.2

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 (158) hide show
  1. package/dist/esm/Audio/style/index.js +4 -0
  2. package/dist/esm/Audio.js +293 -0
  3. package/dist/esm/Calendar/style/index.js +1 -2
  4. package/dist/esm/Calendar.js +80 -33
  5. package/dist/esm/CalendarItem.js +429 -231
  6. package/dist/esm/Cascader/style/index.js +2 -0
  7. package/dist/esm/Cascader.js +788 -0
  8. package/dist/esm/ConfigProvider.js +16 -0
  9. package/dist/esm/DatePicker.js +37 -6
  10. package/dist/esm/Dialog.js +9 -16
  11. package/dist/esm/Elevator.js +16 -5
  12. package/dist/esm/Grid/style/index.js +2 -0
  13. package/dist/esm/Grid.js +91 -0
  14. package/dist/esm/GridItem/style/index.js +2 -0
  15. package/dist/esm/GridItem.js +99 -0
  16. package/dist/esm/ImagePreview/style/index.js +2 -0
  17. package/dist/esm/ImagePreview.js +257 -0
  18. package/dist/esm/Menu/style/index.js +3 -0
  19. package/dist/esm/Menu.js +153 -0
  20. package/dist/esm/MenuItem/style/index.js +3 -0
  21. package/dist/esm/MenuItem.js +197 -0
  22. package/dist/esm/NoticeBar.js +3 -2
  23. package/dist/esm/Notify.js +2 -1
  24. package/dist/esm/Popover.js +4 -11
  25. package/dist/esm/Range.js +2 -45
  26. package/dist/esm/Swipe/style/index.js +2 -0
  27. package/dist/esm/Swipe.js +265 -0
  28. package/dist/esm/Swiper.js +2 -1
  29. package/dist/esm/TabPane.js +5 -33
  30. package/dist/esm/Tabs.js +6 -196
  31. package/dist/esm/TextArea.js +45 -4
  32. package/dist/esm/Toast.js +2 -1
  33. package/dist/esm/nutui-react.es.js +8 -0
  34. package/dist/esm/render-4a3856cb.js +32 -0
  35. package/dist/esm/tabpane-c957ab14.js +33 -0
  36. package/dist/esm/tabs-a48583e9.js +196 -0
  37. package/dist/esm/useClientRect-839d18c5.js +44 -0
  38. package/dist/locales/base.d.ts +16 -0
  39. package/dist/locales/base.js +1 -1
  40. package/dist/locales/en-US.js +17 -1
  41. package/dist/locales/id-ID.js +17 -1
  42. package/dist/locales/zh-CN.js +17 -1
  43. package/dist/locales/zh-TW.js +17 -1
  44. package/dist/nutui.react.es.js +2338 -530
  45. package/dist/nutui.react.umd.js +2345 -529
  46. package/dist/packages/audio/audio.scss +80 -0
  47. package/dist/packages/calendar/calendar.scss +57 -36
  48. package/dist/packages/calendaritem/calendaritem.scss +0 -191
  49. package/dist/packages/cascader/cascader.scss +69 -0
  50. package/dist/packages/grid/grid.scss +10 -0
  51. package/dist/packages/griditem/griditem.scss +103 -0
  52. package/dist/packages/imagepreview/imagepreview.scss +51 -0
  53. package/dist/packages/menu/menu.scss +72 -0
  54. package/dist/packages/menuitem/menuitem.scss +90 -0
  55. package/dist/packages/popup/popup.scss +1 -1
  56. package/dist/packages/searchbar/searchbar.scss +1 -0
  57. package/dist/packages/shortpassword/shortpassword.scss +6 -1
  58. package/dist/packages/swipe/swipe.scss +33 -0
  59. package/dist/packages/textarea/textarea.scss +16 -1
  60. package/dist/style.css +1 -1
  61. package/dist/style.es.js +1 -1
  62. package/dist/styles/font/iconfont.js +20 -18
  63. package/dist/styles/themes/default.scss +8 -0
  64. package/dist/styles/variables.scss +59 -8
  65. package/dist/types/audio/__test__/audio.spec.d.ts +1 -0
  66. package/dist/types/audio/audio.d.ts +18 -0
  67. package/dist/types/audio/audio.taro.d.ts +18 -0
  68. package/dist/types/audio/demo.d.ts +4 -0
  69. package/dist/types/audio/index.d.ts +2 -0
  70. package/dist/types/audio/index.taro.d.ts +2 -0
  71. package/dist/types/backtop/__test__/backtop.spec.d.ts +1 -0
  72. package/dist/types/calendar/__tests__/calendar.spec.d.ts +1 -0
  73. package/dist/types/calendar/calendar.d.ts +22 -2
  74. package/dist/types/calendar/demo.d.ts +1 -0
  75. package/dist/types/calendaritem/calendaritem.d.ts +21 -3
  76. package/dist/types/cascader/__tests__/cascader.spec.d.ts +1 -0
  77. package/dist/types/cascader/cascader.d.ts +25 -0
  78. package/dist/types/cascader/cascader.taro.d.ts +25 -0
  79. package/dist/types/cascader/cascaderItem.d.ts +25 -0
  80. package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
  81. package/dist/types/cascader/demo.d.ts +3 -0
  82. package/dist/types/cascader/helper.d.ts +4 -0
  83. package/dist/types/cascader/index.d.ts +2 -0
  84. package/dist/types/cascader/index.taro.d.ts +2 -0
  85. package/dist/types/cascader/tree.d.ts +12 -0
  86. package/dist/types/cascader/types.d.ts +28 -0
  87. package/dist/types/checkbox/checkbox.d.ts +2 -2
  88. package/dist/types/checkbox/checkbox.taro.d.ts +2 -2
  89. package/dist/types/checkboxgroup/checkboxgroup.d.ts +2 -2
  90. package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
  91. package/dist/types/dialog/__test__/dialog.spec.d.ts +1 -0
  92. package/dist/types/dialog/config.d.ts +3 -3
  93. package/dist/types/dialog/dialog.d.ts +2 -1
  94. package/dist/types/dialog/dialog.taro.d.ts +2 -1
  95. package/dist/types/fixednav/fixednav.d.ts +2 -2
  96. package/dist/types/grid/__test__/grid.spec.d.ts +1 -0
  97. package/dist/types/grid/demo.d.ts +3 -0
  98. package/dist/types/grid/grid.d.ts +16 -0
  99. package/dist/types/grid/grid.taro.d.ts +16 -0
  100. package/dist/types/grid/index.d.ts +2 -0
  101. package/dist/types/grid/index.taro.d.ts +2 -0
  102. package/dist/types/griditem/griditem.d.ts +20 -0
  103. package/dist/types/griditem/griditem.taro.d.ts +20 -0
  104. package/dist/types/griditem/index.d.ts +2 -0
  105. package/dist/types/griditem/index.taro.d.ts +2 -0
  106. package/dist/types/icon/icon.d.ts +1 -2
  107. package/dist/types/icon/icon.taro.d.ts +1 -2
  108. package/dist/types/imagepreview/__test__/imagepreview.spec.d.ts +1 -0
  109. package/dist/types/imagepreview/demo.d.ts +3 -0
  110. package/dist/types/imagepreview/imagepreview.d.ts +26 -0
  111. package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
  112. package/dist/types/imagepreview/index.d.ts +2 -0
  113. package/dist/types/imagepreview/index.taro.d.ts +2 -0
  114. package/dist/types/input/__test__/input.spec.d.ts +1 -0
  115. package/dist/types/menu/__test__/menu.spec.d.ts +1 -0
  116. package/dist/types/menu/demo.d.ts +4 -0
  117. package/dist/types/menu/index.d.ts +2 -0
  118. package/dist/types/menu/index.taro.d.ts +2 -0
  119. package/dist/types/menu/menu.d.ts +12 -0
  120. package/dist/types/menu/menu.taro.d.ts +12 -0
  121. package/dist/types/menuitem/index.d.ts +2 -0
  122. package/dist/types/menuitem/index.taro.d.ts +2 -0
  123. package/dist/types/menuitem/menuitem.d.ts +23 -0
  124. package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
  125. package/dist/types/notify/__test__/notify.spec.d.ts +1 -0
  126. package/dist/types/notify/notify.d.ts +13 -0
  127. package/dist/types/notify/notify.taro.d.ts +13 -0
  128. package/dist/types/nutui.react.d.ts +95 -1
  129. package/dist/types/picker/doc.en.d.ts +142 -0
  130. package/dist/types/picker/picker.d.ts +2 -2
  131. package/dist/types/picker/picker.taro.d.ts +2 -2
  132. package/dist/types/popup/popup.d.ts +1 -1
  133. package/dist/types/popup/popup.taro.d.ts +1 -1
  134. package/dist/types/shortpassword/shortpassword.taro.d.ts +3 -3
  135. package/dist/types/sidenavbar/sidenavbar.d.ts +14 -2
  136. package/dist/types/sidenavbar/sidenavbar.taro.d.ts +14 -2
  137. package/dist/types/sidenavbaritem/sidenavbaritem.d.ts +10 -2
  138. package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +10 -2
  139. package/dist/types/subsidenavbar/subsidenavbar.d.ts +13 -3
  140. package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -3
  141. package/dist/types/swipe/__tests__/swipe.spec.d.ts +1 -0
  142. package/dist/types/swipe/demo.d.ts +3 -0
  143. package/dist/types/swipe/index.d.ts +2 -0
  144. package/dist/types/swipe/index.taro.d.ts +2 -0
  145. package/dist/types/swipe/swipe.d.ts +41 -0
  146. package/dist/types/swipe/swipe.taro.d.ts +41 -0
  147. package/dist/types/swiper/swiper.d.ts +1 -2
  148. package/dist/types/swiperitem/swiperitem.d.ts +1 -2
  149. package/dist/types/table/table.d.ts +2 -1
  150. package/dist/types/table/table.taro.d.ts +2 -1
  151. package/dist/types/table/types.d.ts +1 -1
  152. package/dist/types/textarea/__test__/textarea.spec.d.ts +1 -0
  153. package/dist/types/toast/toast.d.ts +21 -0
  154. package/dist/types/toast/toast.taro.d.ts +18 -0
  155. package/dist/types/virtuallist/type.d.ts +1 -1
  156. package/dist/types/virtuallist/virtuallist.d.ts +2 -1
  157. package/dist/types/virtuallist/virtuallist.taro.d.ts +2 -1
  158. package/package.json +4 -4
@@ -0,0 +1,153 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"];
6
+
7
+ 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
+ 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
+ import React__default, { useRef, useEffect, useState } from 'react';
12
+ import classNames from 'classnames';
13
+ import Icon from './Icon.js';
14
+ var defaultProps = {
15
+ className: '',
16
+ style: {},
17
+ activeColor: '#F2270C',
18
+ closeOnClickOverlay: true,
19
+ scrollFixed: false,
20
+ lockScroll: true,
21
+ titleIcon: ''
22
+ };
23
+
24
+ var Menu = function Menu(props) {
25
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
26
+ className = _defaultProps$props.className,
27
+ titleIcon = _defaultProps$props.titleIcon,
28
+ scrollFixed = _defaultProps$props.scrollFixed,
29
+ lockScroll = _defaultProps$props.lockScroll,
30
+ closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
31
+ children = _defaultProps$props.children,
32
+ activeColor = _defaultProps$props.activeColor,
33
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
34
+
35
+ var parentRef = useRef(null);
36
+
37
+ var onScroll = function onScroll() {};
38
+
39
+ useEffect(function () {
40
+ if (scrollFixed) {
41
+ window.addEventListener('scroll', onScroll);
42
+ }
43
+
44
+ return function () {
45
+ return window.removeEventListener('scroll', onScroll);
46
+ };
47
+ }, []);
48
+
49
+ var _useState = useState([]),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ itemShow = _useState2[0],
52
+ setItemShow = _useState2[1];
53
+
54
+ var _useState3 = useState([]),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ itemTitle = _useState4[0],
57
+ setItemTitle = _useState4[1];
58
+
59
+ var toggleItemShow = function toggleItemShow(index) {
60
+ itemShow[index] = !itemShow[index];
61
+ var temp = itemShow.map(function (i, idx) {
62
+ return idx === index ? i : false;
63
+ });
64
+ setItemShow(_toConsumableArray(temp));
65
+ };
66
+
67
+ var hideItemShow = function hideItemShow(index) {
68
+ itemShow[index] = false;
69
+ setItemShow(_toConsumableArray(itemShow));
70
+ };
71
+
72
+ var updateTitle = function updateTitle(text, index) {
73
+ itemTitle[index] = text;
74
+ setItemTitle(_toConsumableArray(itemTitle));
75
+ };
76
+
77
+ var parent = function parent() {
78
+ return parentRef;
79
+ };
80
+
81
+ var cloneChildren = function cloneChildren() {
82
+ return React__default.Children.map(children, function (child, index) {
83
+ return React__default.cloneElement(child, {
84
+ showPopup: itemShow[index],
85
+ orderKey: index,
86
+ activeColor: activeColor,
87
+ parent: {
88
+ closeOnClickOverlay: closeOnClickOverlay,
89
+ lockScroll: lockScroll,
90
+ toggleItemShow: toggleItemShow,
91
+ updateTitle: updateTitle,
92
+ hideItemShow: hideItemShow,
93
+ parent: parent
94
+ }
95
+ });
96
+ });
97
+ };
98
+
99
+ return React__default.createElement("div", _objectSpread(_objectSpread({
100
+ className: "nut-menu ".concat(className)
101
+ }, rest), {}, {
102
+ ref: parentRef
103
+ }), React__default.createElement("div", {
104
+ className: "nut-menu__bar ".concat(itemShow.includes(true) ? 'opened' : '', " ").concat(className)
105
+ }, React__default.Children.toArray(children).map(function (child, index) {
106
+ if (!child) return null;
107
+ var _child$props = child.props,
108
+ disabled = _child$props.disabled,
109
+ title = _child$props.title,
110
+ value = _child$props.value,
111
+ direction = _child$props.direction,
112
+ options = _child$props.options;
113
+ var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
114
+ return option.value === value;
115
+ });
116
+
117
+ function finallyTitle() {
118
+ if (title) return title;
119
+ if (itemTitle && itemTitle[index]) return itemTitle[index];
120
+ if (currentTitle && currentTitle[0] && currentTitle[0].text) return currentTitle[0].text;
121
+ return '';
122
+ }
123
+
124
+ return React__default.createElement("div", {
125
+ className: "nut-menu__item ".concat(classNames({
126
+ active: itemShow[index],
127
+ disabled: disabled
128
+ })),
129
+ style: {
130
+ color: itemShow[index] ? activeColor : ''
131
+ },
132
+ key: index,
133
+ onClick: function onClick() {
134
+ !disabled && toggleItemShow(index);
135
+ }
136
+ }, React__default.createElement("div", {
137
+ className: "nut-menu__title ".concat(classNames({
138
+ active: itemShow[index],
139
+ disabled: disabled
140
+ }))
141
+ }, React__default.createElement("div", {
142
+ className: "nut-menu__title-text"
143
+ }, finallyTitle()), React__default.createElement(Icon, {
144
+ className: "nut-menu__title-icon",
145
+ size: "10",
146
+ name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
147
+ })));
148
+ })), cloneChildren());
149
+ };
150
+
151
+ Menu.defaultProps = defaultProps;
152
+ Menu.displayName = 'NutMenu';
153
+ export { Menu as default };
@@ -0,0 +1,3 @@
1
+ require('../../Icon/style')
2
+ require('../../Popup/style')
3
+ require('../../../packages/menuitem/menuitem.scss')
@@ -0,0 +1,197 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+
4
+ 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; }
5
+
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; }
7
+
8
+ import React__default, { useState, useEffect } from 'react';
9
+ import classNames from 'classnames';
10
+ import { CSSTransition } from 'react-transition-group';
11
+ import { useConfig } from './ConfigProvider.js';
12
+ import Icon from './Icon.js';
13
+ import { O as Overlay } from './overlay-ed3eb37d.js';
14
+ import './bem-893ad28d.js';
15
+ import '@bem-react/classname';
16
+ var defaultProps = {
17
+ className: '',
18
+ style: {},
19
+ columns: 1,
20
+ direction: 'down',
21
+ optionsIcon: 'Check',
22
+ activeTitleClass: '',
23
+ inactiveTitleClass: '',
24
+ iconClassPrefix: 'nut-icon',
25
+ fontClassName: 'nutui-iconfont',
26
+ onChange: function onChange(value) {
27
+ return undefined;
28
+ }
29
+ };
30
+
31
+ var MenuItem = function MenuItem(props) {
32
+ useConfig();
33
+
34
+ var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
35
+
36
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
37
+ className = _defaultProps$props.className,
38
+ style = _defaultProps$props.style,
39
+ options = _defaultProps$props.options,
40
+ value = _defaultProps$props.value,
41
+ columns = _defaultProps$props.columns,
42
+ title = _defaultProps$props.title,
43
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
44
+ fontClassName = _defaultProps$props.fontClassName,
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
+
52
+ var activeColor = mergedProps.activeColor,
53
+ showPopup = mergedProps.showPopup,
54
+ parent = mergedProps.parent,
55
+ orderKey = mergedProps.orderKey;
56
+
57
+ var _useState = useState(showPopup),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ _showPopup = _useState2[0],
60
+ setShowPopup = _useState2[1];
61
+
62
+ var _useState3 = useState(value),
63
+ _useState4 = _slicedToArray(_useState3, 2),
64
+ _value = _useState4[0],
65
+ setValue = _useState4[1];
66
+
67
+ useEffect(function () {
68
+ setShowPopup(showPopup);
69
+ }, [showPopup]);
70
+ useEffect(function () {
71
+ getParentOffset();
72
+ }, [_showPopup]);
73
+
74
+ var getIconCName = function getIconCName(optionVal, value) {
75
+ var _classNames;
76
+
77
+ return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal === value), _defineProperty(_classNames, inactiveTitleClass, optionVal !== value), _classNames));
78
+ };
79
+
80
+ var setTitle = function setTitle(text) {
81
+ if (!title) {
82
+ parent.updateTitle(text, orderKey);
83
+ }
84
+ };
85
+
86
+ var handleClick = function handleClick(item) {
87
+ parent.toggleItemShow(orderKey);
88
+ setTitle(item.text);
89
+ setValue(item.value);
90
+ onChange && onChange(item);
91
+ };
92
+
93
+ var _useState5 = useState({
94
+ top: 0,
95
+ height: 0
96
+ }),
97
+ _useState6 = _slicedToArray(_useState5, 2),
98
+ position = _useState6[0],
99
+ setPosition = _useState6[1];
100
+
101
+ var getParentOffset = function getParentOffset() {
102
+ setTimeout(function () {
103
+ var p = parent.parent().current;
104
+ var rect = p.getBoundingClientRect();
105
+ console.log(rect, p.offsetTop, window.screenTop);
106
+ setPosition({
107
+ height: rect.height,
108
+ top: rect.top
109
+ });
110
+ });
111
+ };
112
+
113
+ var isShow = function isShow() {
114
+ if (_showPopup) return {};
115
+ return {
116
+ display: 'none'
117
+ };
118
+ };
119
+
120
+ var getPosition = function getPosition() {
121
+ return direction === 'down' ? {
122
+ top: "".concat(position.top + position.height, "px")
123
+ } : {
124
+ bottom: "".concat(window.innerHeight - position.top, "px"),
125
+ top: 'auto'
126
+ };
127
+ };
128
+
129
+ var placeholderStyle = function placeholderStyle() {
130
+ if (direction === 'down') {
131
+ return _objectSpread(_objectSpread({
132
+ height: "".concat(position.top + position.height, "px")
133
+ }, isShow()), style);
134
+ }
135
+
136
+ return _objectSpread(_objectSpread({
137
+ height: "".concat(window.innerHeight - position.top, "px"),
138
+ top: 'auto'
139
+ }, isShow()), style);
140
+ };
141
+
142
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
143
+ className: "placeholder-element ".concat(classNames({
144
+ up: direction === 'up'
145
+ }), " ").concat(className),
146
+ style: placeholderStyle(),
147
+ onClick: function onClick() {
148
+ return parent.toggleItemShow(orderKey);
149
+ }
150
+ }), React__default.createElement(Overlay, {
151
+ overlayClass: "nut-menu__overlay",
152
+ style: getPosition(),
153
+ lockScroll: parent.lockScroll,
154
+ visible: _showPopup,
155
+ closeOnClickOverlay: parent.closeOnClickOverlay,
156
+ onClick: function onClick() {
157
+ parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
158
+ }
159
+ }), React__default.createElement("div", {
160
+ className: "nut-menu-item__wrap",
161
+ style: _objectSpread(_objectSpread({}, getPosition()), isShow())
162
+ }, React__default.createElement(CSSTransition, {
163
+ "in": _showPopup,
164
+ timeout: 100,
165
+ classNames: "menu-item"
166
+ }, React__default.createElement("div", {
167
+ className: "nut-menu-item__content"
168
+ }, options === null || options === void 0 ? void 0 : options.map(function (item, index) {
169
+ return React__default.createElement("div", {
170
+ className: "nut-menu-item__option ".concat(classNames({
171
+ active: item.value === _value
172
+ })),
173
+ key: item.text,
174
+ style: {
175
+ flexBasis: "".concat(100 / columns, "%")
176
+ },
177
+ onClick: function onClick() {
178
+ handleClick(item);
179
+ }
180
+ }, item.value === _value ? React__default.createElement(Icon, {
181
+ className: getIconCName(item.value, value),
182
+ name: optionsIcon,
183
+ classPrefix: iconClassPrefix,
184
+ fontClassName: fontClassName,
185
+ color: activeColor
186
+ }) : null, React__default.createElement("div", {
187
+ className: getIconCName(item.value, value),
188
+ style: {
189
+ color: "".concat(item.value === _value ? activeColor : '')
190
+ }
191
+ }, item.text));
192
+ }), children))));
193
+ };
194
+
195
+ MenuItem.defaultProps = defaultProps;
196
+ MenuItem.displayName = 'NutMenuItem';
197
+ export { MenuItem as default };
@@ -9,6 +9,7 @@ import React__default, { useRef, useState, useEffect } from 'react';
9
9
  import classNames from 'classnames';
10
10
  import Icon from './Icon.js';
11
11
  import { c as cn } from './bem-893ad28d.js';
12
+ import { g as getRect } from './useClientRect-839d18c5.js';
12
13
  import '@bem-react/classname';
13
14
  var defaultProps = {
14
15
  // 滚动方向 across 横向 vertical 纵向
@@ -166,8 +167,8 @@ var NoticeBar = function NoticeBar(props) {
166
167
  return;
167
168
  }
168
169
 
169
- var wrapW = wrap.current.getBoundingClientRect().width;
170
- var offsetW = content.current.getBoundingClientRect().width;
170
+ var wrapW = getRect(wrap.current).width;
171
+ var offsetW = getRect(content.current).width;
171
172
  var canScroll = scrollable == null ? offsetW > wrapW : scrollable;
172
173
  SetIsCanScroll(canScroll);
173
174
 
@@ -19,6 +19,7 @@ import * as ReactDOM from 'react-dom';
19
19
  import classNames from 'classnames';
20
20
  import { CSSTransition } from 'react-transition-group';
21
21
  import { c as cn } from './bem-893ad28d.js';
22
+ import { r as render } from './render-4a3856cb.js';
22
23
  import '@bem-react/classname';
23
24
 
24
25
  var Notification = /*#__PURE__*/function (_React$PureComponent) {
@@ -165,7 +166,7 @@ Notification.newInstance = function (properties, callback) {
165
166
  });
166
167
  }
167
168
 
168
- ReactDOM.render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
169
+ render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
169
170
  ref: ref
170
171
  })), element);
171
172
  };
@@ -20,6 +20,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
20
20
  import React__default, { useRef, useState, useEffect } from 'react';
21
21
  import Icon from './Icon.js';
22
22
  import Overlay from './Overlay.js';
23
+ import { g as getRect } from './useClientRect-839d18c5.js';
23
24
  /**
24
25
  * 过滤ref
25
26
  */
@@ -101,14 +102,6 @@ var Trigger = /*#__PURE__*/function (_React__default$Compo) {
101
102
  return Trigger;
102
103
  }(React__default.Component);
103
104
 
104
- var getEleAttr = function getEleAttr(ele) {
105
- if (ele && ele.getBoundingClientRect) {
106
- return ele.getBoundingClientRect();
107
- }
108
-
109
- return null;
110
- };
111
-
112
105
  var defaultProps = {
113
106
  list: [],
114
107
  theme: 'light',
@@ -136,9 +129,9 @@ var Popover = function Popover(props) {
136
129
 
137
130
  var goodItem = useRef(null);
138
131
  setTimeout(function () {
139
- if (goodItem.current && getEleAttr(goodItem.current)) {
140
- setElWidth(getEleAttr(goodItem.current).width);
141
- setElHeight(getEleAttr(goodItem.current).height);
132
+ if (goodItem.current && getRect(goodItem.current)) {
133
+ setElWidth(getRect(goodItem.current).width);
134
+ setElHeight(getRect(goodItem.current).height);
142
135
  }
143
136
  });
144
137
 
package/dist/esm/Range.js CHANGED
@@ -7,52 +7,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7
7
 
8
8
  import React__default, { useState, useRef, useEffect, useCallback } from 'react';
9
9
  import { u as useTouch } from './useTouch-a2ea68c6.js';
10
+ import { g as getRect } from './useClientRect-839d18c5.js';
10
11
  import Toast from './Toast.js';
11
12
  import { useConfig } from './ConfigProvider.js';
12
- /**
13
- 获取元素的大小及其相对于视口的位置,等价于 Element.getBoundingClientRect。
14
- width 宽度 number
15
- height 高度 number
16
- top 顶部与视图窗口左上角的距离 number
17
- left 左侧与视图窗口左上角的距离 number
18
- right 右侧与视图窗口左上角的距离 number
19
- bottom 底部与视图窗口左上角的距离 number
20
- */
21
-
22
- function isWindow(val) {
23
- return val === window;
24
- }
25
-
26
- var getRect = function getRect(elementRef) {
27
- var element = elementRef;
28
-
29
- if (isWindow(element)) {
30
- var width = element.innerWidth;
31
- var height = element.innerHeight;
32
- return {
33
- top: 0,
34
- left: 0,
35
- right: width,
36
- bottom: height,
37
- width: width,
38
- height: height
39
- };
40
- }
41
-
42
- if (element && element.getBoundingClientRect) {
43
- return element.getBoundingClientRect();
44
- }
45
-
46
- return {
47
- top: 0,
48
- left: 0,
49
- right: 0,
50
- bottom: 0,
51
- width: 0,
52
- height: 0
53
- };
54
- };
55
-
56
13
  var defaultProps = {
57
14
  range: false,
58
15
  hiddenRange: false,
@@ -445,7 +402,7 @@ var Range = function Range(props) {
445
402
  return React__default.createElement("div", {
446
403
  role: "slider",
447
404
  key: index,
448
- className: "".concat(index === 0 ? 'nut-range-button-wrapper-left' : '', "\n ").concat(index === 1 ? 'nut-range-button-wrapper-right' : ''),
405
+ className: "".concat(index === 0 ? 'nut-range-button-wrapper-left' : '', "\n ").concat(index === 1 ? 'nut-range-button-wrapper-right' : ''),
449
406
  tabIndex: disabled ? -1 : 0,
450
407
  "aria-valuemin": +min,
451
408
  "aria-valuenow": curValue(index),
@@ -0,0 +1,2 @@
1
+
2
+ require('../../../packages/swipe/swipe.scss')