@nutui/nutui-react-taro 2.0.0-alpha.15 → 2.0.0-alpha.17

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 (159) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/esm/ActionSheet/style/style.css +1 -1
  3. package/dist/esm/ActionSheet.js +2 -2
  4. package/dist/esm/Address.js +2 -2
  5. package/dist/esm/Avatar.js +2 -2
  6. package/dist/esm/Calendar.js +2 -2
  7. package/dist/esm/Cascader.js +2 -2
  8. package/dist/esm/DatePicker.js +3 -3
  9. package/dist/esm/Dialog/style/index.js +1 -0
  10. package/dist/esm/Dialog/style/style.css +1 -1
  11. package/dist/esm/Divider/style/style.css +1 -1
  12. package/dist/esm/Form/style/index.js +3 -1
  13. package/dist/esm/Form/style/style.css +1 -1
  14. package/dist/esm/Form.js +4 -4
  15. package/dist/esm/FormItem/style/index.js +1 -1
  16. package/dist/esm/FormItem/style/style.css +1 -1
  17. package/dist/esm/FormItem.js +1 -1
  18. package/dist/esm/ImagePreview.js +2 -2
  19. package/dist/esm/InputNumber.js +1 -1
  20. package/dist/esm/Menu/style/style.css +1 -1
  21. package/dist/esm/MenuItem/style/style.css +1 -1
  22. package/dist/esm/MenuItem.js +1 -1
  23. package/dist/esm/NoticeBar.js +1 -1
  24. package/dist/esm/NumberKeyboard.js +2 -2
  25. package/dist/esm/Pagination/style/style.css +1 -1
  26. package/dist/esm/Picker.js +2 -2
  27. package/dist/esm/Popover.js +3 -3
  28. package/dist/esm/Popup.js +1 -1
  29. package/dist/esm/SearchBar.js +1 -1
  30. package/dist/esm/ShortPassword.js +2 -2
  31. package/dist/esm/SideNavBar.js +2 -2
  32. package/dist/esm/Skeleton.js +3 -3
  33. package/dist/esm/Swipe.js +2 -3
  34. package/dist/esm/TimeSelect.js +2 -2
  35. package/dist/esm/{actionsheet.taro-697a594b.js → actionsheet.taro-8e7cbd0f.js} +1 -1
  36. package/dist/esm/{address.taro-cc879a1d.js → address.taro-3cfe1767.js} +1 -1
  37. package/dist/esm/{calendar.taro-02195ddb.js → calendar.taro-3568a214.js} +1 -1
  38. package/dist/esm/{cascader.taro-fb7a0230.js → cascader.taro-91cf3ca6.js} +1 -1
  39. package/dist/esm/{datepicker.taro-8c9230b6.js → datepicker.taro-108eb7c8.js} +43 -45
  40. package/dist/esm/form.taro-a348734b.js +1274 -0
  41. package/dist/esm/formitem.taro-c9ded1ef.js +139 -0
  42. package/dist/esm/{imagepreview.taro-cfe0a4cc.js → imagepreview.taro-29717406.js} +1 -1
  43. package/dist/esm/{inputnumber.taro-6657d2c1.js → inputnumber.taro-788b1cd3.js} +5 -5
  44. package/dist/esm/{menuitem.taro-6aa35a00.js → menuitem.taro-7f8c12cf.js} +11 -8
  45. package/dist/esm/{noticebar.taro-8d496dd6.js → noticebar.taro-dc895cc5.js} +1 -1
  46. package/dist/esm/{numberkeyboard.taro-18879f04.js → numberkeyboard.taro-ee984036.js} +1 -1
  47. package/dist/esm/nutui-react.es.js +22 -22
  48. package/dist/esm/{picker.taro-6b672469.js → picker.taro-9ca039c4.js} +54 -27
  49. package/dist/esm/{popover.taro-ba6c323a.js → popover.taro-52c02926.js} +12 -12
  50. package/dist/esm/{popup.taro-e756f3fc.js → popup.taro-687437a0.js} +1 -0
  51. package/dist/esm/{searchbar.taro-39351331.js → searchbar.taro-b2d6eff2.js} +2 -2
  52. package/dist/esm/{shortpassword.taro-cff61e4e.js → shortpassword.taro-4f714afb.js} +1 -1
  53. package/dist/esm/{sidenavbar.taro-1aefdd3c.js → sidenavbar.taro-03fb1fc6.js} +1 -1
  54. package/dist/esm/{skeleton.taro-ce714b06.js → skeleton.taro-e29f9f0c.js} +1 -1
  55. package/dist/esm/{swipe.taro-966af6d3.js → swipe.taro-4eb0cc9a.js} +6 -5
  56. package/dist/esm/{timeselect.taro-9e37e648.js → timeselect.taro-9de6ab39.js} +1 -1
  57. package/dist/esm/types/src/packages/button/button.d.ts +1 -0
  58. package/dist/esm/types/src/packages/datepicker/datepicker.d.ts +11 -17
  59. package/dist/esm/types/src/packages/datepicker/datepicker.taro.d.ts +11 -17
  60. package/dist/esm/types/src/packages/datepicker/index.d.ts +1 -0
  61. package/dist/esm/types/src/packages/datepicker/index.taro.d.ts +1 -0
  62. package/dist/esm/types/src/packages/elevator/elevator.d.ts +0 -1
  63. package/dist/esm/types/src/packages/elevator/elevator.taro.d.ts +0 -1
  64. package/dist/esm/types/src/packages/form/__tests__/form.spec.d.ts +1 -0
  65. package/dist/esm/types/src/packages/form/context.d.ts +4 -0
  66. package/dist/esm/types/src/packages/form/form.d.ts +11 -4
  67. package/dist/esm/types/src/packages/form/form.taro.d.ts +14 -4
  68. package/dist/esm/types/src/packages/form/index.d.ts +1 -0
  69. package/dist/esm/types/src/packages/form/index.taro.d.ts +1 -0
  70. package/dist/esm/types/src/packages/form/types.d.ts +4 -52
  71. package/dist/esm/types/src/packages/formitem/formitem.d.ts +16 -15
  72. package/dist/esm/types/src/packages/formitem/formitem.taro.d.ts +16 -12
  73. package/dist/esm/types/src/packages/formitem/index.d.ts +1 -0
  74. package/dist/esm/types/src/packages/formitem/index.taro.d.ts +1 -0
  75. package/dist/esm/types/src/packages/formitem/types.d.ts +1 -31
  76. package/dist/esm/types/src/packages/inputnumber/inputnumber.d.ts +1 -1
  77. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +1 -1
  78. package/dist/esm/types/src/packages/picker/picker.d.ts +7 -2
  79. package/dist/esm/types/src/packages/picker/picker.taro.d.ts +7 -2
  80. package/dist/esm/types/src/packages/sticky/sticky.d.ts +0 -1
  81. package/dist/esm/types/src/packages/swipe/swipe.d.ts +2 -6
  82. package/dist/esm/types/src/packages/swipe/swipe.taro.d.ts +2 -6
  83. package/dist/esm/types/src/packages/toast/Notification.d.ts +4 -1
  84. package/dist/esm/types/src/utils/is-forward-ref-component.d.ts +1 -0
  85. package/dist/locales/base.js +1 -1
  86. package/dist/locales/en-US.js +1 -1
  87. package/dist/locales/id-ID.js +1 -1
  88. package/dist/locales/tr-TR.js +1 -1
  89. package/dist/locales/zh-CN.js +1 -1
  90. package/dist/locales/zh-TW.js +1 -1
  91. package/dist/locales/zh-UG.js +1 -1
  92. package/dist/nutui.react.es.js +1851 -676
  93. package/dist/nutui.react.umd.js +1832 -657
  94. package/dist/packages/actionsheet/actionsheet.scss +6 -6
  95. package/dist/packages/divider/divider.scss +8 -7
  96. package/dist/packages/formitem/formitem.scss +1 -13
  97. package/dist/packages/layout/layout.scss +0 -2
  98. package/dist/packages/menuitem/menuitem.scss +1 -1
  99. package/dist/packages/noticebar/noticebar.scss +0 -3
  100. package/dist/packages/pagination/pagination.scss +8 -30
  101. package/dist/style.css +1 -1
  102. package/dist/style.mjs +1 -1
  103. package/dist/types/packages/animate/animate.taro.d.ts +3 -3
  104. package/dist/types/packages/audio/audio.taro.d.ts +28 -8
  105. package/dist/types/packages/avatar/avatar.taro.d.ts +4 -4
  106. package/dist/types/packages/avatargroup/avatargroup.taro.d.ts +5 -5
  107. package/dist/types/packages/button/button.taro.d.ts +4 -4
  108. package/dist/types/packages/cascader/cascader.taro.d.ts +4 -4
  109. package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +3 -3
  110. package/dist/types/packages/datepicker/datepicker.taro.d.ts +79 -25
  111. package/dist/types/packages/datepicker/index.taro.d.ts +1 -0
  112. package/dist/types/packages/divider/divider.taro.d.ts +2 -2
  113. package/dist/types/packages/drag/drag.taro.d.ts +1 -1
  114. package/dist/types/packages/elevator/elevator.taro.d.ts +0 -1
  115. package/dist/types/packages/empty/empty.taro.d.ts +3 -3
  116. package/dist/types/packages/fixednav/fixednav.taro.d.ts +3 -3
  117. package/dist/types/packages/form/context.d.ts +3 -0
  118. package/dist/types/packages/form/form.taro.d.ts +46 -4
  119. package/dist/types/packages/form/index.taro.d.ts +1 -0
  120. package/dist/types/packages/form/types.d.ts +4 -52
  121. package/dist/types/packages/formitem/formitem.taro.d.ts +45 -13
  122. package/dist/types/packages/formitem/index.taro.d.ts +1 -0
  123. package/dist/types/packages/formitem/types.d.ts +1 -31
  124. package/dist/types/packages/grid/grid.taro.d.ts +1 -1
  125. package/dist/types/packages/infiniteloading/infiniteloading.taro.d.ts +1 -1
  126. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +1 -1
  127. package/dist/types/packages/noticebar/noticebar.taro.d.ts +3 -3
  128. package/dist/types/packages/overlay/overlay.taro.d.ts +1 -1
  129. package/dist/types/packages/picker/index.d.ts +4 -0
  130. package/dist/types/packages/picker/picker.d.ts +23 -0
  131. package/dist/types/packages/picker/picker.taro.d.ts +7 -2
  132. package/dist/types/packages/picker/pickerpanel.d.ts +15 -0
  133. package/dist/types/packages/popover/popover.taro.d.ts +5 -5
  134. package/dist/types/packages/popup/index.d.ts +3 -0
  135. package/dist/types/packages/popup/popup.d.ts +22 -0
  136. package/dist/types/packages/popup/popup.taro.d.ts +2 -2
  137. package/dist/types/packages/radio/radio.taro.d.ts +2 -2
  138. package/dist/types/packages/range/range.taro.d.ts +3 -3
  139. package/dist/types/packages/searchbar/searchbar.taro.d.ts +5 -5
  140. package/dist/types/packages/step/step.taro.d.ts +3 -3
  141. package/dist/types/packages/steps/steps.taro.d.ts +1 -1
  142. package/dist/types/packages/sticky/sticky.taro.d.ts +1 -1
  143. package/dist/types/packages/swipe/swipe.taro.d.ts +2 -6
  144. package/dist/types/packages/swiper/swiper.taro.d.ts +1 -1
  145. package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
  146. package/dist/types/packages/tag/tag.taro.d.ts +1 -1
  147. package/dist/types/packages/timeselect/timeselect.taro.d.ts +2 -2
  148. package/dist/types/packages/toast/toast.taro.d.ts +4 -4
  149. package/dist/types/packages/uploader/uploader.taro.d.ts +18 -18
  150. package/dist/types/utils/is-forward-ref-component.d.ts +1 -0
  151. package/package.json +1 -1
  152. package/dist/esm/form.taro-b06754e8.js +0 -182
  153. package/dist/esm/formitem.taro-b326809d.js +0 -108
  154. package/dist/esm/types/src/packages/formitem/formitemcontext.d.ts +0 -6
  155. package/dist/types/packages/formitem/formitemcontext.d.ts +0 -5
  156. package/dist/esm/{avatar.taro-8a26cd6c.js → avatar.taro-9ab097d0.js} +1 -1
  157. /package/dist/esm/types/src/packages/form/{useForm.d.ts → useform.d.ts} +0 -0
  158. /package/dist/esm/types/src/packages/form/{useForm.taro.d.ts → useform.taro.d.ts} +0 -0
  159. /package/dist/types/packages/form/{useForm.taro.d.ts → useform.taro.d.ts} +0 -0
