@nutui/nutui-react 2.0.0-alpha.0 → 2.0.0-alpha.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 (46) hide show
  1. package/CHANGELOG.md +35 -627
  2. package/dist/esm/Address.js +1 -1
  3. package/dist/esm/Animate.js +6 -7
  4. package/dist/esm/Audio.js +18 -21
  5. package/dist/esm/Badge.js +15 -22
  6. package/dist/esm/Cascader.js +1 -1
  7. package/dist/esm/Col.js +4 -3
  8. package/dist/esm/Divider.js +4 -3
  9. package/dist/esm/Drag.js +7 -9
  10. package/dist/esm/Elevator.js +38 -41
  11. package/dist/esm/ImagePreview.js +1 -1
  12. package/dist/esm/Menu.js +75 -73
  13. package/dist/esm/MenuItem.js +29 -27
  14. package/dist/esm/NavBar.js +17 -48
  15. package/dist/esm/NumberKeyboard.js +1 -1
  16. package/dist/esm/Popup.js +23 -30
  17. package/dist/esm/Progress.js +20 -68
  18. package/dist/esm/Row.js +6 -5
  19. package/dist/esm/SideNavBar.js +0 -2
  20. package/dist/esm/Uploader.js +49 -52
  21. package/dist/locales/base.js +1 -1
  22. package/dist/locales/en-US.js +1 -1
  23. package/dist/locales/id-ID.js +1 -1
  24. package/dist/locales/zh-CN.js +1 -1
  25. package/dist/locales/zh-TW.js +1 -1
  26. package/dist/locales/zh-UG.js +1 -1
  27. package/dist/nutui.react.mjs +717 -832
  28. package/dist/nutui.react.umd.js +717 -832
  29. package/dist/packages/audio/audio.scss +2 -15
  30. package/dist/packages/badge/badge.scss +8 -17
  31. package/dist/packages/calendar/calendar.scss +0 -30
  32. package/dist/packages/elevator/elevator.scss +2 -28
  33. package/dist/packages/menu/menu.scss +44 -55
  34. package/dist/packages/menuitem/menuitem.scss +16 -26
  35. package/dist/packages/navbar/navbar.scss +16 -115
  36. package/dist/packages/popup/popup.scss +0 -16
  37. package/dist/packages/progress/progress.scss +19 -58
  38. package/dist/packages/row/row.scss +13 -31
  39. package/dist/packages/sidenavbar/sidenavbar.scss +0 -19
  40. package/dist/packages/uploader/uploader.scss +2 -28
  41. package/dist/style.css +1 -1
  42. package/dist/style.mjs +1 -1
  43. package/dist/styles/variables-jmapp.scss +23 -114
  44. package/dist/styles/variables.scss +31 -122
  45. package/dist/types/index.d.ts +43 -81
  46. package/package.json +1 -1
package/dist/esm/Menu.js CHANGED
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  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
- var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"];
5
+ var _excluded = ["className", "icon", "scrollFixed", "lockScroll", "closeOnOverlayClick", "children", "activeColor"];
6
6
  function ownKeys(object, enumerableOnly) {
7
7
  var keys = Object.keys(object);
8
8
  if (Object.getOwnPropertySymbols) {
@@ -29,17 +29,15 @@ import classNames from "classnames";
29
29
  import { ArrowUp2, ArrowDown2 } from "@nutui/icons-react";
30
30
  import { C as ComponentDefaults } from "./typings.js";
31
31
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
32
- className: "",
33
- style: {},
34
32
  activeColor: "",
35
- closeOnClickOverlay: true,
33
+ closeOnOverlayClick: true,
36
34
  scrollFixed: false,
37
35
  lockScroll: true,
38
- titleIcon: null
36
+ icon: null
39
37
  });
