@nutui/nutui-react 2.6.3 → 2.6.5

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 (98) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/esm/ActionSheet.js +0 -1
  3. package/dist/esm/Address.js +0 -1
  4. package/dist/esm/Animate.js +0 -1
  5. package/dist/esm/Avatar.js +2 -3
  6. package/dist/esm/AvatarCropper.js +0 -1
  7. package/dist/esm/AvatarGroup.js +0 -1
  8. package/dist/esm/BackTop.js +0 -1
  9. package/dist/esm/Barrage.js +0 -1
  10. package/dist/esm/Calendar.js +0 -1
  11. package/dist/esm/CalendarCard.js +0 -1
  12. package/dist/esm/CalendarItem.js +3 -4
  13. package/dist/esm/Card.js +0 -1
  14. package/dist/esm/Cell.js +0 -1
  15. package/dist/esm/CellGroup.js +0 -1
  16. package/dist/esm/CircleProgress.js +3 -5
  17. package/dist/esm/Col.js +0 -1
  18. package/dist/esm/Collapse.js +0 -1
  19. package/dist/esm/CountDown.js +0 -1
  20. package/dist/esm/Divider.js +0 -1
  21. package/dist/esm/Drag.js +1 -2
  22. package/dist/esm/Elevator.js +0 -1
  23. package/dist/esm/Ellipsis.js +0 -1
  24. package/dist/esm/Empty.js +0 -1
  25. package/dist/esm/FixedNav.js +0 -1
  26. package/dist/esm/Form.js +0 -1
  27. package/dist/esm/Grid.js +0 -1
  28. package/dist/esm/Image.js +2 -3
  29. package/dist/esm/ImagePreview.js +8 -10
  30. package/dist/esm/Indicator.js +0 -1
  31. package/dist/esm/InfiniteLoading.js +0 -1
  32. package/dist/esm/Input.js +6 -9
  33. package/dist/esm/InputNumber.js +0 -1
  34. package/dist/esm/Layout.js +0 -1
  35. package/dist/esm/Loading.js +0 -1
  36. package/dist/esm/Menu/style/style.css +1 -1
  37. package/dist/esm/Menu.js +0 -1
  38. package/dist/esm/MenuItem/style/style.css +1 -1
  39. package/dist/esm/NavBar.js +0 -1
  40. package/dist/esm/NoticeBar.js +0 -1
  41. package/dist/esm/NumberKeyboard.js +1 -2
  42. package/dist/esm/Pagination.js +0 -1
  43. package/dist/esm/Popover.js +4 -8
  44. package/dist/esm/Price.js +0 -1
  45. package/dist/esm/Progress.js +0 -1
  46. package/dist/esm/Range.js +0 -1
  47. package/dist/esm/Rate.js +0 -1
  48. package/dist/esm/Row.js +0 -1
  49. package/dist/esm/SearchBar.js +6 -7
  50. package/dist/esm/ShortPassword.js +2 -2
  51. package/dist/esm/SideNavBar.js +4 -5
  52. package/dist/esm/Signature.js +0 -1
  53. package/dist/esm/Skeleton.js +0 -1
  54. package/dist/esm/Space.js +0 -1
  55. package/dist/esm/Step.js +0 -1
  56. package/dist/esm/Steps.js +1 -2
  57. package/dist/esm/Sticky.js +0 -1
  58. package/dist/esm/Switch.js +0 -1
  59. package/dist/esm/Tabbar.js +0 -1
  60. package/dist/esm/Table/style/style.css +1 -1
  61. package/dist/esm/Table.js +1 -2
  62. package/dist/esm/Tag.js +0 -1
  63. package/dist/esm/TextArea.js +0 -1
  64. package/dist/esm/TimeDetail.js +0 -1
  65. package/dist/esm/TimeSelect.js +0 -1
  66. package/dist/esm/Tour.js +0 -1
  67. package/dist/esm/TrendArrow.js +0 -1
  68. package/dist/esm/Uploader.js +2 -3
  69. package/dist/esm/Video.js +0 -1
  70. package/dist/esm/VirtualList.js +0 -1
  71. package/dist/esm/WaterMark.js +0 -1
  72. package/dist/esm/badge2.js +0 -1
  73. package/dist/esm/cascader2.js +4 -5
  74. package/dist/esm/checkbox2.js +2 -3
  75. package/dist/esm/collapseitem2.js +0 -1
  76. package/dist/esm/griditem2.js +0 -1
  77. package/dist/esm/menuitem2.js +0 -1
  78. package/dist/esm/overlay2.js +1 -2
  79. package/dist/esm/popup2.js +0 -1
  80. package/dist/esm/safearea2.js +1 -0
  81. package/dist/esm/tabs2.js +5 -6
  82. package/dist/locales/base.js +1 -1
  83. package/dist/locales/en-US.js +1 -1
  84. package/dist/locales/id-ID.js +1 -1
  85. package/dist/locales/tr-TR.js +1 -1
  86. package/dist/locales/zh-CN.js +1 -1
  87. package/dist/locales/zh-TW.js +1 -1
  88. package/dist/locales/zh-UG.js +1 -1
  89. package/dist/nutui.react.es.js +152 -230
  90. package/dist/nutui.react.umd.js +152 -230
  91. package/dist/packages/menu/menu.scss +1 -0
  92. package/dist/packages/menuitem/menuitem.scss +1 -0
  93. package/dist/packages/table/table.scss +2 -1
  94. package/dist/style.css +1 -1
  95. package/dist/style.mjs +1 -1
  96. package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +5 -1
  97. package/package.json +1 -1
  98. package/dist/types/utils/use-lock-fn.d.ts +0 -2
@@ -50,8 +50,7 @@ const Popover = (props) => {
50
50
  targetSet = [popoverRef.current, popoverContentRef.current];
51
51
  }
