react-kanca 1.3.0 → 1.3.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.
@@ -1,852 +1,2 @@
1
- import { useState, useEffect, useRef, cloneElement, useCallback, useLayoutEffect } from 'react';
2
- import Cookies from 'js-cookie';
3
-
4
- var usePageVisible = function usePageVisible() {
5
- var _useState = useState(true),
6
- isVisible = _useState[0],
7
- setIsVisible = _useState[1];
8
- var handleVisibilityChange = function handleVisibilityChange() {
9
- setIsVisible(document.visibilityState === 'visible');
10
- };
11
- useEffect(function () {
12
- document.addEventListener('visibilitychange', handleVisibilityChange);
13
- return function () {
14
- document.removeEventListener('visibilitychange', handleVisibilityChange);
15
- };
16
- }, []);
17
- return isVisible;
18
- };
19
-
20
- var useWindowSize = function useWindowSize() {
21
- var _useState = useState({
22
- width: '',
23
- height: ''
24
- }),
25
- size = _useState[0],
26
- setSize = _useState[1];
27
- useEffect(function () {
28
- var handleResize = function handleResize() {
29
- setSize({
30
- width: window.innerWidth,
31
- height: window.innerHeight
32
- });
33
- };
34
- window.addEventListener('resize', handleResize);
35
- handleResize();
36
- return function () {
37
- window.removeEventListener('resize', handleResize);
38
- };
39
- }, []);
40
- return size;
41
- };
42
-
43
- var useDebounce = function useDebounce() {
44
- var _useState = useState(null),
45
- debouncedValue = _useState[0],
46
- setDebouncedValue = _useState[1];
47
- var debounce = function debounce(value, delay) {
48
- var handler = setTimeout(function () {
49
- if (typeof value === 'function') {
50
- value();
51
- } else {
52
- setDebouncedValue(value);
53
- }
54
- }, delay);
55
- return function () {
56
- clearTimeout(handler);
57
- };
58
- };
59
- return [debouncedValue, debounce];
60
- };
61
-
62
- var usePrevious = function usePrevious(value) {
63
- var ref = useRef();
64
- useEffect(function () {
65
- ref.current = value;
66
- });
67
- return ref.current;
68
- };
69
-
70
- var noop = function noop() {};
71
- function on(obj) {
72
- if (obj && obj.addEventListener) {
73
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
74
- args[_key - 1] = arguments[_key];
75
- }
76
- obj.addEventListener.apply(obj, args);
77
- }
78
- }
79
- function off(obj) {
80
- if (obj && obj.removeEventListener) {
81
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
82
- args[_key2 - 1] = arguments[_key2];
83
- }
84
- obj.removeEventListener.apply(obj, args);
85
- }
86
- }
87
- var isBrowser = typeof window !== 'undefined';
88
-
89
- var useHover = function useHover(element) {
90
- var _useState = useState(false),
91
- state = _useState[0],
92
- setState = _useState[1];
93
- var onMouseEnter = function onMouseEnter(originalOnMouseEnter) {
94
- return function (event) {
95
- setState(true);
96
- };
97
- };
98
- var onMouseLeave = function onMouseLeave(originalOnMouseLeave) {
99
- return function (event) {
100
- setState(false);
101
- };
102
- };
103
- if (typeof element === 'function') {
104
- element = element(state);
105
- }
106
- var el = cloneElement(element, {
107
- onMouseEnter: onMouseEnter(),
108
- onMouseLeave: onMouseLeave()
109
- });
110
- return [el, state];
111
- };
112
-
113
- var useScrolling = function useScrolling(ref) {
114
- var _useState = useState(false),
115
- scrolling = _useState[0],
116
- setScrolling = _useState[1];
117
- useEffect(function () {
118
- if (ref.current) {
119
- var scrollingTimeout;
120
- var handleScrollEnd = function handleScrollEnd() {
121
- setScrolling(false);
122
- };
123
- var handleScroll = function handleScroll() {
124
- setScrolling(true);
125
- clearTimeout(scrollingTimeout);
126
- scrollingTimeout = setTimeout(function () {
127
- return handleScrollEnd();
128
- }, 150);
129
- };
130
- on(ref.current, 'scroll', handleScroll, false);
131
- return function () {
132
- if (ref.current) {
133
- off(ref.current, 'scroll', handleScroll, false);
134
- }
135
- };
136
- }
137
- return function () {};
138
- }, [ref]);
139
- return scrolling;
140
- };
141
-
142
- var useBeforeUnload = function useBeforeUnload(enabled, message) {
143
- if (enabled === void 0) {
144
- enabled = true;
145
- }
146
- var handler = useCallback(function (event) {
147
- var finalEnabled = typeof enabled === 'function' ? enabled() : true;
148
- if (!finalEnabled) {
149
- return;
150
- }
151
- event.preventDefault();
152
- if (message) {
153
- event.returnValue = message;
154
- }
155
- return message;
156
- }, [enabled, message]);
157
- useEffect(function () {
158
- if (!enabled) {
159
- return;
160
- }
161
- on(window, 'beforeunload', handler);
162
- return function () {
163
- return off(window, 'beforeunload', handler);
164
- };
165
- }, [enabled, handler]);
166
- };
167
-
168
- var useEffectOnce = function useEffectOnce(effect) {
169
- useEffect(effect, []);
170
- };
171
- var useUnmount = function useUnmount(fn) {
172
- var fnRef = useRef(fn);
173
- fnRef.current = fn;
174
- useEffectOnce(function () {
175
- return function () {
176
- return fnRef.current();
177
- };
178
- });
179
- };
180
- var useThrottle = function useThrottle(value, ms) {
181
- if (ms === void 0) {
182
- ms = 200;
183
- }
184
- var _useState = useState(value),
185
- state = _useState[0],
186
- setState = _useState[1];
187
- var timeout = useRef();
188
- var nextValue = useRef(null);
189
- var hasNextValue = useRef(0);
190
- useEffect(function () {
191
- if (!timeout.current) {
192
- setState(value);
193
- var _timeoutCallback = function timeoutCallback() {
194
- if (hasNextValue.current) {
195
- hasNextValue.current = false;
196
- setState(nextValue.current);
197
- timeout.current = setTimeout(_timeoutCallback, ms);
198
- } else {
199
- timeout.current = undefined;
200
- }
201
- };
202
- timeout.current = setTimeout(_timeoutCallback, ms);
203
- } else {
204
- nextValue.current = value;
205
- hasNextValue.current = true;
206
- }
207
- }, [value]);
208
- useUnmount(function () {
209
- timeout.current && clearTimeout(timeout.current);
210
- });
211
- return state;
212
- };
213
-
214
- var useLocalStorage = function useLocalStorage(key, initialValue, options) {
215
- if (!isBrowser) {
216
- return [initialValue, noop, noop];
217
- }
218
- if (!key) {
219
- throw new Error('useLocalStorage key may not be falsy');
220
- }
221
- var deserializer = options ? options.raw ? function (value) {
222
- return value;
223
- } : options.deserializer : JSON.parse;
224
- var initializer = useRef(function (key) {
225
- try {
226
- var serializer = options ? options.raw ? String : options.serializer : JSON.stringify;
227
- var localStorageValue = localStorage.getItem(key);
228
- if (localStorageValue !== null) {
229
- return deserializer(localStorageValue);
230
- } else {
231
- initialValue && localStorage.setItem(key, serializer(initialValue));
232
- return initialValue;
233
- }
234
- } catch (_unused) {
235
- return initialValue;
236
- }
237
- });
238
- var _useState = useState(function () {
239
- return initializer.current(key);
240
- }),
241
- state = _useState[0],
242
- setState = _useState[1];
243
- useLayoutEffect(function () {
244
- return setState(initializer.current(key));
245
- }, [key]);
246
- var set = useCallback(function (valOrFunc) {
247
- try {
248
- var newState = typeof valOrFunc === 'function' ? valOrFunc(state) : valOrFunc;
249
- if (typeof newState === 'undefined') return;
250
- var value;
251
- if (options) {
252
- if (options.raw) {
253
- if (typeof newState === 'string') value = newState;else value = JSON.stringify(newState);
254
- } else if (options.serializer) value = options.serializer(newState);else value = JSON.stringify(newState);
255
- } else value = JSON.stringify(newState);
256
- localStorage.setItem(key, value);
257
- setState(deserializer(value));
258
- } catch (_unused2) {}
259
- }, [key, setState]);
260
- var remove = useCallback(function () {
261
- try {
262
- localStorage.removeItem(key);
263
- setState(undefined);
264
- } catch (_unused3) {}
265
- }, [key, setState]);
266
- return [state, set, remove];
267
- };
268
-
269
- var _useEqualObject = function useEqualObject(obj1, obj2) {
270
- if (obj1 === obj2) return true;
271
- if (typeof obj1 !== 'object' || typeof obj2 !== 'object' || obj1 === null || obj2 === null) return false;
272
- var keys1 = Object.keys(obj1);
273
- var keys2 = Object.keys(obj2);
274
- if (keys1.length !== keys2.length) return false;
275
- for (var _i = 0, _keys = keys1; _i < _keys.length; _i++) {
276
- var key = _keys[_i];
277
- if (!keys2.includes(key) || !_useEqualObject(obj1[key], obj2[key])) return false;
278
- }
279
- return true;
280
- };
281
-
282
- var useCookie = function useCookie(cookieName) {
283
- var _useState = useState(function () {
284
- return Cookies.get(cookieName) || null;
285
- }),
286
- value = _useState[0],
287
- setValue = _useState[1];
288
- var updateCookie = useCallback(function (newValue, options) {
289
- Cookies.set(cookieName, newValue, options);
290
- setValue(newValue);
291
- }, [cookieName]);
292
- var deleteCookie = useCallback(function () {
293
- Cookies.remove(cookieName);
294
- setValue(null);
295
- }, [cookieName]);
296
- return [value, updateCookie, deleteCookie];
297
- };
298
-
299
- function _extends() {
300
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
301
- for (var e = 1; e < arguments.length; e++) {
302
- var t = arguments[e];
303
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
304
- }
305
- return n;
306
- }, _extends.apply(null, arguments);
307
- }
308
-
309
- var useGeolocation = function useGeolocation(options) {
310
- var _useState = useState({
311
- loading: true,
312
- accuracy: null,
313
- altitude: null,
314
- altitudeAccuracy: null,
315
- heading: null,
316
- latitude: null,
317
- longitude: null,
318
- speed: null,
319
- timestamp: Date.now()
320
- }),
321
- state = _useState[0],
322
- setState = _useState[1];
323
- var mounted = true;
324
- var watchId;
325
- var onEvent = function onEvent(event) {
326
- if (mounted) {
327
- setState({
328
- loading: false,
329
- accuracy: event.coords.accuracy,
330
- altitude: event.coords.altitude,
331
- altitudeAccuracy: event.coords.altitudeAccuracy,
332
- heading: event.coords.heading,
333
- latitude: event.coords.latitude,
334
- longitude: event.coords.longitude,
335
- speed: event.coords.speed,
336
- timestamp: event.timestamp
337
- });
338
- }
339
- };
340
- var onEventError = function onEventError(error) {
341
- return mounted && setState(function (oldState) {
342
- return _extends({}, oldState, {
343
- loading: false,
344
- error: error
345
- });
346
- });
347
- };
348
- useEffect(function () {
349
- navigator.geolocation.getCurrentPosition(onEvent, onEventError, options);
350
- watchId = navigator.geolocation.watchPosition(onEvent, onEventError, options);
351
- return function () {
352
- mounted = false;
353
- navigator.geolocation.clearWatch(watchId);
354
- };
355
- }, []);
356
- return state;
357
- };
358
-
359
- var useIsFirstRender = function useIsFirstRender() {
360
- var isFirstRender = useRef(true);
361
- useEffect(function () {
362
- isFirstRender.current = false;
363
- }, []);
364
- return isFirstRender.current;
365
- };
366
-
367
- var useConnection = function useConnection() {
368
- var _useState = useState(true),
369
- status = _useState[0],
370
- setStatus = _useState[1];
371
- useEffect(function () {
372
- var events = ['online', 'offline'];
373
- var eventHandle = function eventHandle() {
374
- return setStatus(navigator.online);
375
- };
376
- events.forEach(function (event) {
377
- return window.addEventListener(event, eventHandle);
378
- });
379
- return function () {
380
- events.forEach(function (event) {
381
- return window.removeEventListener(event, eventHandle);
382
- });
383
- };
384
- }, []);
385
- return {
386
- status: status
387
- };
388
- };
389
-
390
- // A type of promise-like that resolves synchronously and supports only one observer
391
-
392
- const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
393
-
394
- const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
395
-
396
- // Asynchronously call a function and send errors to recovery continuation
397
- function _catch(body, recover) {
398
- try {
399
- var result = body();
400
- } catch(e) {
401
- return recover(e);
402
- }
403
- if (result && result.then) {
404
- return result.then(void 0, recover);
405
- }
406
- return result;
407
- }
408
-
409
- var useBatteryInfo = function useBatteryInfo() {
410
- var _useState = useState(null),
411
- batteryLevel = _useState[0],
412
- setBatteryLevel = _useState[1];
413
- var _useState2 = useState(null),
414
- isCharging = _useState2[0],
415
- setIsCharging = _useState2[1];
416
- var _useState3 = useState(null),
417
- chargingTime = _useState3[0],
418
- setChargingTime = _useState3[1];
419
- var _useState4 = useState(null),
420
- dischargingTime = _useState4[0],
421
- setDischargingTime = _useState4[1];
422
- useEffect(function () {
423
- var getBatteryInfo = function getBatteryInfo() {
424
- try {
425
- return Promise.resolve(_catch(function () {
426
- return Promise.resolve(navigator.getBattery()).then(function (battery) {
427
- var updateBatteryInfo = function updateBatteryInfo() {
428
- setBatteryLevel(Math.round(battery.level * 100));
429
- setIsCharging(battery.charging);
430
- setChargingTime(battery.chargingTime);
431
- setDischargingTime(battery.dischargingTime);
432
- };
433
- updateBatteryInfo();
434
- battery.addEventListener('chargingchange', updateBatteryInfo);
435
- battery.addEventListener('levelchange', updateBatteryInfo);
436
- battery.addEventListener('chargingtimechange', updateBatteryInfo);
437
- battery.addEventListener('dischargingtimechange', updateBatteryInfo);
438
- return function () {
439
- battery.removeEventListener('chargingchange', updateBatteryInfo);
440
- battery.removeEventListener('levelchange', updateBatteryInfo);
441
- battery.removeEventListener('chargingtimechange', updateBatteryInfo);
442
- battery.removeEventListener('dischargingtimechange', updateBatteryInfo);
443
- };
444
- });
445
- }, function (error) {
446
- console.error('Batarya bilgisi alınamadı: ' + error.message);
447
- }));
448
- } catch (e) {
449
- return Promise.reject(e);
450
- }
451
- };
452
- getBatteryInfo();
453
- return function () {};
454
- }, []);
455
- return {
456
- batteryLevel: batteryLevel,
457
- isCharging: isCharging,
458
- chargingTime: chargingTime,
459
- dischargingTime: dischargingTime
460
- };
461
- };
462
-
463
- var useCopyToClipboard = function useCopyToClipboard() {
464
- var _useState = useState(false),
465
- copied = _useState[0],
466
- setCopied = _useState[1];
467
- var _useState2 = useState(false),
468
- error = _useState2[0],
469
- setError = _useState2[1];
470
- var copyToClipboard = function copyToClipboard(text) {
471
- navigator.clipboard.writeText(text).then(function () {
472
- setCopied(true);
473
- })["catch"](function (err) {
474
- setError(err);
475
- });
476
- };
477
- return {
478
- copied: copied,
479
- error: error,
480
- copyToClipboard: copyToClipboard
481
- };
482
- };
483
-
484
- var useMedia = function useMedia(width) {
485
- if (width === void 0) {
486
- width = 1024;
487
- }
488
- var _useState = useState(window.matchMedia("(max-width: " + width + "px)").matches),
489
- screenStatus = _useState[0],
490
- setScreenStatus = _useState[1];
491
- useEffect(function () {
492
- var matchMedia = window.matchMedia("(max-width: " + width + "px)");
493
- var onChangeHandle = function onChangeHandle(e) {
494
- console.log(e.matches);
495
- setScreenStatus(e.matches);
496
- };
497
- matchMedia.addEventListener('change', onChangeHandle);
498
- });
499
- return screenStatus;
500
- };
501
-
502
- var useClickOutside = function useClickOutside(ref, callback) {
503
- var handleClick = function handleClick(e) {
504
- if (ref.current && !ref.current.contains(e.target)) {
505
- callback();
506
- }
507
- };
508
- useEffect(function () {
509
- document.addEventListener('click', handleClick);
510
- return function () {
511
- document.removeEventListener('click', handleClick);
512
- };
513
- });
514
- };
515
-
516
- var useColorScheme = function useColorScheme() {
517
- var _useState = useState(getInitialColorScheme()),
518
- colorScheme = _useState[0],
519
- setColorScheme = _useState[1];
520
- useEffect(function () {
521
- var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
522
- var listener = function listener(e) {
523
- setColorScheme(e.matches ? 'dark' : 'light');
524
- };
525
- mediaQuery.addEventListener('change', listener);
526
- return function () {
527
- mediaQuery.removeEventListener('change', listener);
528
- };
529
- }, []);
530
- function getInitialColorScheme() {
531
- var isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
532
- return isDarkMode ? 'dark' : 'light';
533
- }
534
- return colorScheme;
535
- };
536
-
537
- var useFullScreen = function useFullScreen() {
538
- var _useState = useState(false),
539
- isFullScreen = _useState[0],
540
- setIsFullScreen = _useState[1];
541
- var enterFullScreen = function enterFullScreen() {
542
- if (document.documentElement.requestFullscreen) {
543
- document.documentElement.requestFullscreen();
544
- } else if (document.documentElement.mozRequestFullScreen) {
545
- document.documentElement.mozRequestFullScreen();
546
- } else if (document.documentElement.webkitRequestFullscreen) {
547
- document.documentElement.webkitRequestFullscreen();
548
- } else if (document.documentElement.msRequestFullscreen) {
549
- document.documentElement.msRequestFullscreen();
550
- }
551
- setIsFullScreen(true);
552
- };
553
- var exitFullScreen = function exitFullScreen() {
554
- if (document.exitFullscreen) {
555
- document.exitFullscreen();
556
- } else if (document.mozCancelFullScreen) {
557
- document.mozCancelFullScreen();
558
- } else if (document.webkitExitFullscreen) {
559
- document.webkitExitFullscreen();
560
- } else if (document.msExitFullscreen) {
561
- document.msExitFullscreen();
562
- }
563
- setIsFullScreen(false);
564
- };
565
- return {
566
- isFullScreen: isFullScreen,
567
- enterFullScreen: enterFullScreen,
568
- exitFullScreen: exitFullScreen
569
- };
570
- };
571
-
572
- var useSessionStorage = function useSessionStorage(key, initialValue) {
573
- var _useState = useState(function () {
574
- try {
575
- var item = window.sessionStorage.getItem(key);
576
- return item ? JSON.parse(item) : initialValue;
577
- } catch (error) {
578
- console.error(error);
579
- return initialValue;
580
- }
581
- }),
582
- storedValue = _useState[0],
583
- setStoredValue = _useState[1];
584
- var setValue = function setValue(value) {
585
- try {
586
- setStoredValue(value);
587
- window.sessionStorage.setItem(key, JSON.stringify(value));
588
- } catch (error) {
589
- console.error(error);
590
- }
591
- };
592
- return [storedValue, setValue];
593
- };
594
-
595
- var useScrollLock = function useScrollLock(lock) {
596
- useEffect(function () {
597
- if (lock) {
598
- document.body.style.overflow = 'hidden';
599
- } else {
600
- document.body.style.overflow = 'unset';
601
- }
602
- return function () {
603
- document.body.style.overflow = 'unset';
604
- };
605
- }, [lock]);
606
- };
607
-
608
- var usePreferredLanguage = function usePreferredLanguage() {
609
- var _useState = useState(''),
610
- preferredLanguage = _useState[0],
611
- setPreferredLanguage = _useState[1];
612
- useEffect(function () {
613
- var language = navigator.language || navigator.userLanguage;
614
- setPreferredLanguage(language);
615
- }, []);
616
- return preferredLanguage;
617
- };
618
-
619
- function useMousePageLeave(onPageLeave) {
620
- useEffect(function () {
621
- document.documentElement.addEventListener('mouseleave', onPageLeave);
622
- return function () {
623
- return document.documentElement.removeEventListener('mouseleave', onPageLeave);
624
- };
625
- }, []);
626
- }
627
-
628
- var usePageLeave = function usePageLeave(onLeave) {
629
- useEffect(function () {
630
- var handleBeforeUnload = function handleBeforeUnload(event) {
631
- var returnValue = onLeave();
632
- if (returnValue) {
633
- event.preventDefault();
634
- event.returnValue = returnValue;
635
- return returnValue;
636
- }
637
- };
638
- window.addEventListener('beforeunload', handleBeforeUnload);
639
- return function () {
640
- window.removeEventListener('beforeunload', handleBeforeUnload);
641
- };
642
- }, [onLeave]);
643
- };
644
-
645
- var useForceUpdate = function useForceUpdate() {
646
- var _useState = useState(0),
647
- setTick = _useState[1];
648
- var update = useCallback(function () {
649
- setTick(function (tick) {
650
- return tick + 1;
651
- });
652
- }, []);
653
- return update;
654
- };
655
-
656
- var useInterval = function useInterval(callback, delay) {
657
- var savedCallback = useRef(function () {});
658
- useEffect(function () {
659
- savedCallback.current = callback;
660
- });
661
- useEffect(function () {
662
- if (delay !== null) {
663
- var interval = setInterval(function () {
664
- return savedCallback.current();
665
- }, delay || 0);
666
- return function () {
667
- return clearInterval(interval);
668
- };
669
- }
670
- return undefined;
671
- }, [delay]);
672
- };
673
-
674
- var useIntersectionObserver = function useIntersectionObserver(targetRef, options) {
675
- var _useState = useState(false),
676
- isIntersecting = _useState[0],
677
- setIsIntersecting = _useState[1];
678
- useEffect(function () {
679
- var observer = new IntersectionObserver(function (_ref) {
680
- var entry = _ref[0];
681
- setIsIntersecting(entry.isIntersecting);
682
- }, options);
683
- if (targetRef.current) {
684
- observer.observe(targetRef.current);
685
- }
686
- return function () {
687
- if (targetRef.current) {
688
- observer.unobserve(targetRef.current);
689
- }
690
- };
691
- }, [targetRef, options]);
692
- return isIntersecting;
693
- };
694
-
695
- var useMobileLandscape = function useMobileLandscape() {
696
- var _useState = useState(false),
697
- isLandscape = _useState[0],
698
- setIsLandscape = _useState[1];
699
- var _useState2 = useState(false),
700
- isMobile = _useState2[0],
701
- setIsMobile = _useState2[1];
702
- var _useState3 = useState(false),
703
- isMobileLandscape = _useState3[0],
704
- setIsMobileLandscape = _useState3[1];
705
- var handleResize = function handleResize() {
706
- var landscape = window.innerWidth > window.innerHeight;
707
- var mobile = window.innerWidth <= 996;
708
- setIsLandscape(landscape);
709
- setIsMobile(mobile);
710
- setIsMobileLandscape(landscape && mobile);
711
- };
712
- useEffect(function () {
713
- handleResize();
714
- window.addEventListener('resize', handleResize);
715
- return function () {
716
- window.removeEventListener('resize', handleResize);
717
- };
718
- }, []);
719
- return {
720
- isMobileLandscape: isMobileLandscape,
721
- isLandscape: isLandscape,
722
- isMobile: isMobile
723
- };
724
- };
725
-
726
- var useOnlineStatus = function useOnlineStatus() {
727
- var _useState = useState(navigator.onLine),
728
- isOnline = _useState[0],
729
- setIsOnline = _useState[1];
730
- useEffect(function () {
731
- var handleOnline = function handleOnline() {
732
- return setIsOnline(true);
733
- };
734
- var handleOffline = function handleOffline() {
735
- return setIsOnline(false);
736
- };
737
- window.addEventListener('online', handleOnline);
738
- window.addEventListener('offline', handleOffline);
739
- return function () {
740
- window.removeEventListener('online', handleOnline);
741
- window.removeEventListener('offline', handleOffline);
742
- };
743
- }, []);
744
- return isOnline;
745
- };
746
-
747
- var useScrollToElement = function useScrollToElement() {
748
- var scrollToElement = useCallback(function (selectorOrRef, options) {
749
- if (options === void 0) {
750
- options = {};
751
- }
752
- var element;
753
- if (typeof selectorOrRef === 'string') {
754
- element = document.querySelector(selectorOrRef);
755
- } else if (selectorOrRef.current) {
756
- element = selectorOrRef.current;
757
- }
758
- if (element) {
759
- element.scrollIntoView(_extends({
760
- behavior: 'smooth'
761
- }, options));
762
- }
763
- }, []);
764
- return scrollToElement;
765
- };
766
-
767
- var useStateValidator = function useStateValidator(state, validator, initialState) {
768
- if (initialState === void 0) {
769
- initialState = [undefined];
770
- }
771
- var validatorInner = useRef(validator);
772
- var stateInner = useRef(state);
773
- validatorInner.current = validator;
774
- stateInner.current = state;
775
- var _useState = useState(initialState),
776
- validity = _useState[0],
777
- setValidity = _useState[1];
778
- var validate = useCallback(function () {
779
- if (validatorInner.current.length >= 2) {
780
- validatorInner.current(stateInner.current, setValidity);
781
- } else {
782
- setValidity(validatorInner.current(stateInner.current));
783
- }
784
- }, [setValidity]);
785
- useEffect(function () {
786
- validate();
787
- }, [state]);
788
- return [validity, validate];
789
- };
790
-
791
- var useMultiStateValidator = function useMultiStateValidator(states, validator, initialValidity) {
792
- if (initialValidity === void 0) {
793
- initialValidity = [undefined];
794
- }
795
- if (typeof states !== 'object') {
796
- throw new Error("state'in bir nesne ya da dizi olması beklenirken -> " + typeof states);
797
- }
798
- var validatorInner = useRef(validator);
799
- var statesInner = useRef(states);
800
- validatorInner.current = validator;
801
- statesInner.current = states;
802
- var _useState = useState(initialValidity),
803
- validity = _useState[0],
804
- setValidity = _useState[1];
805
- var validate = useCallback(function () {
806
- if (validatorInner.current.length >= 2) {
807
- validatorInner.current(statesInner.current, setValidity);
808
- } else {
809
- setValidity(validatorInner.current(statesInner.current));
810
- }
811
- }, [setValidity]);
812
- useEffect(function () {
813
- validate();
814
- }, Object.values(states));
815
- return [validity, validate];
816
- };
817
-
818
- var useWindowScroll = function useWindowScroll() {
819
- var _useState = useState(function () {
820
- return {
821
- x: isBrowser ? window.pageXOffset : 0,
822
- y: isBrowser ? window.pageYOffset : 0
823
- };
824
- }),
825
- state = _useState[0],
826
- setState = _useState[1];
827
- useEffect(function () {
828
- var handler = function handler() {
829
- setState(function (state) {
830
- var _window = window,
831
- pageXOffset = _window.pageXOffset,
832
- pageYOffset = _window.pageYOffset;
833
- return state.x !== pageXOffset || state.y !== pageYOffset ? {
834
- x: pageXOffset,
835
- y: pageYOffset
836
- } : state;
837
- });
838
- };
839
- handler();
840
- on(window, 'scroll', handler, {
841
- capture: false,
842
- passive: true
843
- });
844
- return function () {
845
- off(window, 'scroll', handler);
846
- };
847
- }, []);
848
- return state;
849
- };
850
-
851
- export { useBatteryInfo, useBeforeUnload, useClickOutside, useColorScheme, useConnection, useCookie, useCopyToClipboard, useDebounce, _useEqualObject as useEqualObject, useForceUpdate, useFullScreen, useGeolocation, useHover, useIntersectionObserver, useInterval, useIsFirstRender, useLocalStorage, useMedia, useMobileLandscape, useMousePageLeave, useMultiStateValidator, useOnlineStatus, usePageLeave, usePageVisible, usePreferredLanguage, usePrevious, useScrollLock, useScrollToElement, useScrolling, useSessionStorage, useStateValidator, useThrottle, useWindowScroll, useWindowSize };
1
+ import{useState as n,useEffect as e,useRef as t,cloneElement as r,useCallback as o,useLayoutEffect as i}from"react";import u from"js-cookie";var c=function(){var t=n(!0),r=t[0],o=t[1],i=function(){o("visible"===document.visibilityState)};return e(function(){return document.addEventListener("visibilitychange",i),function(){document.removeEventListener("visibilitychange",i)}},[]),r},a=function(){var t=n({width:"",height:""}),r=t[0],o=t[1];return e(function(){var n=function(){o({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",n),n(),function(){window.removeEventListener("resize",n)}},[]),r},l=function(){var e=n(null),t=e[1];return[e[0],function(n,e){var r=setTimeout(function(){"function"==typeof n?n():t(n)},e);return function(){clearTimeout(r)}}]},f=function(n){var r=t();return e(function(){r.current=n}),r.current},s=function(){};function d(n){if(n&&n.addEventListener){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];n.addEventListener.apply(n,t)}}function v(n){if(n&&n.removeEventListener){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];n.removeEventListener.apply(n,t)}}var m="undefined"!=typeof window,g=function(e){var t=n(!1),o=t[0],i=t[1];return"function"==typeof e&&(e=e(o)),[r(e,{onMouseEnter:function(n){i(!0)},onMouseLeave:function(n){i(!1)}}),o]},w=function(t){var r=n(!1),o=r[0],i=r[1];return e(function(){if(t.current){var n,e=function(){i(!0),clearTimeout(n),n=setTimeout(function(){i(!1)},150)};return d(t.current,"scroll",e,!1),function(){t.current&&v(t.current,"scroll",e,!1)}}return function(){}},[t]),o},h=function(n,t){void 0===n&&(n=!0);var r=o(function(e){if("function"!=typeof n||n())return e.preventDefault(),t&&(e.returnValue=t),t},[n,t]);e(function(){if(n)return d(window,"beforeunload",r),function(){return v(window,"beforeunload",r)}},[n,r])},y=function(r,o){void 0===o&&(o=200);var i,u,c=n(r),a=c[0],l=c[1],f=t(),s=t(null),d=t(0);return e(function(){if(f.current)s.current=r,d.current=!0;else{l(r);var n=function(){d.current?(d.current=!1,l(s.current),f.current=setTimeout(n,o)):f.current=void 0};f.current=setTimeout(n,o)}},[r]),(u=t(i=function(){f.current&&clearTimeout(f.current)})).current=i,e(function(){return function(){return u.current()}},[]),a},E=function(e,r,u){if(!m)return[r,s,s];if(!e)throw new Error("useLocalStorage key may not be falsy");var c=u?u.raw?function(n){return n}:u.deserializer:JSON.parse,a=t(function(n){try{var e=u?u.raw?String:u.serializer:JSON.stringify,t=localStorage.getItem(n);return null!==t?c(t):(r&&localStorage.setItem(n,e(r)),r)}catch(n){return r}}),l=n(function(){return a.current(e)}),f=l[0],d=l[1];i(function(){return d(a.current(e))},[e]);var v=o(function(n){try{var t,r="function"==typeof n?n(f):n;if(void 0===r)return;t=u?u.raw?"string"==typeof r?r:JSON.stringify(r):u.serializer?u.serializer(r):JSON.stringify(r):JSON.stringify(r),localStorage.setItem(e,t),d(c(t))}catch(n){}},[e,d]),g=o(function(){try{localStorage.removeItem(e),d(void 0)}catch(n){}},[e,d]);return[f,v,g]},p=function(n,e){if(n===e)return!0;if("object"!=typeof n||"object"!=typeof e||null===n||null===e)return!1;var t=Object.keys(n),r=Object.keys(e);if(t.length!==r.length)return!1;for(var o=0,i=t;o<i.length;o++){var u=i[o];if(!r.includes(u)||!p(n[u],e[u]))return!1}return!0},b=function(e){var t=n(function(){return u.get(e)||null}),r=t[1];return[t[0],o(function(n,t){u.set(e,n,t),r(n)},[e]),o(function(){u.remove(e),r(null)},[e])]};function L(){return(L=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(null,arguments)}var S=function(t){var r,o=n({loading:!0,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,latitude:null,longitude:null,speed:null,timestamp:Date.now()}),i=o[0],u=o[1],c=!0,a=function(n){c&&u({loading:!1,accuracy:n.coords.accuracy,altitude:n.coords.altitude,altitudeAccuracy:n.coords.altitudeAccuracy,heading:n.coords.heading,latitude:n.coords.latitude,longitude:n.coords.longitude,speed:n.coords.speed,timestamp:n.timestamp})},l=function(n){return c&&u(function(e){return L({},e,{loading:!1,error:n})})};return e(function(){return navigator.geolocation.getCurrentPosition(a,l,t),r=navigator.geolocation.watchPosition(a,l,t),function(){c=!1,navigator.geolocation.clearWatch(r)}},[]),i},F=function(){var n=t(!0);return e(function(){n.current=!1},[]),n.current},O=function(){var t=n(!0),r=t[0],o=t[1];return e(function(){var n=["online","offline"],e=function(){return o(navigator.online)};return n.forEach(function(n){return window.addEventListener(n,e)}),function(){n.forEach(function(n){return window.removeEventListener(n,e)})}},[]),{status:r}};"undefined"!=typeof Symbol&&(Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator"))),"undefined"!=typeof Symbol&&(Symbol.asyncIterator||(Symbol.asyncIterator=Symbol("Symbol.asyncIterator")));var k=function(){var t=n(null),r=t[0],o=t[1],i=n(null),u=i[0],c=i[1],a=n(null),l=a[0],f=a[1];return e(function(){return function(){try{Promise.resolve(function(n,e){try{var t=Promise.resolve(navigator.getBattery()).then(function(n){var e=function(){o(Math.round(100*n.level)),c(n.charging),f(n.dischargingTime)};return e(),n.addEventListener("chargingchange",e),n.addEventListener("levelchange",e),n.addEventListener("chargingtimechange",e),n.addEventListener("dischargingtimechange",e),function(){n.removeEventListener("chargingchange",e),n.removeEventListener("levelchange",e),n.removeEventListener("chargingtimechange",e),n.removeEventListener("dischargingtimechange",e)}})}catch(n){return e(n)}return t&&t.then?t.then(void 0,e):t}(0,function(n){console.error("Batarya bilgisi alınamadı: "+n.message)}))}catch(n){return Promise.reject(n)}}(),function(){}},[]),{batteryLevel:r,isCharging:u,dischargingTime:l}},x=function(){var e=n(!1),t=e[0],r=e[1],o=n(!1),i=o[1];return{copied:t,error:o[0],copyToClipboard:function(n){navigator.clipboard.writeText(n).then(function(){r(!0)}).catch(function(n){i(n)})}}},I=function(t){void 0===t&&(t=1024);var r=n(window.matchMedia("(max-width: "+t+"px)").matches),o=r[0],i=r[1];return e(function(){window.matchMedia("(max-width: "+t+"px)").addEventListener("change",function(n){console.log(n.matches),i(n.matches)})}),o},z=function(n,t){var r=function(e){n.current&&!n.current.contains(e.target)&&t()};e(function(){return document.addEventListener("click",r),function(){document.removeEventListener("click",r)}})},j=function(){var t=n(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),r=t[0],o=t[1];return e(function(){var n=window.matchMedia("(prefers-color-scheme: dark)"),e=function(n){o(n.matches?"dark":"light")};return n.addEventListener("change",e),function(){n.removeEventListener("change",e)}},[]),r},T=function(){var e=n(!1),t=e[1];return{isFullScreen:e[0],enterFullScreen:function(){document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen?document.documentElement.webkitRequestFullscreen():document.documentElement.msRequestFullscreen&&document.documentElement.msRequestFullscreen(),t(!0)},exitFullScreen:function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen(),t(!1)}}},q=function(e,t){var r=n(function(){try{var n=window.sessionStorage.getItem(e);return n?JSON.parse(n):t}catch(n){return console.error(n),t}}),o=r[1];return[r[0],function(n){try{o(n),window.sessionStorage.setItem(e,JSON.stringify(n))}catch(n){console.error(n)}}]},M=function(n){e(function(){return document.body.style.overflow=n?"hidden":"unset",function(){document.body.style.overflow="unset"}},[n])},J=function(){var t=n(""),r=t[0],o=t[1];return e(function(){var n=navigator.language||navigator.userLanguage;o(n)},[]),r};function N(n){e(function(){return document.documentElement.addEventListener("mouseleave",n),function(){return document.documentElement.removeEventListener("mouseleave",n)}},[])}var P=function(n){e(function(){var e=function(e){var t=n();if(t)return e.preventDefault(),e.returnValue=t,t};return window.addEventListener("beforeunload",e),function(){window.removeEventListener("beforeunload",e)}},[n])},R=function(){var e=n(0)[1];return o(function(){e(function(n){return n+1})},[])},A=function(n,r){var o=t(function(){});e(function(){o.current=n}),e(function(){if(null!==r){var n=setInterval(function(){return o.current()},r||0);return function(){return clearInterval(n)}}},[r])},C=function(t,r){var o=n(!1),i=o[0],u=o[1];return e(function(){var n=new IntersectionObserver(function(n){u(n[0].isIntersecting)},r);return t.current&&n.observe(t.current),function(){t.current&&n.unobserve(t.current)}},[t,r]),i},W=function(){var t=n(!1),r=t[0],o=t[1],i=n(!1),u=i[0],c=i[1],a=n(!1),l=a[0],f=a[1],s=function(){var n=window.innerWidth>window.innerHeight,e=window.innerWidth<=996;o(n),c(e),f(n&&e)};return e(function(){return s(),window.addEventListener("resize",s),function(){window.removeEventListener("resize",s)}},[]),{isMobileLandscape:l,isLandscape:r,isMobile:u}},D=function(){var t=n(navigator.onLine),r=t[0],o=t[1];return e(function(){var n=function(){return o(!0)},e=function(){return o(!1)};return window.addEventListener("online",n),window.addEventListener("offline",e),function(){window.removeEventListener("online",n),window.removeEventListener("offline",e)}},[]),r},V=function(){return o(function(n,e){var t;void 0===e&&(e={}),"string"==typeof n?t=document.querySelector(n):n.current&&(t=n.current),t&&t.scrollIntoView(L({behavior:"smooth"},e))},[])},B=function(r,i,u){void 0===u&&(u=[void 0]);var c=t(i),a=t(r);c.current=i,a.current=r;var l=n(u),f=l[0],s=l[1],d=o(function(){c.current.length>=2?c.current(a.current,s):s(c.current(a.current))},[s]);return e(function(){d()},[r]),[f,d]},H=function(r,i,u){if(void 0===u&&(u=[void 0]),"object"!=typeof r)throw new Error("state'in bir nesne ya da dizi olması beklenirken -> "+typeof r);var c=t(i),a=t(r);c.current=i,a.current=r;var l=n(u),f=l[0],s=l[1],d=o(function(){c.current.length>=2?c.current(a.current,s):s(c.current(a.current))},[s]);return e(function(){d()},Object.values(r)),[f,d]},X=function(){var t=n(function(){return{x:m?window.pageXOffset:0,y:m?window.pageYOffset:0}}),r=t[0],o=t[1];return e(function(){var n=function(){o(function(n){var e=window,t=e.pageXOffset,r=e.pageYOffset;return n.x!==t||n.y!==r?{x:t,y:r}:n})};return n(),d(window,"scroll",n,{capture:!1,passive:!0}),function(){v(window,"scroll",n)}},[]),r};export{k as useBatteryInfo,h as useBeforeUnload,z as useClickOutside,j as useColorScheme,O as useConnection,b as useCookie,x as useCopyToClipboard,l as useDebounce,p as useEqualObject,R as useForceUpdate,T as useFullScreen,S as useGeolocation,g as useHover,C as useIntersectionObserver,A as useInterval,F as useIsFirstRender,E as useLocalStorage,I as useMedia,W as useMobileLandscape,N as useMousePageLeave,H as useMultiStateValidator,D as useOnlineStatus,P as usePageLeave,c as usePageVisible,J as usePreferredLanguage,f as usePrevious,M as useScrollLock,V as useScrollToElement,w as useScrolling,q as useSessionStorage,B as useStateValidator,y as useThrottle,X as useWindowScroll,a as useWindowSize};
852
2
  //# sourceMappingURL=index.modern.js.map