40
38
  var Menu = function Menu2(props) {
41
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, titleIcon = _defaultProps$props.titleIcon, scrollFixed = _defaultProps$props.scrollFixed, lockScroll = _defaultProps$props.lockScroll, closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay, children = _defaultProps$props.children, activeColor = _defaultProps$props.activeColor, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
42
- var parentRef = useRef(null);
39
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, icon = _defaultProps$props.icon, scrollFixed = _defaultProps$props.scrollFixed, lockScroll = _defaultProps$props.lockScroll, closeOnOverlayClick = _defaultProps$props.closeOnOverlayClick, children = _defaultProps$props.children, activeColor = _defaultProps$props.activeColor, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
40
+ var menuRef = useRef(null);
43
41
  var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isScrollFixed = _useState2[0], setIsScrollFixed = _useState2[1];
44
42
  var getScrollTop = function getScrollTop2(el) {
45
43
  return Math.max(0, "scrollTop" in el ? el.scrollTop : el.pageYOffset);
@@ -58,92 +56,96 @@ var Menu = function Menu2(props) {
58
56
  return window.removeEventListener("scroll", onScroll);
59
57
  };
60
58
  }, []);
61
- var _useState3 = useState([]), _useState4 = _slicedToArray(_useState3, 2), itemShow = _useState4[0], setItemShow = _useState4[1];
62
- var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), itemTitle = _useState6[0], setItemTitle = _useState6[1];
63
- var toggleItemShow = function toggleItemShow2(index) {
64
- itemShow[index] = !itemShow[index];
65
- var temp = itemShow.map(function(i, idx) {
59
+ var _useState3 = useState([]), _useState4 = _slicedToArray(_useState3, 2), showMenuItem = _useState4[0], setShowMenuItem = _useState4[1];
60
+ var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), menuItemTitle = _useState6[0], setMenuItemTitle = _useState6[1];
61
+ var toggleMenuItem = function toggleMenuItem2(index) {
62
+ showMenuItem[index] = !showMenuItem[index];
63
+ var temp = showMenuItem.map(function(i, idx) {
66
64
  return idx === index ? i : false;
67
65
  });
68
- setItemShow(_toConsumableArray(temp));
66
+ setShowMenuItem(_toConsumableArray(temp));
69
67
  };
70
- var hideItemShow = function hideItemShow2(index) {
71
- itemShow[index] = false;
72
- setItemShow(_toConsumableArray(itemShow));
68
+ var hideMenuItem = function hideMenuItem2(index) {
69
+ showMenuItem[index] = false;
70
+ setShowMenuItem(_toConsumableArray(showMenuItem));
73
71
  };
74
72
  var updateTitle = function updateTitle2(text, index) {
75
- itemTitle[index] = text;
76
- setItemTitle(_toConsumableArray(itemTitle));
77
- };
78
- var parent = function parent2() {
79
- return parentRef;
73
+ menuItemTitle[index] = text;
74
+ setMenuItemTitle(_toConsumableArray(menuItemTitle));
80
75
  };
81
76
  var cloneChildren = function cloneChildren2() {
82
77
  return React__default.Children.map(children, function(child, index) {
83
78
  return React__default.cloneElement(child, {
84
- showPopup: itemShow[index],
85
- orderKey: index,
79
+ show: showMenuItem[index],
80
+ index,
86
81
  activeColor,
87
82
  parent: {
88
- closeOnClickOverlay,
83
+ closeOnOverlayClick,
89
84
  lockScroll,
90
- toggleItemShow,
85
+ toggleMenuItem,
91
86
  updateTitle,
92
- hideItemShow,
93
- parent
87
+ hideMenuItem,
88
+ menuRef
94
89
  }
95
90
  });
96
91
  });
97
92
  };
98
- return React__default.createElement("div", _objectSpread(_objectSpread({
99
- className: "nut-menu ".concat(className, " ").concat(isScrollFixed ? "scroll-fixed" : "")
100
- }, rest), {}, {
101
- ref: parentRef
93
+ var menuTitle = function menuTitle2() {
94
+ return React__default.Children.map(children, function(child, index) {
95
+ if (React__default.isValidElement(child)) {
96
+ var _child$props = child.props, title = _child$props.title, options = _child$props.options, value = _child$props.value, disabled = _child$props.disabled, direction = _child$props.direction;
97
+ var selected = options === null || options === void 0 ? void 0 : options.filter(function(option) {
98
+ return option.value === value;
99
+ });
100
+ var finallyTitle = function finallyTitle2() {
101
+ if (title)
102
+ return title;
103
+ if (menuItemTitle && menuItemTitle[index])
104
+ return menuItemTitle[index];
105
+ if (selected && selected.length && selected[0].text)
106
+ return selected[0].text;
107
+ return "";
108
+ };
109
+ return React__default.createElement("div", {
110
+ className: classNames("nut-menu__item ", className, {
111
+ active: showMenuItem[index],
112
+ disabled
113
+ }),
114
+ style: {
115
+ color: showMenuItem[index] ? activeColor : ""
116
+ },
117
+ key: index,
118
+ onClick: function onClick() {
119
+ !disabled && toggleMenuItem(index);
120
+ }
121
+ }, React__default.createElement("div", {
122
+ className: classNames("nut-menu__title ", {
123
+ active: showMenuItem[index],
124
+ disabled
125
+ })
126
+ }, React__default.createElement("div", {
127
+ className: "nut-menu__title-text"
128
+ }, finallyTitle()), icon || (direction === "up" ? React__default.createElement(ArrowUp2, {
129
+ className: "nut-menu__title-icon"
130
+ }) : React__default.createElement(ArrowDown2, {
131
+ className: "nut-menu__title-icon"
132
+ }))));
133
+ }
134
+ return null;
135
+ });
136
+ };
137
+ return React__default.createElement("div", _objectSpread(_objectSpread({}, rest), {}, {
138
+ className: classNames("nut-menu", className, {
139
+ "scroll-fixed": isScrollFixed
140
+ }),
141
+ ref: menuRef
102
142
  }), React__default.createElement("div", {
103
143
  className: "nut-menu-relative"
104
144
  }, React__default.createElement("div", {
105
- className: "nut-menu__bar ".concat(itemShow.includes(true) ? "opened" : "", " ").concat(className)
106
- }, React__default.Children.toArray(children).map(function(child, index) {
107
- if (!child)
108
- return null;
109
- var _child$props = child.props, disabled = _child$props.disabled, title = _child$props.title, value = _child$props.value, direction = _child$props.direction, options = _child$props.options, className2 = _child$props.className;
110
- var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function(option) {
111
- return option.value === value;
112
- });
113
- function finallyTitle() {
114
- if (title)
115
- return title;
116
- if (itemTitle && itemTitle[index])
117
- return itemTitle[index];
118
- if (currentTitle && currentTitle[0] && currentTitle[0].text)
119
- return currentTitle[0].text;
120
- return "";
121
- }
122
- return React__default.createElement("div", {
123
- className: "nut-menu__item ".concat(classNames({
124
- active: itemShow[index],
125
- disabled
126
- }), " ").concat(className2),
127
- style: {
128
- color: itemShow[index] ? activeColor : ""
129
- },
130
- key: index,
131
- onClick: function onClick() {
132
- !disabled && toggleItemShow(index);
133
- }
134
- }, React__default.createElement("div", {
135
- className: "nut-menu__title ".concat(classNames({
136
- active: itemShow[index],
137
- disabled
138
- }))
139
- }, React__default.createElement("div", {
140
- className: "nut-menu__title-text"
141
- }, finallyTitle()), titleIcon || React__default.createElement(React__default.Fragment, null, direction === "up" ? React__default.createElement(ArrowUp2, {
142
- className: "nut-menu__title-icon"
143
- }) : React__default.createElement(ArrowDown2, {
144
- className: "nut-menu__title-icon"
145
- }))));
146
- })), cloneChildren()));
145
+ className: classNames("nut-menu__bar", {
146
+ opened: showMenuItem.includes(true)
147
+ })
148
+ }, menuTitle()), cloneChildren()));
147
149
  };