52
52
  useClickAway(() => {
53
- var _a2;
54
- (_a2 = props.onClick) === null || _a2 === void 0 ? void 0 : _a2.call(props);
53
+ onClick === null || onClick === void 0 ? void 0 : onClick();
55
54
  onClose === null || onClose === void 0 ? void 0 : onClose();
56
55
  }, targetSet, "touchstart", true, visible, closeOnOutsideClick);
57
56
  const scrollableParents = useMemo(() => {
@@ -129,7 +128,7 @@ const Popover = (props) => {
129
128
  const direction = location.split("-")[0];
130
129
  const skew = location.split("-")[1];
131
130
  const base = 16;
132
- if (props.arrowOffset !== 0) {
131
+ if (arrowOffset !== 0) {
133
132
  const dir = rtl ? "right" : "left";
134
133
  const dir2 = rtl ? "left" : "right";
135
134
  if (["bottom", "top"].includes(direction)) {
@@ -158,12 +157,11 @@ const Popover = (props) => {
158
157
  return styles;
159
158
  };
160
159
  const handleSelect = (item, index) => {
161
- var _a2;
162
160
  if (!item.disabled) {
163
161
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(item, index);
164
162
  }
165
163
  if (closeOnActionClick) {
166
- (_a2 = props.onClick) === null || _a2 === void 0 ? void 0 : _a2.call(props);
164
+ onClick === null || onClick === void 0 ? void 0 : onClick();
167
165
  onClose === null || onClose === void 0 ? void 0 : onClose();
168
166
  }
169
167
  };
@@ -171,8 +169,7 @@ const Popover = (props) => {
171
169
  React__default.Fragment,
172
170
  null,
173
171
  !targetId && React__default.createElement("div", { className: "nut-popover-wrapper", ref: popoverRef, onClick: () => {
174
- var _a2;
175
- (_a2 = props.onClick) === null || _a2 === void 0 ? void 0 : _a2.call(props);
172
+ onClick === null || onClick === void 0 ? void 0 : onClick();
176
173
  if (!visible) {
177
174
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
178
175
  } else {
@@ -210,7 +207,6 @@ const Popover = (props) => {
210
207
  ), document.body)
211
208
  );
212
209
  };
213
- Popover.defaultProps = defaultProps;
214
210
  Popover.displayName = "NutPopover";
215
211
  export {
216
212
  Popover as default
package/dist/esm/Price.js CHANGED
@@ -53,7 +53,6 @@ const Price = (props) => {
53
53
  symbol && position === "after" ? renderSymbol() : null
54
54
  );
55
55
  };
56
- Price.defaultProps = defaultProps;
57
56
  Price.displayName = "NutPrice";
58
57
  export {
59
58
  Price as default
@@ -84,7 +84,6 @@ const Progress = (props) => {
84
84
  )
85
85
  );
86
86
  };
87
- Progress.defaultProps = defaultProps;
88
87
  Progress.displayName = "NutProgress";
89
88
  export {
90
89
  Progress as default
package/dist/esm/Range.js CHANGED
@@ -258,7 +258,6 @@ const Range = (props) => {
258
258
  maxDescription !== null && React__default.createElement("div", { className: "max" }, maxDescription || max)
259
259
  );
260
260
  };
261
- Range.defaultProps = defaultProps;
262
261
  Range.displayName = "NutRange";
263
262
  export {
264
263
  Range as default
package/dist/esm/Rate.js CHANGED
@@ -137,7 +137,6 @@ const Rate = (props) => {
137
137
  );
138
138
  }));
139
139
  };
140
- Rate.defaultProps = defaultProps;
141
140
  Rate.displayName = "NutRate";
142
141
  export {
143
142
  Rate as default
package/dist/esm/Row.js CHANGED
@@ -25,7 +25,6 @@ const Row = (props) => {
25
25
  }
26
26
  }, children));
27
27
  };
28
- Row.defaultProps = defaultProps;
29
28
  Row.displayName = "NutRow";
30
29
  export {
31
30
  Row as default
@@ -7,8 +7,8 @@ const SearchBar = (props) => {
7
7
  const classPrefix = "nut-searchbar";
8
8
  const { locale } = useConfig();
9
9
  const searchRef = useRef(null);
10
- const [value, setValue] = useState(() => props.value);
11
- const { placeholder, shape, className, disabled, maxLength, clearable, readOnly, autoFocus, backable, right, left, leftIn, rightIn, onChange, onFocus, onBlur, onClear, onSearch, onInputClick } = Object.assign(Object.assign({}, defaultProps), props);
10
+ const { value: outerValue, style, placeholder, shape, className, disabled, maxLength, clearable, readOnly, autoFocus, backable, right, left, leftIn, rightIn, onChange, onFocus, onBlur, onClear, onSearch, onInputClick } = Object.assign(Object.assign({}, defaultProps), props);
11
+ const [value, setValue] = useState(() => outerValue);
12
12
  const forceFocus = () => {
13
13
  const searchSelf = searchRef.current;
14
14
  searchSelf && searchSelf.focus();
@@ -29,13 +29,13 @@ const SearchBar = (props) => {
29
29
  onBlur && (onBlur === null || onBlur === void 0 ? void 0 : onBlur(value2, event));
30
30
  };
31
31
  useEffect(() => {
32
- setValue(props.value);
33
- }, [props.value]);
32
+ setValue(outerValue);
33
+ }, [outerValue]);
34
34
  useEffect(() => {
35
35
  autoFocus && forceFocus();
36
36
  }, [autoFocus]);
37
37
  const renderField = () => {
38
- return React__default.createElement("input", { className: `${classPrefix}-input ${clearable ? `${classPrefix}-input-clear` : ""}`, ref: searchRef, style: Object.assign({}, props.style), value: value || "", placeholder: placeholder || locale.placeholder, disabled, readOnly, maxLength, onKeyDown: onKeydown, onChange: (e) => change(e), onFocus: (e) => focus(e), onBlur: (e) => blur(e), onClick: (e) => clickInput(e) });
38
+ return React__default.createElement("input", { className: `${classPrefix}-input ${clearable ? `${classPrefix}-input-clear` : ""}`, ref: searchRef, style, value: value || "", placeholder: placeholder || locale.placeholder, disabled, readOnly, maxLength, onKeyDown: onKeydown, onChange: (e) => change(e), onFocus: (e) => focus(e), onBlur: (e) => blur(e), onClick: (e) => clickInput(e) });
39
39
  };
40
40
  const clickInput = (e) => {
41
41
  onInputClick && onInputClick(e);
@@ -86,7 +86,7 @@ const SearchBar = (props) => {
86
86
  };
87
87
  return React__default.createElement(
88
88
  "div",
89
- { className: `${classPrefix} ${disabled ? `${classPrefix}-disabled` : ""} ${className || ""}`, style: Object.assign({}, props.style) },
89
+ { className: `${classPrefix} ${disabled ? `${classPrefix}-disabled` : ""} ${className || ""}`, style },
90
90
  renderLeft(),
91
91
  React__default.createElement(
92
92
  "div",
@@ -99,7 +99,6 @@ const SearchBar = (props) => {
99
99
  renderRight()
100
100
  );
101
101
  };
102
- SearchBar.defaultProps = defaultProps;
103
102
  SearchBar.displayName = "NutSearchBar";
104
103
  export {
105
104
  SearchBar as default
@@ -9,7 +9,7 @@ import { u as usePropsValue } from "./use-props-value.js";
9
9
  const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { value: "", visible: false, plain: false, hideFooter: true, length: 6, autoFocus: false });
10
10
  const InternalShortPassword = (props, ref) => {
11
11
  const { locale } = useConfig();
12
- const _a = Object.assign(Object.assign({}, defaultProps), props), { title, description, tips, visible: deleteVisible, value, error, hideFooter, length, plain, style, className, closeable, autoFocus, onFocus, onChange, onConfirm, onTips, onCancel, onClose, onComplete, onOverlayClick, onCloseIconClick } = _a, rest = __rest(_a, ["title", "description", "tips", "visible", "value", "error", "hideFooter", "length", "plain", "style", "className", "closeable", "autoFocus", "onFocus", "onChange", "onConfirm", "onTips", "onCancel", "onClose", "onComplete", "onOverlayClick", "onCloseIconClick"]);
12
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { title, description, tips, visible: outerVisible, value, error, hideFooter, length, plain, style, className, closeable, autoFocus, onFocus, onChange, onConfirm, onTips, onCancel, onClose, onComplete, onOverlayClick, onCloseIconClick } = _a, rest = __rest(_a, ["title", "description", "tips", "visible", "value", "error", "hideFooter", "length", "plain", "style", "className", "closeable", "autoFocus", "onFocus", "onChange", "onConfirm", "onTips", "onCancel", "onClose", "onComplete", "onOverlayClick", "onCloseIconClick"]);
13
13
  const classPrefix = "nut-shortpassword";
14
14
  const comLen = useMemo(() => {
15
15
  return Math.min(Math.max(4, length || 4), 6);
@@ -18,7 +18,7 @@ const InternalShortPassword = (props, ref) => {
18
18
  return val.slice(0, comLen);
19
19
  };
20
20
  const [visible, setVisible] = usePropsValue({
21
- value: props.visible,
21
+ value: outerVisible,
22
22
  defaultValue: false,
23
23
  finalValue: false
24
24
  });
@@ -7,8 +7,8 @@ import { C as ComponentDefaults } from "./typings.js";
7
7
  const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { position: "left", width: "80%" });
8
8
  const SideNavBar = (props) => {
9
9
  const classPrefix = "nut-sidenavbar";
10
- const _a = Object.assign(Object.assign({}, defaultProps), props), { title, visible, width, position, children, className, onClose } = _a, rest = __rest(_a, ["title", "visible", "width", "position", "children", "className", "onClose"]);
11
- const indent = props.indent ? Number(props.indent) : 20;
10
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { title, visible, width, position, children, className, onClose, indent } = _a, rest = __rest(_a, ["title", "visible", "width", "position", "children", "className", "onClose", "indent"]);
11
+ const innerIndent = indent ? Number(indent) : 20;
12
12
  return React__default.createElement(
13
13
  Popup__default,
14
14
  { visible, style: { width, height: "100%" }, position, onClose },
@@ -23,14 +23,14 @@ const SideNavBar = (props) => {
23
23
  { className: `${classPrefix}-list sidenavbar-show`, onClick: handleClick },
24
24
  React__default.createElement(
25
25
  "div",
26
- { className: `${classPrefix}-title ${classPrefix}-border-bt`, style: { paddingLeft: `${indent}px` } },
26
+ { className: `${classPrefix}-title ${classPrefix}-border-bt`, style: { paddingLeft: `${innerIndent}px` } },
27
27
  title,
28
28
  " ",
29
29
  React__default.createElement("i", { className: "arrow-icon arrow-down" })
30
30
  ),
31
31
  React__default.createElement(
32
32
  OffsetContext.Provider,
33
- { value: indent },
33
+ { value: innerIndent },
34
34
  React__default.createElement("div", { className: `${classPrefix}-content` }, children)
35
35
  )
36
36
  )
@@ -38,7 +38,6 @@ const SideNavBar = (props) => {
38
38
  )
39
39
  );
40
40
  };
41
- SideNavBar.defaultProps = defaultProps;
42
41
  SideNavBar.displayName = "NutSideNavBar";
43
42
  export {
44
43
  SideNavBar as default
@@ -113,7 +113,6 @@ const InternalSignature = (props, ref) => {
113
113
  );
114
114
  };
115
115
  const Signature = React__default.forwardRef(InternalSignature);
116
- Signature.defaultProps = defaultProps;
117
116
  Signature.displayName = "NutSignature";
118
117
  export {
119
118
  Signature as default
@@ -46,7 +46,6 @@ const Skeleton = (props) => {
46
46
  )
47
47
  ));
48
48
  };
49
- Skeleton.defaultProps = defaultProps;
50
49
  Skeleton.displayName = "NutSkeleton";
51
50
  export {
52
51
  Skeleton as default
package/dist/esm/Space.js CHANGED
@@ -11,7 +11,6 @@ const Space = (props) => {
11
11
  return child !== null && child !== void 0 && React__default.createElement("div", { className: `${prefixCls}-item` }, child);
12
12
  }));
13
13
  };
14
- Space.defaultProps = defaultProps;
15
14
  Space.displayName = "NutSpace";
16
15
  export {
17
16
  Space as default
package/dist/esm/Step.js CHANGED
@@ -48,7 +48,6 @@ const Step = (props) => {
48
48
  )
49
49
  );
50
50
  };
51
- Step.defaultProps = defaultProps;
52
51
  Step.displayName = "NutStep";
53
52
  export {
54
53
  Step as default
package/dist/esm/Steps.js CHANGED
@@ -13,7 +13,7 @@ const Steps = (props) => {
13
13
  const classPrefix = `nut-steps`;
14
14
  const classes = classNames(classPrefix, {
15
15
  [`${classPrefix}-${direction}`]: true,
16
- [`${classPrefix}-dot`]: !!props.dot
16
+ [`${classPrefix}-dot`]: !!dot
17
17
  }, className);
18
18
  return React__default.createElement(
19
19
  DataContext.Provider,
@@ -21,7 +21,6 @@ const Steps = (props) => {
21
21
  React__default.createElement("div", Object.assign({ className: classes }, restProps), children)
22
22
  );
23
23
  };
24
- Steps.defaultProps = defaultProps;
25
24
  Steps.displayName = "NutSteps";
26
25
  export {
27
26
  Steps as default
@@ -131,7 +131,6 @@ const Sticky = (props) => {
131
131
  React__default.createElement("div", { className: "nut-sticky-box", ref: stickyRef, style: stickyStyle }, children)
132
132
  );
133
133
  };
134
- Sticky.defaultProps = defaultProps;
135
134
  Sticky.displayName = "NutSticky";
136
135
  export {
137
136
  Sticky as default
@@ -30,7 +30,6 @@ const Switch = (props) => {
30
30
  )
31
31
  );
32
32
  };
33
- Switch.defaultProps = defaultProps;
34
33
  Switch.displayName = "NutSwitch";
35
34
  export {
36
35
  Switch as default
@@ -36,7 +36,6 @@ const Tabbar = (props) => {
36
36
  (fixed || safeArea) && React__default.createElement("div", { className: `${classPrefix}-safe-area` })
37
37
  );
38
38
  };
39
- Tabbar.defaultProps = defaultProps;
40
39
  Tabbar.displayName = "NutTabbar";
41
40
  Tabbar.Item = TabbarItem;
42
41
  export {
@@ -1 +1 @@
1
- .nut-table{overflow:hidden;position:relative}.nut-table-wrapper{display:flex;width:100%;flex-direction:column;font-size:var(--nutui-font-size-3, 14px);color:var(--nutui-gray-7, #1a1a1a);overflow-y:auto;overflow-x:hidden;position:relative;border:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}.nut-table-wrapper-sticky{overflow-x:auto}.nut-table-main{display:table;overflow-x:auto;color:var(--nutui-gray-7, #1a1a1a);background-color:var(--nutui-gray-1, #ffffff);table-layout:fixed;width:max-content;min-width:100%;position:relative}.nut-table-main-striped .nut-table-main-head-tr{background-color:var(--nutui-table-tr-even-bg-color, var(--nutui-gray-3, #f6f6f6))}.nut-table-main-striped .nut-table-main-body-tr:nth-child(odd){background-color:var(--nutui-table-tr-odd-bg-color, #ffffff)}.nut-table-main-striped .nut-table-main-body-tr:nth-child(2n){background-color:var(--nutui-table-tr-even-bg-color, var(--nutui-gray-3, #f6f6f6))}.nut-table-main-head,.nut-table-main-body{background:inherit}.nut-table-main-head-tr,.nut-table-main-body-tr{display:table-row;background:inherit}.nut-table-main-head-tr:last-child .nut-table-main-body-tr-td,.nut-table-main-body-tr:last-child .nut-table-main-body-tr-td{border-bottom:none}.nut-table-main-head-tr-th,.nut-table-main-body-tr-th{display:table-cell;padding:var(--nutui-table-cols-padding, 10px);table-layout:fixed;background:inherit;position:sticky;top:0}.nut-table-main-head-tr-th.nut-table-fixed-left,.nut-table-main-head-tr-th.nut-table-fixed-right,.nut-table-main-body-tr-th.nut-table-fixed-left,.nut-table-main-body-tr-th.nut-table-fixed-right{z-index:4}.nut-table-main-head-tr-th:last-child,.nut-table-main-body-tr-th:last-child{border-right:none}.nut-table-main-head-tr-td,.nut-table-main-body-tr-td{display:table-cell;padding:var(--nutui-table-cols-padding, 10px);table-layout:fixed;background:inherit}.nut-table-main-head-tr-td:last-child,.nut-table-main-body-tr-td:last-child{border-right:none}.nut-table-main-head-tr-td-nodata,.nut-table-main-body-tr-td-nodata{display:flex;height:50px;align-items:center;justify-content:center}.nut-table-main-head-tr-border,.nut-table-main-body-tr-border{border-right:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));border-bottom:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}.nut-table-main-head-tr-alignleft,.nut-table-main-head-tr-align,.nut-table-main-body-tr-alignleft,.nut-table-main-body-tr-align{text-align:start}.nut-table-main-head-tr-aligncenter,.nut-table-main-body-tr-aligncenter{text-align:center}.nut-table-main-head-tr-alignright,.nut-table-main-body-tr-alignright{text-align:end}.nut-table-main-head{display:table-header-group}.nut-table-main-body{display:table-row-group}.nut-table-sticky-left,.nut-table-sticky-right{position:absolute;top:0;width:8px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none;z-index:3;background:transparent}.nut-table-sticky-left{left:1px;box-shadow:var(--nutui-table-sticky-left-shadow, 4px 0 8px 0 rgba(0, 0, 0, .1))}.nut-table-sticky-right{right:1px;box-shadow:var(--nutui-table-sticky-right-shadow, -4px 0 8px 0 rgba(0, 0, 0, .1))}.nut-table-fixed-left,.nut-table-fixed-right{position:sticky;z-index:2}.nut-table-fixed-left.h5-div,.nut-table-fixed-right.h5-div{padding:var(--nutui-table-cols-padding, 10px) 0}.nut-table-fixed-left-last{border-right:none}.nut-table-summary{color:var(--nutui-gray-7, #1a1a1a);background-color:var(--nutui-gray-1, #ffffff);display:flex;align-items:center;justify-content:center;height:30px;padding:var(--nutui-table-cols-padding, 10px);position:relative;z-index:5}[dir=rtl] .nut-table-main-head-tr-th:last-child,[dir=rtl] .nut-table-main-body-tr-th:last-child,.nut-rtl .nut-table-main-head-tr-th:last-child,.nut-rtl .nut-table-main-body-tr-th:last-child{border-right:none;border-left:none}[dir=rtl] .nut-table-main-head-tr-td:last-child,[dir=rtl] .nut-table-main-body-tr-td:last-child,.nut-rtl .nut-table-main-head-tr-td:last-child,.nut-rtl .nut-table-main-body-tr-td:last-child{border-right:none;border-left:none}[dir=rtl] .nut-table-main-head-tr-border,[dir=rtl] .nut-table-main-body-tr-border,.nut-rtl .nut-table-main-head-tr-border,.nut-rtl .nut-table-main-body-tr-border{border-right:none;border-left:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}[dir=rtl] .nut-table-main-head-tr-alignleft,[dir=rtl] .nut-table-main-head-tr-align,[dir=rtl] .nut-table-main-body-tr-alignleft,[dir=rtl] .nut-table-main-body-tr-align,.nut-rtl .nut-table-main-head-tr-alignleft,.nut-rtl .nut-table-main-head-tr-align,.nut-rtl .nut-table-main-body-tr-alignleft,.nut-rtl .nut-table-main-body-tr-align{text-align:right}[dir=rtl] .nut-table-main-head-tr-alignright,[dir=rtl] .nut-table-main-body-tr-alignright,.nut-rtl .nut-table-main-head-tr-alignright,.nut-rtl .nut-table-main-body-tr-alignright{text-align:left}[dir=rtl] .nut-table-sticky-left,.nut-rtl .nut-table-sticky-left{left:auto;right:1px;box-shadow:var(--nutui-table-sticky-right-shadow, -4px 0 8px 0 rgba(0, 0, 0, .1))}[dir=rtl] .nut-table-sticky-right,.nut-rtl .nut-table-sticky-right{right:auto;left:1px;box-shadow:var(--nutui-table-sticky-left-shadow, 4px 0 8px 0 rgba(0, 0, 0, .1))}[dir=rtl] .nut-table-fixed-left-last,.nut-rtl .nut-table-fixed-left-last{border-right:none;border-left:none}
1
+ .nut-table{overflow:hidden;position:relative;word-wrap:break-word;word-break:break-all}.nut-table-wrapper{display:flex;width:100%;flex-direction:column;font-size:var(--nutui-font-size-3, 14px);color:var(--nutui-gray-7, #1a1a1a);overflow-y:auto;overflow-x:hidden;position:relative;border:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}.nut-table-wrapper-sticky{overflow-x:auto}.nut-table-main{display:table;overflow-x:auto;color:var(--nutui-gray-7, #1a1a1a);background-color:var(--nutui-gray-1, #ffffff);table-layout:fixed;width:max-content;min-width:100%;position:relative}.nut-table-main-striped .nut-table-main-head-tr{background-color:var(--nutui-table-tr-even-bg-color, var(--nutui-gray-3, #f6f6f6))}.nut-table-main-striped .nut-table-main-body-tr:nth-child(odd){background-color:var(--nutui-table-tr-odd-bg-color, #ffffff)}.nut-table-main-striped .nut-table-main-body-tr:nth-child(2n){background-color:var(--nutui-table-tr-even-bg-color, var(--nutui-gray-3, #f6f6f6))}.nut-table-main-head,.nut-table-main-body{background:inherit}.nut-table-main-head-tr,.nut-table-main-body-tr{display:table-row;background:inherit}.nut-table-main-head-tr:last-child .nut-table-main-body-tr-td,.nut-table-main-body-tr:last-child .nut-table-main-body-tr-td{border-bottom:none}.nut-table-main-head-tr-th,.nut-table-main-body-tr-th{display:table-cell;padding:var(--nutui-table-cols-padding, 10px);table-layout:fixed;background:inherit;position:sticky;top:0}.nut-table-main-head-tr-th.nut-table-fixed-left,.nut-table-main-head-tr-th.nut-table-fixed-right,.nut-table-main-body-tr-th.nut-table-fixed-left,.nut-table-main-body-tr-th.nut-table-fixed-right{z-index:4}.nut-table-main-head-tr-th:last-child,.nut-table-main-body-tr-th:last-child{border-right:none}.nut-table-main-head-tr-td,.nut-table-main-body-tr-td{display:table-cell;padding:var(--nutui-table-cols-padding, 10px);table-layout:fixed;background:inherit}.nut-table-main-head-tr-td:last-child,.nut-table-main-body-tr-td:last-child{border-right:none}.nut-table-main-head-tr-td-nodata,.nut-table-main-body-tr-td-nodata{display:flex;height:50px;align-items:center;justify-content:center}.nut-table-main-head-tr-border,.nut-table-main-body-tr-border{border-right:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));border-bottom:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}.nut-table-main-head-tr-alignleft,.nut-table-main-head-tr-align,.nut-table-main-body-tr-alignleft,.nut-table-main-body-tr-align{text-align:start}.nut-table-main-head-tr-aligncenter,.nut-table-main-body-tr-aligncenter{text-align:center}.nut-table-main-head-tr-alignright,.nut-table-main-body-tr-alignright{text-align:end}.nut-table-main-head{display:table-header-group}.nut-table-main-body{display:table-row-group}.nut-table-sticky-left,.nut-table-sticky-right{position:absolute;top:0;width:8px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none;z-index:3;background:transparent}.nut-table-sticky-left{left:1px;box-shadow:var(--nutui-table-sticky-left-shadow, 4px 0 8px 0 rgba(0, 0, 0, .1))}.nut-table-sticky-right{right:1px;box-shadow:var(--nutui-table-sticky-right-shadow, -4px 0 8px 0 rgba(0, 0, 0, .1))}.nut-table-fixed-left,.nut-table-fixed-right{position:sticky;z-index:2}.nut-table-fixed-left.h5-div,.nut-table-fixed-right.h5-div{padding:var(--nutui-table-cols-padding, 10px) 0}.nut-table-fixed-left-last{border-right:none}.nut-table-summary{color:var(--nutui-gray-7, #1a1a1a);background-color:var(--nutui-gray-1, #ffffff);display:flex;align-items:center;justify-content:center;height:30px;padding:var(--nutui-table-cols-padding, 10px);position:relative;z-index:5}[dir=rtl] .nut-table-main-head-tr-th:last-child,[dir=rtl] .nut-table-main-body-tr-th:last-child,.nut-rtl .nut-table-main-head-tr-th:last-child,.nut-rtl .nut-table-main-body-tr-th:last-child{border-right:none;border-left:none}[dir=rtl] .nut-table-main-head-tr-td:last-child,[dir=rtl] .nut-table-main-body-tr-td:last-child,.nut-rtl .nut-table-main-head-tr-td:last-child,.nut-rtl .nut-table-main-body-tr-td:last-child{border-right:none;border-left:none}[dir=rtl] .nut-table-main-head-tr-border,[dir=rtl] .nut-table-main-body-tr-border,.nut-rtl .nut-table-main-head-tr-border,.nut-rtl .nut-table-main-body-tr-border{border-right:none;border-left:1px solid var(--nutui-table-border-color, var(--nutui-black-3, rgba(0, 0, 0, .06)))}[dir=rtl] .nut-table-main-head-tr-alignleft,[dir=rtl] .nut-table-main-head-tr-align,[dir=rtl] .nut-table-main-body-tr-alignleft,[dir=rtl] .nut-table-main-body-tr-align,.nut-rtl .nut-table-main-head-tr-alignleft,.nut-rtl .nut-table-main-head-tr-align,.nut-rtl .nut-table-main-body-tr-alignleft,.nut-rtl .nut-table-main-body-tr-align{text-align:right}[dir=rtl] .nut-table-main-head-tr-alignright,[dir=rtl] .nut-table-main-body-tr-alignright,.nut-rtl .nut-table-main-head-tr-alignright,.nut-rtl .nut-table-main-body-tr-alignright{text-align:left}[dir=rtl] .nut-table-sticky-left,.nut-rtl .nut-table-sticky-left{left:auto;right:1px;box-shadow:var(--nutui-table-sticky-right-shadow, -4px 0 8px 0 rgba(0, 0, 0, .1))}[dir=rtl] .nut-table-sticky-right,.nut-rtl .nut-table-sticky-right{right:auto;left:1px;box-shadow:var(--nutui-table-sticky-left-shadow, 4px 0 8px 0 rgba(0, 0, 0, .1))}[dir=rtl] .nut-table-fixed-left-last,.nut-rtl .nut-table-fixed-left-last{border-right:none;border-left:none}
package/dist/esm/Table.js CHANGED
@@ -106,7 +106,7 @@ const Table = (props) => {
106
106
  };
107
107
  const cellClasses = (item) => {
108
108
  return {
109
- [`${headerClassPrefix}-border`]: props.bordered,
109
+ [`${headerClassPrefix}-border`]: bordered,
110
110
  [`${headerClassPrefix}-align${item.align ? item.align : ""}`]: true
111
111
  };
112
112
  };
@@ -167,7 +167,6 @@ const Table = (props) => {
167
167
  (summary || innerValue.length === 0) && React__default.createElement("div", { className: `${classPrefix}-summary` }, summary || noData)
168
168
  );
169
169
  };
170
- Table.defaultProps = defaultProps;
171
170
  Table.displayName = "NutTable";
172
171
  export {
173
172
  Table as default
package/dist/esm/Tag.js CHANGED
@@ -48,7 +48,6 @@ const Tag = (props) => {
48
48
  } })
49
49
  ) : React__default.createElement("div", { className: classes, style: Object.assign(Object.assign({}, style), getStyle()), onClick: (e) => handleClick(e) }, children && React__default.createElement("span", { className: `${classPrefix}-text` }, children)));
50
50
  };
51
- Tag.defaultProps = defaultProps;
52
51
  Tag.displayName = "NutTag";
53
52
  export {
54
53
  Tag as default
@@ -76,7 +76,6 @@ const TextArea = (props) => {
76
76
  )
77
77
  );
78
78
  };
79
- TextArea.defaultProps = defaultProps;
80
79
  TextArea.displayName = "NutTextArea";
81
80
  export {
82
81
  TextArea as default
@@ -31,7 +31,6 @@ const TimeDetail = (props) => {
31
31
  active: isActive(item[optionKey.valueKey])
32
32
  }), key: item[optionKey.valueKey], onClick: () => onSelect(item) }, item[optionKey.textKey])));
