@micromag/core 0.3.219 → 0.3.225

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.
package/es/hooks.js CHANGED
@@ -193,6 +193,20 @@ var useFormattedTime = function useFormattedTime() {
193
193
  }, [now, showNow, timeGap, format]);
194
194
  };
195
195
 
196
+ var useDebounced = function useDebounced(handler, watchedValue) {
197
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
198
+ useEffect(function () {
199
+ var timeoutHandler = setTimeout(function () {
200
+ if (handler !== null) {
201
+ handler(watchedValue);
202
+ }
203
+ }, delay);
204
+ return function () {
205
+ clearTimeout(timeoutHandler);
206
+ };
207
+ }, [watchedValue, delay]);
208
+ };
209
+
196
210
  var eventsManager$1 = typeof document !== 'undefined' ? new EventsManager(document) : null;
197
211
  var useDocumentEvent = createUseEvent(eventsManager$1);
198
212
 
@@ -2338,4 +2352,4 @@ var useTrackMedia = function useTrackMedia() {
2338
2352
  var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
2339
2353
  var useWindowEvent = createUseEvent(eventsManager);
2340
2354
 
2341
- export { getObserver, useActivityDetector, useAnimationFrame, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaThumbnail, useMediaWaveform, useMediasParser, useObserver, useParsedStory, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
2355
+ export { getObserver, useActivityDetector, useAnimationFrame, useDebounced as useDebounce, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaThumbnail, useMediaWaveform, useMediasParser, useObserver, useParsedStory, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
package/lib/hooks.js CHANGED
@@ -231,6 +231,20 @@ var useFormattedTime = function useFormattedTime() {
231
231
  }, [now, showNow, timeGap, format]);
232
232
  };
233
233
 
234
+ var useDebounced = function useDebounced(handler, watchedValue) {
235
+ var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
236
+ react.useEffect(function () {
237
+ var timeoutHandler = setTimeout(function () {
238
+ if (handler !== null) {
239
+ handler(watchedValue);
240
+ }
241
+ }, delay);
242
+ return function () {
243
+ clearTimeout(timeoutHandler);
244
+ };
245
+ }, [watchedValue, delay]);
246
+ };
247
+
234
248
  var eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;
235
249
  var useDocumentEvent = utils.createUseEvent(eventsManager$1);
236
250
 
@@ -2379,6 +2393,7 @@ var useWindowEvent = utils.createUseEvent(eventsManager);
2379
2393
  exports.getObserver = getObserver;
2380
2394
  exports.useActivityDetector = useActivityDetector;
2381
2395
  exports.useAnimationFrame = useAnimationFrame;
2396
+ exports.useDebounce = useDebounced;
2382
2397
  exports.useDimensionObserver = useDimensionObserver;
2383
2398
  exports.useDocumentEvent = useDocumentEvent;
2384
2399
  exports.useDragProgress = useDragProgress;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.219",
3
+ "version": "0.3.225",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -133,5 +133,5 @@
133
133
  "publishConfig": {
134
134
  "access": "public"
135
135
  },
136
- "gitHead": "ab36acb620cd3fba5c4e3c0522a299d1d27ee422"
136
+ "gitHead": "ef19a3d7ea1ad515a13840ebe2602f2d517b6c9e"
137
137
  }