@rc-component/trigger 1.5.1 → 1.5.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 (3) hide show
  1. package/es/index.js +35 -25
  2. package/lib/index.js +35 -25
  3. package/package.json +1 -1
package/es/index.js CHANGED
@@ -8,7 +8,6 @@ import ResizeObserver from 'rc-resize-observer';
8
8
  import useEvent from "rc-util/es/hooks/useEvent";
9
9
  import useId from "rc-util/es/hooks/useId";
10
10
  import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
11
- import useMergedState from "rc-util/es/hooks/useMergedState";
12
11
  import * as React from 'react';
13
12
  import TriggerContext from "./context";
14
13
  import useAction from "./hooks/useAction";
@@ -121,12 +120,23 @@ export function generateTrigger() {
121
120
  var mergeMaskMotion = getMotion(prefixCls, maskMotion, maskAnimation, maskTransitionName);
122
121
 
123
122
  // ============================ Open ============================
124
- var _useMergedState = useMergedState(defaultPopupVisible || false, {
125
- value: popupVisible
126
- }),
127
- _useMergedState2 = _slicedToArray(_useMergedState, 2),
128
- mergedOpen = _useMergedState2[0],
129
- setMergedOpen = _useMergedState2[1];
123
+ var _React$useState5 = React.useState(defaultPopupVisible || false),
124
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
125
+ internalOpen = _React$useState6[0],
126
+ setInternalOpen = _React$useState6[1];
127
+
128
+ // Render still use props as first priority
129
+ var mergedOpen = popupVisible !== null && popupVisible !== void 0 ? popupVisible : internalOpen;
130
+
131
+ // We use effect sync here in case `popupVisible` back to `undefined`
132
+ var setMergedOpen = useEvent(function (nextOpen) {
133
+ if (popupVisible === undefined) {
134
+ setInternalOpen(nextOpen);
135
+ }
136
+ });
137
+ useLayoutEffect(function () {
138
+ setInternalOpen(popupVisible || false);
139
+ }, [popupVisible]);
130
140
  var openRef = React.useRef(mergedOpen);
131
141
  openRef.current = mergedOpen;
132
142
  var internalTriggerOpen = useEvent(function (nextOpen) {
@@ -157,10 +167,10 @@ export function generateTrigger() {
157
167
  }, []);
158
168
 
159
169
  // ========================== Motion ============================
160
- var _React$useState5 = React.useState(false),
161
- _React$useState6 = _slicedToArray(_React$useState5, 2),
162
- inMotion = _React$useState6[0],
163
- setInMotion = _React$useState6[1];
170
+ var _React$useState7 = React.useState(false),
171
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
172
+ inMotion = _React$useState8[0],
173
+ setInMotion = _React$useState8[1];
164
174
  var mountRef = React.useRef(true);
165
175
  useLayoutEffect(function () {
166
176
  if (!mountRef.current || mergedOpen) {
@@ -168,16 +178,16 @@ export function generateTrigger() {
168
178
  }
169
179
  mountRef.current = true;
170
180
  }, [mergedOpen]);
171
- var _React$useState7 = React.useState(null),
172
- _React$useState8 = _slicedToArray(_React$useState7, 2),
173
- motionPrepareResolve = _React$useState8[0],
174
- setMotionPrepareResolve = _React$useState8[1];
181
+ var _React$useState9 = React.useState(null),
182
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
183
+ motionPrepareResolve = _React$useState10[0],
184
+ setMotionPrepareResolve = _React$useState10[1];
175
185
 
176
186
  // =========================== Align ============================
177
- var _React$useState9 = React.useState([0, 0]),
178
- _React$useState10 = _slicedToArray(_React$useState9, 2),
179
- mousePos = _React$useState10[0],
180
- setMousePos = _React$useState10[1];
187
+ var _React$useState11 = React.useState([0, 0]),
188
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
189
+ mousePos = _React$useState12[0],
190
+ setMousePos = _React$useState12[1];
181
191
  var setMousePosByEvent = function setMousePosByEvent(event) {
182
192
  setMousePos([event.clientX, event.clientY]);
183
193
  };
@@ -242,14 +252,14 @@ export function generateTrigger() {
242
252
  }, [motionPrepareResolve]);
243
253
 
244
254
  // ========================== Stretch ===========================
245
- var _React$useState11 = React.useState(0),
246
- _React$useState12 = _slicedToArray(_React$useState11, 2),
247
- targetWidth = _React$useState12[0],
248
- setTargetWidth = _React$useState12[1];
249
255
  var _React$useState13 = React.useState(0),
250
256
  _React$useState14 = _slicedToArray(_React$useState13, 2),
251
- targetHeight = _React$useState14[0],
252
- setTargetHeight = _React$useState14[1];
257
+ targetWidth = _React$useState14[0],
258
+ setTargetWidth = _React$useState14[1];
259
+ var _React$useState15 = React.useState(0),
260
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
261
+ targetHeight = _React$useState16[0],
262
+ setTargetHeight = _React$useState16[1];
253
263
  var onTargetResize = function onTargetResize(_, ele) {
254
264
  triggerAlign();
255
265
  if (stretch) {
package/lib/index.js CHANGED
@@ -16,7 +16,6 @@ var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
16
16
  var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
17
17
  var _useId = _interopRequireDefault(require("rc-util/lib/hooks/useId"));
18
18
  var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
19
- var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
20
19
  var React = _interopRequireWildcard(require("react"));
21
20
  var _context = _interopRequireDefault(require("./context"));
22
21
  var _useAction3 = _interopRequireDefault(require("./hooks/useAction"));
@@ -130,12 +129,23 @@ function generateTrigger() {
130
129
  var mergeMaskMotion = (0, _util.getMotion)(prefixCls, maskMotion, maskAnimation, maskTransitionName);
131
130
 
132
131
  // ============================ Open ============================
133
- var _useMergedState = (0, _useMergedState3.default)(defaultPopupVisible || false, {
134
- value: popupVisible
135
- }),
136
- _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
137
- mergedOpen = _useMergedState2[0],
138
- setMergedOpen = _useMergedState2[1];
132
+ var _React$useState5 = React.useState(defaultPopupVisible || false),
133
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
134
+ internalOpen = _React$useState6[0],
135
+ setInternalOpen = _React$useState6[1];
136
+
137
+ // Render still use props as first priority
138
+ var mergedOpen = popupVisible !== null && popupVisible !== void 0 ? popupVisible : internalOpen;
139
+
140
+ // We use effect sync here in case `popupVisible` back to `undefined`
141
+ var setMergedOpen = (0, _useEvent.default)(function (nextOpen) {
142
+ if (popupVisible === undefined) {
143
+ setInternalOpen(nextOpen);
144
+ }
145
+ });
146
+ (0, _useLayoutEffect.default)(function () {
147
+ setInternalOpen(popupVisible || false);
148
+ }, [popupVisible]);
139
149
  var openRef = React.useRef(mergedOpen);
140
150
  openRef.current = mergedOpen;
141
151
  var internalTriggerOpen = (0, _useEvent.default)(function (nextOpen) {
@@ -166,10 +176,10 @@ function generateTrigger() {
166
176
  }, []);
167
177
 
168
178
  // ========================== Motion ============================
169
- var _React$useState5 = React.useState(false),
170
- _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
171
- inMotion = _React$useState6[0],
172
- setInMotion = _React$useState6[1];
179
+ var _React$useState7 = React.useState(false),
180
+ _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
181
+ inMotion = _React$useState8[0],
182
+ setInMotion = _React$useState8[1];
173
183
  var mountRef = React.useRef(true);
174
184
  (0, _useLayoutEffect.default)(function () {
175
185
  if (!mountRef.current || mergedOpen) {
@@ -177,16 +187,16 @@ function generateTrigger() {
177
187
  }
178
188
  mountRef.current = true;
179
189
  }, [mergedOpen]);
180
- var _React$useState7 = React.useState(null),
181
- _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
182
- motionPrepareResolve = _React$useState8[0],
183
- setMotionPrepareResolve = _React$useState8[1];
190
+ var _React$useState9 = React.useState(null),
191
+ _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
192
+ motionPrepareResolve = _React$useState10[0],
193
+ setMotionPrepareResolve = _React$useState10[1];
184
194
 
185
195
  // =========================== Align ============================
186
- var _React$useState9 = React.useState([0, 0]),
187
- _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
188
- mousePos = _React$useState10[0],
189
- setMousePos = _React$useState10[1];
196
+ var _React$useState11 = React.useState([0, 0]),
197
+ _React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
198
+ mousePos = _React$useState12[0],
199
+ setMousePos = _React$useState12[1];
190
200
  var setMousePosByEvent = function setMousePosByEvent(event) {
191
201
  setMousePos([event.clientX, event.clientY]);
192
202
  };
@@ -251,14 +261,14 @@ function generateTrigger() {
251
261
  }, [motionPrepareResolve]);
252
262
 
253
263
  // ========================== Stretch ===========================
254
- var _React$useState11 = React.useState(0),
255
- _React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
256
- targetWidth = _React$useState12[0],
257
- setTargetWidth = _React$useState12[1];
258
264
  var _React$useState13 = React.useState(0),
259
265
  _React$useState14 = (0, _slicedToArray2.default)(_React$useState13, 2),
260
- targetHeight = _React$useState14[0],
261
- setTargetHeight = _React$useState14[1];
266
+ targetWidth = _React$useState14[0],
267
+ setTargetWidth = _React$useState14[1];
268
+ var _React$useState15 = React.useState(0),
269
+ _React$useState16 = (0, _slicedToArray2.default)(_React$useState15, 2),
270
+ targetHeight = _React$useState16[0],
271
+ setTargetHeight = _React$useState16[1];
262
272
  var onTargetResize = function onTargetResize(_, ele) {
263
273
  triggerAlign();
264
274
  if (stretch) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-component/trigger",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "base abstract trigger component for react",
5
5
  "engines": {
6
6
  "node": ">=8.x"