33
33
  };
34
- TimeDetail.defaultProps = defaultProps;
35
34
  TimeDetail.displayName = "NutTimeDetail";
36
35
  export {
37
36
  TimeDetail as default
@@ -93,7 +93,6 @@ const TimeSelect = (props) => {
93
93
  )
94
94
  );
95
95
  };
96
- TimeSelect.defaultProps = defaultProps;
97
96
  TimeSelect.displayName = "NutTimeSelect";
98
97
  export {
99
98
  TimeSelect as default
package/dist/esm/Tour.js CHANGED
@@ -132,7 +132,6 @@ const Tour = (props) => {
132
132
  })
133
133
  );
134
134
  };
135
- Tour.defaultProps = defaultProps;
136
135
  Tour.displayName = "NutTour";
137
136
  export {
138
137
  Tour as default
@@ -51,7 +51,6 @@ const TrendArrow = (props) => {
51
51
  left && renderContent(!left)
52
52
  );
53
53
  };
54
- TrendArrow.defaultProps = defaultProps;
55
54
  TrendArrow.displayName = "NutTrendArrow";
56
55
  export {
57
56
  TrendArrow as default
@@ -270,7 +270,7 @@ const InternalUploader = (props, ref) => {
270
270
  });
271
271
  };
272
272
  const task = new Upload(uploadOption);