@@ -0,0 +1,139 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import React, { createContext } from "react";
8
+ import { C as Cell } from "./cell.taro-4e31d1fa.js";
9
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
10
+ const Context = createContext({});
11
+ function isForwardRefComponent(component) {
12
+ return component.type && component.type.$$typeof && // eslint-disable-next-line react/display-name
13
+ React.forwardRef(
14
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
+ // @ts-ignore
16
+ () => {
17
+ }
18
+ ).$$typeof === component.type.$$typeof;
19
+ }
20
+ const defaultProps = {
21
+ ...ComponentDefaults,
22
+ required: false,
23
+ name: "",
24
+ label: "",
25
+ rules: [{ required: false, message: "" }],
26
+ errorMessageAlign: "left"
27
+ };
28
+ class FormItem extends React.Component {
29
+ constructor(props) {
30
+ super(props);
31
+ __publicField(this, "cancelRegister");
32
+ __publicField(this, "componentRef");
33
+ // children添加value属性和onChange事件
34
+ __publicField(this, "getControlled", (children) => {
35
+ var _a;
36
+ const { setFieldsValue, getFieldValue } = this.context;
37
+ const { name } = this.props;
38
+ if ((_a = children == null ? void 0 : children.props) == null ? void 0 : _a.defaultValue) {
39
+ console.warn("通过 initialValue 设置初始值");
40
+ }
41
+ const controlled = {
42
+ ...children.props,
43
+ [this.props.valuePropName || "value"]: getFieldValue(name) || this.props.initialValue,
44
+ [this.props.trigger || "onChange"]: (...args) => {
45
+ const originOnChange = children.props[this.props.trigger || "onChange"];
46
+ if (originOnChange) {
47
+ originOnChange(...args);
48
+ }
49
+ let [next] = args;
50
+ if (this.props.getValueFromEvent) {
51
+ next = this.props.getValueFromEvent(...args);
52
+ }
53
+ setFieldsValue({ [name]: next });
54
+ }
55
+ };
56
+ if (isForwardRefComponent(children)) {
57
+ controlled.ref = (componentInstance) => {
58
+ const originRef = children.ref;
59
+ if (originRef) {
60
+ if (typeof originRef === "function") {
61
+ originRef(componentInstance);
62
+ }
63
+ if ("current" in originRef) {
64
+ originRef.current = componentInstance;
65
+ }
66
+ }
67
+ this.componentRef = componentInstance;
68
+ };
69
+ }
70
+ return controlled;
71
+ });
72
+ __publicField(this, "refresh", () => {
73
+ this.setState(({ resetCount }) => ({
74
+ resetCount: resetCount + 1
75
+ }));
76
+ });
77
+ __publicField(this, "onStoreChange", (type) => {
78
+ if (type === "reset") {
79
+ this.refresh();
80
+ } else {
81
+ this.forceUpdate();
82
+ }
83
+ });
84
+ __publicField(this, "renderLayout", (childNode) => {
85
+ var _a, _b;
86
+ const { label, name, required, className, style, errorMessageAlign } = {
87
+ ...defaultProps,
88
+ ...this.props
89
+ };
90
+ const item = ((_a = this.context.errors) == null ? void 0 : _a.length) > 0 && ((_b = this.context.errors) == null ? void 0 : _b.filter((item2) => {
91
+ return item2.field === name;
92
+ }));
93
+ const { starPosition } = this.context;
94
+ const renderStar = required && React.createElement("i", { className: "required" });
95
+ const renderLabel = React.createElement(
96
+ React.Fragment,
97
+ null,
98
+ starPosition === "left" ? renderStar : null,
99
+ label,
100
+ starPosition === "right" ? renderStar : null
101
+ );
102
+ return React.createElement(
103
+ Cell,
104
+ { className: `nut-form-item ${className}`, style, onClick: (e) => this.props.onClick && this.props.onClick(e, this.componentRef) },
105
+ label ? React.createElement("div", { className: "nut-cell__title nut-form-item__label" }, renderLabel) : null,
106
+ React.createElement(
107
+ "div",
108
+ { className: "nut-cell__value nut-form-item__body" },
109
+ React.createElement("div", { className: "nut-form-item__body__slots" }, childNode),
110
+ item.length > 0 && React.createElement("div", { className: "nut-form-item__body__tips", style: { textAlign: errorMessageAlign } }, item[0].message)
111
+ )
112
+ );
113
+ });
114
+ this.componentRef = React.createRef();
115
+ this.state = {
116
+ resetCount: 1
117
+ };
118
+ }
119
+ componentDidMount() {
120
+ this.cancelRegister = this.context.registerField(this);
121
+ }
122
+ componentWillUnmount() {
123
+ if (this.cancelRegister) {
124
+ this.cancelRegister();
125
+ }
126
+ }
127
+ render() {
128
+ const { children } = this.props;
129
+ const child = Array.isArray(children) ? children[0] : children;
130
+ const returnChildNode = React.cloneElement(child, this.getControlled(child));
131
+ return React.createElement(React.Fragment, { key: this.state.resetCount }, this.renderLayout(returnChildNode));
132
+ }
133
+ }
134
+ __publicField(FormItem, "defaultProps", defaultProps);
135
+ __publicField(FormItem, "contextType", Context);
136
+ export {
137
+ Context as C,
138
+ FormItem as F
139
+ };
@@ -1,7 +1,7 @@
1
1
  import React, { useRef, useState, useEffect } from "react";