148
150
  Menu.defaultProps = defaultProps;
149
151
  Menu.displayName = "NutMenu";
@@ -28,11 +28,10 @@ import { Check } from "@nutui/icons-react";
28
28
  import { O as Overlay } from "./overlay2.js";
29
29
  import { C as ComponentDefaults } from "./typings.js";
30
30
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
31
- className: "",
32
- style: {},
33
31
  columns: 1,
34
32
  direction: "down",
35
- optionsIcon: null,
33
+ icon: null,
34
+ closeOnClickAway: false,
36
35
  activeTitleClass: "",
37
36
  inactiveTitleClass: "",
38
37
  onChange: function onChange(value) {
@@ -40,20 +39,18 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
40
39
  }
41
40
  });
42
41
  var MenuItem = forwardRef(function(props, ref) {
43
- var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
44
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), style = _defaultProps$props.style, options = _defaultProps$props.options, value = _defaultProps$props.value, columns = _defaultProps$props.columns, title = _defaultProps$props.title, optionsIcon = _defaultProps$props.optionsIcon, direction = _defaultProps$props.direction, onChange2 = _defaultProps$props.onChange, activeTitleClass = _defaultProps$props.activeTitleClass, inactiveTitleClass = _defaultProps$props.inactiveTitleClass, children = _defaultProps$props.children;
45
- var activeColor = mergedProps.activeColor, showPopup = mergedProps.showPopup, parent = mergedProps.parent, orderKey = mergedProps.orderKey;
46
- var _useState = useState(showPopup), _useState2 = _slicedToArray(_useState, 2), _showPopup = _useState2[0], setShowPopup = _useState2[1];
42
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, options = _defaultProps$props.options, value = _defaultProps$props.value, columns = _defaultProps$props.columns, title = _defaultProps$props.title, icon = _defaultProps$props.icon, direction = _defaultProps$props.direction, onChange2 = _defaultProps$props.onChange, activeTitleClass = _defaultProps$props.activeTitleClass, inactiveTitleClass = _defaultProps$props.inactiveTitleClass, closeOnClickAway = _defaultProps$props.closeOnClickAway, children = _defaultProps$props.children, activeColor = _defaultProps$props.activeColor, show = _defaultProps$props.show, parent = _defaultProps$props.parent, index = _defaultProps$props.index;
43
+ var _useState = useState(show), _useState2 = _slicedToArray(_useState, 2), _showPopup = _useState2[0], setShowPopup = _useState2[1];
47
44
  var _useState3 = useState(value), _useState4 = _slicedToArray(_useState3, 2), _value = _useState4[0], setValue = _useState4[1];
48
45
  useEffect(function() {
49
- setShowPopup(showPopup);
50
- }, [showPopup]);
46
+ setShowPopup(show);
47
+ }, [show]);
51
48
  useEffect(function() {
52
49
  getParentOffset();
53
50
  }, [_showPopup]);