273
- if (props.autoUpload) {
273
+ if (autoUpload) {
274
274
  task.upload();
275
275
  } else {
276
276
  uploadQueue.push(new Promise((resolve, reject) => {
@@ -307,7 +307,7 @@ const InternalUploader = (props, ref) => {
307
307
  });
308
308
  };
309
309
  const filterFiles = (files) => {
310
- const maximum = props.maxCount * 1;
310
+ const maximum = maxCount * 1;
311
311
  const oversizes = new Array();
312
312
  const filterFile = files.filter((file) => {
313
313
  if (file.size > maxFileSize) {
@@ -397,7 +397,6 @@ const InternalUploader = (props, ref) => {
397
397
  );
398
398
  };
399
399
  const Uploader = React__default.forwardRef(InternalUploader);
400
- Uploader.defaultProps = defaultProps;
401
400
  Uploader.displayName = "NutUploader";
402
401
  export {
403
402
  Uploader as default
package/dist/esm/Video.js CHANGED
@@ -59,7 +59,6 @@ const Video = (props) => {
59
59
  )
60
60
  );
61
61
  };
62
- Video.defaultProps = defaultProps;
63
62
  Video.displayName = "NutVideo";
64
63
  export {
65
64
  Video as default
@@ -249,7 +249,6 @@ const VirtualList = (props) => {
249
249
  )
250
250
  );
251
251
  };
252
- VirtualList.defaultProps = defaultProps;
253
252
  VirtualList.displayName = "NutVirtualList";
254
253
  export {
255
254
  VirtualList as default
@@ -56,7 +56,6 @@ const WaterMark = (props) => {
56
56
  };
57
57
  return React__default.createElement("div", { className: cls, style: Object.assign({ zIndex, backgroundSize: `${gapX + width}px`, backgroundImage: `url('${base64Url}')` }, style) });
58
58
  };
59
- WaterMark.defaultProps = defaultProps;
60
59
  WaterMark.displayName = "NutWaterMark";
61
60
  export {
62
61
  WaterMark as default
@@ -61,7 +61,6 @@ const Badge = (props) => {
61
61
  !isIcon() && React__default.createElement("div", { className: contentClasses, style: getStyle() }, content())
62
62
  );
63
63
  };
64
- Badge.defaultProps = defaultProps;
65
64
  Badge.displayName = "NutBadge";
66
65
  export {
67
66
  Badge as B
@@ -124,7 +124,7 @@ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { activ
124
124
  }, onPathChange: () => {
125
125
  } });
126
126
  const InternalCascader = (props, ref) => {
127
- const { className, style, activeColor, activeIcon, popup, popupProps = {}, visible, options, value, defaultValue, optionKey, format, closeable, closeIconPosition, closeIcon, lazy, onLoad, onClose, onChange, onPathChange } = Object.assign(Object.assign({}, defaultProps), props);
127
+ const { className, style, activeColor, activeIcon, popup, popupProps = {}, visible, options, value, defaultValue, optionKey, format, closeable, closeIconPosition, closeIcon, lazy, title, left, onLoad, onClose, onChange, onPathChange } = Object.assign(Object.assign({}, defaultProps), props);
128
128
  const [tabvalue, setTabvalue] = useState("c1");
129
129
  const [optionsData, setOptionsData] = useState([]);
130
130
  const isLazy = () => state.configs.lazy && Boolean(state.configs.onLoad);
@@ -134,7 +134,7 @@ const InternalCascader = (props, ref) => {
134
134
  finalValue: defaultValue
135
135
  });
136
136
  const [innerVisible, setInnerVisible] = usePropsValue({
137
- value: props.visible,
137
+ value: visible,
138
138
  defaultValue: void 0,
139
139
  finalValue: false
140
140
  });
@@ -403,15 +403,14 @@ const InternalCascader = (props, ref) => {
403
403
  closeIcon,
404
404
  closeable,
405
405
  closeIconPosition,
406
- title: popup && props.title,
407
- left: props.left,
406
+ title: popup && title,
407
+ left,
408
408
  // todo 只关闭,不处理逻辑。和popup的逻辑不一致。关闭时需要增加是否要处理回调
409
409
  onOverlayClick: closePopup,
410
410
  onCloseIconClick: closePopup
411
411
  }), renderTabs()) : renderTabs());
