react-kanca 1.3.2 → 1.5.0

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/README.md CHANGED
@@ -1,84 +1,107 @@
1
- # react-kanca
2
-
3
- > React-kanca, karmaşıklığı azaltarak projelerinizin daha okunabilir, yönetilebilir ve yeniden kullanılabilir olmasını sağlayan hookları içerir.
4
-
5
- [![NPM](https://img.shields.io/npm/v/react-kanca.svg)](https://www.npmjs.com/package/react-kanca) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
6
-
7
- [react-kanca.com](https://www.react-kanca.com/)
8
-
9
- ## Install
10
-
11
- ```bash
12
- yarn add react-kanca
13
- ```
14
-
15
- ```bash
16
- npm install react-kanca
17
- ```
18
-
19
- ```bash
20
- pnpm i react-kanca
21
- ```
22
-
23
- ![React Kanca](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*nl2InXMi1tuDmnrv.png)
24
-
25
- ## Usage
26
-
27
- Storybook Demo:
28
- [![React Kanca Storybook](https://raw.githubusercontent.com/storybookjs/brand/37c5e9bde5c56b69a8c4312de7d60fb3a9d7de9d/icon/icon-storybook-default.svg)](https://www.react-kanca.com/)
29
-
30
- ```jsx
31
- import {
32
- useBatteryInfo,
33
- useBeforeUnload,
34
- useClickOutside,
35
- useColorScheme,
36
- useConnection,
37
- useCookie,
38
- useCopyToClipboard,
39
- useDebounce,
40
- useEqualObject,
41
- useForceUpdate,
42
- useFullScreen,
43
- useGeolocation,
44
- useHover,
45
- useIntersectionObserver,
46
- useInterval,
47
- useIsFirstRender,
48
- useLocalStorage,
49
- useMedia,
50
- useMobileLandscape,
51
- useMousePageLeave,
52
- useMultiStateValidator,
53
- useOnlineStatus,
54
- usePageLeave,
55
- usePageVisible,
56
- usePreferredLanguage,
57
- usePrevious,
58
- useScrolling,
59
- useScrollLock,
60
- useScrollToElement,
61
- useSessionStorage,
62
- useStateValidator,
63
- useThrottle,
64
- useWindowScroll,
65
- useWindowSize,
66
- } from 'react-kanca'
67
-
68
- // import 'react-kanca/dist/index.css'
69
-
70
- const App = () => {
71
- const { width, height } = useWindowSize()
72
- const isVisible = usePageVisible()
73
-
74
- .
75
- .
76
- .
77
- }
78
- ```
79
-
80
- ![React Kanca](https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg)
81
-
82
- ## License
83
-
84
- MIT © [anilcanboga](https://github.com/anilcanboga)
1
+ # react-kanca
2
+
3
+ > React-kanca, karmaşıklığı azaltarak projelerinizin daha okunabilir, yönetilebilir ve yeniden kullanılabilir olmasını sağlar. React projelerinde tekrar eden kodları azaltarak geliştirici deneyimini iyileştirmeyi amaçlamaktadır.
4
+
5
+ [![NPM](https://img.shields.io/npm/v/react-kanca.svg)](https://www.npmjs.com/package/react-kanca) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) [![License: MIT](https://img.shields.io/badge/License-MIT-white.svg)](https://opensource.org/licenses/MIT) [![BundleSize](https://img.shields.io/bundlephobia/min/react-kanca)](https://bundlephobia.com/package/react-kanca)
6
+
7
+ <div>
8
+ <p align="center">
9
+ Geliştirme sürecinizi profesyonelleştirmek ve hızlandırmak için özel olarak hazırlanmış React hooklarını içerir.
10
+ </p>
11
+ </div>
12
+ <p align="center">
13
+ <a href="https://medium.com/@anilcanboga/react-functional-components-t%C3%BCrk%C3%A7e-kaynak-d%C3%B6k%C3%BCman-1fcdc275adcc" target="_blank"><img align="center" src="https://shields.io/badge/react-black?logo=react&style=for-the-badge" alt="React.js" /></a>
14
+ <a href="https://medium.com/@anilcanboga" target="blank"><img align="center" src="https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white" alt="Next.js" /></a>
15
+ </p>
16
+
17
+ react kanca storybook demo linki: [react-kanca.com](https://www.react-kanca.com/) 🔗
18
+
19
+ react kanca npm linki: [react-kanca npm](https://www.npmjs.com/package/react-kanca/) 🔗
20
+
21
+ ## ☕️ Kurulum
22
+
23
+ ```bash
24
+ yarn add react-kanca
25
+ ```
26
+
27
+ ```bash
28
+ npm install react-kanca
29
+ ```
30
+
31
+ ```bash
32
+ pnpm i react-kanca
33
+ ```
34
+
35
+ ![React Kanca](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*nl2InXMi1tuDmnrv.png)
36
+
37
+ ## 🧠 Kullanım
38
+
39
+ [![React Kanca Storybook](https://camo.githubusercontent.com/3b5c588563bab2ba1470feccb836c32c9647d8f53f6ed177a9eec9fd1ab68b19/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73746f7279626f6f6b2d72656163742d3030643866662e7376673f636f6c6f72413d653136313863266c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414144454141414179434159414141443143444f794141414141584e535230494172733463365141414141526e51553142414143786a777638595155414141414a6345685a6377414144734d41414137444163647671475141414158305355524256476844375a6c7262425256464d66506e6666757a72623067566751553651594c425574425931457742636153535434494349314367676d4b6e345341686a6b6736434a565a517678432f794d694342524979474742494450694a6f524155667142686549744241433561793233334d7a6f7a337a6836774f4a325a75374f376f54482b6d736e39337a76623766336678376c6e707642666747423552646d335a667659786d6d54683971325853744a55723356666736366c7134445652416861356d4e456845367174597666426f2f37714a6b4a72352b634b452b4b464952723956693846656d70796b7571324259356943426b446f6259414439513030793752527461355945555241415a4175676d6e5641486e633969547a7a674a6a2f4a67447231466c494c4632504e5963446c6573574e4b463245576a69777079565937717a36516c525352466f4278706f52796f743236366974356f6b316857415774704a42623949796865466f64777a4272535a64324b7463424e4f4c2f7967552f79524c7175723649692b7159725373375273705a3266517139723657313252616b4231766c514268696b496f6f714849456d364a535848614a72546d6b65504f475568524a7377725936554a594e45744d67732f554c534c3632425a497233734e5766674a4e304431774847585a53472f2b44444937396a7261504e494f79655762484d304c78307a516256746d374b3445716a7832786b44465236434a6a4a6c445651414341574641444b52523961446333517a712f654e6f42476f4761665177495045496671683042496259784a79564330336262734e71494d72454730475a6367734956773341466a66576d533749664c67486a4b392b785a5a41696775784675647149705578694331724257335776623447474f782b5a4e3455694c30344131754b493967455235416c455a56323644455136362f47466a3745686947674c333853612b454a4e474661316b6d556e7167503377374377457173465959777042626b6c6846594330656769616973744b5073453649706f4577616a6256776145394d5268574f51424e5a303054564e394c4e772b6d3638503461746f6d7a4f2f6542656577307472686845617559314350515245633634627370784748652b38424a354a61736866536d585a42386553506b39682f474f32366b6b554e5246553667696147787175395139676d70306c4735796631386a475751574b4d6e3877653755626b52427670484e44384354644463435a5548707666396630637275374d626c5275575034556c384c41374e36744e46346c774161737531476e6a515a3136473962634a462f64444f6168552f6b4b49666b395a4f54417068666b3648347a544c42706166646b584f6c484c346f373749353064374c436333636265333542315465784a544e4175573973766b4b58566d37664957655a73625462504e774f3576457a7a7437784d5242496f496d7832396f53644c6f387a323057665877375145646665335153364b2f4d426e4677445461576c6b41546a4b444d49376e7966565465434858564546737843364c5054334e4f2b464a5345685057795535496239794a4e582b6b35754551587a33667957704c425a634a6b5244636d64356b642b3248314e76627352614d4e764d75694332596a7258694b4d6c4d584d5459657841536939654131584565572f775247362b6c6d652f6a7a72347042693454675764464c3968475479783642314962506e4643615242692f53445148706d41745842776d54424d7377736c4e38626e50304c332f4e5667374436414c64346f394d6d504a5a4a6834544b6853664a504b4e327774655a31305a6c4972646b4250573162615a3031654b506363524f71777546616a4f646e76374752467133353275586f62584d39527a4778614133597159796a685a6f4b30462b66352b692b734537535a50476c793937363961613445357468574e37704f4e46704775317867664c5053304872624464397076592b33556c4e484658683843306e556634657052752f424842774e616f38767338555176674978575843396c6e514c4270356f557875515a5648764b344f6c5273376c5556564f46776d63706233614f642b2b784f564735617852702b62366b5166567371336a7351376269356c756948674d70484d5a547850722b7a483336447147366c6c42476a544a7a716c482b7a454477755869576f3135686c69375751617a4e2f447663322b534f37414833524777372f7935544b527466785058706246737567544270762b6e704e7a2b52386a766e435a4f4a394e6f664b41486d7273685944785a66447066416b614b374b662f67434a5a52766f55313061473850424664645363392f53733662702b596a6147784b50676a792b456551784453445168794369796e536f36466a52344d41696b48576945347a396835776e517259554f536e756633614d39464f7239497956347a4a524a6f6f2f7358764d664f7251582b4579636254374c4e2b5558534734544c527361324e76417672746448435a364f39776d7967696a4a6564516d62433978582f6c6153672f58717364626c6572555467654c4b726f55714e794c716b676d6c626374597952366d43784e364b514e724d3151754558434d4a6f6a4e43686d57316944544e5a6a2b57626466526a385359707244584177726e4442642f5470534c62783961724e646f5561696c3139454c3532366f56714e36584e6259594a426b4c747569304945514352304b516b355872483368586679312f2b6d6e4150774e6e34482f346f436769623841414141415355564f524b35435949493d)](https://www.react-kanca.com/)
40
+
41
+ ```jsx
42
+ import {
43
+ useBatteryInfo,
44
+ useBeforeUnload,
45
+ useClickOutside,
46
+ useColorScheme,
47
+ useConnection,
48
+ useCookie,
49
+ useCopyToClipboard,
50
+ useDebounce,
51
+ useEqualObject,
52
+ useFetch
53
+ useForceUpdate,
54
+ useFullScreen,
55
+ useGeolocation,
56
+ useHover,
57
+ useIntersectionObserver,
58
+ useInterval,
59
+ useIsFirstRender,
60
+ useLocalStorage,
61
+ useMedia,
62
+ useMobileLandscape,
63
+ useMousePageLeave,
64
+ useMultiStateValidator,
65
+ useOnlineStatus,
66
+ usePageLeave,
67
+ usePageVisible,
68
+ usePreferredLanguage,
69
+ usePrevious,
70
+ useScrolling,
71
+ useScrollLock,
72
+ useScrollToElement,
73
+ useSelection,
74
+ useSessionStorage,
75
+ useStateValidator,
76
+ useThrottle,
77
+ useUpdateEffect,
78
+ useWindowScroll,
79
+ useWindowSize,
80
+ } from 'react-kanca'
81
+
82
+ // import 'react-kanca/dist/index.css'
83
+
84
+ const App = () => {
85
+ const { width, height } = useWindowSize()
86
+ const isVisible = usePageVisible()
87
+
88
+ .
89
+ .
90
+ .
91
+ }
92
+ ```
93
+
94
+ [![React Kanca](https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg)](https://medium.com/@anilcanboga/react-kanca-0afba24625fa)
95
+
96
+ ## Lisans
97
+
98
+ MIT © [anilcanboga](https://github.com/anilcanboga)
99
+
100
+ <!-- [![React.js](https://img.shields.io/badge/-ReactJs-61DAFB?logo=react&logoColor=white&style=for-the-badge)](https://medium.com/@anilcanboga/react-functional-components-t%C3%BCrk%C3%A7e-kaynak-d%C3%B6k%C3%BCman-1fcdc275adcc) -->
101
+
102
+ <!-- [![React.js](https://shields.io/badge/react-black?logo=react&style=for-the-badge)](https://medium.com/@anilcanboga/react-functional-components-t%C3%BCrk%C3%A7e-kaynak-d%C3%B6k%C3%BCman-1fcdc275adcc) [![Next.js](https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white)](https://medium.com/@anilcanboga) -->
103
+
104
+ <!-- [![React Kanca Storybook](https://raw.githubusercontent.com/storybookjs/brand/37c5e9bde5c56b69a8c4312de7d60fb3a9d7de9d/icon/icon-storybook-default.svg)](https://www.react-kanca.com/)
105
+ -->
106
+
107
+ <!-- [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -->
@@ -0,0 +1,6 @@
1
+ var b=Object.defineProperty,Ne=Object.defineProperties,$e=Object.getOwnPropertyDescriptor,je=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;var K=(e,t,r)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,h=(e,t)=>{for(var r in t||(t={}))Z.call(t,r)&&K(e,r,t[r]);if(Q)for(var r of Q(t))Xe.call(t,r)&&K(e,r,t[r]);return e},E=(e,t)=>Ne(e,je(t));var Ye=(e,t)=>{for(var r in t)b(e,r,{get:t[r],enumerable:!0})},Qe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ge(t))!Z.call(e,o)&&o!==r&&b(e,o,{get:()=>t[o],enumerable:!(n=$e(t,o))||n.enumerable});return e};var Ke=e=>Qe(b({},"__esModule",{value:!0}),e);var F=(e,t,r)=>new Promise((n,o)=>{var s=i=>{try{u(r.next(i))}catch(a){o(a)}},c=i=>{try{u(r.throw(i))}catch(a){o(a)}},u=i=>i.done?n(i.value):Promise.resolve(i.value).then(s,c);u((r=r.apply(e,t)).next())});var ot={};Ye(ot,{useBatteryInfo:()=>me,useBeforeUnload:()=>ue,useClickOutside:()=>Ee,useColorScheme:()=>ve,useConnection:()=>de,useCookie:()=>le,useCopyToClipboard:()=>pe,useDebounce:()=>ne,useEqualObject:()=>G,useFetch:()=>_e,useForceUpdate:()=>Re,useFullScreen:()=>we,useGeolocation:()=>fe,useHover:()=>se,useIntersectionObserver:()=>Oe,useInterval:()=>Me,useIsFirstRender:()=>H,useLocalStorage:()=>ae,useMedia:()=>ge,useMobileLandscape:()=>ze,useMousePageLeave:()=>Fe,useMultiStateValidator:()=>He,useOnlineStatus:()=>Ue,usePageLeave:()=>ke,usePageVisible:()=>ee,usePreferredLanguage:()=>Ie,usePrevious:()=>oe,useScrollLock:()=>Ce,useScrollToElement:()=>Be,useScrolling:()=>ce,useSelection:()=>Ae,useSessionStorage:()=>ye,useStateValidator:()=>De,useThrottle:()=>ie,useUpdateEffect:()=>Je,useWindowScroll:()=>Pe,useWindowSize:()=>te});module.exports=Ke(ot);var T=require("react"),ee=()=>{let[e,t]=(0,T.useState)(!0),r=()=>{t(document.visibilityState==="visible")};return(0,T.useEffect)(()=>(document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}),[]),e};var k=require("react"),te=()=>{let[e,t]=(0,k.useState)({width:"",height:""});return(0,k.useEffect)(()=>{let r=()=>{t({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",r),r(),()=>{window.removeEventListener("resize",r)}},[]),e};var re=require("react"),ne=()=>{let[e,t]=(0,re.useState)(null);return[e,(n,o)=>{let s=setTimeout(()=>{typeof n=="function"?n():t(n)},o);return()=>{clearTimeout(s)}}]};var R=require("react"),oe=e=>{let t=(0,R.useRef)();return(0,R.useEffect)(()=>{t.current=e}),t.current};var M=require("react");var v=()=>{};function S(e,...t){e&&e.addEventListener&&e.addEventListener(...t)}function w(e,...t){e&&e.removeEventListener&&e.removeEventListener(...t)}var L=typeof window!="undefined";var se=e=>{let[t,r]=(0,M.useState)(!1),n=c=>u=>{c||v(u),r(!0)},o=c=>u=>{c||v(u),r(!1)};return typeof e=="function"&&(e=e(t)),[(0,M.cloneElement)(e,{onMouseEnter:n(e.props.onMouseEnter),onMouseLeave:o(e.props.onMouseLeave)}),t]};var O=require("react");var ce=e=>{let[t,r]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{if(e.current){let n,o=()=>{r(!1)},s=()=>{r(!0),clearTimeout(n),n=setTimeout(()=>o(),150)};return S(e.current,"scroll",s,!1),()=>{e.current&&w(e.current,"scroll",s,!1)}}return()=>{}},[e]),t};var z=require("react");var ue=(e=!0,t)=>{let r=(0,z.useCallback)(n=>{if(typeof e!="function"||e())return n.preventDefault(),t&&(n.returnValue=t),t},[e,t]);(0,z.useEffect)(()=>{if(e)return S(window,"beforeunload",r),()=>w(window,"beforeunload",r)},[e,r])};var d=require("react"),Ze=e=>{(0,d.useEffect)(e,[])},et=e=>{let t=(0,d.useRef)(e);t.current=e,Ze(()=>()=>t.current())},ie=(e,t=200)=>{let[r,n]=(0,d.useState)(e),o=(0,d.useRef)(),s=(0,d.useRef)(null),c=(0,d.useRef)(0);return(0,d.useEffect)(()=>{if(o.current)s.current=e,c.current=!0;else{n(e);let u=()=>{c.current?(c.current=!1,n(s.current),o.current=setTimeout(u,t)):o.current=void 0};o.current=setTimeout(u,t)}},[e]),et(()=>{o.current&&clearTimeout(o.current)}),r};var m=require("react");var ae=(e,t,r)=>{if(!L)return[t,v,v];if(!e)throw new Error("useLocalStorage key may not be falsy");let n=r?r.raw?a=>a:r.deserializer:JSON.parse,o=(0,m.useRef)(a=>{try{let l=r?r.raw?String:r.serializer:JSON.stringify,f=localStorage.getItem(a);return f!==null?n(f):(t&&localStorage.setItem(a,l(t)),t)}catch(l){return t}}),[s,c]=(0,m.useState)(()=>o.current(e));(0,m.useLayoutEffect)(()=>c(o.current(e)),[e]);let u=(0,m.useCallback)(a=>{try{let l=typeof a=="function"?a(s):a;if(typeof l=="undefined")return;let f;r?r.raw?typeof l=="string"?f=l:f=JSON.stringify(l):r.serializer?f=r.serializer(l):f=JSON.stringify(l):f=JSON.stringify(l),localStorage.setItem(e,f),c(n(f))}catch(l){}},[e,c]),i=(0,m.useCallback)(()=>{try{localStorage.removeItem(e),c(void 0)}catch(a){}},[e,c]);return[s,u,i]};var G=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o of r)if(!n.includes(o)||!G(e[o],t[o]))return!1;return!0};var C=require("react");function U(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)e[n]=r[n]}return e}var tt={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function X(e,t){function r(o,s,c){if(typeof document!="undefined"){c=U({},t,c),typeof c.expires=="number"&&(c.expires=new Date(Date.now()+c.expires*864e5)),c.expires&&(c.expires=c.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var i in c)c[i]&&(u+="; "+i,c[i]!==!0&&(u+="="+c[i].split(";")[0]));return document.cookie=o+"="+e.write(s,o)+u}}function n(o){if(!(typeof document=="undefined"||arguments.length&&!o)){for(var s=document.cookie?document.cookie.split("; "):[],c={},u=0;u<s.length;u++){var i=s[u].split("="),a=i.slice(1).join("=");try{var l=decodeURIComponent(i[0]);if(c[l]=e.read(a,l),o===l)break}catch(f){}}return o?c[o]:c}}return Object.create({set:r,get:n,remove:function(o,s){r(o,"",U({},s,{expires:-1}))},withAttributes:function(o){return X(this.converter,U({},this.attributes,o))},withConverter:function(o){return X(U({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var V=X(tt,{path:"/"});var le=e=>{let[t,r]=(0,C.useState)(()=>V.get(e)||null),n=(0,C.useCallback)((s,c)=>{V.set(e,s,c),r(s)},[e]),o=(0,C.useCallback)(()=>{V.remove(e),r(null)},[e]);return[t,n,o]};var B=require("react");var fe=e=>{let[t,r]=(0,B.useState)({loading:!0,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,latitude:null,longitude:null,speed:null,timestamp:Date.now()}),n=!0,o,s=u=>{n&&r({loading:!1,accuracy:u.coords.accuracy,altitude:u.coords.altitude,altitudeAccuracy:u.coords.altitudeAccuracy,heading:u.coords.heading,latitude:u.coords.latitude,longitude:u.coords.longitude,speed:u.coords.speed,timestamp:u.timestamp})},c=u=>n&&r(i=>E(h({},i),{loading:!1,error:u}));return(0,B.useEffect)(()=>(navigator.geolocation.getCurrentPosition(s,c,e),o=navigator.geolocation.watchPosition(s,c,e),()=>{n=!1,navigator.geolocation.clearWatch(o)}),[]),t};var D=require("react"),H=()=>{let e=(0,D.useRef)(!0);return(0,D.useEffect)(()=>{e.current=!1},[]),e.current};var P=require("react"),de=()=>{let[e,t]=(0,P.useState)(!0);return(0,P.useEffect)(()=>{let r=["online","offline"],n=()=>t(navigator.online);return r.forEach(o=>window.addEventListener(o,n)),()=>{r.forEach(o=>window.removeEventListener(o,n))}},[]),{status:e}};var x=require("react");var me=()=>{let[e,t]=(0,x.useState)(null),[r,n]=(0,x.useState)(null),[o,s]=(0,x.useState)(null);return(0,x.useEffect)(()=>(F(void 0,null,function*(){try{let u=yield navigator.getBattery(),i=()=>{t(Math.round(u.level*100)),n(u.charging),s(u.dischargingTime)};return i(),u.addEventListener("chargingchange",i),u.addEventListener("levelchange",i),u.addEventListener("chargingtimechange",i),u.addEventListener("dischargingtimechange",i),()=>{u.removeEventListener("chargingchange",i),u.removeEventListener("levelchange",i),u.removeEventListener("chargingtimechange",i),u.removeEventListener("dischargingtimechange",i)}}catch(u){console.error("Batarya bilgisi al\u0131namad\u0131: "+u.message)}}),()=>{}),[]),{batteryLevel:e,isCharging:r,dischargingTime:o}};var Y=require("react"),pe=()=>{let[e,t]=(0,Y.useState)(!1),[r,n]=(0,Y.useState)(!1);return{copied:e,error:r,copyToClipboard:s=>{navigator.clipboard.writeText(s).then(()=>{t(!0)}).catch(c=>{n(c)})}}};var q=require("react"),ge=(e=1024)=>{let[t,r]=(0,q.useState)(window.matchMedia(`(max-width: ${e}px)`).matches);return(0,q.useEffect)(()=>{let n=window.matchMedia(`(max-width: ${e}px)`),o=s=>{console.log(s.matches),r(s.matches)};n.addEventListener("change",o)}),t};var he=require("react"),Ee=(e,t)=>{let r=n=>{e.current&&!e.current.contains(n.target)&&t()};(0,he.useEffect)(()=>(document.addEventListener("click",r),()=>{document.removeEventListener("click",r)}))};var A=require("react"),ve=()=>{let[e,t]=(0,A.useState)(r());(0,A.useEffect)(()=>{let n=window.matchMedia("(prefers-color-scheme: dark)"),o=s=>{t(s.matches?"dark":"light")};return n.addEventListener("change",o),()=>{n.removeEventListener("change",o)}},[]);function r(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return e};var Se=require("react"),we=()=>{let[e,t]=(0,Se.useState)(!1);return{isFullScreen:e,enterFullScreen:()=>{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:()=>{document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen(),t(!1)}}};var xe=require("react"),ye=(e,t)=>{let[r,n]=(0,xe.useState)(()=>{try{let s=window.sessionStorage.getItem(e);return s?JSON.parse(s):t}catch(s){return console.error(s),t}});return[r,s=>{try{n(s),window.sessionStorage.setItem(e,JSON.stringify(s))}catch(c){console.error(c)}}]};var Le=require("react"),Ce=e=>{(0,Le.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset"}),[e])};var W=require("react"),Ie=()=>{let[e,t]=(0,W.useState)("");return(0,W.useEffect)(()=>{let r=navigator.language||navigator.userLanguage;t(r)},[]),e};var be=require("react");function Fe(e){(0,be.useEffect)(()=>(document.documentElement.addEventListener("mouseleave",e),()=>document.documentElement.removeEventListener("mouseleave",e)),[])}var Te=require("react"),ke=e=>{(0,Te.useEffect)(()=>{let t=r=>{let n=e();if(n)return r.preventDefault(),r.returnValue=n,n};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[e])};var J=require("react"),Re=()=>{let[,e]=(0,J.useState)(0);return(0,J.useCallback)(()=>{e(r=>r+1)},[])};var I=require("react"),Me=(e,t)=>{let r=(0,I.useRef)(()=>{});(0,I.useEffect)(()=>{r.current=e}),(0,I.useEffect)(()=>{if(t!==null){let n=setInterval(()=>r.current(),t||0);return()=>clearInterval(n)}},[t])};var _=require("react"),Oe=(e,t)=>{let[r,n]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let o=new IntersectionObserver(([s])=>{n(s.isIntersecting)},t);return e.current&&o.observe(e.current),()=>{e.current&&o.unobserve(e.current)}},[e,t]),r};var y=require("react"),ze=()=>{let[e,t]=(0,y.useState)(!1),[r,n]=(0,y.useState)(!1),[o,s]=(0,y.useState)(!1),c=()=>{let u=window.innerWidth>window.innerHeight,i=window.innerWidth<=996;t(u),n(i),s(u&&i)};return(0,y.useEffect)(()=>(c(),window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}),[]),{isMobileLandscape:o,isLandscape:e,isMobile:r}};var N=require("react"),Ue=()=>{let[e,t]=(0,N.useState)(navigator.onLine);return(0,N.useEffect)(()=>{let r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r),window.addEventListener("offline",n),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}},[]),e};var Ve=require("react");var Be=()=>(0,Ve.useCallback)((t,r={})=>{let n;typeof t=="string"?n=document.querySelector(t):t.current&&(n=t.current),n&&n.scrollIntoView(h({behavior:"smooth"},r))},[]);var p=require("react"),De=(e,t,r=[void 0])=>{let n=(0,p.useRef)(t),o=(0,p.useRef)(e);n.current=t,o.current=e;let[s,c]=(0,p.useState)(r),u=(0,p.useCallback)(()=>{n.current.length>=2?n.current(o.current,c):c(n.current(o.current))},[c]);return(0,p.useEffect)(()=>{u()},[e]),[s,u]};var g=require("react"),He=(e,t,r=[void 0])=>{if(typeof e!="object")throw new Error("state'in bir nesne ya da dizi olmas\u0131 beklenirken -> "+typeof e);let n=(0,g.useRef)(t),o=(0,g.useRef)(e);n.current=t,o.current=e;let[s,c]=(0,g.useState)(r),u=(0,g.useCallback)(()=>{n.current.length>=2?n.current(o.current,c):c(n.current(o.current))},[c]);return(0,g.useEffect)(()=>{u()},Object.values(e)),[s,u]};var $=require("react");var Pe=()=>{let[e,t]=(0,$.useState)(()=>({x:L?window.pageXOffset:0,y:L?window.pageYOffset:0}));return(0,$.useEffect)(()=>{let r=()=>{t(n=>{let{pageXOffset:o,pageYOffset:s}=window;return n.x!==o||n.y!==s?{x:o,y:s}:n})};return r(),S(window,"scroll",r,{capture:!1,passive:!0}),()=>{w(window,"scroll",r)}},[]),e};var qe=require("react"),Ae=()=>{let e=(0,qe.useRef)(null);return{elementRef:e,getSelectedText:()=>e.current?window.getSelection().getRangeAt(0).toString():""}};var We=require("react");var Je=(e,t)=>{let r=H();(0,We.useEffect)(()=>{if(!r)return e()},t)};var j=require("react");var rt={data:null,loading:!0,error:null},nt=(e,t)=>{switch(t.type){case"FETCH_INIT":return E(h({},e),{loading:!0,error:null});case"FETCH_SUCCESS":return E(h({},e),{loading:!1,data:t.payload});case"FETCH_FAILURE":return E(h({},e),{loading:!1,error:t.payload});default:throw new Error}},_e=(e,t)=>{let[r,n]=(0,j.useReducer)(nt,rt);return(0,j.useEffect)(()=>{if(!e)return;F(void 0,null,function*(){n({type:"FETCH_INIT"});try{let s=yield fetch(e,t);if(!s.ok)throw new Error(`HTTP error! Status: ${s.status}`);let c=yield s.json();n({type:"FETCH_SUCCESS",payload:c})}catch(s){n({type:"FETCH_FAILURE",payload:s.message})}})},[e,t]),r};0&&(module.exports={useBatteryInfo,useBeforeUnload,useClickOutside,useColorScheme,useConnection,useCookie,useCopyToClipboard,useDebounce,useEqualObject,useFetch,useForceUpdate,useFullScreen,useGeolocation,useHover,useIntersectionObserver,useInterval,useIsFirstRender,useLocalStorage,useMedia,useMobileLandscape,useMousePageLeave,useMultiStateValidator,useOnlineStatus,usePageLeave,usePageVisible,usePreferredLanguage,usePrevious,useScrollLock,useScrollToElement,useScrolling,useSelection,useSessionStorage,useStateValidator,useThrottle,useUpdateEffect,useWindowScroll,useWindowSize});
2
+ /*! Bundled license information:
3
+
4
+ js-cookie/dist/js.cookie.mjs:
5
+ (*! js-cookie v3.0.5 | MIT *)
6
+ */
@@ -0,0 +1,6 @@
1
+ var B=Object.defineProperty,D=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var F=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t)=>{for(var r in t||(t={}))P.call(t,r)&&F(e,r,t[r]);if(b)for(var r of b(t))q.call(t,r)&&F(e,r,t[r]);return e},m=(e,t)=>D(e,H(t));var v=(e,t,r)=>new Promise((n,o)=>{var s=i=>{try{u(r.next(i))}catch(a){o(a)}},c=i=>{try{u(r.throw(i))}catch(a){o(a)}},u=i=>i.done?n(i.value):Promise.resolve(i.value).then(s,c);u((r=r.apply(e,t)).next())});import{useState as A,useEffect as W}from"react";var J=()=>{let[e,t]=A(!0),r=()=>{t(document.visibilityState==="visible")};return W(()=>(document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}),[]),e};import{useEffect as _,useState as N}from"react";var $=()=>{let[e,t]=N({width:"",height:""});return _(()=>{let r=()=>{t({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",r),r(),()=>{window.removeEventListener("resize",r)}},[]),e};import{useState as j}from"react";var G=()=>{let[e,t]=j(null);return[e,(n,o)=>{let s=setTimeout(()=>{typeof n=="function"?n():t(n)},o);return()=>{clearTimeout(s)}}]};import{useRef as X,useEffect as Y}from"react";var Q=e=>{let t=X();return Y(()=>{t.current=e}),t.current};import{useState as K,cloneElement as Z}from"react";var p=()=>{};function g(e,...t){e&&e.addEventListener&&e.addEventListener(...t)}function h(e,...t){e&&e.removeEventListener&&e.removeEventListener(...t)}var E=typeof window!="undefined";var ee=e=>{let[t,r]=K(!1),n=c=>u=>{c||p(u),r(!0)},o=c=>u=>{c||p(u),r(!1)};return typeof e=="function"&&(e=e(t)),[Z(e,{onMouseEnter:n(e.props.onMouseEnter),onMouseLeave:o(e.props.onMouseLeave)}),t]};import{useEffect as te,useState as re}from"react";var ne=e=>{let[t,r]=re(!1);return te(()=>{if(e.current){let n,o=()=>{r(!1)},s=()=>{r(!0),clearTimeout(n),n=setTimeout(()=>o(),150)};return g(e.current,"scroll",s,!1),()=>{e.current&&h(e.current,"scroll",s,!1)}}return()=>{}},[e]),t};import{useCallback as oe,useEffect as se}from"react";var ce=(e=!0,t)=>{let r=oe(n=>{if(typeof e!="function"||e())return n.preventDefault(),t&&(n.returnValue=t),t},[e,t]);se(()=>{if(e)return g(window,"beforeunload",r),()=>h(window,"beforeunload",r)},[e,r])};import{useEffect as T,useRef as S,useState as ue}from"react";var ie=e=>{T(e,[])},ae=e=>{let t=S(e);t.current=e,ie(()=>()=>t.current())},le=(e,t=200)=>{let[r,n]=ue(e),o=S(),s=S(null),c=S(0);return T(()=>{if(o.current)s.current=e,c.current=!0;else{n(e);let u=()=>{c.current?(c.current=!1,n(s.current),o.current=setTimeout(u,t)):o.current=void 0};o.current=setTimeout(u,t)}},[e]),ae(()=>{o.current&&clearTimeout(o.current)}),r};import{useCallback as k,useState as fe,useRef as de,useLayoutEffect as me}from"react";var pe=(e,t,r)=>{if(!E)return[t,p,p];if(!e)throw new Error("useLocalStorage key may not be falsy");let n=r?r.raw?a=>a:r.deserializer:JSON.parse,o=de(a=>{try{let l=r?r.raw?String:r.serializer:JSON.stringify,f=localStorage.getItem(a);return f!==null?n(f):(t&&localStorage.setItem(a,l(t)),t)}catch(l){return t}}),[s,c]=fe(()=>o.current(e));me(()=>c(o.current(e)),[e]);let u=k(a=>{try{let l=typeof a=="function"?a(s):a;if(typeof l=="undefined")return;let f;r?r.raw?typeof l=="string"?f=l:f=JSON.stringify(l):r.serializer?f=r.serializer(l):f=JSON.stringify(l):f=JSON.stringify(l),localStorage.setItem(e,f),c(n(f))}catch(l){}},[e,c]),i=k(()=>{try{localStorage.removeItem(e),c(void 0)}catch(a){}},[e,c]);return[s,u,i]};var R=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o of r)if(!n.includes(o)||!R(e[o],t[o]))return!1;return!0};import{useCallback as M,useState as he}from"react";function w(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)e[n]=r[n]}return e}var ge={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function y(e,t){function r(o,s,c){if(typeof document!="undefined"){c=w({},t,c),typeof c.expires=="number"&&(c.expires=new Date(Date.now()+c.expires*864e5)),c.expires&&(c.expires=c.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var i in c)c[i]&&(u+="; "+i,c[i]!==!0&&(u+="="+c[i].split(";")[0]));return document.cookie=o+"="+e.write(s,o)+u}}function n(o){if(!(typeof document=="undefined"||arguments.length&&!o)){for(var s=document.cookie?document.cookie.split("; "):[],c={},u=0;u<s.length;u++){var i=s[u].split("="),a=i.slice(1).join("=");try{var l=decodeURIComponent(i[0]);if(c[l]=e.read(a,l),o===l)break}catch(f){}}return o?c[o]:c}}return Object.create({set:r,get:n,remove:function(o,s){r(o,"",w({},s,{expires:-1}))},withAttributes:function(o){return y(this.converter,w({},this.attributes,o))},withConverter:function(o){return y(w({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var x=y(ge,{path:"/"});var Ee=e=>{let[t,r]=he(()=>x.get(e)||null),n=M((s,c)=>{x.set(e,s,c),r(s)},[e]),o=M(()=>{x.remove(e),r(null)},[e]);return[t,n,o]};import{useEffect as ve,useState as Se}from"react";var we=e=>{let[t,r]=Se({loading:!0,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,latitude:null,longitude:null,speed:null,timestamp:Date.now()}),n=!0,o,s=u=>{n&&r({loading:!1,accuracy:u.coords.accuracy,altitude:u.coords.altitude,altitudeAccuracy:u.coords.altitudeAccuracy,heading:u.coords.heading,latitude:u.coords.latitude,longitude:u.coords.longitude,speed:u.coords.speed,timestamp:u.timestamp})},c=u=>n&&r(i=>m(d({},i),{loading:!1,error:u}));return ve(()=>(navigator.geolocation.getCurrentPosition(s,c,e),o=navigator.geolocation.watchPosition(s,c,e),()=>{n=!1,navigator.geolocation.clearWatch(o)}),[]),t};import{useEffect as xe,useRef as ye}from"react";var L=()=>{let e=ye(!0);return xe(()=>{e.current=!1},[]),e.current};import{useEffect as Le,useState as Ce}from"react";var Ie=()=>{let[e,t]=Ce(!0);return Le(()=>{let r=["online","offline"],n=()=>t(navigator.online);return r.forEach(o=>window.addEventListener(o,n)),()=>{r.forEach(o=>window.removeEventListener(o,n))}},[]),{status:e}};import{useState as C,useEffect as be}from"react";var Fe=()=>{let[e,t]=C(null),[r,n]=C(null),[o,s]=C(null);return be(()=>(v(void 0,null,function*(){try{let u=yield navigator.getBattery(),i=()=>{t(Math.round(u.level*100)),n(u.charging),s(u.dischargingTime)};return i(),u.addEventListener("chargingchange",i),u.addEventListener("levelchange",i),u.addEventListener("chargingtimechange",i),u.addEventListener("dischargingtimechange",i),()=>{u.removeEventListener("chargingchange",i),u.removeEventListener("levelchange",i),u.removeEventListener("chargingtimechange",i),u.removeEventListener("dischargingtimechange",i)}}catch(u){console.error("Batarya bilgisi al\u0131namad\u0131: "+u.message)}}),()=>{}),[]),{batteryLevel:e,isCharging:r,dischargingTime:o}};import{useState as O}from"react";var Te=()=>{let[e,t]=O(!1),[r,n]=O(!1);return{copied:e,error:r,copyToClipboard:s=>{navigator.clipboard.writeText(s).then(()=>{t(!0)}).catch(c=>{n(c)})}}};import{useEffect as ke,useState as Re}from"react";var Me=(e=1024)=>{let[t,r]=Re(window.matchMedia(`(max-width: ${e}px)`).matches);return ke(()=>{let n=window.matchMedia(`(max-width: ${e}px)`),o=s=>{console.log(s.matches),r(s.matches)};n.addEventListener("change",o)}),t};import{useEffect as Oe}from"react";var ze=(e,t)=>{let r=n=>{e.current&&!e.current.contains(n.target)&&t()};Oe(()=>(document.addEventListener("click",r),()=>{document.removeEventListener("click",r)}))};import{useState as Ue,useEffect as Ve}from"react";var Be=()=>{let[e,t]=Ue(r());Ve(()=>{let n=window.matchMedia("(prefers-color-scheme: dark)"),o=s=>{t(s.matches?"dark":"light")};return n.addEventListener("change",o),()=>{n.removeEventListener("change",o)}},[]);function r(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}return e};import{useState as De}from"react";var He=()=>{let[e,t]=De(!1);return{isFullScreen:e,enterFullScreen:()=>{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:()=>{document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen(),t(!1)}}};import{useState as Pe}from"react";var qe=(e,t)=>{let[r,n]=Pe(()=>{try{let s=window.sessionStorage.getItem(e);return s?JSON.parse(s):t}catch(s){return console.error(s),t}});return[r,s=>{try{n(s),window.sessionStorage.setItem(e,JSON.stringify(s))}catch(c){console.error(c)}}]};import{useEffect as Ae}from"react";var We=e=>{Ae(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset"}),[e])};import{useState as Je,useEffect as _e}from"react";var Ne=()=>{let[e,t]=Je("");return _e(()=>{let r=navigator.language||navigator.userLanguage;t(r)},[]),e};import{useEffect as $e}from"react";function je(e){$e(()=>(document.documentElement.addEventListener("mouseleave",e),()=>document.documentElement.removeEventListener("mouseleave",e)),[])}import{useEffect as Ge}from"react";var Xe=e=>{Ge(()=>{let t=r=>{let n=e();if(n)return r.preventDefault(),r.returnValue=n,n};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[e])};import{useState as Ye,useCallback as Qe}from"react";var Ke=()=>{let[,e]=Ye(0);return Qe(()=>{e(r=>r+1)},[])};import{useEffect as z,useRef as Ze}from"react";var et=(e,t)=>{let r=Ze(()=>{});z(()=>{r.current=e}),z(()=>{if(t!==null){let n=setInterval(()=>r.current(),t||0);return()=>clearInterval(n)}},[t])};import{useState as tt,useEffect as rt}from"react";var nt=(e,t)=>{let[r,n]=tt(!1);return rt(()=>{let o=new IntersectionObserver(([s])=>{n(s.isIntersecting)},t);return e.current&&o.observe(e.current),()=>{e.current&&o.unobserve(e.current)}},[e,t]),r};import{useState as I,useEffect as ot}from"react";var st=()=>{let[e,t]=I(!1),[r,n]=I(!1),[o,s]=I(!1),c=()=>{let u=window.innerWidth>window.innerHeight,i=window.innerWidth<=996;t(u),n(i),s(u&&i)};return ot(()=>(c(),window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}),[]),{isMobileLandscape:o,isLandscape:e,isMobile:r}};import{useState as ct,useEffect as ut}from"react";var it=()=>{let[e,t]=ct(navigator.onLine);return ut(()=>{let r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r),window.addEventListener("offline",n),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}},[]),e};import{useCallback as at}from"react";var lt=()=>at((t,r={})=>{let n;typeof t=="string"?n=document.querySelector(t):t.current&&(n=t.current),n&&n.scrollIntoView(d({behavior:"smooth"},r))},[]);import{useCallback as ft,useEffect as dt,useRef as U,useState as mt}from"react";var pt=(e,t,r=[void 0])=>{let n=U(t),o=U(e);n.current=t,o.current=e;let[s,c]=mt(r),u=ft(()=>{n.current.length>=2?n.current(o.current,c):c(n.current(o.current))},[c]);return dt(()=>{u()},[e]),[s,u]};import{useCallback as gt,useEffect as ht,useRef as V,useState as Et}from"react";var vt=(e,t,r=[void 0])=>{if(typeof e!="object")throw new Error("state'in bir nesne ya da dizi olmas\u0131 beklenirken -> "+typeof e);let n=V(t),o=V(e);n.current=t,o.current=e;let[s,c]=Et(r),u=gt(()=>{n.current.length>=2?n.current(o.current,c):c(n.current(o.current))},[c]);return ht(()=>{u()},Object.values(e)),[s,u]};import{useEffect as St,useState as wt}from"react";var xt=()=>{let[e,t]=wt(()=>({x:E?window.pageXOffset:0,y:E?window.pageYOffset:0}));return St(()=>{let r=()=>{t(n=>{let{pageXOffset:o,pageYOffset:s}=window;return n.x!==o||n.y!==s?{x:o,y:s}:n})};return r(),g(window,"scroll",r,{capture:!1,passive:!0}),()=>{h(window,"scroll",r)}},[]),e};import{useRef as yt}from"react";var Lt=()=>{let e=yt(null);return{elementRef:e,getSelectedText:()=>e.current?window.getSelection().getRangeAt(0).toString():""}};import{useEffect as Ct}from"react";var It=(e,t)=>{let r=L();Ct(()=>{if(!r)return e()},t)};import{useReducer as bt,useEffect as Ft}from"react";var Tt={data:null,loading:!0,error:null},kt=(e,t)=>{switch(t.type){case"FETCH_INIT":return m(d({},e),{loading:!0,error:null});case"FETCH_SUCCESS":return m(d({},e),{loading:!1,data:t.payload});case"FETCH_FAILURE":return m(d({},e),{loading:!1,error:t.payload});default:throw new Error}},Rt=(e,t)=>{let[r,n]=bt(kt,Tt);return Ft(()=>{if(!e)return;v(void 0,null,function*(){n({type:"FETCH_INIT"});try{let s=yield fetch(e,t);if(!s.ok)throw new Error(`HTTP error! Status: ${s.status}`);let c=yield s.json();n({type:"FETCH_SUCCESS",payload:c})}catch(s){n({type:"FETCH_FAILURE",payload:s.message})}})},[e,t]),r};export{Fe as useBatteryInfo,ce as useBeforeUnload,ze as useClickOutside,Be as useColorScheme,Ie as useConnection,Ee as useCookie,Te as useCopyToClipboard,G as useDebounce,R as useEqualObject,Rt as useFetch,Ke as useForceUpdate,He as useFullScreen,we as useGeolocation,ee as useHover,nt as useIntersectionObserver,et as useInterval,L as useIsFirstRender,pe as useLocalStorage,Me as useMedia,st as useMobileLandscape,je as useMousePageLeave,vt as useMultiStateValidator,it as useOnlineStatus,Xe as usePageLeave,J as usePageVisible,Ne as usePreferredLanguage,Q as usePrevious,We as useScrollLock,lt as useScrollToElement,ne as useScrolling,Lt as useSelection,qe as useSessionStorage,pt as useStateValidator,le as useThrottle,It as useUpdateEffect,xt as useWindowScroll,$ as useWindowSize};
2
+ /*! Bundled license information:
3
+
4
+ js-cookie/dist/js.cookie.mjs:
5
+ (*! js-cookie v3.0.5 | MIT *)
6
+ */
package/package.json CHANGED
@@ -1,57 +1,57 @@
1
- {
2
- "name": "react-kanca",
3
- "version": "1.3.2",
4
- "description": "React-kanca, karmaşıklığı azaltarak uygulamalarınızın daha okunabilir, yönetilebilir ve yeniden kullanılabilir olmasını sağlar.",
5
- "author": "anilcanboga",
6
- "license": "MIT",
7
- "repository": "anilcanboga/react-kanca",
8
- "homepage": "https://www.react-kanca.com/",
9
- "main": "dist/index.js",
10
- "module": "dist/index.modern.js",
11
- "source": "src/index.js",
12
- "engines": {
13
- "node": ">=10"
14
- },
15
- "scripts": {
16
- "build": "microbundle-crl --format modern,cjs",
17
- "start": "microbundle-crl watch --no-compress --format modern,cjs",
18
- "dev": "microbundle-crl watch --no-compress --format modern,cjs",
19
- "prepare": "run-s build",
20
- "test": "run-s test:unit test:lint test:build",
21
- "test:build": "run-s build",
22
- "test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
23
- "test:watch": "react-scripts test --env=jsdom",
24
- "predeploy": "cd example && yarn install && yarn run build",
25
- "deploy": "gh-pages -d example/build"
26
- },
27
- "peerDependencies": {
28
- "react": "*"
29
- },
30
- "devDependencies": {
31
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
32
- "babel-eslint": "^10.0.3",
33
- "cross-env": "^7.0.2",
34
- "gh-pages": "^6.1.1",
35
- "microbundle-crl": "^0.13.10",
36
- "npm-run-all": "^4.1.5",
37
- "prettier": "^3.3.3",
38
- "react": "*",
39
- "react-dom": "*",
40
- "react-scripts": "^5.0.1"
41
- },
42
- "files": [
43
- "dist"
44
- ],
45
- "dependencies": {
46
- "js-cookie": "^3.0.5"
47
- },
48
- "keywords": [
49
- "react",
50
- "hooks",
51
- "react-hooks",
52
- "frontend",
53
- "library",
54
- "next",
55
- "nextjs"
56
- ]
57
- }
1
+ {
2
+ "name": "react-kanca",
3
+ "version": "1.5.0",
4
+ "description": "React-kanca, karmaşıklığı azaltarak uygulamalarınızın daha okunabilir, yönetilebilir ve yeniden kullanılabilir olmasını sağlar.",
5
+ "author": "anilcanboga",
6
+ "license": "MIT",
7
+ "homepage": "https://react-kanca.com/",
8
+ "main": "dist/index.cjs.js",
9
+ "module": "dist/index.esm.js",
10
+ "source": "src/index.js",
11
+ "engines": {
12
+ "node": ">=10"
13
+ },
14
+ "scripts": {
15
+ "build": "node build.js",
16
+ "start": "microbundle-crl watch --no-compress --format modern,cjs",
17
+ "dev": "microbundle-crl watch --no-compress --format modern,cjs",
18
+ "prepare": "run-s build",
19
+ "test": "run-s test:unit test:lint test:build",
20
+ "test:build": "run-s build",
21
+ "test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
22
+ "test:watch": "react-scripts test --env=jsdom",
23
+ "predeploy": "cd example && yarn install && yarn run build",
24
+ "deploy": "gh-pages -d example/build"
25
+ },
26
+ "peerDependencies": {
27
+ "react": "*"
28
+ },
29
+ "devDependencies": {
30
+ "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
31
+ "cross-env": "^7.0.2",
32
+ "esbuild": "^0.24.0",
33
+ "gh-pages": "^6.1.1",
34
+ "microbundle-crl": "^0.13.10",
35
+ "npm-run-all": "^4.1.5",
36
+ "prettier": "^3.3.3",
37
+ "react": "^18.3.1",
38
+ "react-dom": "^18.3.1",
39
+ "react-scripts": "^5.0.1"
40
+ },
41
+ "files": [
42
+ "dist"
43
+ ],
44
+ "dependencies": {
45
+ "js-cookie": "^3.0.5"
46
+ },
47
+ "keywords": [
48
+ "react",
49
+ "hooks",
50
+ "react-hooks",
51
+ "frontend",
52
+ "library",
53
+ "next",
54
+ "nextjs",
55
+ "kanca"
56
+ ]
57
+ }
package/dist/index.css DELETED
@@ -1 +0,0 @@
1
- /* add css module styles here (optional) */
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- var e,n=require("react"),t=(e=require("js-cookie"))&&"object"==typeof e&&"default"in e?e.default:e,r=function(){};function u(e){if(e&&e.addEventListener){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];e.addEventListener.apply(e,t)}}function o(e){if(e&&e.removeEventListener){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];e.removeEventListener.apply(e,t)}}var i="undefined"!=typeof window,c=function(e,n){if(e===n)return!0;if("object"!=typeof e||"object"!=typeof n||null===e||null===n)return!1;var t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(var u=0,o=t;u<o.length;u++){var i=o[u];if(!r.includes(i)||!c(e[i],n[i]))return!1}return!0};function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(null,arguments)}"undefined"!=typeof Symbol&&(Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator"))),"undefined"!=typeof Symbol&&(Symbol.asyncIterator||(Symbol.asyncIterator=Symbol("Symbol.asyncIterator"))),exports.useBatteryInfo=function(){var e=n.useState(null),t=e[0],r=e[1],u=n.useState(null),o=u[0],i=u[1],c=n.useState(null),a=c[0],s=c[1];return n.useEffect(function(){return function(){try{Promise.resolve(function(e,n){try{var t=Promise.resolve(navigator.getBattery()).then(function(e){var n=function(){r(Math.round(100*e.level)),i(e.charging),s(e.dischargingTime)};return n(),e.addEventListener("chargingchange",n),e.addEventListener("levelchange",n),e.addEventListener("chargingtimechange",n),e.addEventListener("dischargingtimechange",n),function(){e.removeEventListener("chargingchange",n),e.removeEventListener("levelchange",n),e.removeEventListener("chargingtimechange",n),e.removeEventListener("dischargingtimechange",n)}})}catch(e){return n(e)}return t&&t.then?t.then(void 0,n):t}(0,function(e){console.error("Batarya bilgisi alınamadı: "+e.message)}))}catch(e){return Promise.reject(e)}}(),function(){}},[]),{batteryLevel:t,isCharging:o,dischargingTime:a}},exports.useBeforeUnload=function(e,t){void 0===e&&(e=!0);var r=n.useCallback(function(n){if("function"!=typeof e||e())return n.preventDefault(),t&&(n.returnValue=t),t},[e,t]);n.useEffect(function(){if(e)return u(window,"beforeunload",r),function(){return o(window,"beforeunload",r)}},[e,r])},exports.useClickOutside=function(e,t){var r=function(n){e.current&&!e.current.contains(n.target)&&t()};n.useEffect(function(){return document.addEventListener("click",r),function(){document.removeEventListener("click",r)}})},exports.useColorScheme=function(){var e=n.useState(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),t=e[0],r=e[1];return n.useEffect(function(){var e=window.matchMedia("(prefers-color-scheme: dark)"),n=function(e){r(e.matches?"dark":"light")};return e.addEventListener("change",n),function(){e.removeEventListener("change",n)}},[]),t},exports.useConnection=function(){var e=n.useState(!0),t=e[0],r=e[1];return n.useEffect(function(){var e=["online","offline"],n=function(){return r(navigator.online)};return e.forEach(function(e){return window.addEventListener(e,n)}),function(){e.forEach(function(e){return window.removeEventListener(e,n)})}},[]),{status:t}},exports.useCookie=function(e){var r=n.useState(function(){return t.get(e)||null}),u=r[1];return[r[0],n.useCallback(function(n,r){t.set(e,n,r),u(n)},[e]),n.useCallback(function(){t.remove(e),u(null)},[e])]},exports.useCopyToClipboard=function(){var e=n.useState(!1),t=e[0],r=e[1],u=n.useState(!1),o=u[1];return{copied:t,error:u[0],copyToClipboard:function(e){navigator.clipboard.writeText(e).then(function(){r(!0)}).catch(function(e){o(e)})}}},exports.useDebounce=function(){var e=n.useState(null),t=e[1];return[e[0],function(e,n){var r=setTimeout(function(){"function"==typeof e?e():t(e)},n);return function(){clearTimeout(r)}}]},exports.useEqualObject=c,exports.useForceUpdate=function(){var e=n.useState(0)[1];return n.useCallback(function(){e(function(e){return e+1})},[])},exports.useFullScreen=function(){var e=n.useState(!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)}}},exports.useGeolocation=function(e){var t,r=n.useState({loading:!0,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,latitude:null,longitude:null,speed:null,timestamp:Date.now()}),u=r[0],o=r[1],i=!0,c=function(e){i&&o({loading:!1,accuracy:e.coords.accuracy,altitude:e.coords.altitude,altitudeAccuracy:e.coords.altitudeAccuracy,heading:e.coords.heading,latitude:e.coords.latitude,longitude:e.coords.longitude,speed:e.coords.speed,timestamp:e.timestamp})},s=function(e){return i&&o(function(n){return a({},n,{loading:!1,error:e})})};return n.useEffect(function(){return navigator.geolocation.getCurrentPosition(c,s,e),t=navigator.geolocation.watchPosition(c,s,e),function(){i=!1,navigator.geolocation.clearWatch(t)}},[]),u},exports.useHover=function(e){var t=n.useState(!1),r=t[0],u=t[1];return"function"==typeof e&&(e=e(r)),[n.cloneElement(e,{onMouseEnter:function(e){u(!0)},onMouseLeave:function(e){u(!1)}}),r]},exports.useIntersectionObserver=function(e,t){var r=n.useState(!1),u=r[0],o=r[1];return n.useEffect(function(){var n=new IntersectionObserver(function(e){o(e[0].isIntersecting)},t);return e.current&&n.observe(e.current),function(){e.current&&n.unobserve(e.current)}},[e,t]),u},exports.useInterval=function(e,t){var r=n.useRef(function(){});n.useEffect(function(){r.current=e}),n.useEffect(function(){if(null!==t){var e=setInterval(function(){return r.current()},t||0);return function(){return clearInterval(e)}}},[t])},exports.useIsFirstRender=function(){var e=n.useRef(!0);return n.useEffect(function(){e.current=!1},[]),e.current},exports.useLocalStorage=function(e,t,u){if(!i)return[t,r,r];if(!e)throw new Error("useLocalStorage key may not be falsy");var o=u?u.raw?function(e){return e}:u.deserializer:JSON.parse,c=n.useRef(function(e){try{var n=u?u.raw?String:u.serializer:JSON.stringify,r=localStorage.getItem(e);return null!==r?o(r):(t&&localStorage.setItem(e,n(t)),t)}catch(e){return t}}),a=n.useState(function(){return c.current(e)}),s=a[0],f=a[1];n.useLayoutEffect(function(){return f(c.current(e))},[e]);var l=n.useCallback(function(n){try{var t,r="function"==typeof n?n(s):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),f(o(t))}catch(e){}},[e,f]),d=n.useCallback(function(){try{localStorage.removeItem(e),f(void 0)}catch(e){}},[e,f]);return[s,l,d]},exports.useMedia=function(e){void 0===e&&(e=1024);var t=n.useState(window.matchMedia("(max-width: "+e+"px)").matches),r=t[0],u=t[1];return n.useEffect(function(){window.matchMedia("(max-width: "+e+"px)").addEventListener("change",function(e){console.log(e.matches),u(e.matches)})}),r},exports.useMobileLandscape=function(){var e=n.useState(!1),t=e[0],r=e[1],u=n.useState(!1),o=u[0],i=u[1],c=n.useState(!1),a=c[0],s=c[1],f=function(){var e=window.innerWidth>window.innerHeight,n=window.innerWidth<=996;r(e),i(n),s(e&&n)};return n.useEffect(function(){return f(),window.addEventListener("resize",f),function(){window.removeEventListener("resize",f)}},[]),{isMobileLandscape:a,isLandscape:t,isMobile:o}},exports.useMousePageLeave=function(e){n.useEffect(function(){return document.documentElement.addEventListener("mouseleave",e),function(){return document.documentElement.removeEventListener("mouseleave",e)}},[])},exports.useMultiStateValidator=function(e,t,r){if(void 0===r&&(r=[void 0]),"object"!=typeof e)throw new Error("state'in bir nesne ya da dizi olması beklenirken -> "+typeof e);var u=n.useRef(t),o=n.useRef(e);u.current=t,o.current=e;var i=n.useState(r),c=i[0],a=i[1],s=n.useCallback(function(){u.current.length>=2?u.current(o.current,a):a(u.current(o.current))},[a]);return n.useEffect(function(){s()},Object.values(e)),[c,s]},exports.useOnlineStatus=function(){var e=n.useState(navigator.onLine),t=e[0],r=e[1];return n.useEffect(function(){var e=function(){return r(!0)},n=function(){return r(!1)};return window.addEventListener("online",e),window.addEventListener("offline",n),function(){window.removeEventListener("online",e),window.removeEventListener("offline",n)}},[]),t},exports.usePageLeave=function(e){n.useEffect(function(){var n=function(n){var t=e();if(t)return n.preventDefault(),n.returnValue=t,t};return window.addEventListener("beforeunload",n),function(){window.removeEventListener("beforeunload",n)}},[e])},exports.usePageVisible=function(){var e=n.useState(!0),t=e[0],r=e[1],u=function(){r("visible"===document.visibilityState)};return n.useEffect(function(){return document.addEventListener("visibilitychange",u),function(){document.removeEventListener("visibilitychange",u)}},[]),t},exports.usePreferredLanguage=function(){var e=n.useState(""),t=e[0],r=e[1];return n.useEffect(function(){var e=navigator.language||navigator.userLanguage;r(e)},[]),t},exports.usePrevious=function(e){var t=n.useRef();return n.useEffect(function(){t.current=e}),t.current},exports.useScrollLock=function(e){n.useEffect(function(){return document.body.style.overflow=e?"hidden":"unset",function(){document.body.style.overflow="unset"}},[e])},exports.useScrollToElement=function(){return n.useCallback(function(e,n){var t;void 0===n&&(n={}),"string"==typeof e?t=document.querySelector(e):e.current&&(t=e.current),t&&t.scrollIntoView(a({behavior:"smooth"},n))},[])},exports.useScrolling=function(e){var t=n.useState(!1),r=t[0],i=t[1];return n.useEffect(function(){if(e.current){var n,t=function(){i(!0),clearTimeout(n),n=setTimeout(function(){i(!1)},150)};return u(e.current,"scroll",t,!1),function(){e.current&&o(e.current,"scroll",t,!1)}}return function(){}},[e]),r},exports.useSessionStorage=function(e,t){var r=n.useState(function(){try{var n=window.sessionStorage.getItem(e);return n?JSON.parse(n):t}catch(e){return console.error(e),t}}),u=r[1];return[r[0],function(n){try{u(n),window.sessionStorage.setItem(e,JSON.stringify(n))}catch(e){console.error(e)}}]},exports.useStateValidator=function(e,t,r){void 0===r&&(r=[void 0]);var u=n.useRef(t),o=n.useRef(e);u.current=t,o.current=e;var i=n.useState(r),c=i[0],a=i[1],s=n.useCallback(function(){u.current.length>=2?u.current(o.current,a):a(u.current(o.current))},[a]);return n.useEffect(function(){s()},[e]),[c,s]},exports.useThrottle=function(e,t){void 0===t&&(t=200);var r,u,o=n.useState(e),i=o[0],c=o[1],a=n.useRef(),s=n.useRef(null),f=n.useRef(0);return n.useEffect(function(){if(a.current)s.current=e,f.current=!0;else{c(e);var n=function(){f.current?(f.current=!1,c(s.current),a.current=setTimeout(n,t)):a.current=void 0};a.current=setTimeout(n,t)}},[e]),(u=n.useRef(r=function(){a.current&&clearTimeout(a.current)})).current=r,n.useEffect(function(){return function(){return u.current()}},[]),i},exports.useWindowScroll=function(){var e=n.useState(function(){return{x:i?window.pageXOffset:0,y:i?window.pageYOffset:0}}),t=e[0],r=e[1];return n.useEffect(function(){var e=function(){r(function(e){var n=window,t=n.pageXOffset,r=n.pageYOffset;return e.x!==t||e.y!==r?{x:t,y:r}:e})};return e(),u(window,"scroll",e,{capture:!1,passive:!0}),function(){o(window,"scroll",e)}},[]),t},exports.useWindowSize=function(){var e=n.useState({width:"",height:""}),t=e[0],r=e[1];return n.useEffect(function(){var e=function(){r({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),e(),function(){window.removeEventListener("resize",e)}},[]),t};
2
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/util.js","../src/useEqualObject/index.jsx","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/useBatteryInfo/index.jsx","../src/useBeforeUnload/index.jsx","../src/useClickOutside/index.jsx","../src/useColorScheme/index.jsx","../src/useConnection/index.jsx","../src/useCookie/index.jsx","../src/useCopyToClipboard/index.jsx","../src/useDebounce/index.jsx","../src/useForceUpdate/index.jsx","../src/useFullScreen/index.jsx","../src/useGeolocation/index.jsx","../src/useHover/index.jsx","../src/useIntersectionObserver/index.jsx","../src/useInterval/index.jsx","../src/useIsFirstRender/index.jsx","../src/useLocalStorage/index.jsx","../src/useMedia/index.jsx","../src/useMobileLandscape/index.jsx","../src/useMousePageLeave/index.jsx","../src/useMultiStateValidator/index.jsx","../src/useOnlineStatus/index.jsx","../src/usePageLeave/index.jsx","../src/usePageVisible/index.jsx","../src/usePreferredLanguage/index.jsx","../src/usePrevious/index.jsx","../src/useScrollLock/index.jsx","../src/useScrollToElement/index.jsx","../src/useScrolling/index.jsx","../src/useSessionStorage/index.jsx","../src/useStateValidator/index.jsx","../src/useThrottle/index.jsx","../src/useWindowScroll/index.jsx","../src/useWindowSize/index.jsx"],"sourcesContent":["export const noop = () => {}\n\nexport function on(obj, ...args) {\n if (obj && obj.addEventListener) {\n obj.addEventListener(...args)\n }\n}\n\nexport function off(obj, ...args) {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(...args)\n }\n}\n\nexport const isBrowser = typeof window !== 'undefined'\n\nexport const isNavigator = typeof navigator !== 'undefined'\n","export const useEqualObject = (obj1, obj2) => {\n // İki obje aynı referansa sahipse, aynıdır.\n if (obj1 === obj2) return true\n\n // İki objenin türleri farklıysa, aynı değildir.\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 === null ||\n obj2 === null\n )\n return false\n\n // İki objenin özellik sayıları farklıysa, aynı değildir.\n const keys1 = Object.keys(obj1)\n const keys2 = Object.keys(obj2)\n if (keys1.length !== keys2.length) return false\n\n // Her bir özelliği kontrol ederek içeriklerini karşılaştır.\n for (let key of keys1) {\n if (!keys2.includes(key) || !useEqualObject(obj1[key], obj2[key]))\n return false\n }\n\n return true\n}\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import { useState, useEffect } from 'react'\n\nexport const useBatteryInfo = () => {\n const [batteryLevel, setBatteryLevel] = useState(null)\n const [isCharging, setIsCharging] = useState(null)\n const [dischargingTime, setDischargingTime] = useState(null)\n\n useEffect(() => {\n const getBatteryInfo = async () => {\n try {\n const battery = await navigator.getBattery()\n\n const updateBatteryInfo = () => {\n setBatteryLevel(Math.round(battery.level * 100))\n setIsCharging(battery.charging)\n setDischargingTime(battery.dischargingTime)\n }\n\n updateBatteryInfo()\n\n battery.addEventListener('chargingchange', updateBatteryInfo)\n battery.addEventListener('levelchange', updateBatteryInfo)\n battery.addEventListener('chargingtimechange', updateBatteryInfo)\n battery.addEventListener('dischargingtimechange', updateBatteryInfo)\n\n return () => {\n battery.removeEventListener('chargingchange', updateBatteryInfo)\n battery.removeEventListener('levelchange', updateBatteryInfo)\n battery.removeEventListener('chargingtimechange', updateBatteryInfo)\n battery.removeEventListener(\n 'dischargingtimechange',\n updateBatteryInfo\n )\n }\n } catch (error) {\n console.error('Batarya bilgisi alınamadı: ' + error.message)\n }\n }\n\n getBatteryInfo()\n\n // Cleanup function\n return () => {}\n }, [])\n\n return { batteryLevel, isCharging, dischargingTime }\n}\n","import { useCallback, useEffect } from 'react'\nimport { off, on } from '../utils/util'\n\nexport const useBeforeUnload = (enabled = true, message) => {\n const handler = useCallback(\n (event) => {\n const finalEnabled = typeof enabled === 'function' ? enabled() : true\n\n if (!finalEnabled) {\n return\n }\n\n event.preventDefault()\n\n if (message) {\n event.returnValue = message\n }\n\n return message\n },\n [enabled, message]\n )\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n on(window, 'beforeunload', handler)\n\n return () => off(window, 'beforeunload', handler)\n }, [enabled, handler])\n}\n","import { useEffect } from 'react'\n\nexport const useClickOutside = (ref, callback) => {\n const handleClick = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n callback()\n }\n }\n useEffect(() => {\n document.addEventListener('click', handleClick)\n return () => {\n document.removeEventListener('click', handleClick)\n }\n })\n}\n","import { useState, useEffect } from 'react'\n\nexport const useColorScheme = () => {\n const [colorScheme, setColorScheme] = useState(getInitialColorScheme())\n\n useEffect(() => {\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const listener = (e) => {\n setColorScheme(e.matches ? 'dark' : 'light')\n }\n\n mediaQuery.addEventListener('change', listener)\n\n return () => {\n mediaQuery.removeEventListener('change', listener)\n }\n }, [])\n\n function getInitialColorScheme() {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n return isDarkMode ? 'dark' : 'light'\n }\n\n return colorScheme\n}\n","import { useEffect, useState } from 'react'\n\nexport const useConnection = () => {\n const [status, setStatus] = useState(true)\n\n useEffect(() => {\n const events = ['online', 'offline']\n const eventHandle = () => setStatus(navigator.online)\n events.forEach((event) => window.addEventListener(event, eventHandle))\n\n return () => {\n events.forEach((event) => window.removeEventListener(event, eventHandle))\n }\n }, [])\n\n return { status }\n}\n","import { useCallback, useState } from 'react'\nimport Cookies from 'js-cookie'\n\nexport const useCookie = (cookieName) => {\n const [value, setValue] = useState(() => Cookies.get(cookieName) || null)\n\n const updateCookie = useCallback(\n (newValue, options) => {\n Cookies.set(cookieName, newValue, options)\n setValue(newValue)\n },\n [cookieName]\n )\n\n const deleteCookie = useCallback(() => {\n Cookies.remove(cookieName)\n setValue(null)\n }, [cookieName])\n\n return [value, updateCookie, deleteCookie]\n}\n","import { useState } from 'react'\n\nexport const useCopyToClipboard = () => {\n const [copied, setCopied] = useState(false)\n const [error, setError] = useState(false)\n\n const copyToClipboard = (text) => {\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setCopied(true)\n })\n .catch((err) => {\n setError(err)\n })\n }\n\n return { copied, error, copyToClipboard }\n}\n","import { useState, useEffect } from 'react'\n\n/* export const useDebounce = (value, delay) => {\n const [debounce, setDebounce] = useState('')\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebounce(value)\n }, delay)\n\n return () => {\n clearTimeout(handler)\n }\n }, [value, delay])\n\n return debounce\n} */\n\nexport const useDebounce = () => {\n const [debouncedValue, setDebouncedValue] = useState(null)\n\n const debounce = (value, delay) => {\n const handler = setTimeout(() => {\n if (typeof value === 'function') {\n value()\n } else {\n setDebouncedValue(value)\n }\n }, delay)\n\n return () => {\n clearTimeout(handler)\n }\n }\n\n return [debouncedValue, debounce]\n}\n","import { useState, useCallback } from 'react'\n\nexport const useForceUpdate = () => {\n const [, setTick] = useState(0)\n const update = useCallback(() => {\n setTick((tick) => tick + 1)\n }, [])\n\n return update\n}\n","import { useState } from 'react'\n\nexport const useFullScreen = () => {\n const [isFullScreen, setIsFullScreen] = useState(false)\n\n const enterFullScreen = () => {\n if (document.documentElement.requestFullscreen) {\n document.documentElement.requestFullscreen()\n } else if (document.documentElement.mozRequestFullScreen) {\n /* Firefox */\n document.documentElement.mozRequestFullScreen()\n } else if (document.documentElement.webkitRequestFullscreen) {\n /* Chrome, Safari & Opera */\n document.documentElement.webkitRequestFullscreen()\n } else if (document.documentElement.msRequestFullscreen) {\n /* IE/Edge */\n document.documentElement.msRequestFullscreen()\n }\n setIsFullScreen(true)\n }\n\n const exitFullScreen = () => {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.mozCancelFullScreen) {\n /* Firefox */\n document.mozCancelFullScreen()\n } else if (document.webkitExitFullscreen) {\n /* Chrome, Safari & Opera */\n document.webkitExitFullscreen()\n } else if (document.msExitFullscreen) {\n /* IE/Edge */\n document.msExitFullscreen()\n }\n setIsFullScreen(false)\n }\n\n return { isFullScreen, enterFullScreen, exitFullScreen }\n}\n","import { useEffect, useState } from 'react'\n\nexport const useGeolocation = (options) => {\n const [state, setState] = useState({\n loading: true,\n accuracy: null,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n latitude: null,\n longitude: null,\n speed: null,\n timestamp: Date.now()\n })\n let mounted = true\n let watchId\n\n const onEvent = (event) => {\n if (mounted) {\n setState({\n loading: false,\n accuracy: event.coords.accuracy,\n altitude: event.coords.altitude,\n altitudeAccuracy: event.coords.altitudeAccuracy,\n heading: event.coords.heading,\n latitude: event.coords.latitude,\n longitude: event.coords.longitude,\n speed: event.coords.speed,\n timestamp: event.timestamp\n })\n }\n }\n const onEventError = (error) =>\n mounted && setState((oldState) => ({ ...oldState, loading: false, error }))\n\n useEffect(() => {\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, options)\n watchId = navigator.geolocation.watchPosition(\n onEvent,\n onEventError,\n options\n )\n\n return () => {\n mounted = false\n navigator.geolocation.clearWatch(watchId)\n }\n }, [])\n\n return state\n}\n","import { useState, cloneElement } from 'react'\nimport { noop } from '../utils/util'\n\nexport const useHover = (element) => {\n const [state, setState] = useState(false)\n\n const onMouseEnter = (originalOnMouseEnter) => (event) => {\n originalOnMouseEnter || noop(event)\n setState(true)\n }\n const onMouseLeave = (originalOnMouseLeave) => (event) => {\n originalOnMouseLeave || noop(event)\n setState(false)\n }\n\n if (typeof element === 'function') {\n element = element(state)\n }\n\n const el = cloneElement(element, {\n onMouseEnter: onMouseEnter(element.props.onMouseEnter),\n onMouseLeave: onMouseLeave(element.props.onMouseLeave)\n })\n\n return [el, state]\n}\n","import { useState, useEffect } from 'react'\n\nexport const useIntersectionObserver = (targetRef, options) => {\n const [isIntersecting, setIsIntersecting] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(([entry]) => {\n setIsIntersecting(entry.isIntersecting)\n }, options)\n\n if (targetRef.current) {\n observer.observe(targetRef.current)\n }\n\n return () => {\n if (targetRef.current) {\n observer.unobserve(targetRef.current)\n }\n }\n }, [targetRef, options])\n\n return isIntersecting\n}\n","import { useEffect, useRef } from 'react'\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef(() => {})\n\n useEffect(() => {\n savedCallback.current = callback\n })\n\n useEffect(() => {\n if (delay !== null) {\n const interval = setInterval(() => savedCallback.current(), delay || 0)\n return () => clearInterval(interval)\n }\n\n return undefined\n }, [delay])\n}\n","import { useEffect, useRef } from 'react'\n\nexport const useIsFirstRender = () => {\n const isFirstRender = useRef(true)\n\n useEffect(() => {\n isFirstRender.current = false\n }, [])\n\n return isFirstRender.current\n}\n","import { useCallback, useState, useRef, useLayoutEffect } from 'react'\nimport { isBrowser, noop } from '../utils/util'\n\nexport const useLocalStorage = (key, initialValue, options) => {\n if (!isBrowser) {\n return [initialValue, noop, noop]\n }\n if (!key) {\n throw new Error('useLocalStorage key may not be falsy')\n }\n\n const deserializer = options\n ? options.raw\n ? (value) => value\n : options.deserializer\n : JSON.parse\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const initializer = useRef((key) => {\n try {\n const serializer = options\n ? options.raw\n ? String\n : options.serializer\n : JSON.stringify\n\n const localStorageValue = localStorage.getItem(key)\n if (localStorageValue !== null) {\n return deserializer(localStorageValue)\n } else {\n initialValue && localStorage.setItem(key, serializer(initialValue))\n return initialValue\n }\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue\n }\n })\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [state, setState] = useState(() => initializer.current(key))\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => setState(initializer.current(key)), [key])\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const set = useCallback(\n (valOrFunc) => {\n try {\n const newState =\n typeof valOrFunc === 'function' ? valOrFunc(state) : valOrFunc\n if (typeof newState === 'undefined') return\n let value\n\n if (options)\n if (options.raw)\n if (typeof newState === 'string') value = newState\n else value = JSON.stringify(newState)\n else if (options.serializer) value = options.serializer(newState)\n else value = JSON.stringify(newState)\n else value = JSON.stringify(newState)\n\n localStorage.setItem(key, value)\n setState(deserializer(value))\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. Also JSON.stringify can throw.\n }\n },\n [key, setState]\n )\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const remove = useCallback(() => {\n try {\n localStorage.removeItem(key)\n setState(undefined)\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw.\n }\n }, [key, setState])\n\n return [state, set, remove]\n}\n","import { useEffect, useState } from 'react'\n\nexport const useMedia = (width = 1024) => {\n const [screenStatus, setScreenStatus] = useState(\n window.matchMedia(`(max-width: ${width}px)`).matches\n )\n\n useEffect(() => {\n const matchMedia = window.matchMedia(`(max-width: ${width}px)`)\n\n const onChangeHandle = (e) => {\n console.log(e.matches)\n setScreenStatus(e.matches)\n }\n\n matchMedia.addEventListener('change', onChangeHandle)\n })\n\n return screenStatus\n}\n","import { useState, useEffect } from 'react'\n\nexport const useMobileLandscape = () => {\n const [isLandscape, setIsLandscape] = useState(false)\n const [isMobile, setIsMobile] = useState(false)\n const [isMobileLandscape, setIsMobileLandscape] = useState(false)\n\n const handleResize = () => {\n const landscape = window.innerWidth > window.innerHeight\n const mobile = window.innerWidth <= 996\n setIsLandscape(landscape)\n setIsMobile(mobile)\n setIsMobileLandscape(landscape && mobile)\n }\n\n useEffect(() => {\n handleResize()\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return { isMobileLandscape, isLandscape, isMobile }\n}\n","import { useEffect } from 'react'\n\nexport function useMousePageLeave(onPageLeave) {\n useEffect(() => {\n document.documentElement.addEventListener('mouseleave', onPageLeave)\n return () =>\n document.documentElement.removeEventListener('mouseleave', onPageLeave)\n }, [])\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useMultiStateValidator = (\n states,\n validator,\n initialValidity = [undefined]\n) => {\n if (typeof states !== 'object') {\n throw new Error(\n \"state'in bir nesne ya da dizi olması beklenirken -> \" + typeof states\n )\n }\n\n const validatorInner = useRef(validator)\n const statesInner = useRef(states)\n\n validatorInner.current = validator\n statesInner.current = states\n\n const [validity, setValidity] = useState(initialValidity)\n\n const validate = useCallback(() => {\n if (validatorInner.current.length >= 2) {\n validatorInner.current(statesInner.current, setValidity)\n } else {\n setValidity(validatorInner.current(statesInner.current))\n }\n }, [setValidity])\n\n useEffect(() => {\n validate()\n }, Object.values(states))\n\n return [validity, validate]\n}\n","import { useState, useEffect } from 'react'\n\nexport const useOnlineStatus = () => {\n const [isOnline, setIsOnline] = useState(navigator.onLine)\n\n useEffect(() => {\n const handleOnline = () => setIsOnline(true)\n const handleOffline = () => setIsOnline(false)\n\n window.addEventListener('online', handleOnline)\n window.addEventListener('offline', handleOffline)\n\n return () => {\n window.removeEventListener('online', handleOnline)\n window.removeEventListener('offline', handleOffline)\n }\n }, [])\n\n return isOnline\n}\n","import { useEffect } from 'react'\n\nexport const usePageLeave = (onLeave) => {\n useEffect(() => {\n const handleBeforeUnload = (event) => {\n const returnValue = onLeave()\n if (returnValue) {\n event.preventDefault()\n event.returnValue = returnValue\n return returnValue\n }\n }\n\n window.addEventListener('beforeunload', handleBeforeUnload)\n\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload)\n }\n }, [onLeave])\n}\n","import { useState, useEffect } from 'react'\n\nexport const usePageVisible = () => {\n const [isVisible, setIsVisible] = useState(true)\n\n const handleVisibilityChange = () => {\n setIsVisible(document.visibilityState === 'visible')\n }\n\n useEffect(() => {\n document.addEventListener('visibilitychange', handleVisibilityChange)\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange)\n }\n }, [])\n\n return isVisible\n}\n","import { useState, useEffect } from 'react'\n\nexport const usePreferredLanguage = () => {\n const [preferredLanguage, setPreferredLanguage] = useState('')\n\n useEffect(() => {\n const language = navigator.language || navigator.userLanguage\n setPreferredLanguage(language)\n }, [])\n\n return preferredLanguage\n}\n","import { useRef, useEffect } from 'react'\n\nexport const usePrevious = (value) => {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}\n","import { useEffect } from 'react'\n\nexport const useScrollLock = (lock) => {\n useEffect(() => {\n if (lock) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n\n return () => {\n document.body.style.overflow = 'unset'\n }\n }, [lock])\n}\n","import { useCallback } from 'react'\n\nexport const useScrollToElement = () => {\n const scrollToElement = useCallback((selectorOrRef, options = {}) => {\n let element\n\n if (typeof selectorOrRef === 'string') {\n element = document.querySelector(selectorOrRef)\n } else if (selectorOrRef.current) {\n element = selectorOrRef.current\n }\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', ...options })\n }\n }, [])\n\n return scrollToElement\n}\n","import { useEffect, useState } from 'react'\nimport { off, on } from '../utils/util'\n\nexport const useScrolling = (ref) => {\n const [scrolling, setScrolling] = useState(false)\n\n useEffect(() => {\n if (ref.current) {\n let scrollingTimeout\n\n const handleScrollEnd = () => {\n setScrolling(false)\n }\n\n const handleScroll = () => {\n setScrolling(true)\n clearTimeout(scrollingTimeout)\n scrollingTimeout = setTimeout(() => handleScrollEnd(), 150)\n }\n\n on(ref.current, 'scroll', handleScroll, false)\n return () => {\n if (ref.current) {\n off(ref.current, 'scroll', handleScroll, false)\n }\n }\n }\n return () => {}\n }, [ref])\n\n return scrolling\n}\n","import { useState } from 'react'\n\nexport const useSessionStorage = (key, initialValue) => {\n // İlk değeri sessionStorage'den alıyoruz, yoksa belirlenen başlangıç değerini kullanıyoruz\n const [storedValue, setStoredValue] = useState(() => {\n try {\n const item = window.sessionStorage.getItem(key)\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n console.error(error)\n return initialValue\n }\n })\n\n // State güncellendiğinde, sessionStorage'ye de yazıyoruz\n const setValue = (value) => {\n try {\n setStoredValue(value)\n window.sessionStorage.setItem(key, JSON.stringify(value))\n } catch (error) {\n console.error(error)\n }\n }\n\n return [storedValue, setValue]\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useStateValidator = (\n state,\n validator,\n initialState = [undefined]\n) => {\n const validatorInner = useRef(validator)\n const stateInner = useRef(state)\n\n validatorInner.current = validator\n stateInner.current = state\n\n const [validity, setValidity] = useState(initialState)\n\n const validate = useCallback(() => {\n if (validatorInner.current.length >= 2) {\n validatorInner.current(stateInner.current, setValidity)\n } else {\n setValidity(validatorInner.current(stateInner.current))\n }\n }, [setValidity])\n\n useEffect(() => {\n validate()\n }, [state])\n\n return [validity, validate]\n}\n","import { useEffect, useRef, useState } from 'react'\n\nconst useEffectOnce = (effect) => {\n useEffect(effect, [])\n}\n\nconst useUnmount = (fn) => {\n const fnRef = useRef(fn)\n fnRef.current = fn\n useEffectOnce(() => () => fnRef.current())\n}\n\nexport const useThrottle = (value, ms = 200) => {\n const [state, setState] = useState(value)\n const timeout = useRef()\n const nextValue = useRef(null)\n const hasNextValue = useRef(0)\n\n useEffect(() => {\n if (!timeout.current) {\n setState(value)\n const timeoutCallback = () => {\n if (hasNextValue.current) {\n hasNextValue.current = false\n setState(nextValue.current)\n timeout.current = setTimeout(timeoutCallback, ms)\n } else {\n timeout.current = undefined\n }\n }\n timeout.current = setTimeout(timeoutCallback, ms)\n } else {\n nextValue.current = value\n hasNextValue.current = true\n }\n }, [value])\n\n useUnmount(() => {\n timeout.current && clearTimeout(timeout.current)\n })\n\n return state\n}\n","import { useEffect, useState } from 'react'\nimport { isBrowser, off, on } from '../utils/util'\n\nexport const useWindowScroll = () => {\n const [state, setState] = useState(() => ({\n x: isBrowser ? window.pageXOffset : 0,\n y: isBrowser ? window.pageYOffset : 0\n }))\n\n useEffect(() => {\n const handler = () => {\n setState((state) => {\n const { pageXOffset, pageYOffset } = window\n //Check state for change, return same state if no change happened to prevent rerender\n //(see useState/setState documentation). useState/setState is used internally in useRafState/setState.\n return state.x !== pageXOffset || state.y !== pageYOffset\n ? {\n x: pageXOffset,\n y: pageYOffset\n }\n : state\n })\n }\n\n //We have to update window scroll at mount, before subscription.\n //Window scroll may be changed between render and effect handler.\n handler()\n\n on(window, 'scroll', handler, {\n capture: false,\n passive: true\n })\n\n return () => {\n off(window, 'scroll', handler)\n }\n }, [])\n\n return state\n}\n","import { useEffect, useState } from 'react'\n\nexport const useWindowSize = () => {\n const [size, setSize] = useState({ width: '', height: '' })\n\n useEffect(() => {\n const handleResize = () => {\n setSize({ width: window.innerWidth, height: window.innerHeight })\n }\n\n window.addEventListener('resize', handleResize)\n handleResize()\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return size\n}\n"],"names":["noop","on","obj","addEventListener","_len","arguments","length","args","Array","_key","apply","off","removeEventListener","_len2","_key2","isBrowser","window","useEqualObject","obj1","obj2","keys1","Object","keys","keys2","_i","_keys","key","includes","Symbol","iterator","asyncIterator","_useState","useState","batteryLevel","setBatteryLevel","_useState2","isCharging","setIsCharging","_useState3","dischargingTime","setDischargingTime","useEffect","Promise","resolve","body","recover","result","navigator","getBattery","then","battery","updateBatteryInfo","Math","round","level","charging","e","_catch","error","console","message","reject","getBatteryInfo","enabled","handler","useCallback","event","preventDefault","returnValue","ref","callback","handleClick","current","contains","target","document","matchMedia","matches","colorScheme","setColorScheme","mediaQuery","listener","status","setStatus","events","eventHandle","online","forEach","cookieName","Cookies","get","setValue","newValue","options","set","remove","copied","setCopied","setError","copyToClipboard","text","clipboard","writeText","err","setDebouncedValue","value","delay","setTimeout","clearTimeout","setTick","tick","setIsFullScreen","isFullScreen","enterFullScreen","documentElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullScreen","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","watchId","loading","accuracy","altitude","altitudeAccuracy","heading","latitude","longitude","speed","timestamp","Date","now","state","setState","mounted","onEvent","coords","onEventError","oldState","_extends","geolocation","getCurrentPosition","watchPosition","clearWatch","element","cloneElement","onMouseEnter","onMouseLeave","originalOnMouseLeave","targetRef","isIntersecting","setIsIntersecting","observer","IntersectionObserver","_ref","observe","unobserve","savedCallback","useRef","interval","setInterval","clearInterval","isFirstRender","initialValue","Error","deserializer","raw","JSON","parse","initializer","serializer","String","stringify","localStorageValue","localStorage","getItem","setItem","_unused","useLayoutEffect","valOrFunc","newState","_unused2","removeItem","undefined","_unused3","width","screenStatus","setScreenStatus","log","isLandscape","setIsLandscape","isMobile","setIsMobile","isMobileLandscape","setIsMobileLandscape","handleResize","landscape","innerWidth","innerHeight","mobile","onPageLeave","states","validator","initialValidity","validatorInner","statesInner","validity","setValidity","validate","values","onLine","isOnline","setIsOnline","handleOnline","handleOffline","onLeave","handleBeforeUnload","isVisible","setIsVisible","handleVisibilityChange","visibilityState","preferredLanguage","setPreferredLanguage","language","userLanguage","lock","style","overflow","selectorOrRef","querySelector","scrollIntoView","behavior","scrolling","setScrolling","scrollingTimeout","handleScroll","item","sessionStorage","setStoredValue","initialState","stateInner","ms","fn","fnRef","timeout","nextValue","hasNextValue","timeoutCallback","x","pageXOffset","y","pageYOffset","_window","capture","passive","height","size","setSize"],"mappings":"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"}
@@ -1,2 +0,0 @@
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};
2
- //# sourceMappingURL=index.modern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/usePageVisible/index.jsx","../src/useWindowSize/index.jsx","../src/useDebounce/index.jsx","../src/usePrevious/index.jsx","../src/utils/util.js","../src/useHover/index.jsx","../src/useScrolling/index.jsx","../src/useBeforeUnload/index.jsx","../src/useThrottle/index.jsx","../src/useLocalStorage/index.jsx","../src/useEqualObject/index.jsx","../src/useCookie/index.jsx","../src/useGeolocation/index.jsx","../src/useIsFirstRender/index.jsx","../src/useConnection/index.jsx","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/useBatteryInfo/index.jsx","../src/useCopyToClipboard/index.jsx","../src/useMedia/index.jsx","../src/useClickOutside/index.jsx","../src/useColorScheme/index.jsx","../src/useFullScreen/index.jsx","../src/useSessionStorage/index.jsx","../src/useScrollLock/index.jsx","../src/usePreferredLanguage/index.jsx","../src/useMousePageLeave/index.jsx","../src/usePageLeave/index.jsx","../src/useForceUpdate/index.jsx","../src/useInterval/index.jsx","../src/useIntersectionObserver/index.jsx","../src/useMobileLandscape/index.jsx","../src/useOnlineStatus/index.jsx","../src/useScrollToElement/index.jsx","../src/useStateValidator/index.jsx","../src/useMultiStateValidator/index.jsx","../src/useWindowScroll/index.jsx"],"sourcesContent":["import { useState, useEffect } from 'react'\n\nexport const usePageVisible = () => {\n const [isVisible, setIsVisible] = useState(true)\n\n const handleVisibilityChange = () => {\n setIsVisible(document.visibilityState === 'visible')\n }\n\n useEffect(() => {\n document.addEventListener('visibilitychange', handleVisibilityChange)\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange)\n }\n }, [])\n\n return isVisible\n}\n","import { useEffect, useState } from 'react'\n\nexport const useWindowSize = () => {\n const [size, setSize] = useState({ width: '', height: '' })\n\n useEffect(() => {\n const handleResize = () => {\n setSize({ width: window.innerWidth, height: window.innerHeight })\n }\n\n window.addEventListener('resize', handleResize)\n handleResize()\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return size\n}\n","import { useState, useEffect } from 'react'\n\n/* export const useDebounce = (value, delay) => {\n const [debounce, setDebounce] = useState('')\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebounce(value)\n }, delay)\n\n return () => {\n clearTimeout(handler)\n }\n }, [value, delay])\n\n return debounce\n} */\n\nexport const useDebounce = () => {\n const [debouncedValue, setDebouncedValue] = useState(null)\n\n const debounce = (value, delay) => {\n const handler = setTimeout(() => {\n if (typeof value === 'function') {\n value()\n } else {\n setDebouncedValue(value)\n }\n }, delay)\n\n return () => {\n clearTimeout(handler)\n }\n }\n\n return [debouncedValue, debounce]\n}\n","import { useRef, useEffect } from 'react'\n\nexport const usePrevious = (value) => {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}\n","export const noop = () => {}\n\nexport function on(obj, ...args) {\n if (obj && obj.addEventListener) {\n obj.addEventListener(...args)\n }\n}\n\nexport function off(obj, ...args) {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(...args)\n }\n}\n\nexport const isBrowser = typeof window !== 'undefined'\n\nexport const isNavigator = typeof navigator !== 'undefined'\n","import { useState, cloneElement } from 'react'\nimport { noop } from '../utils/util'\n\nexport const useHover = (element) => {\n const [state, setState] = useState(false)\n\n const onMouseEnter = (originalOnMouseEnter) => (event) => {\n originalOnMouseEnter || noop(event)\n setState(true)\n }\n const onMouseLeave = (originalOnMouseLeave) => (event) => {\n originalOnMouseLeave || noop(event)\n setState(false)\n }\n\n if (typeof element === 'function') {\n element = element(state)\n }\n\n const el = cloneElement(element, {\n onMouseEnter: onMouseEnter(element.props.onMouseEnter),\n onMouseLeave: onMouseLeave(element.props.onMouseLeave)\n })\n\n return [el, state]\n}\n","import { useEffect, useState } from 'react'\nimport { off, on } from '../utils/util'\n\nexport const useScrolling = (ref) => {\n const [scrolling, setScrolling] = useState(false)\n\n useEffect(() => {\n if (ref.current) {\n let scrollingTimeout\n\n const handleScrollEnd = () => {\n setScrolling(false)\n }\n\n const handleScroll = () => {\n setScrolling(true)\n clearTimeout(scrollingTimeout)\n scrollingTimeout = setTimeout(() => handleScrollEnd(), 150)\n }\n\n on(ref.current, 'scroll', handleScroll, false)\n return () => {\n if (ref.current) {\n off(ref.current, 'scroll', handleScroll, false)\n }\n }\n }\n return () => {}\n }, [ref])\n\n return scrolling\n}\n","import { useCallback, useEffect } from 'react'\nimport { off, on } from '../utils/util'\n\nexport const useBeforeUnload = (enabled = true, message) => {\n const handler = useCallback(\n (event) => {\n const finalEnabled = typeof enabled === 'function' ? enabled() : true\n\n if (!finalEnabled) {\n return\n }\n\n event.preventDefault()\n\n if (message) {\n event.returnValue = message\n }\n\n return message\n },\n [enabled, message]\n )\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n on(window, 'beforeunload', handler)\n\n return () => off(window, 'beforeunload', handler)\n }, [enabled, handler])\n}\n","import { useEffect, useRef, useState } from 'react'\n\nconst useEffectOnce = (effect) => {\n useEffect(effect, [])\n}\n\nconst useUnmount = (fn) => {\n const fnRef = useRef(fn)\n fnRef.current = fn\n useEffectOnce(() => () => fnRef.current())\n}\n\nexport const useThrottle = (value, ms = 200) => {\n const [state, setState] = useState(value)\n const timeout = useRef()\n const nextValue = useRef(null)\n const hasNextValue = useRef(0)\n\n useEffect(() => {\n if (!timeout.current) {\n setState(value)\n const timeoutCallback = () => {\n if (hasNextValue.current) {\n hasNextValue.current = false\n setState(nextValue.current)\n timeout.current = setTimeout(timeoutCallback, ms)\n } else {\n timeout.current = undefined\n }\n }\n timeout.current = setTimeout(timeoutCallback, ms)\n } else {\n nextValue.current = value\n hasNextValue.current = true\n }\n }, [value])\n\n useUnmount(() => {\n timeout.current && clearTimeout(timeout.current)\n })\n\n return state\n}\n","import { useCallback, useState, useRef, useLayoutEffect } from 'react'\nimport { isBrowser, noop } from '../utils/util'\n\nexport const useLocalStorage = (key, initialValue, options) => {\n if (!isBrowser) {\n return [initialValue, noop, noop]\n }\n if (!key) {\n throw new Error('useLocalStorage key may not be falsy')\n }\n\n const deserializer = options\n ? options.raw\n ? (value) => value\n : options.deserializer\n : JSON.parse\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const initializer = useRef((key) => {\n try {\n const serializer = options\n ? options.raw\n ? String\n : options.serializer\n : JSON.stringify\n\n const localStorageValue = localStorage.getItem(key)\n if (localStorageValue !== null) {\n return deserializer(localStorageValue)\n } else {\n initialValue && localStorage.setItem(key, serializer(initialValue))\n return initialValue\n }\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue\n }\n })\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [state, setState] = useState(() => initializer.current(key))\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => setState(initializer.current(key)), [key])\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const set = useCallback(\n (valOrFunc) => {\n try {\n const newState =\n typeof valOrFunc === 'function' ? valOrFunc(state) : valOrFunc\n if (typeof newState === 'undefined') return\n let value\n\n if (options)\n if (options.raw)\n if (typeof newState === 'string') value = newState\n else value = JSON.stringify(newState)\n else if (options.serializer) value = options.serializer(newState)\n else value = JSON.stringify(newState)\n else value = JSON.stringify(newState)\n\n localStorage.setItem(key, value)\n setState(deserializer(value))\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. Also JSON.stringify can throw.\n }\n },\n [key, setState]\n )\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const remove = useCallback(() => {\n try {\n localStorage.removeItem(key)\n setState(undefined)\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw.\n }\n }, [key, setState])\n\n return [state, set, remove]\n}\n","export const useEqualObject = (obj1, obj2) => {\n // İki obje aynı referansa sahipse, aynıdır.\n if (obj1 === obj2) return true\n\n // İki objenin türleri farklıysa, aynı değildir.\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 === null ||\n obj2 === null\n )\n return false\n\n // İki objenin özellik sayıları farklıysa, aynı değildir.\n const keys1 = Object.keys(obj1)\n const keys2 = Object.keys(obj2)\n if (keys1.length !== keys2.length) return false\n\n // Her bir özelliği kontrol ederek içeriklerini karşılaştır.\n for (let key of keys1) {\n if (!keys2.includes(key) || !useEqualObject(obj1[key], obj2[key]))\n return false\n }\n\n return true\n}\n","import { useCallback, useState } from 'react'\nimport Cookies from 'js-cookie'\n\nexport const useCookie = (cookieName) => {\n const [value, setValue] = useState(() => Cookies.get(cookieName) || null)\n\n const updateCookie = useCallback(\n (newValue, options) => {\n Cookies.set(cookieName, newValue, options)\n setValue(newValue)\n },\n [cookieName]\n )\n\n const deleteCookie = useCallback(() => {\n Cookies.remove(cookieName)\n setValue(null)\n }, [cookieName])\n\n return [value, updateCookie, deleteCookie]\n}\n","import { useEffect, useState } from 'react'\n\nexport const useGeolocation = (options) => {\n const [state, setState] = useState({\n loading: true,\n accuracy: null,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n latitude: null,\n longitude: null,\n speed: null,\n timestamp: Date.now()\n })\n let mounted = true\n let watchId\n\n const onEvent = (event) => {\n if (mounted) {\n setState({\n loading: false,\n accuracy: event.coords.accuracy,\n altitude: event.coords.altitude,\n altitudeAccuracy: event.coords.altitudeAccuracy,\n heading: event.coords.heading,\n latitude: event.coords.latitude,\n longitude: event.coords.longitude,\n speed: event.coords.speed,\n timestamp: event.timestamp\n })\n }\n }\n const onEventError = (error) =>\n mounted && setState((oldState) => ({ ...oldState, loading: false, error }))\n\n useEffect(() => {\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, options)\n watchId = navigator.geolocation.watchPosition(\n onEvent,\n onEventError,\n options\n )\n\n return () => {\n mounted = false\n navigator.geolocation.clearWatch(watchId)\n }\n }, [])\n\n return state\n}\n","import { useEffect, useRef } from 'react'\n\nexport const useIsFirstRender = () => {\n const isFirstRender = useRef(true)\n\n useEffect(() => {\n isFirstRender.current = false\n }, [])\n\n return isFirstRender.current\n}\n","import { useEffect, useState } from 'react'\n\nexport const useConnection = () => {\n const [status, setStatus] = useState(true)\n\n useEffect(() => {\n const events = ['online', 'offline']\n const eventHandle = () => setStatus(navigator.online)\n events.forEach((event) => window.addEventListener(event, eventHandle))\n\n return () => {\n events.forEach((event) => window.removeEventListener(event, eventHandle))\n }\n }, [])\n\n return { status }\n}\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import { useState, useEffect } from 'react'\n\nexport const useBatteryInfo = () => {\n const [batteryLevel, setBatteryLevel] = useState(null)\n const [isCharging, setIsCharging] = useState(null)\n const [dischargingTime, setDischargingTime] = useState(null)\n\n useEffect(() => {\n const getBatteryInfo = async () => {\n try {\n const battery = await navigator.getBattery()\n\n const updateBatteryInfo = () => {\n setBatteryLevel(Math.round(battery.level * 100))\n setIsCharging(battery.charging)\n setDischargingTime(battery.dischargingTime)\n }\n\n updateBatteryInfo()\n\n battery.addEventListener('chargingchange', updateBatteryInfo)\n battery.addEventListener('levelchange', updateBatteryInfo)\n battery.addEventListener('chargingtimechange', updateBatteryInfo)\n battery.addEventListener('dischargingtimechange', updateBatteryInfo)\n\n return () => {\n battery.removeEventListener('chargingchange', updateBatteryInfo)\n battery.removeEventListener('levelchange', updateBatteryInfo)\n battery.removeEventListener('chargingtimechange', updateBatteryInfo)\n battery.removeEventListener(\n 'dischargingtimechange',\n updateBatteryInfo\n )\n }\n } catch (error) {\n console.error('Batarya bilgisi alınamadı: ' + error.message)\n }\n }\n\n getBatteryInfo()\n\n // Cleanup function\n return () => {}\n }, [])\n\n return { batteryLevel, isCharging, dischargingTime }\n}\n","import { useState } from 'react'\n\nexport const useCopyToClipboard = () => {\n const [copied, setCopied] = useState(false)\n const [error, setError] = useState(false)\n\n const copyToClipboard = (text) => {\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setCopied(true)\n })\n .catch((err) => {\n setError(err)\n })\n }\n\n return { copied, error, copyToClipboard }\n}\n","import { useEffect, useState } from 'react'\n\nexport const useMedia = (width = 1024) => {\n const [screenStatus, setScreenStatus] = useState(\n window.matchMedia(`(max-width: ${width}px)`).matches\n )\n\n useEffect(() => {\n const matchMedia = window.matchMedia(`(max-width: ${width}px)`)\n\n const onChangeHandle = (e) => {\n console.log(e.matches)\n setScreenStatus(e.matches)\n }\n\n matchMedia.addEventListener('change', onChangeHandle)\n })\n\n return screenStatus\n}\n","import { useEffect } from 'react'\n\nexport const useClickOutside = (ref, callback) => {\n const handleClick = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n callback()\n }\n }\n useEffect(() => {\n document.addEventListener('click', handleClick)\n return () => {\n document.removeEventListener('click', handleClick)\n }\n })\n}\n","import { useState, useEffect } from 'react'\n\nexport const useColorScheme = () => {\n const [colorScheme, setColorScheme] = useState(getInitialColorScheme())\n\n useEffect(() => {\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const listener = (e) => {\n setColorScheme(e.matches ? 'dark' : 'light')\n }\n\n mediaQuery.addEventListener('change', listener)\n\n return () => {\n mediaQuery.removeEventListener('change', listener)\n }\n }, [])\n\n function getInitialColorScheme() {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n return isDarkMode ? 'dark' : 'light'\n }\n\n return colorScheme\n}\n","import { useState } from 'react'\n\nexport const useFullScreen = () => {\n const [isFullScreen, setIsFullScreen] = useState(false)\n\n const enterFullScreen = () => {\n if (document.documentElement.requestFullscreen) {\n document.documentElement.requestFullscreen()\n } else if (document.documentElement.mozRequestFullScreen) {\n /* Firefox */\n document.documentElement.mozRequestFullScreen()\n } else if (document.documentElement.webkitRequestFullscreen) {\n /* Chrome, Safari & Opera */\n document.documentElement.webkitRequestFullscreen()\n } else if (document.documentElement.msRequestFullscreen) {\n /* IE/Edge */\n document.documentElement.msRequestFullscreen()\n }\n setIsFullScreen(true)\n }\n\n const exitFullScreen = () => {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.mozCancelFullScreen) {\n /* Firefox */\n document.mozCancelFullScreen()\n } else if (document.webkitExitFullscreen) {\n /* Chrome, Safari & Opera */\n document.webkitExitFullscreen()\n } else if (document.msExitFullscreen) {\n /* IE/Edge */\n document.msExitFullscreen()\n }\n setIsFullScreen(false)\n }\n\n return { isFullScreen, enterFullScreen, exitFullScreen }\n}\n","import { useState } from 'react'\n\nexport const useSessionStorage = (key, initialValue) => {\n // İlk değeri sessionStorage'den alıyoruz, yoksa belirlenen başlangıç değerini kullanıyoruz\n const [storedValue, setStoredValue] = useState(() => {\n try {\n const item = window.sessionStorage.getItem(key)\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n console.error(error)\n return initialValue\n }\n })\n\n // State güncellendiğinde, sessionStorage'ye de yazıyoruz\n const setValue = (value) => {\n try {\n setStoredValue(value)\n window.sessionStorage.setItem(key, JSON.stringify(value))\n } catch (error) {\n console.error(error)\n }\n }\n\n return [storedValue, setValue]\n}\n","import { useEffect } from 'react'\n\nexport const useScrollLock = (lock) => {\n useEffect(() => {\n if (lock) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n\n return () => {\n document.body.style.overflow = 'unset'\n }\n }, [lock])\n}\n","import { useState, useEffect } from 'react'\n\nexport const usePreferredLanguage = () => {\n const [preferredLanguage, setPreferredLanguage] = useState('')\n\n useEffect(() => {\n const language = navigator.language || navigator.userLanguage\n setPreferredLanguage(language)\n }, [])\n\n return preferredLanguage\n}\n","import { useEffect } from 'react'\n\nexport function useMousePageLeave(onPageLeave) {\n useEffect(() => {\n document.documentElement.addEventListener('mouseleave', onPageLeave)\n return () =>\n document.documentElement.removeEventListener('mouseleave', onPageLeave)\n }, [])\n}\n","import { useEffect } from 'react'\n\nexport const usePageLeave = (onLeave) => {\n useEffect(() => {\n const handleBeforeUnload = (event) => {\n const returnValue = onLeave()\n if (returnValue) {\n event.preventDefault()\n event.returnValue = returnValue\n return returnValue\n }\n }\n\n window.addEventListener('beforeunload', handleBeforeUnload)\n\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload)\n }\n }, [onLeave])\n}\n","import { useState, useCallback } from 'react'\n\nexport const useForceUpdate = () => {\n const [, setTick] = useState(0)\n const update = useCallback(() => {\n setTick((tick) => tick + 1)\n }, [])\n\n return update\n}\n","import { useEffect, useRef } from 'react'\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef(() => {})\n\n useEffect(() => {\n savedCallback.current = callback\n })\n\n useEffect(() => {\n if (delay !== null) {\n const interval = setInterval(() => savedCallback.current(), delay || 0)\n return () => clearInterval(interval)\n }\n\n return undefined\n }, [delay])\n}\n","import { useState, useEffect } from 'react'\n\nexport const useIntersectionObserver = (targetRef, options) => {\n const [isIntersecting, setIsIntersecting] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(([entry]) => {\n setIsIntersecting(entry.isIntersecting)\n }, options)\n\n if (targetRef.current) {\n observer.observe(targetRef.current)\n }\n\n return () => {\n if (targetRef.current) {\n observer.unobserve(targetRef.current)\n }\n }\n }, [targetRef, options])\n\n return isIntersecting\n}\n","import { useState, useEffect } from 'react'\n\nexport const useMobileLandscape = () => {\n const [isLandscape, setIsLandscape] = useState(false)\n const [isMobile, setIsMobile] = useState(false)\n const [isMobileLandscape, setIsMobileLandscape] = useState(false)\n\n const handleResize = () => {\n const landscape = window.innerWidth > window.innerHeight\n const mobile = window.innerWidth <= 996\n setIsLandscape(landscape)\n setIsMobile(mobile)\n setIsMobileLandscape(landscape && mobile)\n }\n\n useEffect(() => {\n handleResize()\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return { isMobileLandscape, isLandscape, isMobile }\n}\n","import { useState, useEffect } from 'react'\n\nexport const useOnlineStatus = () => {\n const [isOnline, setIsOnline] = useState(navigator.onLine)\n\n useEffect(() => {\n const handleOnline = () => setIsOnline(true)\n const handleOffline = () => setIsOnline(false)\n\n window.addEventListener('online', handleOnline)\n window.addEventListener('offline', handleOffline)\n\n return () => {\n window.removeEventListener('online', handleOnline)\n window.removeEventListener('offline', handleOffline)\n }\n }, [])\n\n return isOnline\n}\n","import { useCallback } from 'react'\n\nexport const useScrollToElement = () => {\n const scrollToElement = useCallback((selectorOrRef, options = {}) => {\n let element\n\n if (typeof selectorOrRef === 'string') {\n element = document.querySelector(selectorOrRef)\n } else if (selectorOrRef.current) {\n element = selectorOrRef.current\n }\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', ...options })\n }\n }, [])\n\n return scrollToElement\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useStateValidator = (\n state,\n validator,\n initialState = [undefined]\n) => {\n const validatorInner = useRef(validator)\n const stateInner = useRef(state)\n\n validatorInner.current = validator\n stateInner.current = state\n\n const [validity, setValidity] = useState(initialState)\n\n const validate = useCallback(() => {\n if (validatorInner.current.length >= 2) {\n validatorInner.current(stateInner.current, setValidity)\n } else {\n setValidity(validatorInner.current(stateInner.current))\n }\n }, [setValidity])\n\n useEffect(() => {\n validate()\n }, [state])\n\n return [validity, validate]\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useMultiStateValidator = (\n states,\n validator,\n initialValidity = [undefined]\n) => {\n if (typeof states !== 'object') {\n throw new Error(\n \"state'in bir nesne ya da dizi olması beklenirken -> \" + typeof states\n )\n }\n\n const validatorInner = useRef(validator)\n const statesInner = useRef(states)\n\n validatorInner.current = validator\n statesInner.current = states\n\n const [validity, setValidity] = useState(initialValidity)\n\n const validate = useCallback(() => {\n if (validatorInner.current.length >= 2) {\n validatorInner.current(statesInner.current, setValidity)\n } else {\n setValidity(validatorInner.current(statesInner.current))\n }\n }, [setValidity])\n\n useEffect(() => {\n validate()\n }, Object.values(states))\n\n return [validity, validate]\n}\n","import { useEffect, useState } from 'react'\nimport { isBrowser, off, on } from '../utils/util'\n\nexport const useWindowScroll = () => {\n const [state, setState] = useState(() => ({\n x: isBrowser ? window.pageXOffset : 0,\n y: isBrowser ? window.pageYOffset : 0\n }))\n\n useEffect(() => {\n const handler = () => {\n setState((state) => {\n const { pageXOffset, pageYOffset } = window\n //Check state for change, return same state if no change happened to prevent rerender\n //(see useState/setState documentation). useState/setState is used internally in useRafState/setState.\n return state.x !== pageXOffset || state.y !== pageYOffset\n ? {\n x: pageXOffset,\n y: pageYOffset\n }\n : state\n })\n }\n\n //We have to update window scroll at mount, before subscription.\n //Window scroll may be changed between render and effect handler.\n handler()\n\n on(window, 'scroll', handler, {\n capture: false,\n passive: true\n })\n\n return () => {\n off(window, 'scroll', handler)\n }\n }, [])\n\n return state\n}\n"],"names":["usePageVisible","_useState","useState","isVisible","setIsVisible","handleVisibilityChange","document","visibilityState","useEffect","addEventListener","removeEventListener","useWindowSize","width","height","size","setSize","handleResize","window","innerWidth","innerHeight","useDebounce","setDebouncedValue","value","delay","handler","setTimeout","clearTimeout","usePrevious","ref","useRef","current","noop","on","obj","_len","arguments","length","args","Array","_key","apply","off","_len2","_key2","isBrowser","useHover","element","state","setState","cloneElement","onMouseEnter","event","onMouseLeave","originalOnMouseLeave","useScrolling","scrolling","setScrolling","scrollingTimeout","handleScroll","useBeforeUnload","enabled","message","useCallback","preventDefault","returnValue","useThrottle","ms","fn","fnRef","timeout","nextValue","hasNextValue","timeoutCallback","undefined","useLocalStorage","key","initialValue","options","Error","deserializer","raw","JSON","parse","initializer","serializer","String","stringify","localStorageValue","localStorage","getItem","setItem","_unused","useLayoutEffect","set","valOrFunc","newState","_unused2","remove","removeItem","_unused3","useEqualObject","obj1","obj2","keys1","Object","keys","keys2","_i","_keys","includes","useCookie","cookieName","Cookies","get","setValue","newValue","useGeolocation","watchId","loading","accuracy","altitude","altitudeAccuracy","heading","latitude","longitude","speed","timestamp","Date","now","mounted","onEvent","coords","onEventError","error","oldState","_extends","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","useIsFirstRender","isFirstRender","useConnection","status","setStatus","events","eventHandle","online","forEach","Symbol","iterator","asyncIterator","useBatteryInfo","batteryLevel","setBatteryLevel","_useState2","isCharging","setIsCharging","_useState3","dischargingTime","setDischargingTime","Promise","resolve","body","recover","result","getBattery","then","battery","updateBatteryInfo","Math","round","level","charging","e","_catch","console","reject","getBatteryInfo","useCopyToClipboard","copied","setCopied","setError","copyToClipboard","text","clipboard","writeText","err","useMedia","matchMedia","matches","screenStatus","setScreenStatus","log","useClickOutside","callback","handleClick","contains","target","useColorScheme","colorScheme","setColorScheme","mediaQuery","listener","useFullScreen","setIsFullScreen","isFullScreen","enterFullScreen","documentElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullScreen","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","useSessionStorage","item","sessionStorage","setStoredValue","useScrollLock","lock","style","overflow","usePreferredLanguage","preferredLanguage","setPreferredLanguage","language","userLanguage","useMousePageLeave","onPageLeave","usePageLeave","onLeave","handleBeforeUnload","useForceUpdate","setTick","tick","useInterval","savedCallback","interval","setInterval","clearInterval","useIntersectionObserver","targetRef","isIntersecting","setIsIntersecting","observer","IntersectionObserver","_ref","observe","unobserve","useMobileLandscape","isLandscape","setIsLandscape","isMobile","setIsMobile","isMobileLandscape","setIsMobileLandscape","landscape","mobile","useOnlineStatus","onLine","isOnline","setIsOnline","handleOnline","handleOffline","useScrollToElement","selectorOrRef","querySelector","scrollIntoView","behavior","useStateValidator","validator","initialState","validatorInner","stateInner","validity","setValidity","validate","useMultiStateValidator","states","initialValidity","statesInner","values","useWindowScroll","x","pageXOffset","y","pageYOffset","_window","capture","passive"],"mappings":"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"}