@micromag/core 0.3.207 → 0.3.211

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/hooks.js +61 -52
  2. package/lib/hooks.js +61 -52
  3. package/package.json +2 -2
package/es/hooks.js CHANGED
@@ -6,8 +6,8 @@ import isString from 'lodash/isString';
6
6
  import dayjs from 'dayjs';
7
7
  import { EventsManager, MediasParser, StoryParser, ThemeParser } from '@micromag/core';
8
8
  import { createUseEvent, getMediaFilesAsArray } from '@micromag/core/utils';
9
- import { useDrag } from '@use-gesture/react';
10
9
  import { useSpring, useSprings } from '@react-spring/core';
10
+ import { useDrag } from '@use-gesture/react';
11
11
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import { useForm as useForm$1 } from '@folklore/forms';
13
13
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
@@ -196,39 +196,6 @@ var useFormattedTime = function useFormattedTime() {
196
196
  var eventsManager$1 = typeof document !== 'undefined' ? new EventsManager(document) : null;
197
197
  var useDocumentEvent = createUseEvent(eventsManager$1);
198
198
 
199
- var getValueFromSpring = function getValueFromSpring(s) {
200
- var _ref = s || {},
201
- _ref$value = _ref.value,
202
- v = _ref$value === void 0 ? null : _ref$value;
203
-
204
- var _ref2 = v || {},
205
- p = _ref2.progress;
206
-
207
- return p;
208
- };
209
-
210
- function useSpringValue(wantedProgress, immediate, params) {
211
- var _useState = useState(wantedProgress),
212
- _useState2 = _slicedToArray(_useState, 2),
213
- progress = _useState2[0],
214
- setProgress = _useState2[1];
215
-
216
- var onChange = useCallback(function (spring) {
217
- return setProgress(getValueFromSpring(spring));
218
- }, [setProgress]);
219
- useSpring(_objectSpread({
220
- progress: wantedProgress,
221
- onChange: onChange,
222
- immediate: immediate
223
- }, params)); // useEffect(() => {
224
- // if (wantedProgress !== null) {
225
- // api.start({ progress: wantedProgress, immediate, ...params });
226
- // }
227
- // }, [wantedProgress, immediate, params, api]);
228
-
229
- return immediate ? wantedProgress : progress;
230
- }
231
-
232
199
  function useDragProgress() {
233
200
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
234
201
  wantedProgress = _ref.progress,
@@ -251,16 +218,24 @@ function useDragProgress() {
251
218
  } : _ref$dragOptions;
252
219
 
253
220
  var refDragging = useRef(false);
221
+ var refProgress = useRef(wantedProgress);
254
222
 
255
- var _useState = useState({
256
- dragging: false,
257
- progress: wantedProgress
258
- }),
223
+ var _useState = useState(false),
259
224
  _useState2 = _slicedToArray(_useState, 2),
260
- _useState2$ = _useState2[0],
261
- dragging = _useState2$.dragging,
262
- progress = _useState2$.progress,
263
- setDragState = _useState2[1];
225
+ dragging = _useState2[0],
226
+ setDragging = _useState2[1];
227
+
228
+ var spring = useCallback(function () {
229
+ return _objectSpread({
230
+ progress: wantedProgress,
231
+ immediate: dragging || disabled
232
+ }, springParams);
233
+ }, []);
234
+
235
+ var _useSpring = useSpring(spring),
236
+ _useSpring2 = _slicedToArray(_useSpring, 2),
237
+ progress = _useSpring2[0].progress,
238
+ api = _useSpring2[1];
264
239
 
265
240
  var onDrag = useCallback(function (gestureState) {
266
241
  if (disabled) {
@@ -281,29 +256,35 @@ function useDragProgress() {
281
256
 
282
257
  var newProgress = computeProgress(gestureState);
283
258
  refDragging.current = active;
284
- setDragState({
285
- dragging: active,
286
- progress: newProgress
259
+ refProgress.current = newProgress;
260
+
261
+ if (active !== dragging) {
262
+ setDragging(active);
263
+ }
264
+
265
+ api.start({
266
+ progress: newProgress,
267
+ immediate: active
287
268
  });
288
269
 
289
270
  if (onProgress !== null) {
290
271
  onProgress(newProgress, gestureState);
291
272
  }
292
- }, [setDragState, disabled, onTap, computeProgress, setDragState, onProgress]);
273
+ }, [setDragging, disabled, onTap, computeProgress, dragging, onProgress]);
293
274
  var bind = useDrag(onDrag, dragOptions);
294
- var springedProgress = useSpringValue(progress, dragging || disabled, springParams);
295
275
  useEffect(function () {
296
- if (wantedProgress !== progress && !refDragging.current) {
297
- setDragState({
298
- dragging: refDragging.current,
299
- progress: wantedProgress
276
+ if (!refDragging.current && wantedProgress !== refProgress.current) {
277
+ refProgress.current = wantedProgress;
278
+ api.start({
279
+ progress: wantedProgress,
280
+ immediate: false
300
281
  });
301
282
  }
302
283
  }, [wantedProgress]);
303
284
  return {
304
285
  bind: bind,
305
286
  dragging: dragging,
306
- progress: springedProgress
287
+ progress: progress
307
288
  };
308
289
  }
309
290
 
@@ -2009,6 +1990,34 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
2009
1990
  return useScreenSize(_objectSpread(_objectSpread({}, opts), windowSize));
2010
1991
  };
2011
1992
 
1993
+ var getValueFromSpring = function getValueFromSpring(s) {
1994
+ var _ref = s || {},
1995
+ _ref$value = _ref.value,
1996
+ v = _ref$value === void 0 ? null : _ref$value;
1997
+
1998
+ var _ref2 = v || {},
1999
+ p = _ref2.progress;
2000
+
2001
+ return p;
2002
+ };
2003
+
2004
+ function useSpringValue(wantedProgress, immediate, params) {
2005
+ var _useState = useState(wantedProgress),
2006
+ _useState2 = _slicedToArray(_useState, 2),
2007
+ progress = _useState2[0],
2008
+ setProgress = _useState2[1];
2009
+
2010
+ var onChange = useCallback(function (spring) {
2011
+ return setProgress(getValueFromSpring(spring));
2012
+ }, [setProgress]);
2013
+ useSpring(_objectSpread({
2014
+ progress: wantedProgress,
2015
+ onChange: onChange,
2016
+ immediate: immediate
2017
+ }, params));
2018
+ return immediate ? wantedProgress : progress;
2019
+ }
2020
+
2012
2021
  var useSwipe = function useSwipe() {
2013
2022
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2014
2023
  _ref$width = _ref.width,
package/lib/hooks.js CHANGED
@@ -10,8 +10,8 @@ var isString = require('lodash/isString');
10
10
  var dayjs = require('dayjs');
11
11
  var core = require('@micromag/core');
12
12
  var utils = require('@micromag/core/utils');
13
- var react$1 = require('@use-gesture/react');
14
13
  var core$1 = require('@react-spring/core');
14
+ var react$1 = require('@use-gesture/react');
15
15
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
16
16
  var forms = require('@folklore/forms');
17
17
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
@@ -234,39 +234,6 @@ var useFormattedTime = function useFormattedTime() {
234
234
  var eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;
235
235
  var useDocumentEvent = utils.createUseEvent(eventsManager$1);
236
236
 
237
- var getValueFromSpring = function getValueFromSpring(s) {
238
- var _ref = s || {},
239
- _ref$value = _ref.value,
240
- v = _ref$value === void 0 ? null : _ref$value;
241
-
242
- var _ref2 = v || {},
243
- p = _ref2.progress;
244
-
245
- return p;
246
- };
247
-
248
- function useSpringValue(wantedProgress, immediate, params) {
249
- var _useState = react.useState(wantedProgress),
250
- _useState2 = _slicedToArray__default["default"](_useState, 2),
251
- progress = _useState2[0],
252
- setProgress = _useState2[1];
253
-
254
- var onChange = react.useCallback(function (spring) {
255
- return setProgress(getValueFromSpring(spring));
256
- }, [setProgress]);
257
- core$1.useSpring(_objectSpread__default["default"]({
258
- progress: wantedProgress,
259
- onChange: onChange,
260
- immediate: immediate
261
- }, params)); // useEffect(() => {
262
- // if (wantedProgress !== null) {
263
- // api.start({ progress: wantedProgress, immediate, ...params });
264
- // }
265
- // }, [wantedProgress, immediate, params, api]);
266
-
267
- return immediate ? wantedProgress : progress;
268
- }
269
-
270
237
  function useDragProgress() {
271
238
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
272
239
  wantedProgress = _ref.progress,
@@ -289,16 +256,24 @@ function useDragProgress() {
289
256
  } : _ref$dragOptions;
290
257
 
291
258
  var refDragging = react.useRef(false);
259
+ var refProgress = react.useRef(wantedProgress);
292
260
 
293
- var _useState = react.useState({
294
- dragging: false,
295
- progress: wantedProgress
296
- }),
261
+ var _useState = react.useState(false),
297
262
  _useState2 = _slicedToArray__default["default"](_useState, 2),
298
- _useState2$ = _useState2[0],
299
- dragging = _useState2$.dragging,
300
- progress = _useState2$.progress,
301
- setDragState = _useState2[1];
263
+ dragging = _useState2[0],
264
+ setDragging = _useState2[1];
265
+
266
+ var spring = react.useCallback(function () {
267
+ return _objectSpread__default["default"]({
268
+ progress: wantedProgress,
269
+ immediate: dragging || disabled
270
+ }, springParams);
271
+ }, []);
272
+
273
+ var _useSpring = core$1.useSpring(spring),
274
+ _useSpring2 = _slicedToArray__default["default"](_useSpring, 2),
275
+ progress = _useSpring2[0].progress,
276
+ api = _useSpring2[1];
302
277
 
303
278
  var onDrag = react.useCallback(function (gestureState) {
304
279
  if (disabled) {
@@ -319,29 +294,35 @@ function useDragProgress() {
319
294
 
320
295
  var newProgress = computeProgress(gestureState);
321
296
  refDragging.current = active;
322
- setDragState({
323
- dragging: active,
324
- progress: newProgress
297
+ refProgress.current = newProgress;
298
+
299
+ if (active !== dragging) {
300
+ setDragging(active);
301
+ }
302
+
303
+ api.start({
304
+ progress: newProgress,
305
+ immediate: active
325
306
  });
326
307
 
327
308
  if (onProgress !== null) {
328
309
  onProgress(newProgress, gestureState);
329
310
  }
330
- }, [setDragState, disabled, onTap, computeProgress, setDragState, onProgress]);
311
+ }, [setDragging, disabled, onTap, computeProgress, dragging, onProgress]);
331
312
  var bind = react$1.useDrag(onDrag, dragOptions);
332
- var springedProgress = useSpringValue(progress, dragging || disabled, springParams);
333
313
  react.useEffect(function () {
334
- if (wantedProgress !== progress && !refDragging.current) {
335
- setDragState({
336
- dragging: refDragging.current,
337
- progress: wantedProgress
314
+ if (!refDragging.current && wantedProgress !== refProgress.current) {
315
+ refProgress.current = wantedProgress;
316
+ api.start({
317
+ progress: wantedProgress,
318
+ immediate: false
338
319
  });
339
320
  }
340
321
  }, [wantedProgress]);
341
322
  return {
342
323
  bind: bind,
343
324
  dragging: dragging,
344
- progress: springedProgress
325
+ progress: progress
345
326
  };
346
327
  }
347
328
 
@@ -2047,6 +2028,34 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
2047
2028
  return useScreenSize(_objectSpread__default["default"](_objectSpread__default["default"]({}, opts), windowSize));
2048
2029
  };
2049
2030
 
2031
+ var getValueFromSpring = function getValueFromSpring(s) {
2032
+ var _ref = s || {},
2033
+ _ref$value = _ref.value,
2034
+ v = _ref$value === void 0 ? null : _ref$value;
2035
+
2036
+ var _ref2 = v || {},
2037
+ p = _ref2.progress;
2038
+
2039
+ return p;
2040
+ };
2041
+
2042
+ function useSpringValue(wantedProgress, immediate, params) {
2043
+ var _useState = react.useState(wantedProgress),
2044
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
2045
+ progress = _useState2[0],
2046
+ setProgress = _useState2[1];
2047
+
2048
+ var onChange = react.useCallback(function (spring) {
2049
+ return setProgress(getValueFromSpring(spring));
2050
+ }, [setProgress]);
2051
+ core$1.useSpring(_objectSpread__default["default"]({
2052
+ progress: wantedProgress,
2053
+ onChange: onChange,
2054
+ immediate: immediate
2055
+ }, params));
2056
+ return immediate ? wantedProgress : progress;
2057
+ }
2058
+
2050
2059
  var useSwipe = function useSwipe() {
2051
2060
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2052
2061
  _ref$width = _ref.width,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.207",
3
+ "version": "0.3.211",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -133,5 +133,5 @@
133
133
  "publishConfig": {
134
134
  "access": "public"
135
135
  },
136
- "gitHead": "e7e2958bb7e9e222cc8621b44a90f1e974dd93b6"
136
+ "gitHead": "2eebe38f4253de953042e9ccf1afe593c824e8e0"
137
137
  }