412
412
  };
413
413
  const Cascader = React__default.forwardRef(InternalCascader);
414
- Cascader.defaultProps = defaultProps;
415
414
  Cascader.displayName = "NutCascader";
416
415
  export {
417
416
  Cascader as C
@@ -16,8 +16,8 @@ const Checkbox = (props) => {
16
16
  let { labelPosition } = others, rest = __rest(others, ["labelPosition"]);
17
17
  const ctx = useContext(Context);
18
18
  let [innerChecked, setChecked] = usePropsValue({
19
- value: props.checked,
20
- defaultValue: props.defaultChecked,
19
+ value: checked,
20
+ defaultValue: defaultChecked,
21
21
  finalValue: defaultChecked,
22
22
  onChange
23
23
  });
@@ -129,7 +129,6 @@ const Checkbox = (props) => {
129
129
  [`${classPrefix}-reverse`]: labelPosition === "left"
130
130
  }, className) }, rest, { onClick: handleClick }), renderCheckboxItem());
131
131
  };
132
- Checkbox.defaultProps = defaultProps;
133
132
  Checkbox.displayName = "NutCheckBox";
134
133
  Checkbox.Group = CheckboxGroup__default;
135
134
  export {
@@ -91,7 +91,6 @@ const CollapseItem = (props) => {
91
91
  )
92
92
  );
