@nutui/nutui-react 0.1.0-beta.1 → 0.1.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 (167) hide show
  1. package/README.md +50 -135
  2. package/dist/esm/ActionSheet/style/index.js +1 -0
  3. package/dist/esm/Address/style/index.js +1 -0
  4. package/dist/esm/AnimatingNumbers/style/index.js +1 -0
  5. package/dist/esm/Avatar/style/index.js +1 -0
  6. package/dist/esm/BackTop/style/index.js +1 -0
  7. package/dist/esm/BackTop.js +1 -3
  8. package/dist/esm/Badge/style/index.js +1 -0
  9. package/dist/esm/Barrage/style/index.js +1 -0
  10. package/dist/esm/Button/style/index.js +1 -0
  11. package/dist/esm/Button.js +110 -4
  12. package/dist/esm/Calendar/style/index.js +1 -0
  13. package/dist/esm/Calendar.js +86 -0
  14. package/dist/esm/CalendarItem/style/index.js +1 -0
  15. package/dist/esm/CalendarItem.js +554 -0
  16. package/dist/esm/Cell/style/index.js +1 -0
  17. package/dist/esm/Cell.js +1 -1
  18. package/dist/esm/CellGroup/style/index.js +1 -0
  19. package/dist/esm/CellGroup.js +33 -0
  20. package/dist/esm/Checkbox/style/index.js +1 -0
  21. package/dist/esm/Checkbox.js +1 -1
  22. package/dist/esm/CheckboxGroup/style/index.js +1 -0
  23. package/dist/esm/CircleProgress/style/index.js +1 -0
  24. package/dist/esm/Col/style/index.js +1 -0
  25. package/dist/esm/Col.js +60 -0
  26. package/dist/esm/Collapse/style/index.js +1 -0
  27. package/dist/esm/CollapseItem/style/index.js +1 -0
  28. package/dist/esm/CollapseItem.js +142 -0
  29. package/dist/esm/Dialog/style/index.js +1 -0
  30. package/dist/esm/Dialog.js +327 -0
  31. package/dist/esm/Divider/style/index.js +1 -0
  32. package/dist/esm/Drag/style/index.js +1 -0
  33. package/dist/esm/Drag.js +83 -140
  34. package/dist/esm/Elevator/style/index.js +1 -0
  35. package/dist/esm/Elevator.js +3 -6
  36. package/dist/esm/FixedNav/style/index.js +1 -0
  37. package/dist/esm/FixedNav.js +2 -2
  38. package/dist/esm/Icon/style/index.js +1 -0
  39. package/dist/esm/Icon.js +70 -4
  40. package/dist/esm/Infiniteloading/style/index.js +1 -0
  41. package/dist/esm/Input/style/index.js +1 -0
  42. package/dist/esm/Input.js +1 -1
  43. package/dist/esm/InputNumber/style/index.js +1 -0
  44. package/dist/esm/Layout/style/index.js +1 -0
  45. package/dist/esm/NavBar/style/index.js +1 -0
  46. package/dist/esm/NavBar.js +1 -1
  47. package/dist/esm/NoticeBar/style/index.js +1 -0
  48. package/dist/esm/NoticeBar.js +1 -1
  49. package/dist/esm/Notify/style/index.js +1 -0
  50. package/dist/esm/Overlay/style/index.js +1 -0
  51. package/dist/esm/Pagination/style/index.js +1 -0
  52. package/dist/esm/Picker/style/index.js +1 -0
  53. package/dist/esm/Picker.js +397 -0
  54. package/dist/esm/Popover/style/index.js +1 -0
  55. package/dist/esm/Popover.js +299 -0
  56. package/dist/esm/Popup/style/index.js +1 -0
  57. package/dist/esm/Popup.js +0 -3
  58. package/dist/esm/Price/style/index.js +1 -0
  59. package/dist/esm/Radio/style/index.js +1 -0
  60. package/dist/esm/Radio.js +2 -3
  61. package/dist/esm/RadioGroup/style/index.js +1 -0
  62. package/dist/esm/Range/style/index.js +1 -0
  63. package/dist/esm/Range.js +1 -4
  64. package/dist/esm/Rate/style/index.js +1 -0
  65. package/dist/esm/Rate.js +1 -1
  66. package/dist/esm/Row/style/index.js +1 -0
  67. package/dist/esm/Row.js +48 -0
  68. package/dist/esm/ShortPassword/style/index.js +1 -0
  69. package/dist/esm/ShortPassword.js +203 -0
  70. package/dist/esm/Signature/style/index.js +1 -0
  71. package/dist/esm/Signature.js +1 -2
  72. package/dist/esm/Step/style/index.js +1 -0
  73. package/dist/esm/Steps/style/index.js +1 -0
  74. package/dist/esm/Swiper/style/index.js +1 -0
  75. package/dist/esm/Swiper.js +517 -0
  76. package/dist/esm/SwiperItem/style/index.js +1 -0
  77. package/dist/esm/SwiperItem.js +64 -0
  78. package/dist/esm/Switch/style/index.js +1 -0
  79. package/dist/esm/Switch.js +85 -0
  80. package/dist/esm/Tabbar/style/index.js +1 -0
  81. package/dist/esm/Tabbar.js +1 -4
  82. package/dist/esm/TabbarItem/style/index.js +1 -0
  83. package/dist/esm/TabbarItem.js +1 -1
  84. package/dist/esm/Tag/style/index.js +1 -0
  85. package/dist/esm/TextArea/style/index.js +1 -0
  86. package/dist/esm/Toast/style/index.js +1 -0
  87. package/dist/esm/Toast.js +294 -7
  88. package/dist/esm/Uploader/style/index.js +1 -0
  89. package/dist/esm/UserContext-b4181162.js +3 -0
  90. package/dist/esm/UserContext-be8097d2.js +3 -0
  91. package/dist/esm/date-649fe493.js +112 -0
  92. package/dist/esm/nutui-react.es.js +28 -15
  93. package/dist/esm/types/src/packages/calendar/calendar.d.ts +14 -0
  94. package/dist/esm/types/src/packages/calendar/index.d.ts +2 -0
  95. package/dist/esm/types/src/packages/calendaritem/calendaritem.d.ts +17 -0
  96. package/dist/esm/types/src/packages/calendaritem/index.d.ts +2 -0
  97. package/dist/esm/types/src/packages/dialog/Confirm.d.ts +7 -0
  98. package/dist/esm/types/src/packages/dialog/Content.d.ts +10 -0
  99. package/dist/esm/types/src/packages/dialog/DialogWrap.d.ts +11 -0
  100. package/dist/esm/types/src/packages/dialog/DialogWrapper.d.ts +8 -0
  101. package/dist/esm/types/src/packages/dialog/Mask.d.ts +3 -0
  102. package/dist/esm/types/src/packages/dialog/config.d.ts +46 -0
  103. package/dist/esm/types/src/packages/dialog/dialog.d.ts +2 -0
  104. package/dist/esm/types/src/packages/dialog/index.d.ts +2 -0
  105. package/dist/esm/types/src/packages/drag/drag.d.ts +1 -1
  106. package/dist/esm/types/src/packages/nutui.react.build.d.ts +29 -16
  107. package/dist/esm/types/src/packages/nutui.react.d.ts +29 -16
  108. package/dist/esm/types/src/packages/picker/index.d.ts +2 -0
  109. package/dist/esm/types/src/packages/picker/picker.d.ts +19 -0
  110. package/dist/esm/types/src/packages/picker/pickerSlot.d.ts +10 -0
  111. package/dist/esm/types/src/packages/popover/Trigger.d.ts +21 -0
  112. package/dist/esm/types/src/packages/popover/index.d.ts +2 -0
  113. package/dist/esm/types/src/packages/popover/popover.d.ts +13 -0
  114. package/dist/esm/types/src/packages/row/UserContext.d.ts +1 -0
  115. package/dist/esm/types/src/packages/shortpassword/index.d.ts +2 -0
  116. package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +21 -0
  117. package/dist/esm/types/src/packages/steps/UserContext.d.ts +1 -0
  118. package/dist/esm/types/src/packages/swiper/UserContext.d.ts +2 -0
  119. package/dist/esm/types/src/packages/swiper/index.d.ts +2 -0
  120. package/dist/esm/types/src/packages/swiper/swiper.d.ts +26 -0
  121. package/dist/esm/types/src/packages/swiperitem/index.d.ts +2 -0
  122. package/dist/esm/types/src/packages/swiperitem/swiperitem.d.ts +7 -0
  123. package/dist/nutui.react.es.js +10683 -4344
  124. package/dist/nutui.react.umd.js +26 -17
  125. package/dist/packages/actionsheet/actionsheet.scss +1 -0
  126. package/dist/packages/address/address.scss +3 -0
  127. package/dist/packages/animatingnumbers/animatingnumbers.scss +1 -1
  128. package/dist/packages/backtop/backtop.scss +1 -0
  129. package/dist/packages/button/button.scss +1 -1
  130. package/dist/packages/calendar/calendar.scss +200 -0
  131. package/dist/packages/calendaritem/calendaritem.scss +191 -0
  132. package/dist/packages/cell/cell.scss +2 -0
  133. package/dist/packages/checkbox/checkbox.scss +1 -1
  134. package/dist/packages/collapse/collapse.scss +1 -1
  135. package/dist/packages/collapseitem/collapseitem.scss +2 -0
  136. package/dist/packages/dialog/dialog.scss +129 -0
  137. package/dist/packages/drag/drag.scss +2 -1
  138. package/dist/packages/fixednav/fixednav.scss +5 -0
  139. package/dist/packages/icon/icon.scss +1 -1
  140. package/dist/packages/infiniteloading/infiniteloading.scss +1 -0
  141. package/dist/packages/input/input.scss +1 -0
  142. package/dist/packages/inputnumber/inputnumber.scss +1 -0
  143. package/dist/packages/navbar/navbar.scss +2 -0
  144. package/dist/packages/noticebar/noticebar.scss +2 -0
  145. package/dist/packages/picker/picker.scss +104 -0
  146. package/dist/packages/popover/popover.scss +142 -0
  147. package/dist/packages/popup/popup.scss +2 -0
  148. package/dist/packages/radio/radio.scss +2 -0
  149. package/dist/packages/range/range.scss +1 -0
  150. package/dist/packages/rate/rate.scss +2 -0
  151. package/dist/packages/shortpassword/shortpassword.scss +115 -0
  152. package/dist/packages/signature/signature.scss +1 -0
  153. package/dist/packages/step/step.scss +1 -0
  154. package/dist/packages/swiper/swiper.scss +45 -0
  155. package/dist/packages/swiperitem/swiperitem.scss +3 -0
  156. package/dist/packages/tabbaritem/{tabbarItem.scss → tabbaritem.scss} +2 -0
  157. package/dist/packages/tag/tag.scss +1 -0
  158. package/dist/packages/toast/toast.scss +2 -0
  159. package/dist/packages/uploader/uploader.scss +2 -0
  160. package/dist/style.css +1 -1
  161. package/dist/style.es.js +1 -1
  162. package/dist/styles/themes/default.scss +26 -16
  163. package/dist/styles/variables.scss +25 -0
  164. package/package.json +16 -5
  165. package/dist/esm/button-345fb015.js +0 -110
  166. package/dist/esm/icon-63c0d58f.js +0 -70
  167. package/dist/esm/toast-420b65b7.js +0 -294