54
51
  useImperativeHandle(ref, function() {
55
52
  return {
56
- toggle: parent.toggleItemShow
53
+ toggle: parent.toggleMenuItem
57
54
  };
58
55
  });
59
56
  var getIconCName = function getIconCName2(optionVal, value2) {
@@ -62,11 +59,11 @@ var MenuItem = forwardRef(function(props, ref) {
62
59
  };
63
60
  var setTitle = function setTitle2(text) {
64
61
  if (!title) {
65
- parent.updateTitle(text, orderKey);
62
+ parent.updateTitle(text, index);
66
63
  }
67
64
  };
68
65
  var handleClick = function handleClick2(item) {
69
- parent.toggleItemShow(orderKey);
66
+ parent.toggleMenuItem(index);
70
67
  setTitle(item.text);
71
68
  setValue(item.value);
72
69
  onChange2 && onChange2(item);
@@ -77,7 +74,7 @@ var MenuItem = forwardRef(function(props, ref) {
77
74
  }), _useState6 = _slicedToArray(_useState5, 2), position = _useState6[0], setPosition = _useState6[1];
78
75
  var getParentOffset = function getParentOffset2() {
79
76
  setTimeout(function() {
80
- var p = parent.parent().current;
77
+ var p = parent.menuRef.current;
81
78
  var rect = p.getBoundingClientRect();
82
79
  setPosition({
83
80
  height: rect.height,
@@ -102,42 +99,47 @@ var MenuItem = forwardRef(function(props, ref) {
102
99
  };
103
100
  var placeholderStyle = function placeholderStyle2() {
104
101
  if (direction === "down") {
105
- return _objectSpread(_objectSpread({
106
- height: "".concat(position.top + position.height, "px")
107
- }, isShow()), style);
102
+ return _objectSpread({
103
+ height: "".concat(position.top + position.height, "px"),
104
+ top: 0
105
+ }, isShow());
108
106
  }
109
- return _objectSpread(_objectSpread({
107
+ return _objectSpread({
110
108
  height: "".concat(window.innerHeight - position.top, "px"),
109
+ bottom: "0px",
111
110
  top: "auto"
112
- }, isShow()), style);
111
+ }, isShow());
113
112
  };
114
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
113
+ return React__default.createElement(React__default.Fragment, null, closeOnClickAway ? React__default.createElement("div", {
115
114
  className: "placeholder-element ".concat(classNames({
116
115
  up: direction === "up"
117
116
  })),
118
117
  style: placeholderStyle(),
119
118
  onClick: function onClick() {
120
- return parent.toggleItemShow(orderKey);
119
+ return parent.toggleMenuItem(index);
121
120
  }
122
- }), React__default.createElement(Overlay, {
121
+ }) : null, React__default.createElement(Overlay, {
123
122
  className: "nut-menu__overlay",
124
123
  style: getPosition(),
125
124
  lockScroll: parent.lockScroll,
126
125
  visible: _showPopup,
127
- closeOnOverlayClick: parent.closeOnClickOverlay,
126
+ closeOnOverlayClick: parent.closeOnOverlayClick,
128
127
  onClick: function onClick() {
129
- parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
128
+ parent.closeOnOverlayClick && parent.toggleMenuItem(index);
130
129
  }
131
130
  }), React__default.createElement("div", {
132
- className: direction === "down" ? "nut-menu-item__wrap" : "nut-menu-item__wrap-up",
133
- style: _objectSpread({}, isShow())
131
+ className: classNames(className, {
132
+ "nut-menu-item__wrap": direction === "down",
133
+ "nut-menu-item__wrap-up": direction !== "down"
134
+ }),
135
+ style: _objectSpread(_objectSpread({}, style), isShow())
134
136
  }, React__default.createElement(CSSTransition, {
135
137
  "in": _showPopup,
136
138
  timeout: 100,
137
139
  classNames: direction === "down" ? "menu-item" : "menu-item-up"
138
140
  }, React__default.createElement("div", {
139
141
  className: "nut-menu-item__content"
140
- }, options === null || options === void 0 ? void 0 : options.map(function(item, index) {
142
+ }, options === null || options === void 0 ? void 0 : options.map(function(item, index2) {
141
143
  return React__default.createElement("div", {
142
144
  className: "nut-menu-item__option ".concat(classNames({
143
145
  active: item.value === _value
@@ -149,7 +151,7 @@ var MenuItem = forwardRef(function(props, ref) {
149
151
  onClick: function onClick() {
150
152
  handleClick(item);
151
153
  }
152
- }, item.value === _value ? React__default.createElement("i", null, optionsIcon || React__default.createElement(Check, {
154
+ }, item.value === _value ? React__default.createElement("i", null, icon || React__default.createElement(Check, {
153
155
  color: activeColor,
154
156
  className: getIconCName(item.value, value)
155
157
  })) : null, React__default.createElement("div", {
@@ -22,35 +22,21 @@ function _objectSpread(target) {
22
22
  }
23
23
  import React__default from "react";
24
24
  import classNames from "classnames";
25
- import { Left } from "@nutui/icons-react";
26
- import { c as cn } from "./bem.js";
27
25
  import { C as ComponentDefaults } from "./typings.js";
28
- import "@bem-react/classname";
29
26
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
30
- title: "",
31
- description: "",
32
- leftShow: true,
33
- className: "",
34
- leftText: "",
27
+ left: "",
28
+ right: "",
29
+ back: "",
35
30
  fixed: false,
36
31
  safeAreaInsetTop: false,
37
- border: false,
38
32
  placeholder: false,
39
- zIndex: 10,
40
- style: {}
33
+ zIndex: 10
41
34
  });
42
35
  var NavBar = function NavBar2(props) {
43
36
  var _classNames;
44
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), description = _defaultProps$props.description, title = _defaultProps$props.title, leftShow = _defaultProps$props.leftShow, className = _defaultProps$props.className, style = _defaultProps$props.style, leftText = _defaultProps$props.leftText, fixed = _defaultProps$props.fixed, safeAreaInsetTop = _defaultProps$props.safeAreaInsetTop, border = _defaultProps$props.border, placeholder = _defaultProps$props.placeholder, zIndex = _defaultProps$props.zIndex, onClickTitle = _defaultProps$props.onClickTitle, onClickIcon = _defaultProps$props.onClickIcon, onClickBack = _defaultProps$props.onClickBack, onClickRight = _defaultProps$props.onClickRight;
45
- var b = cn("navbar");
37
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), right = _defaultProps$props.right, left = _defaultProps$props.left, className = _defaultProps$props.className, style = _defaultProps$props.style, back = _defaultProps$props.back, fixed = _defaultProps$props.fixed, safeAreaInsetTop = _defaultProps$props.safeAreaInsetTop, placeholder = _defaultProps$props.placeholder, zIndex = _defaultProps$props.zIndex, onClickBack = _defaultProps$props.onClickBack;
38
+ var classPrefix = "nut-navbar";
46
39
  var children = Array.isArray(props.children) ? props.children : [props.children];
47
- var slot = children.reduce(function(slot2, item) {
48
- var data = slot2;
49
- if (item && item.props) {
50
- data[item.props.slot] = item.props.children;
51
- }
52
- return data;
53
- }, {});
54
40
  var styles = function styles2() {
55
41
  return _objectSpread(_objectSpread({}, style), {}, {
56
42
  zIndex
@@ -58,40 +44,23 @@ var NavBar = function NavBar2(props) {
58
44
  };
59
45
  var renderLeft = function renderLeft2() {
60
46
  return React__default.createElement("div", {
61
- className: "".concat(b("left")),
47
+ className: "".concat(classPrefix, "__left")
48
+ }, back && React__default.createElement("div", {
49
+ className: "".concat(classPrefix, "__left__back"),
62
50
  onClick: function onClick(e) {
63
51
  return onClickBack(e);
64
52
  }
65
- }, leftShow && React__default.createElement(Left, {
66
- name: "left",
67
- color: "#979797"
68
- }), leftText && React__default.createElement("div", {
69
- className: "".concat(b("text"))
70
- }, leftText), slot.left);
53
+ }, back), left);
71
54
  };
72
55
  var renderContent = function renderContent2() {
73
56
  return React__default.createElement("div", {
74
- className: "".concat(b("title"))
75
- }, title && React__default.createElement("div", {
76
- className: "title",
77
- onClick: function onClick(e) {
78
- return onClickTitle(e);
79
- }
80
- }, title), slot.titleIcon && React__default.createElement("div", {
81
- onClick: function onClick(e) {
82
- return onClickIcon(e);
83
- }
84
- }, slot.titleIcon), slot.content);
57
+ className: "".concat(classPrefix, "__title")
58
+ }, children);
85
59
  };
86
60
  var renderRight = function renderRight2() {
87
61
  return React__default.createElement("div", {
88
- className: "".concat(b("right")),
89
- onClick: function onClick(e) {
90
- return onClickRight(e);
91
- }
92
- }, description && React__default.createElement("div", {
93
- className: "".concat(b("text"))
94
- }, description), slot.right);
62
+ className: "".concat(classPrefix, "__right")
63
+ }, right);
95
64
  };
96
65
  var renderWrapper = function renderWrapper2() {
97
66
  return React__default.createElement("div", {
@@ -99,10 +68,10 @@ var NavBar = function NavBar2(props) {
99
68
  style: styles()
100
69
  }, renderLeft(), renderContent(), renderRight());
101
70
  };
102
- var classes = classNames((_classNames = {}, _defineProperty(_classNames, "nut-navbar--border", border), _defineProperty(_classNames, "nut-navbar--fixed", fixed), _defineProperty(_classNames, "nut-navbar--safe-area-inset-top", safeAreaInsetTop), _classNames));
103
- var cls = classNames(b(""), classes, className);
71
+ var classes = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(classPrefix, "--fixed"), fixed), _defineProperty(_classNames, "".concat(classPrefix, "--safe-area-inset-top"), safeAreaInsetTop), _classNames));
72
+ var cls = classNames(classPrefix, classes, className);
104
73
  return React__default.createElement(React__default.Fragment, null, fixed && placeholder ? React__default.createElement("div", {
105
- className: "".concat(b(""), "--placeholder")
74
+ className: "".concat(classPrefix, "--placeholder")
106
75
  }, renderWrapper()) : renderWrapper());
107
76
  };
108
77
  NavBar.defaultProps = defaultProps;
@@ -165,7 +165,7 @@ var NumberKeyboard = function NumberKeyboard2(props) {
165
165
  return React__default.createElement("div", null, React__default.createElement(Popup, {
166
166
  visible: show,
167
167
  position: "bottom",
168
- popClass,
168
+ className: popClass,
169
169
  onClickOverlay: onClose2,
170
170
  overlay,
171
171
  onClickCloseIcon: onClose2,
package/dist/esm/Popup.js CHANGED
@@ -28,20 +28,17 @@ import classNames from "classnames";
28
28
  import { Close } from "@nutui/icons-react";
29
29
  import { d as defaultOverlayProps } from "./overlay2.js";
30
30
  import Overlay from "./Overlay.js";
31
- import { c as cn } from "./bem.js";
32
31
  import { C as ComponentDefaults } from "./typings.js";
33
- import "@bem-react/classname";
34
32
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
35
33
  position: "center",
36
34
  transition: "",
37
35
  overlayStyle: {},
38
- overlayClass: "",
39
- popClass: "",
36
+ overlayClassName: "",
40
37
  closeable: false,
41
38
  closeIconPosition: "top-right",
42
39
  closeIcon: "close",
43
- destroyOnClose: true,
44
- teleport: null,
40
+ destroyOnClose: false,
41
+ portal: null,
45
42
  overlay: true,
46
43
  round: false,
47
44
  onOpen: function onOpen() {
@@ -50,36 +47,32 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
50
47
  },
51
48
  onClick: function onClick(e) {
52
49
  },
53
- onOpened: function onOpened(e) {
54
- },
55
- onClosed: function onClosed(e) {
56
- },
57
50
  onClickOverlay: function onClickOverlay(e) {
51
+ return true;
58
52
  },
59
53
  onClickCloseIcon: function onClickCloseIcon(e) {
54
+ return true;
60
55
  }
61
56
  }, defaultOverlayProps);
62
57
  var _zIndex = 1e3;
63
58
  var Popup = function Popup2(props) {
64
- var _classNames;
65
- var children = props.children, visible = props.visible, overlay = props.overlay, closeOnOverlayClick = props.closeOnOverlayClick, overlayStyle = props.overlayStyle, overlayClass = props.overlayClass, zIndex = props.zIndex, lockScroll = props.lockScroll, duration = props.duration, closeable = props.closeable, closeIconPosition = props.closeIconPosition, closeIcon = props.closeIcon, style = props.style, transition = props.transition, round = props.round, position = props.position, popClass = props.popClass, className = props.className, destroyOnClose = props.destroyOnClose, teleport = props.teleport, onOpen2 = props.onOpen, onClose2 = props.onClose, onClickOverlay2 = props.onClickOverlay, onClickCloseIcon2 = props.onClickCloseIcon, onOpened2 = props.onOpened, onClosed2 = props.onClosed, onClick2 = props.onClick;
59
+ var _classNames, _classNames2;
60
+ var children = props.children, visible = props.visible, overlay = props.overlay, closeOnOverlayClick = props.closeOnOverlayClick, overlayStyle = props.overlayStyle, overlayClassName = props.overlayClassName, zIndex = props.zIndex, lockScroll = props.lockScroll, duration = props.duration, closeable = props.closeable, closeIconPosition = props.closeIconPosition, closeIcon = props.closeIcon, style = props.style, transition = props.transition, round = props.round, position = props.position, className = props.className, destroyOnClose = props.destroyOnClose, portal = props.portal, onOpen2 = props.onOpen, onClose2 = props.onClose, onClickOverlay2 = props.onClickOverlay, onClickCloseIcon2 = props.onClickCloseIcon, afterShow = props.afterShow, afterClose = props.afterClose, onClick2 = props.onClick;
66
61
  var _useState = useState(zIndex || _zIndex), _useState2 = _slicedToArray(_useState, 2), index = _useState2[0], setIndex = _useState2[1];
67
62
  var _useState3 = useState(visible), _useState4 = _slicedToArray(_useState3, 2), innerVisible = _useState4[0], setInnerVisible = _useState4[1];
68
63
  var _useState5 = useState(true), _useState6 = _slicedToArray(_useState5, 2), showChildren = _useState6[0], setShowChildren = _useState6[1];
69
64
  var _useState7 = useState(""), _useState8 = _slicedToArray(_useState7, 2), transitionName = _useState8[0], setTransitionName = _useState8[1];
70
- var b = cn("popup");
65
+ var classPrefix = "nut-popup";
71
66
  var baseStyle = {
72
67
  zIndex: index,
73
68
  animationDuration: "".concat(duration, "s")
74
69
  };
75
70
  var overlayStyles = _objectSpread(_objectSpread({}, overlayStyle), baseStyle);
76
71
  var popStyles = _objectSpread(_objectSpread({}, style), baseStyle);
77
- var classes = classNames((_classNames = {
72
+ var popClassName = classNames((_classNames = {
78
73
  round
79
- }, _defineProperty(_classNames, "nut-popup-".concat(position), true), _defineProperty(_classNames, "".concat(popClass), true), _defineProperty(_classNames, "".concat(className || ""), true), _classNames), b(""));
80
- var closeClasses = classNames(_defineProperty({
81
- "nut-popup__close-icon": true
82
- }, "nut-popup__close-icon--".concat(closeIconPosition), true));
74
+ }, _defineProperty(_classNames, "".concat(classPrefix), true), _defineProperty(_classNames, "".concat(classPrefix, "-").concat(position), true), _defineProperty(_classNames, "".concat(className || ""), true), _classNames));
75
+ var closeClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(classPrefix, "__close-icon"), true), _defineProperty(_classNames2, "".concat(classPrefix, "__close-icon--").concat(closeIconPosition), true), _classNames2));
83
76
  var open = function open2() {
84
77
  if (!innerVisible) {
85
78
  setInnerVisible(true);
@@ -96,29 +89,29 @@ var Popup = function Popup2(props) {
96
89
  if (destroyOnClose) {
97
90
  setTimeout(function() {
98
91
  setShowChildren(false);
99
- onClose2 && onClose2();
100
92
  }, Number(duration) * 1e3);
101
93
  }
94
+ onClose2 && onClose2();
102
95
  }
103
96
  };
104
97
  var onHandleClickOverlay = function onHandleClickOverlay2(e) {
105
98
  if (closeOnOverlayClick) {
106
- onClickOverlay2 && onClickOverlay2(e);
107
- close();
99
+ var closed = onClickOverlay2 && onClickOverlay2(e);
100
+ closed && close();
108
101
  }
109
102
  };
110
103
  var onHandleClick = function onHandleClick2(e) {
111
104
  onClick2 && onClick2(e);
112
105
  };
113
106
  var onHandleClickCloseIcon = function onHandleClickCloseIcon2(e) {
114
- onClickCloseIcon2 && onClickCloseIcon2(e);
115
- close();
107
+ var closed = onClickCloseIcon2 && onClickCloseIcon2(e);
108
+ closed && close();
116
109
  };
117
110
  var onHandleOpened = function onHandleOpened2(e) {
118
- onOpened2 && onOpened2(e);
111
+ afterShow && afterShow();
119
112
  };
120
113
  var onHandleClosed = function onHandleClosed2(e) {
121
- onClosed2 && onClosed2(e);
114
+ afterClose && afterClose();
122
115
  };
123
116
  var resolveContainer = function resolveContainer2(getContainer) {
124
117
  var container = typeof getContainer === "function" ? getContainer() : getContainer;
@@ -153,14 +146,14 @@ var Popup = function Popup2(props) {
153
146
  onExited: onHandleClosed
154
147
  }, React__default.createElement("div", {
155
148
  style: popStyles,
156
- className: classes,
149
+ className: popClassName,
157
150
  onClick: onHandleClick
158
151
  }, showChildren ? children : "", renderIcon()));
159
152
  };
160
153
  var renderNode = function renderNode2() {
161
154
  return React__default.createElement(React__default.Fragment, null, overlay ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Overlay, {
162
155
  style: overlayStyles,
163
- className: overlayClass,
156
+ className: overlayClassName,
164
157
  visible: innerVisible,
165
158
  closeOnOverlayClick,
166
159
  zIndex,
@@ -174,9 +167,9 @@ var Popup = function Popup2(props) {
174
167
  !visible && close();
175
168
  }, [visible]);
176
169
  useEffect(function() {
177
- setTransitionName(transition || "nut-popup-slide-".concat(position));
178
- }, [position]);
179
- return React__default.createElement(React__default.Fragment, null, renderToContainer(teleport, renderNode()));
170
+ setTransitionName(transition || "".concat(classPrefix, "-slide-").concat(position));
171
+ }, [position, transition]);
172
+ return React__default.createElement(React__default.Fragment, null, renderToContainer(portal, renderNode()));
180
173
  };
181
174
  Popup.defaultProps = defaultProps;
182
175
  Popup.displayName = "NutPopup";