93
93
  };
94
- CollapseItem.defaultProps = defaultProps;
95
94
  CollapseItem.displayName = "NutCollapseItem";
96
95
  export {
97
96
  CollapseItem as C,
@@ -69,7 +69,6 @@ const GridItem = (props) => {
69
69
  )
70
70
  );
71
71
  };
72
- GridItem.defaultProps = defaultProps;
73
72
  GridItem.displayName = "NutGridItem";
74
73
  export {
75
74
  GridItem as G,
@@ -145,7 +145,6 @@ const MenuItem = forwardRef((props, ref) => {
145
145
  )
146
146
  );
147
147
  });
148
- MenuItem.defaultProps = defaultProps;
149
148
  MenuItem.displayName = "NutMenuItem";
150
149
  export {
151
150
  MenuItem as M
@@ -87,7 +87,7 @@ const Overlay = (props) => {
87
87
  setInnerVisible(false);
88
88
  }
89
89
  }, [visible]);
90
- useLockScroll(nodeRef, !!props.lockScroll && innerVisible);
90
+ useLockScroll(nodeRef, !!lockScroll && innerVisible);
91
91
  const classes = classNames(classPrefix, className);
92
92
  const styles = Object.assign({}, style);
93
93
  const handleClick = (e) => {
@@ -111,7 +111,6 @@ const Overlay = (props) => {
111
111
  )
112
112
  );