2
2
  import Taro from "@tarojs/taro";
3
3
  import { Video, Image } from "@tarojs/components";
4
- import { P as Popup } from "./popup.taro-e756f3fc.js";
4
+ import { P as Popup } from "./popup.taro-687437a0.js";
5
5
  import { S as Swiper } from "./swiper.taro-4aeb8526.js";
6
6
  import { S as SwiperItem } from "./swiperitem.taro-ef7342e8.js";
7
7
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
@@ -8,7 +8,7 @@ const defaultProps = {
8
8
  disabled: false,
9
9
  min: 1,
10
10
  max: 9999,
11
- readonly: false,
11
+ readOnly: false,
12
12
  allowEmpty: false,
13
13
  defaultValue: 0,
14
14
  step: 1,
@@ -17,7 +17,7 @@ const defaultProps = {
17
17
  };
18
18
  const classPrefix = `nut-inputnumber`;
19
19
  const InputNumber = (props) => {
20
- const { children, disabled, min, max, readonly, value, defaultValue, allowEmpty, digits, step, async, className, style, formatter, onPlus, onMinus, onOverlimit, onBlur, onFocus, onChange, ...restProps } = {
20
+ const { children, disabled, min, max, readOnly, value, defaultValue, allowEmpty, digits, step, async, className, style, formatter, onPlus, onMinus, onOverlimit, onBlur, onFocus, onChange, ...restProps } = {
21
21
  ...defaultProps,
22
22
  ...props
23
23
  };
@@ -152,14 +152,14 @@ const InputNumber = (props) => {
152
152
  const focusValue = (e) => {
153
153
  if (disabled)
154
154
  return;
155
- if (readonly)
155
+ if (readOnly)
156
156
  return;
157
157
  onFocus && onFocus(e);
158
158
  };
159
159
  const burValue = (e) => {
160
160
  if (disabled)
161
161
  return;
162
- if (readonly)
162
+ if (readOnly)
163
163
  return;
164
164
  const input = e.target;
165
165
  let value2 = +input.value;
@@ -182,7 +182,7 @@ const InputNumber = (props) => {
182
182
  { className: "nut-input-minus" },
183
183
  React.createElement(Minus, { className: iconMinusClasses, onClick: reduceNumber })
184
184
  ),
185
- React.createElement(React.Fragment, null, formatter ? React.createElement("input", { type: "text", min, max, disabled, readOnly: readonly, value: _checked, onInput: changeFormatValue, onBlur: burFormatValue, onFocus: focusValue }) : React.createElement("input", { type: "digit", min, max, disabled, readOnly: readonly, value: _checked, onInput: changeValue, onBlur: burValue, onFocus: focusValue })),
185
+ React.createElement(React.Fragment, null, formatter ? React.createElement("input", { type: "text", min, max, disabled, readOnly, value: _checked, onInput: changeFormatValue, onBlur: burFormatValue, onFocus: focusValue }) : React.createElement("input", { type: "digit", min, max, disabled, readOnly, value: _checked, onInput: changeValue, onBlur: burValue, onFocus: focusValue })),
186
186
  React.createElement(
187
187
  "div",
188
188
  { className: "nut-input-add" },
@@ -69,29 +69,32 @@ const MenuItem = forwardRef((props, ref) => {
69
69
  return { display: "none" };
70
70
  };
71
71
  const getPosition = () => {
72
- return direction === "down" ? { top: `${position.top + position.height}px` } : {
73
- bottom: `${getSystemInfoSync().windowHeight - position.top}px`,
74
- top: "auto"
72
+ return direction === "down" ? { position: "absolute", height: `${window.innerHeight}px` } : {
73
+ position: "absolute",
74
+ bottom: "100%",
75
+ top: "auto",
76
+ height: `${window.innerHeight}px`
75
77
  };
76
78
  };
77
79
  const placeholderStyle = () => {
78
80
  if (direction === "down") {
79
81
  return {
80
82
  height: `${position.top + position.height}px`,
81
- top: 0,
83
+ top: "auto",
84
+ bottom: "-100%",
82
85
  ...isShow()
83
86
  };
84
87
  }
85
88
  return {
86
89
  height: `${getSystemInfoSync().windowHeight - position.top}px`,
87
- bottom: `0px`,
88
- top: "auto",
90
+ bottom: `auto`,
91
+ top: "0",
89
92
  ...isShow()
90
93
  };
91
94
  };
92
95
  return React.createElement(
93
- React.Fragment,
94
- null,
96
+ "div",
97
+ { className: "nut-menu-item-container", style: { position: "absolute", left: 0, right: 0 } },
95
98
  closeOnClickAway ? React.createElement("div", { className: `placeholder-element ${classNames({
96
99
  up: direction === "up"
97
100
  })}`, style: placeholderStyle(), onClick: () => parent.toggleMenuItem(index) }) : null,
@@ -314,7 +314,7 @@ const NoticeBar = (props) => {
314
314
  "nut-noticebar-page": true,
315
315
  withicon: closeable,
316
316
  close: closeable,
317
- wrap
317
+ wrapable: wrap
318
318
  });
319
319
  useEffect(() => {
320
320
  return () => {
@@ -2,7 +2,7 @@ import React, { useMemo, useState } from "react";
2
2
  import classNames from "classnames";
3
3
  import { RectDown } from "@nutui/icons-react-taro";
4
4
  import { View } from "@tarojs/components";
5
- import { P as Popup } from "./popup.taro-e756f3fc.js";
5
+ import { P as Popup } from "./popup.taro-687437a0.js";
6
6
  import { u as useConfig } from "./configprovider.taro-372b1525.js";
7
7
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
8
8
  const defaultProps = {
@@ -15,61 +15,61 @@ import { B as B2 } from "./backtop.taro-7de36464.js";
15
15
  import { E } from "./elevator.taro-df8fde9d.js";
16
16
  import { F } from "./fixednav.taro-6c69ad79.js";
17
17
  import { N } from "./navbar.taro-5e1a0835.js";
18
- import { S as S2 } from "./sidenavbar.taro-1aefdd3c.js";
18
+ import { S as S2 } from "./sidenavbar.taro-03fb1fc6.js";
19
19
  import { S as S3 } from "./sidenavbaritem.taro-7d805f92.js";
20
20
  import { S as S4 } from "./subsidenavbar.taro-47bb6e74.js";
21
21
  import { T } from "./tabbar.taro-18eee41f.js";
22
22
  import { T as T2 } from "./tabbaritem.taro-89646ca1.js";
23
23
  import { T as T3 } from "./tabpane.taro-f8d92ece.js";
24
24
  import { T as T4 } from "./tabs.taro-66164782.js";
25
- import { A } from "./address.taro-cc879a1d.js";
26
- import { C as C5 } from "./calendar.taro-02195ddb.js";
25
+ import { A } from "./address.taro-3cfe1767.js";
26
+ import { C as C5 } from "./calendar.taro-3568a214.js";
27
27
  import { C as C6 } from "./calendaritem.taro-4230e5c4.js";
28
- import { C as C7 } from "./cascader.taro-fb7a0230.js";
28
+ import { C as C7 } from "./cascader.taro-91cf3ca6.js";
29
29
  import { C as C8, a } from "./checkbox.taro-303276d7.js";
30
- import { D as D2 } from "./datepicker.taro-8c9230b6.js";
31
- import { F as F2 } from "./form.taro-b06754e8.js";
32
- import { F as F3 } from "./formitem.taro-b326809d.js";
30
+ import { D as D2 } from "./datepicker.taro-108eb7c8.js";
31
+ import { F as F2 } from "./form.taro-a348734b.js";
32
+ import { F as F3 } from "./formitem.taro-c9ded1ef.js";
33
33
  import { I as I2 } from "./input.taro-69c08268.js";
34
- import { I as I3 } from "./inputnumber.taro-6657d2c1.js";
34
+ import { I as I3 } from "./inputnumber.taro-788b1cd3.js";
35
35
  import { M } from "./menu.taro-40d36e0a.js";
36
- import { M as M2 } from "./menuitem.taro-6aa35a00.js";
37
- import { N as N2 } from "./numberkeyboard.taro-18879f04.js";
38
- import { P } from "./picker.taro-6b672469.js";
36
+ import { M as M2 } from "./menuitem.taro-7f8c12cf.js";
37
+ import { N as N2 } from "./numberkeyboard.taro-ee984036.js";
38
+ import { P } from "./picker.taro-9ca039c4.js";
39
39
  import { R as R2, a as a2 } from "./radio.taro-5d6ca4ad.js";
40
40
  import { R as R3 } from "./range.taro-a1d1ad25.js";
41
41
  import { R as R4 } from "./rate.taro-78c66969.js";
42
- import { S as S5 } from "./searchbar.taro-39351331.js";
43
- import { S as S6 } from "./shortpassword.taro-cff61e4e.js";
42
+ import { S as S5 } from "./searchbar.taro-b2d6eff2.js";
43
+ import { S as S6 } from "./shortpassword.taro-4f714afb.js";
44
44
  import { S as S7 } from "./signature.taro-4f68516a.js";
45
45
  import { S as S8 } from "./switch.taro-f0da73a3.js";
46
46
  import { T as T5 } from "./textarea.taro-593cd471.js";
47
47
  import { U } from "./uploader.taro-5ad88f83.js";
48
- import { A as A2 } from "./actionsheet.taro-697a594b.js";
48
+ import { A as A2 } from "./actionsheet.taro-8e7cbd0f.js";
49
49
  import { B as B3 } from "./badge.taro-872605bf.js";
50
50
  import { B as B4 } from "./dialog.taro-e5c2cb03.js";
51
51
  import { D as D3 } from "./drag.taro-48e1ff38.js";
52
52
  import { E as E2 } from "./empty.taro-8345ac72.js";
53
53
  import { I as I4 } from "./infiniteloading.taro-53eeb1ec.js";
54
- import { N as N3 } from "./noticebar.taro-8d496dd6.js";
54
+ import { N as N3 } from "./noticebar.taro-dc895cc5.js";
55
55
  import { N as N4 } from "./notify.taro-5768403d.js";
56
- import { P as P2 } from "./popover.taro-ba6c323a.js";
56
+ import { P as P2 } from "./popover.taro-52c02926.js";
57
57
  import { P as P3 } from "./pulltorefresh.taro-3719fdfb.js";
58
- import { S as S9 } from "./skeleton.taro-ce714b06.js";
59
- import { S as S10 } from "./swipe.taro-966af6d3.js";
60
- import { P as P4 } from "./popup.taro-e756f3fc.js";
58
+ import { S as S9 } from "./skeleton.taro-e29f9f0c.js";
59
+ import { S as S10 } from "./swipe.taro-4eb0cc9a.js";
60
+ import { P as P4 } from "./popup.taro-687437a0.js";
61
61
  import { T as T6 } from "./toast.taro-b2937e7c.js";
62
62
  import { A as A3 } from "./animate.taro-c8b29242.js";
63
63
  import { default as default2 } from "./AnimatingNumbers.js";
64
64
  import { A as A4 } from "./audio.taro-64b15071.js";
65
- import { A as A5 } from "./avatar.taro-8a26cd6c.js";
65
+ import { A as A5 } from "./avatar.taro-9ab097d0.js";
66
66
  import { A as A6 } from "./avatargroup.taro-ad5ffb46.js";
67
67
  import { C as C9 } from "./circleprogress.taro-9064d69c.js";
68
68
  import { C as C10 } from "./collapse.taro-98577a29.js";
69
69
  import { C as C11 } from "./collapseitem.taro-9451f40f.js";
70
70
  import { C as C12 } from "./countdown.taro-8f19d21b.js";
71
71
  import { E as E3 } from "./ellipsis.taro-5653d0b2.js";
72
- import { I as I5 } from "./imagepreview.taro-cfe0a4cc.js";
72
+ import { I as I5 } from "./imagepreview.taro-29717406.js";
73
73
  import { I as I6 } from "./indicator.taro-edbc71df.js";
74
74
  import { V } from "./virtuallist.taro-97d3403a.js";
75
75
  import { P as P5 } from "./pagination.taro-592bca05.js";
@@ -85,7 +85,7 @@ import { V as V2 } from "./video.taro-2a26d7da.js";
85
85
  import { B as B5 } from "./barrage.taro-e87bc58e.js";
86
86
  import { C as C13 } from "./card.taro-92fe9733.js";
87
87
  import { T as T9 } from "./timedetail.taro-d7aa4c1b.js";
88
- import { T as T10 } from "./timeselect.taro-9e37e648.js";
88
+ import { T as T10 } from "./timeselect.taro-9de6ab39.js";
89
89
  import { T as T11 } from "./trendarrow.taro-253025d2.js";
90
90
  import { W } from "./watermark.taro-b6b1ae18.js";
91
91
  import "react";
@@ -2,7 +2,7 @@ import React, { useState, useRef, useEffect, useImperativeHandle } from "react";
2
2
  import classNames from "classnames";
3
3
  import Taro from "@tarojs/taro";
4
4
  import { View, PickerView, PickerViewColumn } from "@tarojs/components";
5
- import { P as Popup } from "./popup.taro-e756f3fc.js";
5
+ import { P as Popup } from "./popup.taro-687437a0.js";
6
6
  import { u as useTouch } from "./use-touch-ff43512c.js";
7
7
  import { g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
8
8
  import { c as canUseDom } from "./can-use-dom-0e539bd3.js";
@@ -262,6 +262,11 @@ const InternalPicker = (props, ref) => {
262
262
  (_a = props.onConfirm) == null ? void 0 : _a.call(props, setSelectedOptions(), val);
263
263
  }
264
264
  });
265
+ const [innerVisible, setInnerVisible] = usePropsValue({
266
+ value: props.visible,
267
+ defaultValue: false,
268
+ finalValue: false
269
+ });
265
270
  const [innerValue, setInnerValue] = useState(selectedValue);
266
271
  const [currentValue, setCurrentValue] = useState([]);
267
272
  const [columnIndex, setColumnIndex] = useState(0);
@@ -269,6 +274,15 @@ const InternalPicker = (props, ref) => {
269
274
  const [refs, setRefs] = useRefs();
270
275
  const [columnsList, setColumnsList] = useState([]);
271
276
  const isConfirmEvent = useRef(false);
277
+ const actions = {
278
+ open: () => {
279
+ setInnerVisible(true);
280
+ },
281
+ close: () => {
282
+ setInnerVisible(false);
283
+ }
284
+ };
285
+ useImperativeHandle(ref, () => actions);
272
286
  const formatCascade = (columns, values) => {
273
287
  const formatted = [];
274
288
  let columnOptions = {
@@ -326,19 +340,19 @@ const InternalPicker = (props, ref) => {
326
340
  };
327
341
  useEffect(() => {
328
342
  setInnerValue(innerValue !== selectedValue ? selectedValue : innerValue);
329
- }, [visible]);
343
+ }, [innerVisible]);
330
344
  useEffect(() => {
331
- if (visible) {
345
+ if (innerVisible) {
332
346
  init();
333
347
  }
334
- }, [options, visible]);
348
+ }, [options, innerVisible]);
335
349
  useEffect(() => {
336
- if (!visible) {
350
+ if (!innerVisible) {
337
351
  return;
338
352
  }
339
353
  Taro.getEnv() !== "WEB" && setCurrentValue(defaultValuesConvert());
340
354
  onChange && onChange(setSelectedOptions(), innerValue, columnIndex);
341
- }, [innerValue, columnsList, visible]);
355
+ }, [innerValue, columnsList, innerVisible]);
342
356
  const setSelectedOptions = () => {
343
357
  const options2 = [];
344
358
  let currOptions = [];
@@ -415,6 +429,7 @@ const InternalPicker = (props, ref) => {
415
429
  if (moving) {
416
430
  isConfirmEvent.current = true;
417
431
  } else {
432
+ console.log("picker confirmed", innerValue);
418
433
  setSelectedValue(innerValue);
419
434
  closePicker();
420
435
  }
@@ -423,6 +438,7 @@ const InternalPicker = (props, ref) => {
423
438
  }, 0);
424
439
  };
425
440
  const closePicker = () => {
441
+ setInnerVisible(false);
426
442
  onClose && onClose(setSelectedOptions(), innerValue);
427
443
  afterClose && afterClose(setSelectedOptions(), innerValue, pickerRef);
428
444
  };
@@ -430,9 +446,15 @@ const InternalPicker = (props, ref) => {
430
446
  return React.createElement(
431
447
  "div",
432
448
  { className: `${classPrefix}__control` },
433
- React.createElement("span", { className: `${classPrefix}__cancel-btn`, onClick: () => closePicker() }, locale.cancel),
449
+ React.createElement("span", { className: `${classPrefix}__cancel-btn`, onClick: (e) => {
450
+ e.stopPropagation();
451
+ closePicker();
452
+ } }, locale.cancel),
434
453
  React.createElement("div", { className: `${classPrefix}__title` }, title || ""),
435
- React.createElement("span", { className: `${classPrefix}__confirm-btn`, onClick: confirm }, locale.confirm)
454
+ React.createElement("span", { className: `${classPrefix}__confirm-btn`, onClick: (e) => {
455
+ e.stopPropagation();
456
+ confirm();
457
+ } }, locale.confirm)
436
458
  );
437
459
  };
438
460
  const [, setPickingStatus] = useState(false);
@@ -455,26 +477,31 @@ const InternalPicker = (props, ref) => {
455
477
  chooseItem(columnsList[changeIndex][data.detail.value[changeIndex]], changeIndex);
456
478
  };
457
479
  return React.createElement(
458
- Popup,
459
- { visible, position: "bottom", onClose: () => {
460
- closePicker();
461
- } },
480
+ React.Fragment,
481
+ null,
482
+ typeof children === "function" && children(selectedValue),
462
483
  React.createElement(
463
- View,
464
- { className: classes, style, ...rest, catchMove: true },
465
- renderTitleBar(),
466
- children,
467
- React.createElement("div", { className: `${classPrefix}__panel`, ref: pickerRef }, Taro.getEnv() === "WEB" ? columnsList == null ? void 0 : columnsList.map((item, index) => {
468
- return React.createElement(PickerPanel$1, { ref: setRefs(index), defaultValue: innerValue == null ? void 0 : innerValue[index], options: item, threeDimensional, chooseItem: (value, index2) => chooseItem(value, index2), duration, key: index, keyIndex: index, itemShow: visible });
469
- }) : React.createElement(PickerView, { ref: pickerRef, value: currentValue, immediateChange: true, onPickStart: pickerStart, onChange: pickerChange, onPickEnd: pickerEnd, className: "nut-picker-view-panel" }, columnsList == null ? void 0 : columnsList.map((columnOptions, index) => {
470
- return React.createElement(PickerViewColumn, { key: `col${index}` }, columnOptions.map((item, index2) => {
471
- return React.createElement(
472
- View,
473
- { key: item.value || index2, className: "nut-picker-roller-item-title" },
474
- React.createElement(React.Fragment, null, item.text || item)
475
- );
476
- }));
477
- })))
484
+ Popup,
485
+ { visible: innerVisible, position: "bottom", afterClose: () => {
486
+ closePicker();
487
+ } },
488
+ React.createElement(
489
+ View,
490
+ { className: classes, style, ...rest, catchMove: true },
491
+ renderTitleBar(),
492
+ typeof children !== "function" && children,
493
+ React.createElement("div", { className: `${classPrefix}__panel`, ref: pickerRef }, Taro.getEnv() === "WEB" ? columnsList == null ? void 0 : columnsList.map((item, index) => {
494
+ return React.createElement(PickerPanel$1, { ref: setRefs(index), defaultValue: innerValue == null ? void 0 : innerValue[index], options: item, threeDimensional, chooseItem: (value, index2) => chooseItem(value, index2), duration, key: index, keyIndex: index, itemShow: visible });
495
+ }) : React.createElement(PickerView, { ref: pickerRef, value: currentValue, immediateChange: true, onPickStart: pickerStart, onChange: pickerChange, onPickEnd: pickerEnd, className: "nut-picker-view-panel" }, columnsList == null ? void 0 : columnsList.map((columnOptions, index) => {
496
+ return React.createElement(PickerViewColumn, { key: `col${index}` }, columnOptions.map((item, index2) => {
497
+ return React.createElement(
498
+ View,
499
+ { key: item.value || index2, className: "nut-picker-roller-item-title" },
500
+ React.createElement(React.Fragment, null, item.text || item)
501
+ );
502
+ }));
503
+ })))
504
+ )
478
505
  )
479
506
  );
480
507
  };
@@ -1,7 +1,7 @@
1
1
  import React, { useRef, useState, useEffect } from "react";
2
2
  import classNames from "classnames";
3
- import { P as Popup } from "./popup.taro-e756f3fc.js";
4
3
  import Taro from "@tarojs/taro";
4
+ import { P as Popup } from "./popup.taro-687437a0.js";
5
5
  import { a as getRect, g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
6
6
  import { u as upperCaseFirst } from "./index-0a89a47b.js";
7
7
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
@@ -55,7 +55,7 @@ const Popover = (props) => {
55
55
  const getContentWidth = async () => {
56
56
  let rect;
57
57
  if (targetId) {
58
- if (Taro.getEnv() == Taro.ENV_TYPE.WEB) {
58
+ if (Taro.getEnv() === Taro.ENV_TYPE.WEB) {
59
59
  rect = getRect(document.querySelector(`#${targetId}`));
60
60
  } else {
61
61
  rect = await getRectTaro(targetId);
@@ -78,13 +78,13 @@ const Popover = (props) => {
78
78
  return new Promise((resolve) => {
79
79
  const query = Taro.createSelectorQuery();
80
80
  query.select(`#${targetId2}`) && query.select(`#${targetId2}`).boundingClientRect();
81
- query.exec(function(res) {
81
+ query.exec((res) => {
82
82
  resolve(res[0]);
83
83
  });
84
84
  });
85
85
  };
86
86
  const getPopoverContentW = async () => {
87
- let rectContent = await getRectByTaro(popoverContentRef.current);
87
+ const rectContent = await getRectByTaro(popoverContentRef.current);
88
88
  setElWidth(rectContent.width);
89
89
  setElHeight(rectContent.height);
90
90
  };
@@ -123,7 +123,7 @@ const Popover = (props) => {
123
123
  return styles;
124
124
  };
125
125
  const getRootPosition = () => {
126
- let styles = {};
126
+ const styles = {};
127
127
  if (!rootPosition) {
128
128
  styles.visibility = "hidden";
129
129
  return styles;
@@ -135,34 +135,34 @@ const Popover = (props) => {
135
135
  const skew = location.split("-")[1];
136
136
  let cross = 0;
137
137
  let parallel = 0;
138
- if (Array.isArray(offset) && offset.length == 2) {
138
+ if (Array.isArray(offset) && offset.length === 2) {
139
139
  cross += +offset[1];
140
140
  parallel += +offset[0];
141
141
  }
142
142
  if (width) {
143
143
  if (["bottom", "top"].includes(direction)) {
144
- const h = direction == "bottom" ? height + cross : -(contentHeight + cross);
144
+ const h = direction === "bottom" ? height + cross : -(contentHeight + cross);
145
145
  styles.top = `${top + h}px`;
146
146
  if (!skew) {
147
147
  styles.left = `${-(contentWidth - width) / 2 + left + parallel}px`;
148
148
  }
149
- if (skew == "start") {
149
+ if (skew === "start") {
150
150
  styles.left = `${left + parallel}px`;
151
151
  }
152
- if (skew == "end") {
152
+ if (skew === "end") {
153
153
  styles.left = `${right + parallel}px`;
154
154
  }
155
155
  }
156
156
  if (["left", "right"].includes(direction)) {
157
- const contentW = direction == "left" ? -(contentWidth + cross) : width + cross;
157
+ const contentW = direction === "left" ? -(contentWidth + cross) : width + cross;
158
158
  styles.left = `${left + contentW}px`;
159
159
  if (!skew) {
160
160
  styles.top = `${top - contentHeight / 2 + height / 2 - 4 + parallel}px`;
161
161
  }
162
- if (skew == "start") {
162
+ if (skew === "start") {
163
163
  styles.top = `${top + parallel}px`;
164
164
  }
165
- if (skew == "end") {
165
+ if (skew === "end") {
166
166
  styles.top = `${top + height + parallel}px`;
167
167
  }
168
168
  }
@@ -79,6 +79,7 @@ const Popup = (props) => {
79
79
  }
80
80
  };
81
81
  const onHandleClickOverlay = (e) => {
82
+ e.stopPropagation();
82
83
  if (closeOnOverlayClick) {
83
84
  const closed = onClickOverlay && onClickOverlay(e);
84
85
  closed && close();
@@ -52,7 +52,7 @@ const SearchBar = (props) => {
52
52
  autoFocus && forceFocus();
53
53
  }, [autoFocus]);
54
54
  const renderField = () => {
55
- return React.createElement("input", { className: `${classPrefix}__input ${shape === "round" ? `${classPrefix}__round` : ""} ${clearable ? `${classPrefix}__input-clear` : ""}`, ref: searchRef, style: { ...props.style }, value: value || "", placeholder: placeholder || locale.placeholder, disabled, readOnly, maxLength, onKeyPress: onKeypress, onChange: (e) => change(e), onFocus: (e) => focus(e), onBlur: (e) => blur(e), onClick: (e) => clickInput(e) });
55
+ return React.createElement("input", { className: `${classPrefix}__input ${clearable ? `${classPrefix}__input-clear` : ""}`, ref: searchRef, style: { ...props.style }, value: value || "", placeholder: placeholder || locale.placeholder, disabled, readOnly, maxLength, onKeyPress: onKeypress, onChange: (e) => change(e), onFocus: (e) => focus(e), onBlur: (e) => blur(e), onClick: (e) => clickInput(e) });
56
56
  };
57
57
  const clickInput = (e) => {
58
58
  onClickInput && onClickInput(e);
@@ -106,7 +106,7 @@ const SearchBar = (props) => {
106
106
  renderLeft(),
107
107
  React.createElement(
108
108
  "div",
109
- { className: `${classPrefix}__content` },
109
+ { className: `${classPrefix}__content ${shape === "round" ? `${classPrefix}__round` : ""}` },
110
110
  renderLeftIn(),
111
111
  React.createElement("div", { className: "nut-searchbar__input-box" }, renderField()),
112
112
  renderRightIn(),
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, useEffect } from "react";
2
2
  import { Tips } from "@nutui/icons-react-taro";
3
3
  import classNames from "classnames";
4
- import { P as Popup } from "./popup.taro-e756f3fc.js";
4
+ import { P as Popup } from "./popup.taro-687437a0.js";
5
5
  import { u as useConfig } from "./configprovider.taro-372b1525.js";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  import { u as usePropsValue } from "./use-props-value-7ac1b1b5.js";
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from "react";
2
2
  import classNames from "classnames";
3
- import { P as Popup } from "./popup.taro-e756f3fc.js";
3
+ import { P as Popup } from "./popup.taro-687437a0.js";
4
4
  import { O as OffsetContext } from "./context-f32a9246.js";
5
5
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
6
  const defaultProps = {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import classNames from "classnames";
3
- import { A as Avatar } from "./avatar.taro-8a26cd6c.js";
3
+ import { A as Avatar } from "./avatar.taro-9ab097d0.js";
4
4
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
5
5
  const defaultProps = {
6
6
  ...ComponentDefaults,