@@ -0,0 +1 @@
1
+ import '../../../packages/collapse/collapse.scss'
@@ -0,0 +1 @@
1
+ import '../../../packages/collapseitem/collapseitem.scss'
@@ -0,0 +1,142 @@
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, useCallback } from 'react';
9
+ import { c as cn } from './bem-893ad28d.js';
10
+ import Icon from './Icon.js';
11
+ import '@bem-react/classname';
12
+ var defaultProps = {
13
+ title: '',
14
+ name: '',
15
+ isOpen: false,
16
+ icon: '',
17
+ iconSize: '',
18
+ iconColor: '',
19
+ disabled: false,
20
+ rotate: 180,
21
+ subTitle: '',
22
+ titleIcon: '',
23
+ titleIconColor: '',
24
+ titleIconPosition: '',
25
+ titleIconSize: ''
26
+ };
27
+
28
+ var CollapseItem = function CollapseItem(props) {
29
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
30
+ children = _defaultProps$props.children,
31
+ title = _defaultProps$props.title,
32
+ isOpen = _defaultProps$props.isOpen,
33
+ onToggle = _defaultProps$props.onToggle,
34
+ name = _defaultProps$props.name,
35
+ disabled = _defaultProps$props.disabled,
36
+ icon = _defaultProps$props.icon,
37
+ rotate = _defaultProps$props.rotate,
38
+ subTitle = _defaultProps$props.subTitle,
39
+ titleIcon = _defaultProps$props.titleIcon,
40
+ titleIconColor = _defaultProps$props.titleIconColor,
41
+ titleIconPosition = _defaultProps$props.titleIconPosition,
42
+ titleIconSize = _defaultProps$props.titleIconSize,
43
+ iconSize = _defaultProps$props.iconSize,
44
+ iconColor = _defaultProps$props.iconColor;
45
+
46
+ var _useState = useState(-1),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ domHeight = _useState2[0],
49
+ setDomHeight = _useState2[1]; //保存content的高度
50
+
51
+
52
+ var _useState3 = useState('auto'),
53
+ _useState4 = _slicedToArray(_useState3, 2),
54
+ currHeight = _useState4[0],
55
+ setCurrHeight = _useState4[1]; //设置content的高度
56
+
57
+
58
+ var _useState5 = useState(false),
59
+ _useState6 = _slicedToArray(_useState5, 2),
60
+ update = _useState6[0],
61
+ setUpdate = _useState6[1];
62
+
63
+ var _useState7 = useState({
64
+ transform: 'translateY(-50%)'
65
+ }),
66
+ _useState8 = _slicedToArray(_useState7, 2),
67
+ iconStyle = _useState8[0],
68
+ setIconStyle = _useState8[1];
69
+
70
+ var colBem = cn('collapse-item');
71
+ useEffect(function () {
72
+ setCurrHeight('auto');
73
+ setUpdate(!update);
74
+ }, [children]);
75
+ var measuredRef = useCallback(function (node) {
76
+ if (node !== null) {
77
+ setDomHeight(node.getBoundingClientRect().height);
78
+ }
79
+ }, [children, update]);
80
+ useEffect(function () {
81
+ // setCurrHeight('auto')
82
+ //一开始content都有高度,在这里根据isOpen,改变其高度
83
+ if (domHeight !== -1) {
84
+ isOpen ? setCurrHeight(domHeight + 'px') : setCurrHeight('0px');
85
+ }
86
+
87
+ var newIconStyle = isOpen ? {
88
+ transform: "translateY(-50%) rotate(".concat(rotate, "deg)")
89
+ } : {
90
+ transform: 'translateY(-50%)'
91
+ };
92
+ setIconStyle(newIconStyle);
93
+ }, [isOpen, domHeight]);
94
+ return React__default.createElement("div", {
95
+ className: colBem()
96
+ }, React__default.createElement("div", {
97
+ className: colBem('header', {
98
+ disabled: disabled
99
+ }),
100
+ onClick: function onClick() {
101
+ if (disabled) return;
102
+ onToggle && onToggle(isOpen, name);
103
+ }
104
+ }, React__default.createElement("div", {
105
+ className: colBem('title')
106
+ }, titleIcon && titleIconPosition == 'left' && React__default.createElement("b", {
107
+ className: colBem('title-icon-left')
108
+ }, React__default.createElement(Icon, {
109
+ name: titleIcon,
110
+ size: titleIconSize,
111
+ color: disabled ? '#C2C2C2' : titleIconColor
112
+ })), title, titleIcon && titleIconPosition == 'right' && React__default.createElement("b", {
113
+ className: colBem('title-icon-right')
114
+ }, React__default.createElement(Icon, {
115
+ name: titleIcon,
116
+ size: titleIconSize,
117
+ color: disabled ? '#C2C2C2' : titleIconColor
118
+ }))), React__default.createElement("div", {
119
+ className: colBem('sub-title')
120
+ }, subTitle), React__default.createElement("div", {
121
+ className: colBem('icon-box')
122
+ }, React__default.createElement("div", {
123
+ className: colBem('icon'),
124
+ style: iconStyle
125
+ }, React__default.createElement(Icon, {
126
+ name: icon,
127
+ size: iconSize,
128
+ color: disabled ? '#C2C2C2' : iconColor
129
+ })))), React__default.createElement("div", {
130
+ className: colBem('content'),
131
+ style: {
132
+ height: currHeight
133
+ },
134
+ ref: measuredRef
135
+ }, React__default.createElement("div", {
136
+ className: colBem('content-text')
137
+ }, children)));
138
+ };
139
+
140
+ CollapseItem.defaultProps = defaultProps;
141
+ CollapseItem.displayName = 'NutCollapseItem';
142
+ export { CollapseItem as default };
@@ -0,0 +1 @@
1
+ import '../../../packages/dialog/dialog.scss'
@@ -0,0 +1,327 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ var _excluded = ["visible", "footer", "noOkBtn", "noCancelBtn", "okBtnDisabled", "cancelAutoClose"];
4
+
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; }
6
+
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; }
8
+
9
+ import * as React from 'react';
10
+ import React__default, { forwardRef } from 'react';
11
+ import classNames from 'classnames';
12
+ import Button from './Button.js';
13
+ import { CSSTransition } from 'react-transition-group';
14
+ import ReactDOM__default from 'react-dom';
15
+
16
+ var Content = function Content(props) {
17
+ var visible = props.visible,
18
+ title = props.title,
19
+ footer = props.footer,
20
+ textAlign = props.textAlign,
21
+ footerDirection = props.footerDirection,
22
+ children = props.children;
23
+ var headerNode;
24
+
25
+ if (title) {
26
+ headerNode = React__default.createElement("div", {
27
+ className: "nut-dialog__header"
28
+ }, title);
29
+ }
30
+
31
+ var footerNode;
32
+
33
+ if (footer) {
34
+ footerNode = React__default.createElement("div", {
35
+ className: classNames('nut-dialog__footer', _defineProperty({}, footerDirection, footerDirection))
36
+ }, footer);
37
+ }
38
+
39
+ return React__default.createElement("div", {
40
+ className: "nut-dialog__outer"
41
+ }, React__default.createElement("div", {
42
+ className: "nut-dialog",
43
+ style: {
44
+ display: visible ? 'flex' : 'none'
45
+ }
46
+ }, headerNode, React__default.createElement("div", {
47
+ className: "nut-dialog__content",
48
+ style: {
49
+ textAlign: textAlign
50
+ }
51
+ }, React__default.createElement("div", null, children)), footerNode));
52
+ };
53
+
54
+ Content.displayName = 'NutContent';
55
+
56
+ function Mask(props) {
57
+ return React.createElement("div", {
58
+ className: "nut-dialog__mask"
59
+ });
60
+ }
61
+
62
+ var DialogWrap = function DialogWrap(props) {
63
+ var className = props.className,
64
+ style = props.style,
65
+ visible = props.visible,
66
+ mask = props.mask,
67
+ closeOnClickOverlay = props.closeOnClickOverlay,
68
+ lockScroll = props.lockScroll,
69
+ onClosed = props.onClosed,
70
+ onCancel = props.onCancel;
71
+
72
+ var handleClick = function handleClick(e) {
73
+ if (closeOnClickOverlay && visible && e.target === e.currentTarget) {
74
+ onClosed === null || onClosed === void 0 ? void 0 : onClosed();
75
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
76
+ lockScroll && document.body.classList.remove('nut-overflow-hidden');
77
+ }
78
+ };
79
+
80
+ var wrapStyle = _objectSpread(_objectSpread({}, style), {}, {
81
+ display: visible ? 'block' : 'none'
82
+ });
83
+
84
+ if (lockScroll && visible) {
85
+ document.body.classList.add('nut-overflow-hidden');
86
+ }
87
+
88
+ return React__default.createElement(React__default.Fragment, null, mask ? React__default.createElement(CSSTransition, {
89
+ "in": visible,
90
+ timeout: 300,
91
+ classNames: "fadeDialog",
92
+ unmountOnExit: true,
93
+ appear: true
94
+ }, React__default.createElement(Mask, null)) : null, React__default.createElement("div", {
95
+ className: classNames('nut-dialog__wrap', className),
96
+ onClick: handleClick,
97
+ style: wrapStyle
98
+ }, React__default.createElement(Content, _objectSpread(_objectSpread({}, props), {}, {
99
+ visible: visible
100
+ }))));
101
+ };
102
+
103
+ DialogWrap.displayName = 'NutDialogWrap';
104
+
105
+ var DialogWrapper = function DialogWrapper(props) {
106
+ var visible = props.visible;
107
+ return React__default.createElement("div", {
108
+ style: {
109
+ display: visible ? 'block' : 'none'
110
+ }
111
+ }, React__default.createElement(DialogWrap, _objectSpread({}, props)));
112
+ };
113
+
114
+ DialogWrapper.displayName = 'NutDialogWrapper';
115
+
116
+ function ConfirmDialog(props) {
117
+ return React__default.createElement(Dialog, _objectSpread({}, props), props.content);
118
+ } // 如果是消息提示型弹出框,那么只有确认按钮
119
+
120
+
121
+ var normalizeConfig = function normalizeConfig(_config) {
122
+ if (_config.isNotice) {
123
+ var icon = _config.icon;
124
+
125
+ if (!icon && icon !== null) {
126
+ switch (_config.noticeType) {
127
+ case 'alert':
128
+ icon = '';
129
+ break;
130
+ }
131
+ }
132
+
133
+ _config.noCancelBtn = true;
134
+ }
135
+
136
+ return _config;
137
+ };
138
+
139
+ function confirm(config, renderFunc) {
140
+ var div = document.createElement('div');
141
+ document.body.appendChild(div);
142
+
143
+ function render(props) {
144
+ ReactDOM__default.render(React__default.createElement(ConfirmDialog, _objectSpread(_objectSpread({}, props), {}, {
145
+ onCancel: onCancel
146
+ })), div);
147
+ }
148
+
149
+ var renderFunction = renderFunc || render;
150
+
151
+ var dialogConfig = _objectSpread(_objectSpread({}, config), {}, {
152
+ visible: false
153
+ });
154
+
155
+ var onOk = function onOk() {
156
+ var ret;
157
+
158
+ var _onOk = config.onOk || config.onConfirm;
159
+
160
+ if (_onOk) {
161
+ ret = _onOk();
162
+ }
163
+
164
+ if (ret && ret.then) {
165
+ renderFunction(dialogConfig);
166
+ ret.then(function () {
167
+ onCancel(true);
168
+ }, function (e) {
169
+ console.error(e);
170
+ renderFunction(dialogConfig);
171
+ });
172
+ }
173
+
174
+ if (!ret) {
175
+ onCancel(true);
176
+ }
177
+ }; // 如果是promise,那么处理loading和加载完成关闭
178
+
179
+
180
+ dialogConfig.onOk = onOk;
181
+ dialogConfig = normalizeConfig(dialogConfig);
182
+ dialogConfig.visible = true;
183
+ renderFunction(dialogConfig);
184
+
185
+ function destroy() {
186
+ var unmountEle = ReactDOM__default.unmountComponentAtNode(div);
187
+
188
+ if (unmountEle && div.parentNode) {
189
+ div.parentNode.removeChild(div);
190
+ }
191
+ }
192
+
193
+ function onCancel(isOnOk) {
194
+ !isOnOk && config.onCancel && config.onCancel();
195
+ dialogConfig.visible = false;
196
+
197
+ dialogConfig.onClosed = function () {
198
+ config.onClosed && config.onClosed();
199
+ destroy();
200
+ };
201
+
202
+ renderFunction(dialogConfig);
203
+ }
204
+
205
+ function update(newConfig) {
206
+ dialogConfig = _objectSpread(_objectSpread({}, dialogConfig), {}, {
207
+ title: config.title
208
+ }, newConfig);
209
+ dialogConfig = normalizeConfig(dialogConfig);
210
+ renderFunction(dialogConfig);
211
+ }
212
+
213
+ function close() {
214
+ dialogConfig.visible = false;
215
+
216
+ dialogConfig.onClosed = function () {
217
+ config.onClosed && config.onClosed();
218
+ destroy();
219
+ };
220
+
221
+ renderFunction(dialogConfig);
222
+ }
223
+
224
+ return {
225
+ close: close,
226
+ update: update
227
+ };
228
+ }
229
+
230
+ var defaultProps = {
231
+ okText: '确定',
232
+ cancelText: '取消',
233
+ mask: true,
234
+ closeOnClickOverlay: true,
235
+ noFooter: false,
236
+ noOkBtn: false,
237
+ noCancelBtn: false,
238
+ okBtnDisabled: false,
239
+ cancelAutoClose: true,
240
+ textAlign: 'center',
241
+ footerDirection: 'horizontal',
242
+ lockScroll: false
243
+ };
244
+
245
+ var BaseDialog = function BaseDialog(props, ref) {
246
+ var visible = props.visible,
247
+ footer = props.footer,
248
+ noOkBtn = props.noOkBtn,
249
+ noCancelBtn = props.noCancelBtn,
250
+ okBtnDisabled = props.okBtnDisabled,
251
+ cancelAutoClose = props.cancelAutoClose,
252
+ restProps = _objectWithoutProperties(props, _excluded);
253
+
254
+ var renderFooter = function renderFooter() {
255
+ var okText = props.okText,
256
+ cancelText = props.cancelText,
257
+ footer = props.footer,
258
+ lockScroll = props.lockScroll,
259
+ onClosed = props.onClosed,
260
+ onCancel = props.onCancel,
261
+ onOk = props.onOk;
262
+ if (footer === null) return;
263
+
264
+ var handleCancel = function handleCancel(e) {
265
+ if (!cancelAutoClose) return;
266
+ onClosed === null || onClosed === void 0 ? void 0 : onClosed();
267
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
268
+
269
+ if (lockScroll && visible) {
270
+ document.body.classList.remove('nut-overflow-hidden');
271
+ }
272
+ };
273
+
274
+ var handleOk = function handleOk(e) {
275
+ onClosed === null || onClosed === void 0 ? void 0 : onClosed();
276
+ onOk === null || onOk === void 0 ? void 0 : onOk(e);
277
+
278
+ if (lockScroll && visible) {
279
+ document.body.classList.remove('nut-overflow-hidden');
280
+ }
281
+ };
282
+
283
+ var footerContent = footer || React__default.createElement(React__default.Fragment, null, !noCancelBtn && React__default.createElement(Button, {
284
+ size: "small",
285
+ plain: true,
286
+ type: "primary",
287
+ className: "nut-dialog__footer-cancel",
288
+ onClick: function onClick() {
289
+ return handleCancel();
290
+ }
291
+ }, cancelText), !noOkBtn && React__default.createElement(Button, {
292
+ size: "small",
293
+ type: "primary",
294
+ className: classNames('nut-dialog__footer-ok', {
295
+ disabled: okBtnDisabled
296
+ }),
297
+ disabled: okBtnDisabled,
298
+ onClick: function onClick() {
299
+ return handleOk();
300
+ }
301
+ }, okText));
302
+ return footerContent;
303
+ };
304
+
305
+ return React__default.createElement(DialogWrapper, _objectSpread(_objectSpread({}, restProps), {}, {
306
+ visible: visible,
307
+ footer: renderFooter()
308
+ }));
309
+ };
310
+
311
+ var Dialog = forwardRef(BaseDialog);
312
+
313
+ Dialog.confirm = function (props) {
314
+ return confirm(props);
315
+ };
316
+
317
+ ['alert'].forEach(function (type) {
318
+ Dialog[type] = function (props) {
319
+ return confirm(_objectSpread(_objectSpread({}, props), {}, {
320
+ isNotice: false,
321
+ noticeType: type
322
+ }));
323
+ };
324
+ });
325
+ Dialog.defaultProps = defaultProps;
326
+ Dialog.displayName = 'NutDialog';
327
+ export { Dialog as default };
@@ -0,0 +1 @@
1
+ import '../../../packages/divider/divider.scss'
@@ -0,0 +1 @@
1
+ import '../../../packages/drag/drag.scss'