113
113
  };
114
- Overlay.defaultProps = defaultOverlayProps;
115
114
  Overlay.displayName = "NutOverlay";
116
115
  export {
117
116
  Overlay as O,
@@ -138,7 +138,6 @@ const Popup = (props) => {
138
138
  }, [position, transition]);
139
139
  return React__default.createElement(React__default.Fragment, null, renderToContainer(portal, renderNode()));
140
140
  };
141
- Popup.defaultProps = defaultProps;
142
141
  Popup.displayName = "NutPopup";
143
142
  export {
144
143
  Popup as P
@@ -4,6 +4,7 @@ const classPrefix = "nut-safe-area";
4
4
  const SafeArea = (props) => {
5
5
  return React__default.createElement("div", { className: classNames(classPrefix, `${classPrefix}-position-${props.position}`) });
6
6
  };
7
+ SafeArea.displayName = "NutSafeArea";
7
8
  export {
8
9
  SafeArea as S
9
10
  };
package/dist/esm/tabs2.js CHANGED
@@ -11,10 +11,10 @@ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { tabSt
11
11
  const classPrefix = "nut-tabs";
12
12
  const Tabs = (props) => {
13
13
  const rtl = useRtl();
14
- const _a = Object.assign(Object.assign({}, defaultProps), props), { activeColor, tabStyle, direction, activeType, duration, align, title, children, onClick, onChange, className, autoHeight } = _a, rest = __rest(_a, ["activeColor", "tabStyle", "direction", "activeType", "duration", "align", "title", "children", "onClick", "onChange", "className", "autoHeight"]);
14
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { activeColor, tabStyle, direction, activeType, duration, align, title, children, onClick, onChange, className, autoHeight, value: outerValue, defaultValue: outerDefaultValue } = _a, rest = __rest(_a, ["activeColor", "tabStyle", "direction", "activeType", "duration", "align", "title", "children", "onClick", "onChange", "className", "autoHeight", "value", "defaultValue"]);
15
15
  const [value, setValue] = usePropsValue({
16
- value: props.value,
17
- defaultValue: props.defaultValue,
16
+ value: outerValue,
17
+ defaultValue: outerDefaultValue,
18
18
  finalValue: 0,
19
19
  onChange
20
20
  });
@@ -44,13 +44,13 @@ const Tabs = (props) => {
44
44
  }
45
45
  const title2 = titleItem[index];
46
46
  let to = 0;
47
- if (props.direction === "vertical") {
47
+ if (direction === "vertical") {
48
48
  const runTop = title2.offsetTop - nav.offsetTop + 10;
49
49
  to = runTop - (nav.offsetHeight - title2.offsetHeight) / 2;
50
50
  } else {
51
51
  to = title2.offsetLeft - (nav.offsetWidth - title2.offsetWidth) / 2;
52
52
  }
53
- scrollDirection(nav, to, immediate ? 0 : 0.3, props.direction);
53
+ scrollDirection(nav, to, immediate ? 0 : 0.3, direction);
54
54
  };
55
55
  const getTitles = () => {
56
56
  const titles2 = [];
@@ -156,7 +156,6 @@ const Tabs = (props) => {
156
156
  )
157
157
  );
158
158
  };
159
- Tabs.defaultProps = defaultProps;
160
159
  Tabs.displayName = "NutTabs";
161
160
  Tabs.TabPane = TabPane__default;
162
161
  export {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.6.3 Tue Apr 30 2024 14:15:52 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.6.5 Fri May 17 2024 15:43:25 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.6.3 Tue Apr 30 2024 14:15:52 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.6.5 Fri May 17 2024 15:43:25 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.6.3 Tue Apr 30 2024 14:15:52 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.6.5 Fri May 17 2024 15:43:25 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.6.3 Tue Apr 30 2024 14:15:52 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.6.5 Fri May 17 2024 15:43:25 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.6.3 Tue Apr 30 2024 14:15:52 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.6.5 Fri May 17 2024 15:43:25 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */