@sohanemon/utils 6.4.0 → 6.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -5
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +4 -4
- package/dist/components/index.js +1 -1
- package/dist/functions-BtZjryZg.js +11 -0
- package/dist/functions-CO4oPMho.cjs +11 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +66 -1
- package/dist/hooks/index.d.ts +67 -2
- package/dist/hooks/index.js +1 -1
- package/dist/hooks-BTg5k7FE.cjs +1 -0
- package/dist/hooks-Djf_0cS3.js +1 -0
- package/dist/{index-CKE8ocfo.d.ts → index-BYNGZWnU.d.ts} +69 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +69 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/package.json +4 -2
- package/dist/functions-BQWC9vZ0.cjs +0 -1
- package/dist/functions-DdPaJAsm.js +0 -1
- package/dist/hooks-C9b8HxlS.js +0 -1
- package/dist/hooks-CswCcD42.cjs +0 -1
package/README.md
CHANGED
|
@@ -72,9 +72,29 @@ const extended = extendProps({ a: 1 }, { b: 'hello' }); // { a: 1, b: 'hello' }
|
|
|
72
72
|
#### Data Transformation
|
|
73
73
|
|
|
74
74
|
```typescript
|
|
75
|
-
import { hydrate, convertToSlug, normalizeText } from '@sohanemon/utils';
|
|
75
|
+
import { hydrate, deepmerge, convertToSlug, normalizeText } from '@sohanemon/utils';
|
|
76
76
|
|
|
77
77
|
const cleaned = hydrate({ a: null, b: { c: null } }); // { a: undefined, b: { c: undefined } }
|
|
78
|
+
|
|
79
|
+
// Deep merge objects
|
|
80
|
+
const merged = deepmerge({ user: { name: 'John' } }, { user: { age: 30 } });
|
|
81
|
+
// { user: { name: 'John', age: 30 } }
|
|
82
|
+
|
|
83
|
+
// Merge functions with custom logic
|
|
84
|
+
const combined = deepmerge(
|
|
85
|
+
{ onFinish() { console.log('first') } },
|
|
86
|
+
{ onFinish(v) { console.log('second', v) } },
|
|
87
|
+
{
|
|
88
|
+
customMerge: (key, target, source) => {
|
|
89
|
+
if (typeof target === 'function' && typeof source === 'function') {
|
|
90
|
+
return (...args) => { target(...args); source(...args); };
|
|
91
|
+
}
|
|
92
|
+
return source;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
// combined.onFinish('done') logs 'first' then 'second done'
|
|
97
|
+
|
|
78
98
|
const slug = convertToSlug('Hello World!'); // 'hello-world'
|
|
79
99
|
const normalized = normalizeText('Café', { removeAccents: true }); // 'cafe'
|
|
80
100
|
```
|
|
@@ -191,14 +211,21 @@ extendProps<T extends object, P extends object>(
|
|
|
191
211
|
```typescript
|
|
192
212
|
hydrate<T>(data: T): Hydrate<T>
|
|
193
213
|
|
|
194
|
-
deepmerge<T,
|
|
214
|
+
deepmerge<T extends Record<string, any>, S extends Record<string, any>[]>(
|
|
215
|
+
target: T,
|
|
216
|
+
...sources: S
|
|
217
|
+
): TMerged<T | S[number]>
|
|
218
|
+
|
|
219
|
+
deepmerge<T extends Record<string, any>, S extends Record<string, any>[]>(
|
|
195
220
|
target: T,
|
|
196
|
-
|
|
221
|
+
sources: S,
|
|
197
222
|
options?: {
|
|
198
|
-
arrayMerge?: (target: any[], source: any[]) => any[];
|
|
223
|
+
arrayMerge?: 'replace' | 'concat' | 'merge' | ((target: any[], source: any[]) => any[]);
|
|
224
|
+
clone?: boolean;
|
|
225
|
+
customMerge?: (key: string | symbol, targetValue: any, sourceValue: any) => any;
|
|
199
226
|
maxDepth?: number;
|
|
200
227
|
}
|
|
201
|
-
): T
|
|
228
|
+
): TMerged<T | S[number]>
|
|
202
229
|
|
|
203
230
|
convertToSlug(str: string): string
|
|
204
231
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require(`../hooks-
|
|
1
|
+
"use client";const e=require(`../hooks-BTg5k7FE.cjs`),t=require(`../functions-CO4oPMho.cjs`);let n=require(`react`);n=e.k(n);let r=require(`react/jsx-runtime`),i=require(`@iconify/react`);function a({className:i,html:a,sanitize:o=!1,executeScripts:s=!0,...c}){let l=n.useRef([]),u=n.useRef(null);e.O(()=>{if(l.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),l.current=[],!(!s||!a))try{let e=document.createElement(`div`);e.innerHTML=a,e.querySelectorAll(`script`).forEach(e=>{let t=document.createElement(`script`);e.textContent&&(t.textContent=e.textContent),Array.from(e.attributes).forEach(e=>{t.setAttribute(e.name,e.value)}),t.onerror=e=>{console.error(`Script injection error:`,e)},document.body.appendChild(t),l.current.push(t)})}catch(e){console.error(`HTML injection error:`,e)}},[a,s]),n.useEffect(()=>()=>{l.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let d=n.useMemo(()=>{if(!a)return``;if(o){let e=document.createElement(`div`);e.innerHTML=a,e.querySelectorAll(`script`).forEach(e=>e.remove());let t=[`onclick`,`onload`,`onerror`,`onmouseover`];return e.querySelectorAll(`*`).forEach(e=>{t.forEach(t=>{e.hasAttribute(t)&&e.removeAttribute(t)})}),e.innerHTML}return a},[a,o]);return a?(0,r.jsx)(`div`,{ref:u,className:t.o(i),dangerouslySetInnerHTML:{__html:d},...c}):null}function o({breakpoint:t,as:i=`div`,fallback:a=n.Fragment,className:o,classNameFallback:s,...c}){let l=e.m(t.split(`-`).pop())===t.startsWith(`max`);return(0,r.jsx)(l?a:i,{className:l?s:o,...c})}const s=({side:e,offset:i=2,unit:a=`px`})=>{let[o,s]=n.useState(t.h?0:window.innerWidth),c=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],l={"bottom-left":e=>({bottom:`${e}rem`,left:`${e}rem`}),"bottom-right":e=>({bottom:`${e}rem`,right:`${e}rem`}),"top-right":e=>({top:`${e}rem`,right:`${e}rem`}),"top-left":e=>({top:`${e}rem`,left:`${e}rem`})},u=e||`bottom-left`,[d,f]=n.useState(u);n.useEffect(()=>{let e=()=>{s(window.innerWidth)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]);let p=()=>{f(c[(c.indexOf(d)+1)%c.length])},m=``;return m=o<640?`xs`:o>=640&&o<768?`sm`:o>=768&&o<1024?`md`:o>=1024&&o<1280?`lg`:o>=1280&&o<1536?`xl`:o>=1536&&o<1792?`2xl`:a===`rem`?`${(o/16).toFixed(1)}rem`:`${o}${a}`,(0,r.jsx)(`button`,{type:`button`,style:{position:`fixed`,zIndex:50,display:`grid`,minHeight:`2.5rem`,minWidth:`2.5rem`,borderRadius:`30px`,placeContent:`center`,backgroundColor:`#2d3748`,fontFamily:`Courier New, Courier, monospace`,fontSize:`1rem`,color:`#ffffff`,border:`2px solid #4a5568`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)`,padding:`0.5rem`,transition:`all 0.2s ease-in-out`,...l[d](i)},onClick:p,children:m})};function c(){return e.O(()=>{let e=document.body;if(!e)return;let t=e=>{let t=getComputedStyle(e);if(t.overflow===`hidden`&&t.overflowY===`hidden`&&t.overflowX===`hidden`)return!1;let n=(t.overflowY===`auto`||t.overflowY===`scroll`)&&e.scrollHeight>e.clientHeight,r=(t.overflowX===`auto`||t.overflowX===`scroll`)&&e.scrollWidth>e.clientWidth;return n||r},n=e=>{t(e)?e.dataset.scrollable=`true`:delete e.dataset.scrollable},r=e=>{n(e);for(let t=0;t<e.children.length;t++){let n=e.children[t];r(n)}};requestIdleCallback(()=>r(e));let i=new MutationObserver(e=>{for(let t of e)t.type===`childList`?t.addedNodes.forEach(e=>{e instanceof HTMLElement&&r(e)}):t.type===`attributes`&&t.target instanceof HTMLElement&&n(t.target)});return i.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`class`]}),()=>i.disconnect()},[]),null}exports.HtmlInjector=a,Object.defineProperty(exports,`Iconify`,{enumerable:!0,get:function(){return i.Icon}}),exports.MediaWrapper=o,exports.ResponsiveIndicator=s,exports.TailwindIndicator=s,exports.ScrollTracker=e.w,exports.ScrollableMarker=c;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Icon as Iconify } from "@iconify/react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/html-injector.d.ts
|
|
@@ -56,7 +56,7 @@ declare function HtmlInjector({
|
|
|
56
56
|
sanitize,
|
|
57
57
|
executeScripts,
|
|
58
58
|
...props
|
|
59
|
-
}: HtmlInjectorProps):
|
|
59
|
+
}: HtmlInjectorProps): react_jsx_runtime0.JSX.Element | null;
|
|
60
60
|
//#endregion
|
|
61
61
|
//#region src/components/media-wrapper.d.ts
|
|
62
62
|
/**
|
|
@@ -105,7 +105,7 @@ declare function MediaWrapper({
|
|
|
105
105
|
className: classNameOriginal,
|
|
106
106
|
classNameFallback,
|
|
107
107
|
...props
|
|
108
|
-
}: MediaWrapperProps):
|
|
108
|
+
}: MediaWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region src/components/responsive-indicator.d.ts
|
|
111
111
|
type Side = 'bottom-left' | 'bottom-right' | 'top-right' | 'top-left';
|
|
@@ -166,7 +166,7 @@ interface ScrollTrackerProps {
|
|
|
166
166
|
*/
|
|
167
167
|
declare const ScrollTracker: ({
|
|
168
168
|
children
|
|
169
|
-
}: ScrollTrackerProps) =>
|
|
169
|
+
}: ScrollTrackerProps) => react_jsx_runtime0.JSX.Element;
|
|
170
170
|
//#endregion
|
|
171
171
|
//#region src/components/scrollable-marker.d.ts
|
|
172
172
|
/**
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{h as e,o as t}from"../functions-BtZjryZg.js";import{O as n,m as r,w as i}from"../hooks-Djf_0cS3.js";import*as a from"react";import{jsx as o}from"react/jsx-runtime";import{Icon as s}from"@iconify/react";function c({className:e,html:r,sanitize:i=!1,executeScripts:s=!0,...c}){let l=a.useRef([]),u=a.useRef(null);n(()=>{if(l.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),l.current=[],!(!s||!r))try{let e=document.createElement(`div`);e.innerHTML=r,e.querySelectorAll(`script`).forEach(e=>{let t=document.createElement(`script`);e.textContent&&(t.textContent=e.textContent),Array.from(e.attributes).forEach(e=>{t.setAttribute(e.name,e.value)}),t.onerror=e=>{console.error(`Script injection error:`,e)},document.body.appendChild(t),l.current.push(t)})}catch(e){console.error(`HTML injection error:`,e)}},[r,s]),a.useEffect(()=>()=>{l.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let d=a.useMemo(()=>{if(!r)return``;if(i){let e=document.createElement(`div`);e.innerHTML=r,e.querySelectorAll(`script`).forEach(e=>e.remove());let t=[`onclick`,`onload`,`onerror`,`onmouseover`];return e.querySelectorAll(`*`).forEach(e=>{t.forEach(t=>{e.hasAttribute(t)&&e.removeAttribute(t)})}),e.innerHTML}return r},[r,i]);return r?o(`div`,{ref:u,className:t(e),dangerouslySetInnerHTML:{__html:d},...c}):null}function l({breakpoint:e,as:t=`div`,fallback:n=a.Fragment,className:i,classNameFallback:s,...c}){let l=r(e.split(`-`).pop())===e.startsWith(`max`);return o(l?n:t,{className:l?s:i,...c})}const u=({side:t,offset:n=2,unit:r=`px`})=>{let[i,s]=a.useState(e?0:window.innerWidth),c=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],l={"bottom-left":e=>({bottom:`${e}rem`,left:`${e}rem`}),"bottom-right":e=>({bottom:`${e}rem`,right:`${e}rem`}),"top-right":e=>({top:`${e}rem`,right:`${e}rem`}),"top-left":e=>({top:`${e}rem`,left:`${e}rem`})},u=t||`bottom-left`,[d,f]=a.useState(u);a.useEffect(()=>{let e=()=>{s(window.innerWidth)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]);let p=()=>{f(c[(c.indexOf(d)+1)%c.length])},m=``;return m=i<640?`xs`:i>=640&&i<768?`sm`:i>=768&&i<1024?`md`:i>=1024&&i<1280?`lg`:i>=1280&&i<1536?`xl`:i>=1536&&i<1792?`2xl`:r===`rem`?`${(i/16).toFixed(1)}rem`:`${i}${r}`,o(`button`,{type:`button`,style:{position:`fixed`,zIndex:50,display:`grid`,minHeight:`2.5rem`,minWidth:`2.5rem`,borderRadius:`30px`,placeContent:`center`,backgroundColor:`#2d3748`,fontFamily:`Courier New, Courier, monospace`,fontSize:`1rem`,color:`#ffffff`,border:`2px solid #4a5568`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)`,padding:`0.5rem`,transition:`all 0.2s ease-in-out`,...l[d](n)},onClick:p,children:m})};function d(){return n(()=>{let e=document.body;if(!e)return;let t=e=>{let t=getComputedStyle(e);if(t.overflow===`hidden`&&t.overflowY===`hidden`&&t.overflowX===`hidden`)return!1;let n=(t.overflowY===`auto`||t.overflowY===`scroll`)&&e.scrollHeight>e.clientHeight,r=(t.overflowX===`auto`||t.overflowX===`scroll`)&&e.scrollWidth>e.clientWidth;return n||r},n=e=>{t(e)?e.dataset.scrollable=`true`:delete e.dataset.scrollable},r=e=>{n(e);for(let t=0;t<e.children.length;t++){let n=e.children[t];r(n)}};requestIdleCallback(()=>r(e));let i=new MutationObserver(e=>{for(let t of e)t.type===`childList`?t.addedNodes.forEach(e=>{e instanceof HTMLElement&&r(e)}):t.type===`attributes`&&t.target instanceof HTMLElement&&n(t.target)});return i.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`class`]}),()=>i.disconnect()},[]),null}export{c as HtmlInjector,s as Iconify,l as MediaWrapper,u as ResponsiveIndicator,u as TailwindIndicator,i as ScrollTracker,d as ScrollableMarker};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";const n=(e,t,n,r=`/`)=>{let i=``;if(n){let e=new Date;e.setTime(e.getTime()+n*24*60*60*1e3),i=`; expires=${e.toUTCString()}`}document.cookie=`${e}=${t||``}${i}; path=${r}`},r=(e,t=`/`)=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`},i=e=>document.cookie.split(`; `).some(t=>t.startsWith(`${e}=`)),a=e=>({value:document.cookie.split(`; `).find(t=>t.startsWith(`${e}=`))?.split(`=`)[1]}),o=e=>!e,s=e=>e==null,c=e=>{if(e==null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:return!0;default:return!1}};function l(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function u(e,...t){let n,r={},i=t[t.length-1];i&&typeof i==`object`&&!Array.isArray(i)&&(i.arrayMerge!==void 0||i.clone!==void 0||i.customMerge!==void 0||i.maxDepth!==void 0)?(r={...r,...i},n=t.slice(0,-1)):n=t;let{arrayMerge:a=`replace`,clone:o=!0,customMerge:s,maxDepth:c=100}=r,u=new WeakMap;return d(e,n,0);function d(e,t,n){if(n>=c)return console.warn(`[deepmerge] Maximum depth ${c} exceeded. Returning target as-is.`),e;if(!l(e)&&!Array.isArray(e)){for(let n of t)if(n!==void 0){if(s){let t=s(``,e,n);if(t!==void 0)return t}return n}return e}let r=o?Array.isArray(e)?[...e]:{...e}:e;for(let e of t)if(e!=null&&!u.has(e))if(u.set(e,r),Array.isArray(r)&&Array.isArray(e))r=f(r,e,a);else if(l(r)&&l(e)){let t=new Set([...Object.keys(r),...Object.keys(e),...Object.getOwnPropertySymbols(r),...Object.getOwnPropertySymbols(e)]);for(let i of t){let t=r[i],o=e[i];s&&s(i,t,o)!==void 0?r[i]=s(i,t,o):l(t)&&l(o)?r[i]=d(t,[o],n+1):Array.isArray(t)&&Array.isArray(o)?r[i]=f(t,o,a):o!==void 0&&(r[i]=o)}}else r=e;return r}function f(e,t,n){if(typeof n==`function`)return n(e,t);switch(n){case`concat`:return[...e,...t];case`merge`:let n=Math.max(e.length,t.length),r=[];for(let i=0;i<n;i++)i<e.length&&i<t.length?l(e[i])&&l(t[i])?r[i]=d(e[i],[t[i]],0):r[i]=t[i]:i<e.length?r[i]=e[i]:r[i]=t[i];return r;case`replace`:default:return[...t]}}}function d(e){return f(e)}function f(e){if(e!==null){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(f);if(l(e)){let t={};for(let n in e)t[n]=f(e[n]);return t}return e}}function p(e,t,n){if(typeof t!=`string`&&!Array.isArray(t))return n;let r=(()=>Array.isArray(t)?t:t===``?[]:String(t).split(`.`).filter(e=>e!==``))();if(!Array.isArray(r))return n;let i=e;for(let e of r){if(i==null)return n;let t=typeof e==`string`&&Array.isArray(i)&&/^\d+$/.test(e)?Number.parseInt(e,10):e;i=i[t]}return i===void 0?n:i}function m(e,t){return Object.assign(e,t)}function h(...n){return t(e(n))}function g(e,t){return console.warn(`isNavActive is deprecated. Use isLinkActive instead.`),RegExp(`^/?${e}(/|$)`).test(t)}function _({path:e,currentPath:t,locales:n=[`en`,`es`,`de`,`zh`,`bn`,`fr`,`it`,`nl`],exact:r=!0}){let i=RegExp(`^/?(${n.join(`|`)})/`),a=e=>e.replace(i,``).replace(/^\/+|\/+$/g,``),o=a(e),s=a(t);return r?o===s:s.startsWith(o)}function v(e){let t=e;return e.includes(`/public/`)&&(t=e.replace(`/public/`,`/`)),t.trim()}const y=(e,t)=>{let n;if(typeof e==`string`)n=document.querySelector(e);else if(e.current)n=e.current;else return;n&&n.scrollTo({top:t===`top`?0:n.scrollHeight-n.clientHeight,behavior:`smooth`})},b=(e,t=()=>{})=>{typeof window>`u`||!navigator.clipboard?.writeText||e&&navigator.clipboard.writeText(e).then(t)};function x(e){return(e.split(`.`).pop()||e).replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[-_|�\s]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const S=`àáãäâèéëêìíïîòóöôùúüûñç·/_,:;`,C=e=>{if(typeof e!=`string`)throw TypeError(`Input must be a string`);let t=e.trim().toLowerCase(),n={};for(let e=0;e<29;e++)n[S.charAt(e)]=`aaaaaeeeeiiiioooouuuunc------`.charAt(e);return t=t.replace(RegExp(`[${S}]`,`g`),e=>n[e]||e),t.replace(/[^a-z0-9 -]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)||``},w=typeof window>`u`,T=e=>w?Buffer.from(e).toString(`base64`):window.btoa(e),E=(e=1e3,t)=>new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(()=>{a(),n()},e);function i(){clearTimeout(r),a(),n()}function a(){t?.removeEventListener(`abort`,i)}t&&t.addEventListener(`abort`,i,{once:!0})});function D(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.immediate??!1,i,a,o,s;function c(){return s=e.apply(o,a),a=void 0,o=void 0,s}let l=function(...e){return a=e,o=this,i===void 0&&r&&(s=c.call(this)),i!==void 0&&clearTimeout(i),i=setTimeout(c.bind(this),t),s};return Object.defineProperty(l,`isPending`,{get(){return i!==void 0}}),l}function O(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.leading??!0,i=n?.trailing??!0,a,o,s,c,l;function u(){c=Date.now(),l=e.apply(s,o),o=void 0,s=void 0}function d(){a=void 0,i&&o&&u()}let f=function(...e){let n=c?Date.now()-c:1/0;return o=e,s=this,n>=t?r?u():a=setTimeout(d,t):!a&&i&&(a=setTimeout(d,t-n)),l};return Object.defineProperty(f,`isPending`,{get(){return a!==void 0}}),f}function k(e,...t){let n=t.length===1&&Array.isArray(t[0])?t[0]:t,r=0;return e.replace(/%s/g,()=>{let e=n[r++];return e===void 0?``:String(e)})}const A=(...e)=>t=>{for(let n of e)n&&(typeof n==`function`?n(t):n.current=t)};function j(e,t){let n=document.getElementById(e);n&&(n.scrollIntoView({behavior:`smooth`,block:`start`,...t}),window.history.pushState(null,``,`#${e}`))}function M(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function N(e,t={}){if(!e)return``;let{lowercase:n=!0,removeAccents:r=!0,removeNonAlphanumeric:i=!0}=t,a=e.normalize(`NFC`);return r&&(a=a.normalize(`NFD`).replace(/\p{M}/gu,``)),i&&(a=a.replace(/^[^\p{L}\p{N}]*|[^\p{L}\p{N}]*$/gu,``)),n&&(a=a.toLocaleLowerCase()),a}async function P(e,{interval:t=5e3,timeout:n=300*1e3,jitter:r=!0,signal:i}={}){let a=Date.now(),o=i?.aborted??!1,s=()=>{o=!0};i?.addEventListener(`abort`,s,{once:!0});try{for(let s=0;;s++){if(o)throw Error(`Polling aborted`);let s=await e();if(s)return s;if(Date.now()-a>=n)throw Error(`Polling timed out`,{cause:`Polling timed out after ${n}ms`});await E(r?t+(Math.random()-.5)*t*.2:t,i)}}catch(e){throw e}finally{i?.removeEventListener(`abort`,s)}}function F(e,t={}){let{retry:n=0,delay:r=0}=t,i=Date.now(),a=async t=>{try{await e();let t=Date.now()-i;console.log(`⚡[schedule.ts] Completed in ${t}ms`)}catch(e){if(console.log(`⚡[schedule.ts] err:`,e),t>0)console.log(`⚡[schedule.ts] Retrying in ${r}ms...`),setTimeout(()=>a(t-1),r);else{let e=Date.now()-i;console.log(`⚡[schedule.ts] Failed after ${e}ms`)}}};setTimeout(()=>a(n),0)}function I(e){if(e instanceof Promise)return e.then(e=>[null,e]).catch(e=>[e,null]);try{return[null,e()]}catch(t){return console.log(`\x1b[31m🛡 [shield]\x1b[0m ${e.name} failed →`,t),[t,null]}}function L(e){let t=`
|
|
2
|
+
self.onmessage = async (e) => {
|
|
3
|
+
try {
|
|
4
|
+
const fn = ${e.toString()};
|
|
5
|
+
const result = await fn(...e.data);
|
|
6
|
+
self.postMessage({ type: 'result', result });
|
|
7
|
+
} catch (error) {
|
|
8
|
+
self.postMessage({ type: 'error', error: error.message });
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
`,n=new Blob([t],{type:`application/javascript`}),r=new Worker(URL.createObjectURL(n));return(...e)=>new Promise((t,n)=>{r.onmessage=e=>{e.data.type===`result`?t(e.data.result):e.data.type===`error`&&n(Error(e.data.error))},r.onerror=e=>{n(Error(`Worker error: ${e.message}`))},r.postMessage(e)})}export{c as A,m as C,o as D,u as E,a as M,i as N,s as O,n as P,O as S,d as T,N as _,v as a,E as b,C as c,M as d,j as f,A as g,w as h,P as i,r as j,l as k,b as l,g as m,I as n,h as o,_ as p,F as r,x as s,L as t,D as u,k as v,p as w,T as x,y};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const e=require(`./hooks-BTg5k7FE.cjs`);let t=require(`clsx`),n=require(`tailwind-merge`);const r=(e,t,n,r=`/`)=>{let i=``;if(n){let e=new Date;e.setTime(e.getTime()+n*24*60*60*1e3),i=`; expires=${e.toUTCString()}`}document.cookie=`${e}=${t||``}${i}; path=${r}`},i=(e,t=`/`)=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`},a=e=>document.cookie.split(`; `).some(t=>t.startsWith(`${e}=`)),o=e=>({value:document.cookie.split(`; `).find(t=>t.startsWith(`${e}=`))?.split(`=`)[1]}),s=e=>!e,c=e=>e==null,l=e=>{if(e==null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:return!0;default:return!1}};function u(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function d(e,...t){let n,r={},i=t[t.length-1];i&&typeof i==`object`&&!Array.isArray(i)&&(i.arrayMerge!==void 0||i.clone!==void 0||i.customMerge!==void 0||i.maxDepth!==void 0)?(r={...r,...i},n=t.slice(0,-1)):n=t;let{arrayMerge:a=`replace`,clone:o=!0,customMerge:s,maxDepth:c=100}=r,l=new WeakMap;return d(e,n,0);function d(e,t,n){if(n>=c)return console.warn(`[deepmerge] Maximum depth ${c} exceeded. Returning target as-is.`),e;if(!u(e)&&!Array.isArray(e)){for(let n of t)if(n!==void 0){if(s){let t=s(``,e,n);if(t!==void 0)return t}return n}return e}let r=o?Array.isArray(e)?[...e]:{...e}:e;for(let e of t)if(e!=null&&!l.has(e))if(l.set(e,r),Array.isArray(r)&&Array.isArray(e))r=f(r,e,a);else if(u(r)&&u(e)){let t=new Set([...Object.keys(r),...Object.keys(e),...Object.getOwnPropertySymbols(r),...Object.getOwnPropertySymbols(e)]);for(let i of t){let t=r[i],o=e[i];s&&s(i,t,o)!==void 0?r[i]=s(i,t,o):u(t)&&u(o)?r[i]=d(t,[o],n+1):Array.isArray(t)&&Array.isArray(o)?r[i]=f(t,o,a):o!==void 0&&(r[i]=o)}}else r=e;return r}function f(e,t,n){if(typeof n==`function`)return n(e,t);switch(n){case`concat`:return[...e,...t];case`merge`:let n=Math.max(e.length,t.length),r=[];for(let i=0;i<n;i++)i<e.length&&i<t.length?u(e[i])&&u(t[i])?r[i]=d(e[i],[t[i]],0):r[i]=t[i]:i<e.length?r[i]=e[i]:r[i]=t[i];return r;case`replace`:default:return[...t]}}}function f(e){return p(e)}function p(e){if(e!==null){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(p);if(u(e)){let t={};for(let n in e)t[n]=p(e[n]);return t}return e}}function m(e,t,n){if(typeof t!=`string`&&!Array.isArray(t))return n;let r=(()=>Array.isArray(t)?t:t===``?[]:String(t).split(`.`).filter(e=>e!==``))();if(!Array.isArray(r))return n;let i=e;for(let e of r){if(i==null)return n;let t=typeof e==`string`&&Array.isArray(i)&&/^\d+$/.test(e)?Number.parseInt(e,10):e;i=i[t]}return i===void 0?n:i}function h(e,t){return Object.assign(e,t)}function g(...e){return(0,n.twMerge)((0,t.clsx)(e))}function _(e,t){return console.warn(`isNavActive is deprecated. Use isLinkActive instead.`),RegExp(`^/?${e}(/|$)`).test(t)}function v({path:e,currentPath:t,locales:n=[`en`,`es`,`de`,`zh`,`bn`,`fr`,`it`,`nl`],exact:r=!0}){let i=RegExp(`^/?(${n.join(`|`)})/`),a=e=>e.replace(i,``).replace(/^\/+|\/+$/g,``),o=a(e),s=a(t);return r?o===s:s.startsWith(o)}function y(e){let t=e;return e.includes(`/public/`)&&(t=e.replace(`/public/`,`/`)),t.trim()}const b=(e,t)=>{let n;if(typeof e==`string`)n=document.querySelector(e);else if(e.current)n=e.current;else return;n&&n.scrollTo({top:t===`top`?0:n.scrollHeight-n.clientHeight,behavior:`smooth`})},x=(e,t=()=>{})=>{typeof window>`u`||!navigator.clipboard?.writeText||e&&navigator.clipboard.writeText(e).then(t)};function S(e){return(e.split(`.`).pop()||e).replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[-_|�\s]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const C=`àáãäâèéëêìíïîòóöôùúüûñç·/_,:;`,w=`aaaaaeeeeiiiioooouuuunc------`,T=e=>{if(typeof e!=`string`)throw TypeError(`Input must be a string`);let t=e.trim().toLowerCase(),n={};for(let e=0;e<29;e++)n[C.charAt(e)]=`aaaaaeeeeiiiioooouuuunc------`.charAt(e);return t=t.replace(RegExp(`[${C}]`,`g`),e=>n[e]||e),t.replace(/[^a-z0-9 -]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)||``},E=typeof window>`u`,D=e=>E?Buffer.from(e).toString(`base64`):window.btoa(e),O=(e=1e3,t)=>new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(()=>{a(),n()},e);function i(){clearTimeout(r),a(),n()}function a(){t?.removeEventListener(`abort`,i)}t&&t.addEventListener(`abort`,i,{once:!0})});function k(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.immediate??!1,i,a,o,s;function c(){return s=e.apply(o,a),a=void 0,o=void 0,s}let l=function(...e){return a=e,o=this,i===void 0&&r&&(s=c.call(this)),i!==void 0&&clearTimeout(i),i=setTimeout(c.bind(this),t),s};return Object.defineProperty(l,`isPending`,{get(){return i!==void 0}}),l}function A(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.leading??!0,i=n?.trailing??!0,a,o,s,c,l;function u(){c=Date.now(),l=e.apply(s,o),o=void 0,s=void 0}function d(){a=void 0,i&&o&&u()}let f=function(...e){let n=c?Date.now()-c:1/0;return o=e,s=this,n>=t?r?u():a=setTimeout(d,t):!a&&i&&(a=setTimeout(d,t-n)),l};return Object.defineProperty(f,`isPending`,{get(){return a!==void 0}}),f}function j(e,...t){let n=t.length===1&&Array.isArray(t[0])?t[0]:t,r=0;return e.replace(/%s/g,()=>{let e=n[r++];return e===void 0?``:String(e)})}const M=(...e)=>t=>{for(let n of e)n&&(typeof n==`function`?n(t):n.current=t)};function N(e,t){let n=document.getElementById(e);n&&(n.scrollIntoView({behavior:`smooth`,block:`start`,...t}),window.history.pushState(null,``,`#${e}`))}function P(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function F(e,t={}){if(!e)return``;let{lowercase:n=!0,removeAccents:r=!0,removeNonAlphanumeric:i=!0}=t,a=e.normalize(`NFC`);return r&&(a=a.normalize(`NFD`).replace(/\p{M}/gu,``)),i&&(a=a.replace(/^[^\p{L}\p{N}]*|[^\p{L}\p{N}]*$/gu,``)),n&&(a=a.toLocaleLowerCase()),a}async function I(e,{interval:t=5e3,timeout:n=300*1e3,jitter:r=!0,signal:i}={}){let a=Date.now(),o=i?.aborted??!1,s=()=>{o=!0};i?.addEventListener(`abort`,s,{once:!0});try{for(let s=0;;s++){if(o)throw Error(`Polling aborted`);let s=await e();if(s)return s;if(Date.now()-a>=n)throw Error(`Polling timed out`,{cause:`Polling timed out after ${n}ms`});await O(r?t+(Math.random()-.5)*t*.2:t,i)}}catch(e){throw e}finally{i?.removeEventListener(`abort`,s)}}function L(e,t={}){let{retry:n=0,delay:r=0}=t,i=Date.now(),a=async t=>{try{await e();let t=Date.now()-i;console.log(`⚡[schedule.ts] Completed in ${t}ms`)}catch(e){if(console.log(`⚡[schedule.ts] err:`,e),t>0)console.log(`⚡[schedule.ts] Retrying in ${r}ms...`),setTimeout(()=>a(t-1),r);else{let e=Date.now()-i;console.log(`⚡[schedule.ts] Failed after ${e}ms`)}}};setTimeout(()=>a(n),0)}function R(e){if(e instanceof Promise)return e.then(e=>[null,e]).catch(e=>[e,null]);try{return[null,e()]}catch(t){return console.log(`\x1b[31m🛡 [shield]\x1b[0m ${e.name} failed →`,t),[t,null]}}function z(e){let t=`
|
|
2
|
+
self.onmessage = async (e) => {
|
|
3
|
+
try {
|
|
4
|
+
const fn = ${e.toString()};
|
|
5
|
+
const result = await fn(...e.data);
|
|
6
|
+
self.postMessage({ type: 'result', result });
|
|
7
|
+
} catch (error) {
|
|
8
|
+
self.postMessage({ type: 'error', error: error.message });
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
`,n=new Blob([t],{type:`application/javascript`}),r=new Worker(URL.createObjectURL(n));return(...e)=>new Promise((t,n)=>{r.onmessage=e=>{e.data.type===`result`?t(e.data.result):e.data.type===`error`&&n(Error(e.data.error))},r.onerror=e=>{n(Error(`Worker error: ${e.message}`))},r.postMessage(e)})}Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return b}});
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require(`../hooks-
|
|
1
|
+
"use client";const e=require(`../hooks-BTg5k7FE.cjs`);require(`../functions-CO4oPMho.cjs`),exports.useAction=e.E,exports.useAsync=e.T,exports.useClickOutside=e.t,exports.useCopyToClipboard=e.n,exports.useDebounce=e.r,exports.useDomCalculation=e.i,exports.useEffectOnce=e.a,exports.useHeightCalculation=e.o,exports.useIntersection=e.s,exports.useIsAtTop=e.c,exports.useIsClient=e.l,exports.useIsScrolling=e.u,exports.useIsomorphicEffect=e.d,exports.useLocalStorage=e.f,exports.useLockScroll=e.p,exports.useMediaQuery=e.m,exports.useQuerySelector=e.h,exports.useSchedule=e.D,exports.useScheduledEffect=e.O,exports.useScrollTracker=e.C,exports.useSessionStorage=e.g,exports.useTimeout=e._,exports.useUpdateEffect=e.v,exports.useUrlParams=e.y,exports.useWindowEvent=e.b,exports.useWorker=e.x,exports.useWorkerEffect=e.S;
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -171,6 +171,71 @@ declare const useScrollTracker: ({
|
|
|
171
171
|
container
|
|
172
172
|
}?: UseScrollTrackerOptions) => ScrollTrackerState;
|
|
173
173
|
//#endregion
|
|
174
|
+
//#region src/hooks/worker.d.ts
|
|
175
|
+
/**
|
|
176
|
+
* useWorker — Web Worker hook that returns a function to execute in worker.
|
|
177
|
+
*
|
|
178
|
+
* Provides a React hook that returns an execute function to run computations
|
|
179
|
+
* in a Web Worker with loading states and error handling. The worker function
|
|
180
|
+
* does not execute automatically - you must call the returned execute function.
|
|
181
|
+
*
|
|
182
|
+
* @param workerFn - Function to run in the worker (gets workerized automatically)
|
|
183
|
+
* @returns Object with execute function, data, error, and isLoading properties
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```tsx
|
|
187
|
+
* import React from 'react';
|
|
188
|
+
* import { useWorker } from './hooks/useWorker';
|
|
189
|
+
*
|
|
190
|
+
* function CalculatorComponent({ numbers }: { numbers: number[] }) {
|
|
191
|
+
* const { execute, data, isLoading, error } = useWorker(
|
|
192
|
+
* (nums: number[]) => nums.reduce((a, b) => a + b, 0)
|
|
193
|
+
* );
|
|
194
|
+
*
|
|
195
|
+
* if (isLoading) return <div>Calculating...</div>;
|
|
196
|
+
* if (error) return <div>Error: {error.message}</div>;
|
|
197
|
+
*
|
|
198
|
+
* return (
|
|
199
|
+
* <div>
|
|
200
|
+
* <div>Sum: {data}</div>
|
|
201
|
+
* <button onClick={() => execute(numbers)}>Calculate</button>
|
|
202
|
+
* </div>
|
|
203
|
+
* );
|
|
204
|
+
* }
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
declare function useWorker<T extends (...args: any[]) => any>(workerFn: T): {
|
|
208
|
+
execute: (...args: Parameters<T>) => void;
|
|
209
|
+
data: ReturnType<T> | undefined;
|
|
210
|
+
error: Error | null;
|
|
211
|
+
isLoading: boolean;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* useWorkerEffect — Run a side effect in a Web Worker.
|
|
215
|
+
*
|
|
216
|
+
* This hook acts like useEffect but runs the callback in a Web Worker instead of the main thread.
|
|
217
|
+
* The callback is executed asynchronously in a worker whenever the dependencies change.
|
|
218
|
+
*
|
|
219
|
+
* @param effect - Function to run in the worker (should be a side effect, not return data)
|
|
220
|
+
* @param deps - Dependencies array, like useEffect
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* import React from 'react';
|
|
225
|
+
* import { useWorkerEffect } from './hooks/worker';
|
|
226
|
+
*
|
|
227
|
+
* function HeavyComputationComponent({ data }: { data: number[] }) {
|
|
228
|
+
* useWorkerEffect(() => {
|
|
229
|
+
* // This runs in a Web Worker whenever data changes
|
|
230
|
+
* const result = data.reduce((a, b) => a + b, 0);
|
|
231
|
+
* console.log('Computed sum in worker:', result);
|
|
232
|
+
* // Side effects like logging, API calls, etc.
|
|
233
|
+
* }, [data]);
|
|
234
|
+
* }
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
declare function useWorkerEffect(effect: () => void | (() => void), deps?: React.DependencyList): void;
|
|
238
|
+
//#endregion
|
|
174
239
|
//#region src/hooks/index.d.ts
|
|
175
240
|
/**
|
|
176
241
|
* Hook to detect clicks outside of a referenced element.
|
|
@@ -626,4 +691,4 @@ declare const useIntersection: ({
|
|
|
626
691
|
isIntersecting: boolean;
|
|
627
692
|
};
|
|
628
693
|
//#endregion
|
|
629
|
-
export { useAction, useAsync, useClickOutside, useCopyToClipboard, useDebounce, useDomCalculation, useEffectOnce, useHeightCalculation, useIntersection, useIsAtTop, useIsClient, useIsScrolling, useIsomorphicEffect, useLocalStorage, useLockScroll, useMediaQuery, useQuerySelector, useSchedule, useScheduledEffect, useScrollTracker, useSessionStorage, useTimeout, useUpdateEffect, useUrlParams, useWindowEvent };
|
|
694
|
+
export { useAction, useAsync, useClickOutside, useCopyToClipboard, useDebounce, useDomCalculation, useEffectOnce, useHeightCalculation, useIntersection, useIsAtTop, useIsClient, useIsScrolling, useIsomorphicEffect, useLocalStorage, useLockScroll, useMediaQuery, useQuerySelector, useSchedule, useScheduledEffect, useScrollTracker, useSessionStorage, useTimeout, useUpdateEffect, useUrlParams, useWindowEvent, useWorker, useWorkerEffect };
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as Task, T as ScheduleOpts } from "../index-BYNGZWnU.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/hooks/action.d.ts
|
|
@@ -171,6 +171,71 @@ declare const useScrollTracker: ({
|
|
|
171
171
|
container
|
|
172
172
|
}?: UseScrollTrackerOptions) => ScrollTrackerState;
|
|
173
173
|
//#endregion
|
|
174
|
+
//#region src/hooks/worker.d.ts
|
|
175
|
+
/**
|
|
176
|
+
* useWorker — Web Worker hook that returns a function to execute in worker.
|
|
177
|
+
*
|
|
178
|
+
* Provides a React hook that returns an execute function to run computations
|
|
179
|
+
* in a Web Worker with loading states and error handling. The worker function
|
|
180
|
+
* does not execute automatically - you must call the returned execute function.
|
|
181
|
+
*
|
|
182
|
+
* @param workerFn - Function to run in the worker (gets workerized automatically)
|
|
183
|
+
* @returns Object with execute function, data, error, and isLoading properties
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```tsx
|
|
187
|
+
* import React from 'react';
|
|
188
|
+
* import { useWorker } from './hooks/useWorker';
|
|
189
|
+
*
|
|
190
|
+
* function CalculatorComponent({ numbers }: { numbers: number[] }) {
|
|
191
|
+
* const { execute, data, isLoading, error } = useWorker(
|
|
192
|
+
* (nums: number[]) => nums.reduce((a, b) => a + b, 0)
|
|
193
|
+
* );
|
|
194
|
+
*
|
|
195
|
+
* if (isLoading) return <div>Calculating...</div>;
|
|
196
|
+
* if (error) return <div>Error: {error.message}</div>;
|
|
197
|
+
*
|
|
198
|
+
* return (
|
|
199
|
+
* <div>
|
|
200
|
+
* <div>Sum: {data}</div>
|
|
201
|
+
* <button onClick={() => execute(numbers)}>Calculate</button>
|
|
202
|
+
* </div>
|
|
203
|
+
* );
|
|
204
|
+
* }
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
declare function useWorker<T extends (...args: any[]) => any>(workerFn: T): {
|
|
208
|
+
execute: (...args: Parameters<T>) => void;
|
|
209
|
+
data: ReturnType<T> | undefined;
|
|
210
|
+
error: Error | null;
|
|
211
|
+
isLoading: boolean;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* useWorkerEffect — Run a side effect in a Web Worker.
|
|
215
|
+
*
|
|
216
|
+
* This hook acts like useEffect but runs the callback in a Web Worker instead of the main thread.
|
|
217
|
+
* The callback is executed asynchronously in a worker whenever the dependencies change.
|
|
218
|
+
*
|
|
219
|
+
* @param effect - Function to run in the worker (should be a side effect, not return data)
|
|
220
|
+
* @param deps - Dependencies array, like useEffect
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* import React from 'react';
|
|
225
|
+
* import { useWorkerEffect } from './hooks/worker';
|
|
226
|
+
*
|
|
227
|
+
* function HeavyComputationComponent({ data }: { data: number[] }) {
|
|
228
|
+
* useWorkerEffect(() => {
|
|
229
|
+
* // This runs in a Web Worker whenever data changes
|
|
230
|
+
* const result = data.reduce((a, b) => a + b, 0);
|
|
231
|
+
* console.log('Computed sum in worker:', result);
|
|
232
|
+
* // Side effects like logging, API calls, etc.
|
|
233
|
+
* }, [data]);
|
|
234
|
+
* }
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
declare function useWorkerEffect(effect: () => void | (() => void), deps?: React.DependencyList): void;
|
|
238
|
+
//#endregion
|
|
174
239
|
//#region src/hooks/index.d.ts
|
|
175
240
|
/**
|
|
176
241
|
* Hook to detect clicks outside of a referenced element.
|
|
@@ -626,4 +691,4 @@ declare const useIntersection: ({
|
|
|
626
691
|
isIntersecting: boolean;
|
|
627
692
|
};
|
|
628
693
|
//#endregion
|
|
629
|
-
export { useAction, useAsync, useClickOutside, useCopyToClipboard, useDebounce, useDomCalculation, useEffectOnce, useHeightCalculation, useIntersection, useIsAtTop, useIsClient, useIsScrolling, useIsomorphicEffect, useLocalStorage, useLockScroll, useMediaQuery, useQuerySelector, useSchedule, useScheduledEffect, useScrollTracker, useSessionStorage, useTimeout, useUpdateEffect, useUrlParams, useWindowEvent };
|
|
694
|
+
export { useAction, useAsync, useClickOutside, useCopyToClipboard, useDebounce, useDomCalculation, useEffectOnce, useHeightCalculation, useIntersection, useIsAtTop, useIsClient, useIsScrolling, useIsomorphicEffect, useLocalStorage, useLockScroll, useMediaQuery, useQuerySelector, useSchedule, useScheduledEffect, useScrollTracker, useSessionStorage, useTimeout, useUpdateEffect, useUrlParams, useWindowEvent, useWorker, useWorkerEffect };
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import"../functions-
|
|
1
|
+
"use client";import"../functions-BtZjryZg.js";import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as S,u as C,v as w,x as T,y as E}from"../hooks-Djf_0cS3.js";export{n as useAction,a as useAsync,S as useClickOutside,_ as useCopyToClipboard,b as useDebounce,m as useDomCalculation,s as useEffectOnce,v as useHeightCalculation,x as useIntersection,l as useIsAtTop,h as useIsClient,C as useIsScrolling,u as useIsomorphicEffect,d as useLocalStorage,y as useLockScroll,g as useMediaQuery,p as useQuerySelector,t as useSchedule,r as useScheduledEffect,e as useScrollTracker,f as useSessionStorage,o as useTimeout,w as useUpdateEffect,E as useUrlParams,c as useWindowEvent,T as useWorker,i as useWorkerEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./functions-CO4oPMho.cjs`);let l=require(`react`);l=s(l);let u=require(`@radix-ui/react-slot`),d=require(`react/jsx-runtime`);function f(e={}){let{timeout:t=1e4}=e;return l.useCallback(e=>{let n=()=>{try{l.startTransition(()=>{e()})}catch(e){console.log(`⚡[schedule.tsx] Failed: `,e)}};`requestIdleCallback`in window?requestIdleCallback(n,{timeout:t}):c.r(n)},[t])}function p(e,t=[],n={}){let r=f(n);l.useEffect(()=>{let t;return r(()=>{t=e()}),()=>{typeof t==`function`&&t?.()}},[r,...t])}const m=(e,t)=>{let[n,r]=l.useState(`idle`),[i,a]=l.useState(null),[o,s]=l.useState(null),[c,u]=l.useState(void 0),[d,f]=l.useTransition(),m=n===`idle`,h=n===`loading`||d,g=n===`success`,_=n===`error`,v=l.useCallback(e=>{a(e),r(`success`),t?.onSuccess?.(e),t?.onSettled?.()},[t]),y=l.useCallback(e=>{s(e),r(`error`),t?.onError?.(e),t?.onSettled?.()},[t]),b=l.useCallback(t=>{u(t),r(`loading`),s(null),f(()=>{e(t).then(v).catch(y)})},[e,v,y]);return{execute:b,executeAsync:l.useCallback(t=>new Promise((n,i)=>{u(t),r(`loading`),s(null),f(()=>{e(t).then(e=>{v(e),n(e)}).catch(e=>{y(e),i(e)})})}),[e,v,y]),reset:l.useCallback(()=>{r(`idle`),a(null),s(null),u(void 0)},[]),useExecute:e=>{p(()=>{b(e)},[])},data:i,error:o,input:c,isIdle:m,isLoading:h,isSuccess:g,isError:_}};function h(e,t={}){let{mode:n=`manual`,deps:r,onSuccess:i,onError:a,onSettled:o}=t,[s,c]=l.useState(void 0),[u,d]=l.useState(void 0),[f,p]=l.useState(`idle`),m=l.useRef(null),h=l.useCallback(i||(()=>{}),[i]),g=l.useCallback(a||(()=>{}),[a]),_=l.useCallback(o||(()=>{}),[o]),v=l.useCallback(async()=>{m.current&&m.current.abort(),m.current=new AbortController;let t=m.current.signal;p(`pending`),d(void 0);try{let n=await e(t);return t.aborted||(c(n),p(`success`),await h(n),await _(n,void 0)),n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;let n=e instanceof Error?e:Error(String(e)),r=n;throw t.aborted||(d(r),p(`error`),await g(r),await _(void 0,r)),n}},[e,h,g,_]);return l.useEffect(()=>{n===`auto`&&!r&&v()},[e,n,v,r]),l.useEffect(()=>{r&&n===`auto`&&v()},r||[]),l.useEffect(()=>()=>{m.current&&m.current.abort()},[]),{data:s,error:u,status:f,isIdle:f===`idle`,isPending:f===`pending`,isSuccess:f===`success`,isError:f===`error`,execute:v}}const g=l.createContext(null),_=({children:e})=>{let t=l.useRef(null);return(0,d.jsx)(g.Provider,{value:t,children:(0,d.jsx)(u.Slot,{ref:t,children:e})})},v=({threshold:e=300,container:t}={})=>{let n=l.useContext(g),[r,i]=l.useState({scrolledPast:!1,direction:`forward`}),a=l.useRef(0),o=t=>{let n=t>a.current?`forward`:`backward`;i({scrolledPast:t>e,direction:n}),a.current=t};return p(()=>{let e=null;typeof t==`string`?e=document.querySelector(t):t?.current?e=t.current:n?.current&&(e=n.current);let r=e||window,i=e?`scrollTop`:`scrollY`,a=()=>{let e=r[i];o(e)};return r.addEventListener(`scroll`,a),a(),()=>r.removeEventListener(`scroll`,a)},[t,n,e]),r};function y(e){let[t,n]=l.useState(void 0),[r,i]=l.useState(null),[a,o]=l.useState(!1),s=l.useMemo(()=>c.t(e),[]);return{execute:l.useCallback((...e)=>{(async()=>{o(!0),i(null);try{n(await s(...e))}catch(e){i(e instanceof Error?e:Error(String(e)))}finally{o(!1)}})()},[s]),data:t,error:r,isLoading:a}}function b(e,t=[]){let{execute:n}=y(e);l.useEffect(()=>{n()},[n,...t])}const x=(e=()=>alert(`clicked outside`))=>{let t=l.useRef(null),n=n=>{t.current&&!t.current.contains(n.target)&&e()};return l.useEffect(()=>(document.addEventListener(`mousedown`,n),document.addEventListener(`touchstart`,n),()=>{document.removeEventListener(`mousedown`,n),document.removeEventListener(`touchstart`,n)})),t};function S(e){let t=l.useMemo(()=>{switch(e){case`sm`:return`(min-width: 640px)`;case`md`:return`(min-width: 768px)`;case`lg`:return`(min-width: 1024px)`;case`xl`:return`(min-width: 1280px)`;case`2xl`:return`(min-width: 1536px)`;default:return e}},[e]),n=e=>typeof window<`u`?window.matchMedia(e).matches:!1,[r,i]=l.useState(n(t)),a=()=>{i(n(t))};return p(()=>{let e=window.matchMedia(t);return a(),e.addEventListener(`change`,a),()=>{e.removeEventListener(`change`,a)}},[t]),r}function C(e){l.useEffect(e,[])}function w(e,t){let n=l.useRef(!0);l.useEffect(()=>{if(n.current)n.current=!1;else return e()},t)}function T(e,t=500){let[n,r]=l.useState(e);return l.useEffect(()=>{let n=setTimeout(()=>r(e),t);return()=>{clearTimeout(n)}},[e,t]),n}const E=typeof window<`u`?l.useLayoutEffect:l.useEffect;function D(e,t=1e3){let n=l.useRef(e);p(()=>{n.current=e},[e]),l.useEffect(()=>{if(!t&&t!==0)return;let e=setTimeout(()=>n.current(),t);return()=>clearTimeout(e)},[t])}function O(e,t,n){l.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t,n])}const k=(e,t)=>{let[n,r]=l.useState(t);return l.useEffect(()=>{let t=sessionStorage.getItem(e);t&&r(JSON.parse(t))},[e]),[n,l.useCallback(t=>{r(n=>{let r=typeof t==`function`?t(n):t;return sessionStorage.setItem(e,JSON.stringify(r)),r})},[e])]},A=(e,t)=>{let[n,r]=l.useState(t);return l.useEffect(()=>{let t=localStorage.getItem(e);t&&r(JSON.parse(t))},[e]),[n,l.useCallback(t=>{let i;i=typeof t==`function`?t(n):t,localStorage.setItem(e,JSON.stringify(i)),r(i)},[e])]},j=(e,t)=>{let[n,r]=l.useState(t);return l.useEffect(()=>{let t=new URLSearchParams(window.location.search).get(e);t!==null&&r(t)},[e]),[n,t=>{let n=new URLSearchParams(window.location.search);n.set(e,String(t)),window.history.pushState({},``,`${window.location.pathname}?${n}`),r(t)}]},M=e=>{let[t,n]=l.useState(null),r=l.useRef(null);return l.useEffect(()=>{let t=null;if(typeof e==`string`?t=document.querySelector(e):e?.current&&(t=e.current),!t)return;r.current!==t&&(r.current=t,n(t));let i=new ResizeObserver(()=>{r.current!==t&&(r.current=t,n(t))});return i.observe(t),()=>{i.disconnect()}},[e]),t};function N(){let[e,t]=l.useState(!1);return l.useEffect(()=>{t(!0)},[]),e}function P(){l.useLayoutEffect(()=>{let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[])}function F({timeout:e=2e3}){let[t,n]=l.useState(!1);return{isCopied:t,copy:t=>{c.l(t,()=>{n(!0),setTimeout(()=>{n(!1)},e)})}}}const I=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:r=!1})=>{let[i,a]=l.useState(500),o=()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0);a(n?window.innerHeight-r-t:r+t)};return l.useEffect(()=>{if(o(),r){if(typeof r==`string`){let e=document.getElementById(r),t=new ResizeObserver(e=>{for(let t of e)o()});return e&&t.observe(e),()=>t?.disconnect()}return window.addEventListener(`resize`,o),()=>window.removeEventListener(`resize`,o)}},[]),i},L=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:r=!1,onChange:i})=>{let[a,o]=l.useState({height:500,width:500}),s=l.useCallback(()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0),a=e.reduce((e,t)=>e+(document.getElementById(t)?.clientWidth||0),0),s=n?window.innerHeight-r-t:r+t,c=n?window.innerWidth-a-t:a+t;o(e=>e.height===s&&e.width===c?e:{height:s,width:c}),i?.({blocksWidth:a,blocksHeight:r,remainingWidth:c,remainingHeight:s})},[e,t,n,i]);return l.useEffect(()=>{s();let t=[];if(e.length>0){let n=new MutationObserver(t=>{let n=!1;for(let r of t){for(let t of Array.from(r.addedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break;for(let t of Array.from(r.removedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break}n&&s()});n.observe(document.body,{childList:!0,subtree:!0}),t.push(()=>n.disconnect())}if(r)if(typeof r==`string`){let e=document.getElementById(r);if(e){let n=new ResizeObserver(s);n.observe(e),t.push(()=>n.unobserve(e)),t.push(()=>n.disconnect())}}else window.addEventListener(`resize`,s),t.push(()=>window.removeEventListener(`resize`,s));return()=>{for(let e of t)e()}},[s,r,e.join(`,`)]),a},R=()=>{let[e,t]=l.useState(!1),n=l.useRef(null),r=l.useRef(null);return C(()=>{let e=r.current;if(!e)return;let i=()=>{t(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{t(!1)},150)};return i(),e.addEventListener(`scroll`,i),()=>{e.removeEventListener(`scroll`,i),n.current&&clearTimeout(n.current)}}),{isScrolling:e,scrollableContainerRef:r}},z=({offset:e}={})=>{let[t,n]=l.useState(!0),r=l.useRef(null);return C(()=>{let t=r.current;if(!t)return;let i=()=>{n(!(t.scrollTop>(e??10)))};return i(),t.addEventListener(`scroll`,i),()=>{t.removeEventListener(`scroll`,i)}}),{scrollableContainerRef:r,isAtTop:t}},B=({threshold:e=.1,root:t=null,rootMargin:n,onInteractionStart:r,onInteractionEnd:i}={})=>{let[a,o]=l.useState(!1),s=l.useRef(null);return l.useEffect(()=>{if(!s.current)return;let c=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting?a||(r?.(),o(!0)):a&&(i?.(),o(!1))},{threshold:e,root:t,...n&&{rootMargin:n}});return c.observe(s.current),()=>{c.disconnect()}},[e,t,n,r,i,a]),{ref:s,isIntersecting:a}};Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return j}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e,r as t,t as n}from"./functions-BtZjryZg.js";import*as r from"react";import{Slot as i}from"@radix-ui/react-slot";import{jsx as a}from"react/jsx-runtime";function o(e={}){let{timeout:n=1e4}=e;return r.useCallback(e=>{let i=()=>{try{r.startTransition(()=>{e()})}catch(e){console.log(`⚡[schedule.tsx] Failed: `,e)}};`requestIdleCallback`in window?requestIdleCallback(i,{timeout:n}):t(i)},[n])}function s(e,t=[],n={}){let i=o(n);r.useEffect(()=>{let t;return i(()=>{t=e()}),()=>{typeof t==`function`&&t?.()}},[i,...t])}const c=(e,t)=>{let[n,i]=r.useState(`idle`),[a,o]=r.useState(null),[c,l]=r.useState(null),[u,d]=r.useState(void 0),[f,p]=r.useTransition(),m=n===`idle`,h=n===`loading`||f,g=n===`success`,_=n===`error`,v=r.useCallback(e=>{o(e),i(`success`),t?.onSuccess?.(e),t?.onSettled?.()},[t]),y=r.useCallback(e=>{l(e),i(`error`),t?.onError?.(e),t?.onSettled?.()},[t]),b=r.useCallback(t=>{d(t),i(`loading`),l(null),p(()=>{e(t).then(v).catch(y)})},[e,v,y]);return{execute:b,executeAsync:r.useCallback(t=>new Promise((n,r)=>{d(t),i(`loading`),l(null),p(()=>{e(t).then(e=>{v(e),n(e)}).catch(e=>{y(e),r(e)})})}),[e,v,y]),reset:r.useCallback(()=>{i(`idle`),o(null),l(null),d(void 0)},[]),useExecute:e=>{s(()=>{b(e)},[])},data:a,error:c,input:u,isIdle:m,isLoading:h,isSuccess:g,isError:_}};function l(e,t={}){let{mode:n=`manual`,deps:i,onSuccess:a,onError:o,onSettled:s}=t,[c,l]=r.useState(void 0),[u,d]=r.useState(void 0),[f,p]=r.useState(`idle`),m=r.useRef(null),h=r.useCallback(a||(()=>{}),[a]),g=r.useCallback(o||(()=>{}),[o]),_=r.useCallback(s||(()=>{}),[s]),v=r.useCallback(async()=>{m.current&&m.current.abort(),m.current=new AbortController;let t=m.current.signal;p(`pending`),d(void 0);try{let n=await e(t);return t.aborted||(l(n),p(`success`),await h(n),await _(n,void 0)),n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;let n=e instanceof Error?e:Error(String(e)),r=n;throw t.aborted||(d(r),p(`error`),await g(r),await _(void 0,r)),n}},[e,h,g,_]);return r.useEffect(()=>{n===`auto`&&!i&&v()},[e,n,v,i]),r.useEffect(()=>{i&&n===`auto`&&v()},i||[]),r.useEffect(()=>()=>{m.current&&m.current.abort()},[]),{data:c,error:u,status:f,isIdle:f===`idle`,isPending:f===`pending`,isSuccess:f===`success`,isError:f===`error`,execute:v}}const u=r.createContext(null),d=({children:e})=>{let t=r.useRef(null);return a(u.Provider,{value:t,children:a(i,{ref:t,children:e})})},f=({threshold:e=300,container:t}={})=>{let n=r.useContext(u),[i,a]=r.useState({scrolledPast:!1,direction:`forward`}),o=r.useRef(0),c=t=>{let n=t>o.current?`forward`:`backward`;a({scrolledPast:t>e,direction:n}),o.current=t};return s(()=>{let e=null;typeof t==`string`?e=document.querySelector(t):t?.current?e=t.current:n?.current&&(e=n.current);let r=e||window,i=e?`scrollTop`:`scrollY`,a=()=>{let e=r[i];c(e)};return r.addEventListener(`scroll`,a),a(),()=>r.removeEventListener(`scroll`,a)},[t,n,e]),i};function p(e){let[t,i]=r.useState(void 0),[a,o]=r.useState(null),[s,c]=r.useState(!1),l=r.useMemo(()=>n(e),[]);return{execute:r.useCallback((...e)=>{(async()=>{c(!0),o(null);try{i(await l(...e))}catch(e){o(e instanceof Error?e:Error(String(e)))}finally{c(!1)}})()},[l]),data:t,error:a,isLoading:s}}function m(e,t=[]){let{execute:n}=p(e);r.useEffect(()=>{n()},[n,...t])}const h=(e=()=>alert(`clicked outside`))=>{let t=r.useRef(null),n=n=>{t.current&&!t.current.contains(n.target)&&e()};return r.useEffect(()=>(document.addEventListener(`mousedown`,n),document.addEventListener(`touchstart`,n),()=>{document.removeEventListener(`mousedown`,n),document.removeEventListener(`touchstart`,n)})),t};function g(e){let t=r.useMemo(()=>{switch(e){case`sm`:return`(min-width: 640px)`;case`md`:return`(min-width: 768px)`;case`lg`:return`(min-width: 1024px)`;case`xl`:return`(min-width: 1280px)`;case`2xl`:return`(min-width: 1536px)`;default:return e}},[e]),n=e=>typeof window<`u`?window.matchMedia(e).matches:!1,[i,a]=r.useState(n(t)),o=()=>{a(n(t))};return s(()=>{let e=window.matchMedia(t);return o(),e.addEventListener(`change`,o),()=>{e.removeEventListener(`change`,o)}},[t]),i}function _(e){r.useEffect(e,[])}function v(e,t){let n=r.useRef(!0);r.useEffect(()=>{if(n.current)n.current=!1;else return e()},t)}function y(e,t=500){let[n,i]=r.useState(e);return r.useEffect(()=>{let n=setTimeout(()=>i(e),t);return()=>{clearTimeout(n)}},[e,t]),n}const b=typeof window<`u`?r.useLayoutEffect:r.useEffect;function x(e,t=1e3){let n=r.useRef(e);s(()=>{n.current=e},[e]),r.useEffect(()=>{if(!t&&t!==0)return;let e=setTimeout(()=>n.current(),t);return()=>clearTimeout(e)},[t])}function S(e,t,n){r.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t,n])}const C=(e,t)=>{let[n,i]=r.useState(t);return r.useEffect(()=>{let t=sessionStorage.getItem(e);t&&i(JSON.parse(t))},[e]),[n,r.useCallback(t=>{i(n=>{let r=typeof t==`function`?t(n):t;return sessionStorage.setItem(e,JSON.stringify(r)),r})},[e])]},w=(e,t)=>{let[n,i]=r.useState(t);return r.useEffect(()=>{let t=localStorage.getItem(e);t&&i(JSON.parse(t))},[e]),[n,r.useCallback(t=>{let r;r=typeof t==`function`?t(n):t,localStorage.setItem(e,JSON.stringify(r)),i(r)},[e])]},T=(e,t)=>{let[n,i]=r.useState(t);return r.useEffect(()=>{let t=new URLSearchParams(window.location.search).get(e);t!==null&&i(t)},[e]),[n,t=>{let n=new URLSearchParams(window.location.search);n.set(e,String(t)),window.history.pushState({},``,`${window.location.pathname}?${n}`),i(t)}]},E=e=>{let[t,n]=r.useState(null),i=r.useRef(null);return r.useEffect(()=>{let t=null;if(typeof e==`string`?t=document.querySelector(e):e?.current&&(t=e.current),!t)return;i.current!==t&&(i.current=t,n(t));let r=new ResizeObserver(()=>{i.current!==t&&(i.current=t,n(t))});return r.observe(t),()=>{r.disconnect()}},[e]),t};function D(){let[e,t]=r.useState(!1);return r.useEffect(()=>{t(!0)},[]),e}function O(){r.useLayoutEffect(()=>{let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[])}function k({timeout:t=2e3}){let[n,i]=r.useState(!1);return{isCopied:n,copy:n=>{e(n,()=>{i(!0),setTimeout(()=>{i(!1)},t)})}}}const A=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:i=!1})=>{let[a,o]=r.useState(500),s=()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0);o(n?window.innerHeight-r-t:r+t)};return r.useEffect(()=>{if(s(),i){if(typeof i==`string`){let e=document.getElementById(i),t=new ResizeObserver(e=>{for(let t of e)s()});return e&&t.observe(e),()=>t?.disconnect()}return window.addEventListener(`resize`,s),()=>window.removeEventListener(`resize`,s)}},[]),a},j=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:i=!1,onChange:a})=>{let[o,s]=r.useState({height:500,width:500}),c=r.useCallback(()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0),i=e.reduce((e,t)=>e+(document.getElementById(t)?.clientWidth||0),0),o=n?window.innerHeight-r-t:r+t,c=n?window.innerWidth-i-t:i+t;s(e=>e.height===o&&e.width===c?e:{height:o,width:c}),a?.({blocksWidth:i,blocksHeight:r,remainingWidth:c,remainingHeight:o})},[e,t,n,a]);return r.useEffect(()=>{c();let t=[];if(e.length>0){let n=new MutationObserver(t=>{let n=!1;for(let r of t){for(let t of Array.from(r.addedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break;for(let t of Array.from(r.removedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break}n&&c()});n.observe(document.body,{childList:!0,subtree:!0}),t.push(()=>n.disconnect())}if(i)if(typeof i==`string`){let e=document.getElementById(i);if(e){let n=new ResizeObserver(c);n.observe(e),t.push(()=>n.unobserve(e)),t.push(()=>n.disconnect())}}else window.addEventListener(`resize`,c),t.push(()=>window.removeEventListener(`resize`,c));return()=>{for(let e of t)e()}},[c,i,e.join(`,`)]),o},M=()=>{let[e,t]=r.useState(!1),n=r.useRef(null),i=r.useRef(null);return _(()=>{let e=i.current;if(!e)return;let r=()=>{t(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{t(!1)},150)};return r(),e.addEventListener(`scroll`,r),()=>{e.removeEventListener(`scroll`,r),n.current&&clearTimeout(n.current)}}),{isScrolling:e,scrollableContainerRef:i}},N=({offset:e}={})=>{let[t,n]=r.useState(!0),i=r.useRef(null);return _(()=>{let t=i.current;if(!t)return;let r=()=>{n(!(t.scrollTop>(e??10)))};return r(),t.addEventListener(`scroll`,r),()=>{t.removeEventListener(`scroll`,r)}}),{scrollableContainerRef:i,isAtTop:t}},P=({threshold:e=.1,root:t=null,rootMargin:n,onInteractionStart:i,onInteractionEnd:a}={})=>{let[o,s]=r.useState(!1),c=r.useRef(null);return r.useEffect(()=>{if(!c.current)return;let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting?o||(i?.(),s(!0)):o&&(a?.(),s(!1))},{threshold:e,root:t,...n&&{rootMargin:n}});return r.observe(c.current),()=>{r.disconnect()}},[e,t,n,i,a,o]),{ref:c,isIntersecting:o}};export{f as C,o as D,c as E,s as O,m as S,l as T,x as _,_ as a,S as b,N as c,b as d,w as f,C as g,E as h,j as i,D as l,g as m,k as n,A as o,O as p,y as r,P as s,h as t,M as u,v,d as w,p as x,T as y};
|
|
@@ -914,4 +914,72 @@ declare function normalizeText(str?: string | null, options?: {
|
|
|
914
914
|
removeNonAlphanumeric?: boolean;
|
|
915
915
|
}): string;
|
|
916
916
|
//#endregion
|
|
917
|
-
|
|
917
|
+
//#region src/functions/worker.d.ts
|
|
918
|
+
/**
|
|
919
|
+
* Message data that can be sent to/from a worker.
|
|
920
|
+
*/
|
|
921
|
+
type WorkerMessage = any;
|
|
922
|
+
/**
|
|
923
|
+
* Options for configuring the worker.
|
|
924
|
+
*/
|
|
925
|
+
interface WorkerOpts {
|
|
926
|
+
/** The worker script URL or inline code string. */
|
|
927
|
+
script: string | URL;
|
|
928
|
+
/** Options for the worker. */
|
|
929
|
+
options?: WorkerOptions;
|
|
930
|
+
/** Callback for when the worker sends a message. */
|
|
931
|
+
onMessage?: (message: WorkerMessage) => void;
|
|
932
|
+
/** Callback for when the worker encounters an error. */
|
|
933
|
+
onError?: (error: ErrorEvent) => void;
|
|
934
|
+
/** Callback for when the worker terminates. */
|
|
935
|
+
onTerminate?: () => void;
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* A worker instance with messaging capabilities.
|
|
939
|
+
*/
|
|
940
|
+
interface WorkerInstance {
|
|
941
|
+
/** Send a message to the worker. */
|
|
942
|
+
postMessage: (message: WorkerMessage) => void;
|
|
943
|
+
/** Terminate the worker. */
|
|
944
|
+
terminate: () => void;
|
|
945
|
+
/** Check if the worker is terminated. */
|
|
946
|
+
readonly terminated: boolean;
|
|
947
|
+
}
|
|
948
|
+
/**
|
|
949
|
+
* Converts a regular function into a workerized version that runs in a Web Worker.
|
|
950
|
+
*
|
|
951
|
+
* This provides the ultimate DX for Web Workers - just write a normal function
|
|
952
|
+
* and "workerize" it to run in the background without blocking the UI.
|
|
953
|
+
*
|
|
954
|
+
* @param fn - The function to workerize
|
|
955
|
+
* @returns A function that calls the original function in a worker and returns a Promise
|
|
956
|
+
*
|
|
957
|
+
* @example
|
|
958
|
+
* ```ts
|
|
959
|
+
* // Define a normal function
|
|
960
|
+
* function fibonacci(n: number): number {
|
|
961
|
+
* if (n <= 1) return n;
|
|
962
|
+
* return fibonacci(n - 1) + fibonacci(n - 2);
|
|
963
|
+
* }
|
|
964
|
+
*
|
|
965
|
+
* // Workerize it
|
|
966
|
+
* const workerizedFib = workerize(fibonacci);
|
|
967
|
+
*
|
|
968
|
+
* // Use like a normal async function!
|
|
969
|
+
* const result = await workerizedFib(35);
|
|
970
|
+
* console.log(result); // Works just like the original function
|
|
971
|
+
* ```
|
|
972
|
+
*
|
|
973
|
+
* @example
|
|
974
|
+
* ```ts
|
|
975
|
+
* // Works with any function signature
|
|
976
|
+
* const sumArray = workerize((arr: number[]) =>
|
|
977
|
+
* arr.reduce((a, b) => a + b, 0)
|
|
978
|
+
* );
|
|
979
|
+
*
|
|
980
|
+
* const result = await sumArray([1, 2, 3, 4, 5]); // 15
|
|
981
|
+
* ```
|
|
982
|
+
*/
|
|
983
|
+
declare function workerize<T extends (...args: any[]) => any>(fn: T): (...args: Parameters<T>) => Promise<ReturnType<T>>;
|
|
984
|
+
//#endregion
|
|
985
|
+
export { getObjectValue as A, throttle as C, schedule as D, Task as E, hasClientSideCookie as F, setClientSideCookie as I, deepmerge as M, deleteClientSideCookie as N, poll as O, getClientSideCookie as P, svgToBase64 as S, ScheduleOpts as T, mergeRefs as _, MergeRefs as a, scrollTo as b, convertToNormalCase as c, debounce as d, escapeRegExp as f, isSSR as g, isNavActive as h, workerize as i, hydrate as j, extendProps as k, convertToSlug as l, isLinkActive as m, WorkerMessage as n, cleanSrc as o, goToClientSideHash as p, WorkerOpts as r, cn as s, WorkerInstance as t, copyToClipboard as u, normalizeText as v, shield as w, sleep as x, printf as y };
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./functions-
|
|
1
|
+
const e=require(`./functions-CO4oPMho.cjs`);exports.cleanSrc=e.a,exports.cn=e.o,exports.convertToNormalCase=e.s,exports.convertToSlug=e.c,exports.copyToClipboard=e.l,exports.debounce=e.u,exports.deepmerge=e.E,exports.deleteClientSideCookie=e.j,exports.escapeRegExp=e.d,exports.extendProps=e.C,exports.getClientSideCookie=e.M,exports.getObjectValue=e.w,exports.goToClientSideHash=e.f,exports.hasClientSideCookie=e.N,exports.hydrate=e.T,exports.isFalsy=e.D,exports.isLinkActive=e.p,exports.isNavActive=e.m,exports.isNullish=e.O,exports.isPlainObject=e.k,exports.isPrimitive=e.A,exports.isSSR=e.h,exports.mergeRefs=e.g,exports.normalizeText=e._,exports.poll=e.i,exports.printf=e.v,exports.schedule=e.r,exports.scrollTo=e.y,exports.setClientSideCookie=e.P,exports.shield=e.n,exports.sleep=e.b,exports.svgToBase64=e.x,exports.throttle=e.S,exports.workerize=e.t;
|
package/dist/index.d.cts
CHANGED
|
@@ -873,6 +873,74 @@ declare function normalizeText(str?: string | null, options?: {
|
|
|
873
873
|
removeNonAlphanumeric?: boolean;
|
|
874
874
|
}): string;
|
|
875
875
|
//#endregion
|
|
876
|
+
//#region src/functions/worker.d.ts
|
|
877
|
+
/**
|
|
878
|
+
* Message data that can be sent to/from a worker.
|
|
879
|
+
*/
|
|
880
|
+
type WorkerMessage = any;
|
|
881
|
+
/**
|
|
882
|
+
* Options for configuring the worker.
|
|
883
|
+
*/
|
|
884
|
+
interface WorkerOpts {
|
|
885
|
+
/** The worker script URL or inline code string. */
|
|
886
|
+
script: string | URL;
|
|
887
|
+
/** Options for the worker. */
|
|
888
|
+
options?: WorkerOptions;
|
|
889
|
+
/** Callback for when the worker sends a message. */
|
|
890
|
+
onMessage?: (message: WorkerMessage) => void;
|
|
891
|
+
/** Callback for when the worker encounters an error. */
|
|
892
|
+
onError?: (error: ErrorEvent) => void;
|
|
893
|
+
/** Callback for when the worker terminates. */
|
|
894
|
+
onTerminate?: () => void;
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* A worker instance with messaging capabilities.
|
|
898
|
+
*/
|
|
899
|
+
interface WorkerInstance {
|
|
900
|
+
/** Send a message to the worker. */
|
|
901
|
+
postMessage: (message: WorkerMessage) => void;
|
|
902
|
+
/** Terminate the worker. */
|
|
903
|
+
terminate: () => void;
|
|
904
|
+
/** Check if the worker is terminated. */
|
|
905
|
+
readonly terminated: boolean;
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Converts a regular function into a workerized version that runs in a Web Worker.
|
|
909
|
+
*
|
|
910
|
+
* This provides the ultimate DX for Web Workers - just write a normal function
|
|
911
|
+
* and "workerize" it to run in the background without blocking the UI.
|
|
912
|
+
*
|
|
913
|
+
* @param fn - The function to workerize
|
|
914
|
+
* @returns A function that calls the original function in a worker and returns a Promise
|
|
915
|
+
*
|
|
916
|
+
* @example
|
|
917
|
+
* ```ts
|
|
918
|
+
* // Define a normal function
|
|
919
|
+
* function fibonacci(n: number): number {
|
|
920
|
+
* if (n <= 1) return n;
|
|
921
|
+
* return fibonacci(n - 1) + fibonacci(n - 2);
|
|
922
|
+
* }
|
|
923
|
+
*
|
|
924
|
+
* // Workerize it
|
|
925
|
+
* const workerizedFib = workerize(fibonacci);
|
|
926
|
+
*
|
|
927
|
+
* // Use like a normal async function!
|
|
928
|
+
* const result = await workerizedFib(35);
|
|
929
|
+
* console.log(result); // Works just like the original function
|
|
930
|
+
* ```
|
|
931
|
+
*
|
|
932
|
+
* @example
|
|
933
|
+
* ```ts
|
|
934
|
+
* // Works with any function signature
|
|
935
|
+
* const sumArray = workerize((arr: number[]) =>
|
|
936
|
+
* arr.reduce((a, b) => a + b, 0)
|
|
937
|
+
* );
|
|
938
|
+
*
|
|
939
|
+
* const result = await sumArray([1, 2, 3, 4, 5]); // 15
|
|
940
|
+
* ```
|
|
941
|
+
*/
|
|
942
|
+
declare function workerize<T extends (...args: any[]) => any>(fn: T): (...args: Parameters<T>) => Promise<ReturnType<T>>;
|
|
943
|
+
//#endregion
|
|
876
944
|
//#region src/types/utilities.d.ts
|
|
877
945
|
/**
|
|
878
946
|
* Extracts the keys of an object type as a union type.
|
|
@@ -1482,4 +1550,4 @@ declare const isPrimitive: (val: unknown) => val is Primitive;
|
|
|
1482
1550
|
*/
|
|
1483
1551
|
declare function isPlainObject(value: unknown): value is Record<string, any>;
|
|
1484
1552
|
//#endregion
|
|
1485
|
-
export { AND, AllOrNone, BUFFER, DeepPartial, DeepReadonly, DeepRequired, Diff, Falsy, IMPLIES, Intersection, Keys, KeysOfType, Maybe, Merge, MergeRefs, Mutable, NAND, NOR, NOT, NestedKeyOf, Never, Nullable, Nullish, OR, OmitByType, OneOf, Optional, Prettify, Primitive, RequiredKeys, ScheduleOpts, SelectivePartial, SelectiveRequired, Substract, Task, TwoOf, Values, Without, XNOR, XNOR_Binary, XOR, XOR_Binary, cleanSrc, cn, convertToNormalCase, convertToSlug, copyToClipboard, debounce, deepmerge, deleteClientSideCookie, escapeRegExp, extendProps, getClientSideCookie, getObjectValue, goToClientSideHash, hasClientSideCookie, hydrate, isFalsy, isLinkActive, isNavActive, isNullish, isPlainObject, isPrimitive, isSSR, mergeRefs, normalizeText, poll, printf, schedule, scrollTo, setClientSideCookie, shield, sleep, svgToBase64, throttle };
|
|
1553
|
+
export { AND, AllOrNone, BUFFER, DeepPartial, DeepReadonly, DeepRequired, Diff, Falsy, IMPLIES, Intersection, Keys, KeysOfType, Maybe, Merge, MergeRefs, Mutable, NAND, NOR, NOT, NestedKeyOf, Never, Nullable, Nullish, OR, OmitByType, OneOf, Optional, Prettify, Primitive, RequiredKeys, ScheduleOpts, SelectivePartial, SelectiveRequired, Substract, Task, TwoOf, Values, Without, WorkerInstance, WorkerMessage, WorkerOpts, XNOR, XNOR_Binary, XOR, XOR_Binary, cleanSrc, cn, convertToNormalCase, convertToSlug, copyToClipboard, debounce, deepmerge, deleteClientSideCookie, escapeRegExp, extendProps, getClientSideCookie, getObjectValue, goToClientSideHash, hasClientSideCookie, hydrate, isFalsy, isLinkActive, isNavActive, isNullish, isPlainObject, isPrimitive, isSSR, mergeRefs, normalizeText, poll, printf, schedule, scrollTo, setClientSideCookie, shield, sleep, svgToBase64, throttle, workerize };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as getObjectValue, C as throttle, D as schedule, E as Task, F as hasClientSideCookie, I as setClientSideCookie, M as deepmerge, N as deleteClientSideCookie, O as poll, P as getClientSideCookie, S as svgToBase64, T as ScheduleOpts, _ as mergeRefs, a as MergeRefs, b as scrollTo, c as convertToNormalCase, d as debounce, f as escapeRegExp, g as isSSR, h as isNavActive, i as workerize, j as hydrate, k as extendProps, l as convertToSlug, m as isLinkActive, n as WorkerMessage, o as cleanSrc, p as goToClientSideHash, r as WorkerOpts, s as cn, t as WorkerInstance, u as copyToClipboard, v as normalizeText, w as shield, x as sleep, y as printf } from "./index-BYNGZWnU.js";
|
|
2
2
|
|
|
3
3
|
//#region src/types/utilities.d.ts
|
|
4
4
|
|
|
@@ -610,4 +610,4 @@ declare const isPrimitive: (val: unknown) => val is Primitive;
|
|
|
610
610
|
*/
|
|
611
611
|
declare function isPlainObject(value: unknown): value is Record<string, any>;
|
|
612
612
|
//#endregion
|
|
613
|
-
export { AND, AllOrNone, BUFFER, DeepPartial, DeepReadonly, DeepRequired, Diff, Falsy, IMPLIES, Intersection, Keys, KeysOfType, Maybe, Merge, MergeRefs, Mutable, NAND, NOR, NOT, NestedKeyOf, Never, Nullable, Nullish, OR, OmitByType, OneOf, Optional, Prettify, Primitive, RequiredKeys, ScheduleOpts, SelectivePartial, SelectiveRequired, Substract, Task, TwoOf, Values, Without, XNOR, XNOR_Binary, XOR, XOR_Binary, cleanSrc, cn, convertToNormalCase, convertToSlug, copyToClipboard, debounce, deepmerge, deleteClientSideCookie, escapeRegExp, extendProps, getClientSideCookie, getObjectValue, goToClientSideHash, hasClientSideCookie, hydrate, isFalsy, isLinkActive, isNavActive, isNullish, isPlainObject, isPrimitive, isSSR, mergeRefs, normalizeText, poll, printf, schedule, scrollTo, setClientSideCookie, shield, sleep, svgToBase64, throttle };
|
|
613
|
+
export { AND, AllOrNone, BUFFER, DeepPartial, DeepReadonly, DeepRequired, Diff, Falsy, IMPLIES, Intersection, Keys, KeysOfType, Maybe, Merge, MergeRefs, Mutable, NAND, NOR, NOT, NestedKeyOf, Never, Nullable, Nullish, OR, OmitByType, OneOf, Optional, Prettify, Primitive, RequiredKeys, ScheduleOpts, SelectivePartial, SelectiveRequired, Substract, Task, TwoOf, Values, Without, WorkerInstance, WorkerMessage, WorkerOpts, XNOR, XNOR_Binary, XOR, XOR_Binary, cleanSrc, cn, convertToNormalCase, convertToSlug, copyToClipboard, debounce, deepmerge, deleteClientSideCookie, escapeRegExp, extendProps, getClientSideCookie, getObjectValue, goToClientSideHash, hasClientSideCookie, hydrate, isFalsy, isLinkActive, isNavActive, isNullish, isPlainObject, isPrimitive, isSSR, mergeRefs, normalizeText, poll, printf, schedule, scrollTo, setClientSideCookie, shield, sleep, svgToBase64, throttle, workerize };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,M as i,N as a,O as o,
|
|
1
|
+
import{A as e,C as t,D as n,E as r,M as i,N as a,O as o,P as s,S as c,T as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,h as _,i as v,j as y,k as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k,v as A,w as j,x as M,y as N}from"./functions-BtZjryZg.js";export{d as cleanSrc,w as cn,D as convertToNormalCase,p as convertToSlug,x as copyToClipboard,k as debounce,r as deepmerge,y as deleteClientSideCookie,m as escapeRegExp,t as extendProps,i as getClientSideCookie,j as getObjectValue,h as goToClientSideHash,a as hasClientSideCookie,l as hydrate,n as isFalsy,T as isLinkActive,S as isNavActive,o as isNullish,b as isPlainObject,e as isPrimitive,_ as isSSR,g as mergeRefs,u as normalizeText,v as poll,A as printf,E as schedule,N as scrollTo,s as setClientSideCookie,C as shield,f as sleep,M as svgToBase64,c as throttle,O as workerize};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sohanemon/utils",
|
|
3
|
-
"version": "6.4.
|
|
3
|
+
"version": "6.4.2",
|
|
4
4
|
"author": "Sohan Emon <sohanemon@outlook.com>",
|
|
5
5
|
"description": "",
|
|
6
6
|
"type": "module",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"build": "tsdown",
|
|
41
41
|
"dev": "tsdown --watch",
|
|
42
42
|
"test": "vitest",
|
|
43
|
-
"test:run": "vitest run",
|
|
43
|
+
"test:run": "vitest run --silent",
|
|
44
|
+
"test:bench": "vitest bench --run --silent",
|
|
44
45
|
"test:list": "vitest list",
|
|
45
46
|
"test:log": "vitest run --reporter verbose",
|
|
46
47
|
"test:ui": "vitest --ui",
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
"format": "biome format .",
|
|
52
53
|
"format:write": "biome format . --write",
|
|
53
54
|
"typecheck": "tsgo --noEmit",
|
|
55
|
+
"playground": "cd playground && npm run dev",
|
|
54
56
|
"release": "tsgo --noEmit && npm run build && npm publish"
|
|
55
57
|
},
|
|
56
58
|
"keywords": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./hooks-CswCcD42.cjs`);let t=require(`clsx`),n=require(`tailwind-merge`);const r=(e,t,n,r=`/`)=>{let i=``;if(n){let e=new Date;e.setTime(e.getTime()+n*24*60*60*1e3),i=`; expires=${e.toUTCString()}`}document.cookie=`${e}=${t||``}${i}; path=${r}`},i=(e,t=`/`)=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`},a=e=>document.cookie.split(`; `).some(t=>t.startsWith(`${e}=`)),o=e=>({value:document.cookie.split(`; `).find(t=>t.startsWith(`${e}=`))?.split(`=`)[1]}),s=e=>!e,c=e=>e==null,l=e=>{if(e==null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:return!0;default:return!1}};function u(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function d(e,...t){let n,r={},i=t[t.length-1];i&&typeof i==`object`&&!Array.isArray(i)&&(i.arrayMerge!==void 0||i.clone!==void 0||i.customMerge!==void 0||i.maxDepth!==void 0)?(r={...r,...i},n=t.slice(0,-1)):n=t;let{arrayMerge:a=`replace`,clone:o=!0,customMerge:s,maxDepth:c=100}=r,l=new WeakMap;return d(e,n,0);function d(e,t,n){if(n>=c)return console.warn(`[deepmerge] Maximum depth ${c} exceeded. Returning target as-is.`),e;if(!u(e)&&!Array.isArray(e)){for(let e of t)if(e!==void 0)return e;return e}let r=o?Array.isArray(e)?[...e]:{...e}:e;for(let e of t)if(e!=null&&!l.has(e))if(l.set(e,r),Array.isArray(r)&&Array.isArray(e))r=f(r,e,a);else if(u(r)&&u(e)){let t=new Set([...Object.keys(r),...Object.keys(e),...Object.getOwnPropertySymbols(r),...Object.getOwnPropertySymbols(e)]);for(let i of t){let t=r[i],o=e[i];s&&s(i,t,o)!==void 0?r[i]=s(i,t,o):u(t)&&u(o)?r[i]=d(t,[o],n+1):Array.isArray(t)&&Array.isArray(o)?r[i]=f(t,o,a):o!==void 0&&(r[i]=o)}}else r=e;return r}function f(e,t,n){if(typeof n==`function`)return n(e,t);switch(n){case`concat`:return[...e,...t];case`merge`:let n=Math.max(e.length,t.length),r=[];for(let i=0;i<n;i++)i<e.length&&i<t.length?u(e[i])&&u(t[i])?r[i]=d(e[i],[t[i]],0):r[i]=t[i]:i<e.length?r[i]=e[i]:r[i]=t[i];return r;case`replace`:default:return[...t]}}}function f(e){return p(e)}function p(e){if(e!==null){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(p);if(u(e)){let t={};for(let n in e)t[n]=p(e[n]);return t}return e}}function m(e,t,n){if(typeof t!=`string`&&!Array.isArray(t))return n;let r=(()=>Array.isArray(t)?t:t===``?[]:String(t).split(`.`).filter(e=>e!==``))();if(!Array.isArray(r))return n;let i=e;for(let e of r){if(i==null)return n;let t=typeof e==`string`&&Array.isArray(i)&&/^\d+$/.test(e)?Number.parseInt(e,10):e;i=i[t]}return i===void 0?n:i}function h(e,t){return Object.assign(e,t)}function g(...e){return(0,n.twMerge)((0,t.clsx)(e))}function _(e,t){return console.warn(`isNavActive is deprecated. Use isLinkActive instead.`),RegExp(`^/?${e}(/|$)`).test(t)}function v({path:e,currentPath:t,locales:n=[`en`,`es`,`de`,`zh`,`bn`,`fr`,`it`,`nl`],exact:r=!0}){let i=RegExp(`^/?(${n.join(`|`)})/`),a=e=>e.replace(i,``).replace(/^\/+|\/+$/g,``),o=a(e),s=a(t);return r?o===s:s.startsWith(o)}function y(e){let t=e;return e.includes(`/public/`)&&(t=e.replace(`/public/`,`/`)),t.trim()}const b=(e,t)=>{let n;if(typeof e==`string`)n=document.querySelector(e);else if(e.current)n=e.current;else return;n&&n.scrollTo({top:t===`top`?0:n.scrollHeight-n.clientHeight,behavior:`smooth`})},x=(e,t=()=>{})=>{typeof window>`u`||!navigator.clipboard?.writeText||e&&navigator.clipboard.writeText(e).then(t)};function S(e){return(e.split(`.`).pop()||e).replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[-_|�\s]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const C=`àáãäâèéëêìíïîòóöôùúüûñç·/_,:;`,w=`aaaaaeeeeiiiioooouuuunc------`,T=e=>{if(typeof e!=`string`)throw TypeError(`Input must be a string`);let t=e.trim().toLowerCase(),n={};for(let e=0;e<29;e++)n[C.charAt(e)]=`aaaaaeeeeiiiioooouuuunc------`.charAt(e);return t=t.replace(RegExp(`[${C}]`,`g`),e=>n[e]||e),t.replace(/[^a-z0-9 -]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)||``},E=typeof window>`u`,D=e=>E?Buffer.from(e).toString(`base64`):window.btoa(e),O=(e=1e3,t)=>new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(()=>{a(),n()},e);function i(){clearTimeout(r),a(),n()}function a(){t?.removeEventListener(`abort`,i)}t&&t.addEventListener(`abort`,i,{once:!0})});function k(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.immediate??!1,i,a,o,s;function c(){return s=e.apply(o,a),a=void 0,o=void 0,s}let l=function(...e){return a=e,o=this,i===void 0&&r&&(s=c.call(this)),i!==void 0&&clearTimeout(i),i=setTimeout(c.bind(this),t),s};return Object.defineProperty(l,`isPending`,{get(){return i!==void 0}}),l}function A(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.leading??!0,i=n?.trailing??!0,a,o,s,c,l;function u(){c=Date.now(),l=e.apply(s,o),o=void 0,s=void 0}function d(){a=void 0,i&&o&&u()}let f=function(...e){let n=c?Date.now()-c:1/0;return o=e,s=this,n>=t?r?u():a=setTimeout(d,t):!a&&i&&(a=setTimeout(d,t-n)),l};return Object.defineProperty(f,`isPending`,{get(){return a!==void 0}}),f}function j(e,...t){let n=t.length===1&&Array.isArray(t[0])?t[0]:t,r=0;return e.replace(/%s/g,()=>{let e=n[r++];return e===void 0?``:String(e)})}const M=(...e)=>t=>{for(let n of e)n&&(typeof n==`function`?n(t):n.current=t)};function N(e,t){let n=document.getElementById(e);n&&(n.scrollIntoView({behavior:`smooth`,block:`start`,...t}),window.history.pushState(null,``,`#${e}`))}function P(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function F(e,t={}){if(!e)return``;let{lowercase:n=!0,removeAccents:r=!0,removeNonAlphanumeric:i=!0}=t,a=e.normalize(`NFC`);return r&&(a=a.normalize(`NFD`).replace(/\p{M}/gu,``)),i&&(a=a.replace(/^[^\p{L}\p{N}]*|[^\p{L}\p{N}]*$/gu,``)),n&&(a=a.toLocaleLowerCase()),a}async function I(e,{interval:t=5e3,timeout:n=300*1e3,jitter:r=!0,signal:i}={}){let a=Date.now(),o=i?.aborted??!1,s=()=>{o=!0};i?.addEventListener(`abort`,s,{once:!0});try{for(let s=0;;s++){if(o)throw Error(`Polling aborted`);let s=await e();if(s)return s;if(Date.now()-a>=n)throw Error(`Polling timed out`,{cause:`Polling timed out after ${n}ms`});await O(r?t+(Math.random()-.5)*t*.2:t,i)}}catch(e){throw e}finally{i?.removeEventListener(`abort`,s)}}function L(e,t={}){let{retry:n=0,delay:r=0}=t,i=Date.now(),a=async t=>{try{await e();let t=Date.now()-i;console.log(`⚡[schedule.ts] Completed in ${t}ms`)}catch(e){if(console.log(`⚡[schedule.ts] err:`,e),t>0)console.log(`⚡[schedule.ts] Retrying in ${r}ms...`),setTimeout(()=>a(t-1),r);else{let e=Date.now()-i;console.log(`⚡[schedule.ts] Failed after ${e}ms`)}}};setTimeout(()=>a(n),0)}function R(e){if(e instanceof Promise)return e.then(e=>[null,e]).catch(e=>[e,null]);try{return[null,e()]}catch(t){return console.log(`\x1b[31m🛡 [shield]\x1b[0m ${e.name} failed →`,t),[t,null]}}Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return O}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";const n=(e,t,n,r=`/`)=>{let i=``;if(n){let e=new Date;e.setTime(e.getTime()+n*24*60*60*1e3),i=`; expires=${e.toUTCString()}`}document.cookie=`${e}=${t||``}${i}; path=${r}`},r=(e,t=`/`)=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`},i=e=>document.cookie.split(`; `).some(t=>t.startsWith(`${e}=`)),a=e=>({value:document.cookie.split(`; `).find(t=>t.startsWith(`${e}=`))?.split(`=`)[1]}),o=e=>!e,s=e=>e==null,c=e=>{if(e==null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:return!0;default:return!1}};function l(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function u(e,...t){let n,r={},i=t[t.length-1];i&&typeof i==`object`&&!Array.isArray(i)&&(i.arrayMerge!==void 0||i.clone!==void 0||i.customMerge!==void 0||i.maxDepth!==void 0)?(r={...r,...i},n=t.slice(0,-1)):n=t;let{arrayMerge:a=`replace`,clone:o=!0,customMerge:s,maxDepth:c=100}=r,u=new WeakMap;return d(e,n,0);function d(e,t,n){if(n>=c)return console.warn(`[deepmerge] Maximum depth ${c} exceeded. Returning target as-is.`),e;if(!l(e)&&!Array.isArray(e)){for(let e of t)if(e!==void 0)return e;return e}let r=o?Array.isArray(e)?[...e]:{...e}:e;for(let e of t)if(e!=null&&!u.has(e))if(u.set(e,r),Array.isArray(r)&&Array.isArray(e))r=f(r,e,a);else if(l(r)&&l(e)){let t=new Set([...Object.keys(r),...Object.keys(e),...Object.getOwnPropertySymbols(r),...Object.getOwnPropertySymbols(e)]);for(let i of t){let t=r[i],o=e[i];s&&s(i,t,o)!==void 0?r[i]=s(i,t,o):l(t)&&l(o)?r[i]=d(t,[o],n+1):Array.isArray(t)&&Array.isArray(o)?r[i]=f(t,o,a):o!==void 0&&(r[i]=o)}}else r=e;return r}function f(e,t,n){if(typeof n==`function`)return n(e,t);switch(n){case`concat`:return[...e,...t];case`merge`:let n=Math.max(e.length,t.length),r=[];for(let i=0;i<n;i++)i<e.length&&i<t.length?l(e[i])&&l(t[i])?r[i]=d(e[i],[t[i]],0):r[i]=t[i]:i<e.length?r[i]=e[i]:r[i]=t[i];return r;case`replace`:default:return[...t]}}}function d(e){return f(e)}function f(e){if(e!==null){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(f);if(l(e)){let t={};for(let n in e)t[n]=f(e[n]);return t}return e}}function p(e,t,n){if(typeof t!=`string`&&!Array.isArray(t))return n;let r=(()=>Array.isArray(t)?t:t===``?[]:String(t).split(`.`).filter(e=>e!==``))();if(!Array.isArray(r))return n;let i=e;for(let e of r){if(i==null)return n;let t=typeof e==`string`&&Array.isArray(i)&&/^\d+$/.test(e)?Number.parseInt(e,10):e;i=i[t]}return i===void 0?n:i}function m(e,t){return Object.assign(e,t)}function h(...n){return t(e(n))}function g(e,t){return console.warn(`isNavActive is deprecated. Use isLinkActive instead.`),RegExp(`^/?${e}(/|$)`).test(t)}function _({path:e,currentPath:t,locales:n=[`en`,`es`,`de`,`zh`,`bn`,`fr`,`it`,`nl`],exact:r=!0}){let i=RegExp(`^/?(${n.join(`|`)})/`),a=e=>e.replace(i,``).replace(/^\/+|\/+$/g,``),o=a(e),s=a(t);return r?o===s:s.startsWith(o)}function v(e){let t=e;return e.includes(`/public/`)&&(t=e.replace(`/public/`,`/`)),t.trim()}const y=(e,t)=>{let n;if(typeof e==`string`)n=document.querySelector(e);else if(e.current)n=e.current;else return;n&&n.scrollTo({top:t===`top`?0:n.scrollHeight-n.clientHeight,behavior:`smooth`})},b=(e,t=()=>{})=>{typeof window>`u`||!navigator.clipboard?.writeText||e&&navigator.clipboard.writeText(e).then(t)};function x(e){return(e.split(`.`).pop()||e).replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[-_|�\s]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const S=`àáãäâèéëêìíïîòóöôùúüûñç·/_,:;`,C=e=>{if(typeof e!=`string`)throw TypeError(`Input must be a string`);let t=e.trim().toLowerCase(),n={};for(let e=0;e<29;e++)n[S.charAt(e)]=`aaaaaeeeeiiiioooouuuunc------`.charAt(e);return t=t.replace(RegExp(`[${S}]`,`g`),e=>n[e]||e),t.replace(/[^a-z0-9 -]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)||``},w=typeof window>`u`,T=e=>w?Buffer.from(e).toString(`base64`):window.btoa(e),E=(e=1e3,t)=>new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(()=>{a(),n()},e);function i(){clearTimeout(r),a(),n()}function a(){t?.removeEventListener(`abort`,i)}t&&t.addEventListener(`abort`,i,{once:!0})});function D(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.immediate??!1,i,a,o,s;function c(){return s=e.apply(o,a),a=void 0,o=void 0,s}let l=function(...e){return a=e,o=this,i===void 0&&r&&(s=c.call(this)),i!==void 0&&clearTimeout(i),i=setTimeout(c.bind(this),t),s};return Object.defineProperty(l,`isPending`,{get(){return i!==void 0}}),l}function O(e,t=100,n){if(typeof e!=`function`)throw TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw RangeError("`wait` must not be negative.");let r=n?.leading??!0,i=n?.trailing??!0,a,o,s,c,l;function u(){c=Date.now(),l=e.apply(s,o),o=void 0,s=void 0}function d(){a=void 0,i&&o&&u()}let f=function(...e){let n=c?Date.now()-c:1/0;return o=e,s=this,n>=t?r?u():a=setTimeout(d,t):!a&&i&&(a=setTimeout(d,t-n)),l};return Object.defineProperty(f,`isPending`,{get(){return a!==void 0}}),f}function k(e,...t){let n=t.length===1&&Array.isArray(t[0])?t[0]:t,r=0;return e.replace(/%s/g,()=>{let e=n[r++];return e===void 0?``:String(e)})}const A=(...e)=>t=>{for(let n of e)n&&(typeof n==`function`?n(t):n.current=t)};function j(e,t){let n=document.getElementById(e);n&&(n.scrollIntoView({behavior:`smooth`,block:`start`,...t}),window.history.pushState(null,``,`#${e}`))}function M(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function N(e,t={}){if(!e)return``;let{lowercase:n=!0,removeAccents:r=!0,removeNonAlphanumeric:i=!0}=t,a=e.normalize(`NFC`);return r&&(a=a.normalize(`NFD`).replace(/\p{M}/gu,``)),i&&(a=a.replace(/^[^\p{L}\p{N}]*|[^\p{L}\p{N}]*$/gu,``)),n&&(a=a.toLocaleLowerCase()),a}async function P(e,{interval:t=5e3,timeout:n=300*1e3,jitter:r=!0,signal:i}={}){let a=Date.now(),o=i?.aborted??!1,s=()=>{o=!0};i?.addEventListener(`abort`,s,{once:!0});try{for(let s=0;;s++){if(o)throw Error(`Polling aborted`);let s=await e();if(s)return s;if(Date.now()-a>=n)throw Error(`Polling timed out`,{cause:`Polling timed out after ${n}ms`});await E(r?t+(Math.random()-.5)*t*.2:t,i)}}catch(e){throw e}finally{i?.removeEventListener(`abort`,s)}}function F(e,t={}){let{retry:n=0,delay:r=0}=t,i=Date.now(),a=async t=>{try{await e();let t=Date.now()-i;console.log(`⚡[schedule.ts] Completed in ${t}ms`)}catch(e){if(console.log(`⚡[schedule.ts] err:`,e),t>0)console.log(`⚡[schedule.ts] Retrying in ${r}ms...`),setTimeout(()=>a(t-1),r);else{let e=Date.now()-i;console.log(`⚡[schedule.ts] Failed after ${e}ms`)}}};setTimeout(()=>a(n),0)}function I(e){if(e instanceof Promise)return e.then(e=>[null,e]).catch(e=>[e,null]);try{return[null,e()]}catch(t){return console.log(`\x1b[31m🛡 [shield]\x1b[0m ${e.name} failed →`,t),[t,null]}}export{r as A,p as C,s as D,o as E,i as M,n as N,l as O,m as S,u as T,k as _,h as a,T as b,b as c,j as d,_ as f,N as g,A as h,v as i,a as j,c as k,D as l,w as m,F as n,x as o,g as p,P as r,C as s,I as t,M as u,y as v,d as w,O as x,E as y};
|
package/dist/hooks-C9b8HxlS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,n as t}from"./functions-DdPaJAsm.js";import*as n from"react";import{Slot as r}from"@radix-ui/react-slot";import{jsx as i}from"react/jsx-runtime";function a(e={}){let{timeout:r=1e4}=e;return n.useCallback(e=>{let i=()=>{try{n.startTransition(()=>{e()})}catch(e){console.log(`⚡[schedule.tsx] Failed: `,e)}};`requestIdleCallback`in window?requestIdleCallback(i,{timeout:r}):t(i)},[r])}function o(e,t=[],r={}){let i=a(r);n.useEffect(()=>{let t;return i(()=>{t=e()}),()=>{typeof t==`function`&&t?.()}},[i,...t])}const s=(e,t)=>{let[r,i]=n.useState(`idle`),[a,s]=n.useState(null),[c,l]=n.useState(null),[u,d]=n.useState(void 0),[f,p]=n.useTransition(),m=r===`idle`,h=r===`loading`||f,g=r===`success`,_=r===`error`,v=n.useCallback(e=>{s(e),i(`success`),t?.onSuccess?.(e),t?.onSettled?.()},[t]),y=n.useCallback(e=>{l(e),i(`error`),t?.onError?.(e),t?.onSettled?.()},[t]),b=n.useCallback(t=>{d(t),i(`loading`),l(null),p(()=>{e(t).then(v).catch(y)})},[e,v,y]);return{execute:b,executeAsync:n.useCallback(t=>new Promise((n,r)=>{d(t),i(`loading`),l(null),p(()=>{e(t).then(e=>{v(e),n(e)}).catch(e=>{y(e),r(e)})})}),[e,v,y]),reset:n.useCallback(()=>{i(`idle`),s(null),l(null),d(void 0)},[]),useExecute:e=>{o(()=>{b(e)},[])},data:a,error:c,input:u,isIdle:m,isLoading:h,isSuccess:g,isError:_}};function c(e,t={}){let{mode:r=`manual`,deps:i,onSuccess:a,onError:o,onSettled:s}=t,[c,l]=n.useState(void 0),[u,d]=n.useState(void 0),[f,p]=n.useState(`idle`),m=n.useRef(null),h=n.useCallback(a||(()=>{}),[a]),g=n.useCallback(o||(()=>{}),[o]),_=n.useCallback(s||(()=>{}),[s]),v=n.useCallback(async()=>{m.current&&m.current.abort(),m.current=new AbortController;let t=m.current.signal;p(`pending`),d(void 0);try{let n=await e(t);return t.aborted||(l(n),p(`success`),await h(n),await _(n,void 0)),n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;let n=e instanceof Error?e:Error(String(e)),r=n;throw t.aborted||(d(r),p(`error`),await g(r),await _(void 0,r)),n}},[e,h,g,_]);return n.useEffect(()=>{r===`auto`&&!i&&v()},[e,r,v,i]),n.useEffect(()=>{i&&r===`auto`&&v()},i||[]),n.useEffect(()=>()=>{m.current&&m.current.abort()},[]),{data:c,error:u,status:f,isIdle:f===`idle`,isPending:f===`pending`,isSuccess:f===`success`,isError:f===`error`,execute:v}}const l=n.createContext(null),u=({children:e})=>{let t=n.useRef(null);return i(l.Provider,{value:t,children:i(r,{ref:t,children:e})})},d=({threshold:e=300,container:t}={})=>{let r=n.useContext(l),[i,a]=n.useState({scrolledPast:!1,direction:`forward`}),s=n.useRef(0),c=t=>{let n=t>s.current?`forward`:`backward`;a({scrolledPast:t>e,direction:n}),s.current=t};return o(()=>{let e=null;typeof t==`string`?e=document.querySelector(t):t?.current?e=t.current:r?.current&&(e=r.current);let n=e||window,i=e?`scrollTop`:`scrollY`,a=()=>{let e=n[i];c(e)};return n.addEventListener(`scroll`,a),a(),()=>n.removeEventListener(`scroll`,a)},[t,r,e]),i},f=(e=()=>alert(`clicked outside`))=>{let t=n.useRef(null),r=n=>{t.current&&!t.current.contains(n.target)&&e()};return n.useEffect(()=>(document.addEventListener(`mousedown`,r),document.addEventListener(`touchstart`,r),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`touchstart`,r)})),t};function p(e){let t=n.useMemo(()=>{switch(e){case`sm`:return`(min-width: 640px)`;case`md`:return`(min-width: 768px)`;case`lg`:return`(min-width: 1024px)`;case`xl`:return`(min-width: 1280px)`;case`2xl`:return`(min-width: 1536px)`;default:return e}},[e]),r=e=>typeof window<`u`?window.matchMedia(e).matches:!1,[i,a]=n.useState(r(t)),o=()=>{a(r(t))};return _(()=>{let e=window.matchMedia(t);return o(),e.addEventListener(`change`,o),()=>{e.removeEventListener(`change`,o)}},[t]),i}function m(e){n.useEffect(e,[])}function h(e,t){let r=n.useRef(!0);n.useEffect(()=>{if(r.current)r.current=!1;else return e()},t)}function g(e,t=500){let[r,i]=n.useState(e);return o(()=>{let n=setTimeout(()=>i(e),t);return()=>{clearTimeout(n)}},[e,t]),r}const _=typeof window<`u`?n.useLayoutEffect:n.useEffect;function v(e,t=1e3){let r=n.useRef(e);_(()=>{r.current=e},[e]),o(()=>{if(!t&&t!==0)return;let e=setTimeout(()=>r.current(),t);return()=>clearTimeout(e)},[t])}function y(e,t,n){o(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t,n])}const b=(e,t)=>{let[r,i]=n.useState(t);return o(()=>{let t=sessionStorage.getItem(e);t&&i(JSON.parse(t))},[e]),[r,n.useCallback(t=>{i(n=>{let r=typeof t==`function`?t(n):t;return sessionStorage.setItem(e,JSON.stringify(r)),r})},[e])]},x=(e,t)=>{let[r,i]=n.useState(t);return o(()=>{let t=localStorage.getItem(e);t&&i(JSON.parse(t))},[e]),[r,n.useCallback(t=>{let n;n=typeof t==`function`?t(r):t,localStorage.setItem(e,JSON.stringify(n)),i(n)},[e])]},S=(e,t)=>{let[r,i]=n.useState(t);return o(()=>{let t=new URLSearchParams(window.location.search).get(e);t!==null&&i(t)},[e]),[r,t=>{let n=new URLSearchParams(window.location.search);n.set(e,String(t)),window.history.pushState({},``,`${window.location.pathname}?${n}`),i(t)}]},C=e=>{let[t,r]=n.useState(null),i=n.useRef(null);return o(()=>{let t=null;if(typeof e==`string`?t=document.querySelector(e):e?.current&&(t=e.current),!t)return;i.current!==t&&(i.current=t,r(t));let n=new ResizeObserver(()=>{i.current!==t&&(i.current=t,r(t))});return n.observe(t),()=>{n.disconnect()}},[e]),t};function w(){let[e,t]=n.useState(!1);return o(()=>{t(!0)},[]),e}function T(){n.useLayoutEffect(()=>{let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[])}function E({timeout:t=2e3}){let[r,i]=n.useState(!1);return{isCopied:r,copy:n=>{e(n,()=>{i(!0),setTimeout(()=>{i(!1)},t)})}}}const D=({blockIds:e=[],margin:t=0,substract:r=!0,dynamic:i=!1})=>{let[a,s]=n.useState(500),c=n.useCallback(()=>{let n=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0);s(r?window.innerHeight-n-t:n+t)},[e,t,r]);return o(()=>{if(c(),i){if(typeof i==`string`){let e=document.getElementById(i),t=new ResizeObserver(e=>{for(let t of e)c()});return e&&t.observe(e),()=>t?.disconnect()}return window.addEventListener(`resize`,c),()=>window.removeEventListener(`resize`,c)}},[c,i]),a},O=({blockIds:e=[],margin:t=0,substract:r=!0,dynamic:i=!1,onChange:a})=>{let[s,c]=n.useState({height:500,width:500}),[l,u]=n.useState(null),d=n.useCallback(()=>{let n=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0),i=e.reduce((e,t)=>e+(document.getElementById(t)?.clientWidth||0),0),a=r?window.innerHeight-n-t:n+t,o=r?window.innerWidth-i-t:i+t;c(e=>e.height===a&&e.width===o?e:{height:a,width:o}),u({blocksWidth:i,blocksHeight:n,remainingWidth:o,remainingHeight:a})},[e,t,r]);return o(()=>{l&&a&&(a(l),u(null))},[l,a]),o(()=>{d();let t=[];if(e.length>0){let n=new MutationObserver(t=>{let n=!1;for(let r of t){for(let t of Array.from(r.addedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break;for(let t of Array.from(r.removedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break}n&&d()});n.observe(document.body,{childList:!0,subtree:!0}),t.push(()=>n.disconnect())}if(i)if(typeof i==`string`){let e=document.getElementById(i);if(e){let n=new ResizeObserver(d);n.observe(e),t.push(()=>n.unobserve(e)),t.push(()=>n.disconnect())}}else window.addEventListener(`resize`,d),t.push(()=>window.removeEventListener(`resize`,d));return()=>{for(let e of t)e()}},[d,i,e.join(`,`)]),s},k=()=>{let[e,t]=n.useState(!1),r=n.useRef(null),i=n.useRef(null);return m(()=>{let e=i.current;if(!e)return;let n=()=>{t(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{t(!1)},150)};return n(),e.addEventListener(`scroll`,n),()=>{e.removeEventListener(`scroll`,n),r.current&&clearTimeout(r.current)}}),{isScrolling:e,scrollableContainerRef:i}},A=({offset:e}={})=>{let[t,r]=n.useState(!0),i=n.useRef(null);return m(()=>{let t=i.current;if(!t)return;let n=()=>{r(!(t.scrollTop>(e??10)))};return n(),t.addEventListener(`scroll`,n),()=>{t.removeEventListener(`scroll`,n)}}),{scrollableContainerRef:i,isAtTop:t}},j=({threshold:e=.1,root:t=null,rootMargin:r,onInteractionStart:i,onInteractionEnd:a}={})=>{let[s,c]=n.useState(!1),l=n.useRef(null),[u,d]=n.useState(null);return o(()=>{if(!l.current)return;let n=new IntersectionObserver(e=>{for(let t of e){let e=t.isIntersecting;e!==s&&(d({intersecting:e,wasIntersecting:s}),c(e))}},{threshold:e,root:t,...r&&{rootMargin:r}});return n.observe(l.current),()=>{n.disconnect()}},[e,t,r,s]),o(()=>{if(u){let{intersecting:e,wasIntersecting:t}=u;e&&!t?i?.():!e&&t&&a?.(),d(null)}},[u,i,a]),{ref:l,isIntersecting:s}};export{c as C,o as E,u as S,a as T,v as _,m as a,y as b,A as c,_ as d,x as f,b as g,C as h,O as i,w as l,p as m,E as n,D as o,T as p,g as r,j as s,f as t,k as u,h as v,s as w,d as x,S as y};
|
package/dist/hooks-CswCcD42.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./functions-BQWC9vZ0.cjs`);let l=require(`react`);l=s(l);let u=require(`@radix-ui/react-slot`),d=require(`react/jsx-runtime`);function f(e={}){let{timeout:t=1e4}=e;return l.useCallback(e=>{let n=()=>{try{l.startTransition(()=>{e()})}catch(e){console.log(`⚡[schedule.tsx] Failed: `,e)}};`requestIdleCallback`in window?requestIdleCallback(n,{timeout:t}):c.n(n)},[t])}function p(e,t=[],n={}){let r=f(n);l.useEffect(()=>{let t;return r(()=>{t=e()}),()=>{typeof t==`function`&&t?.()}},[r,...t])}const m=(e,t)=>{let[n,r]=l.useState(`idle`),[i,a]=l.useState(null),[o,s]=l.useState(null),[c,u]=l.useState(void 0),[d,f]=l.useTransition(),m=n===`idle`,h=n===`loading`||d,g=n===`success`,_=n===`error`,v=l.useCallback(e=>{a(e),r(`success`),t?.onSuccess?.(e),t?.onSettled?.()},[t]),y=l.useCallback(e=>{s(e),r(`error`),t?.onError?.(e),t?.onSettled?.()},[t]),b=l.useCallback(t=>{u(t),r(`loading`),s(null),f(()=>{e(t).then(v).catch(y)})},[e,v,y]);return{execute:b,executeAsync:l.useCallback(t=>new Promise((n,i)=>{u(t),r(`loading`),s(null),f(()=>{e(t).then(e=>{v(e),n(e)}).catch(e=>{y(e),i(e)})})}),[e,v,y]),reset:l.useCallback(()=>{r(`idle`),a(null),s(null),u(void 0)},[]),useExecute:e=>{p(()=>{b(e)},[])},data:i,error:o,input:c,isIdle:m,isLoading:h,isSuccess:g,isError:_}};function h(e,t={}){let{mode:n=`manual`,deps:r,onSuccess:i,onError:a,onSettled:o}=t,[s,c]=l.useState(void 0),[u,d]=l.useState(void 0),[f,p]=l.useState(`idle`),m=l.useRef(null),h=l.useCallback(i||(()=>{}),[i]),g=l.useCallback(a||(()=>{}),[a]),_=l.useCallback(o||(()=>{}),[o]),v=l.useCallback(async()=>{m.current&&m.current.abort(),m.current=new AbortController;let t=m.current.signal;p(`pending`),d(void 0);try{let n=await e(t);return t.aborted||(c(n),p(`success`),await h(n),await _(n,void 0)),n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;let n=e instanceof Error?e:Error(String(e)),r=n;throw t.aborted||(d(r),p(`error`),await g(r),await _(void 0,r)),n}},[e,h,g,_]);return l.useEffect(()=>{n===`auto`&&!r&&v()},[e,n,v,r]),l.useEffect(()=>{r&&n===`auto`&&v()},r||[]),l.useEffect(()=>()=>{m.current&&m.current.abort()},[]),{data:s,error:u,status:f,isIdle:f===`idle`,isPending:f===`pending`,isSuccess:f===`success`,isError:f===`error`,execute:v}}const g=l.createContext(null),_=({children:e})=>{let t=l.useRef(null);return(0,d.jsx)(g.Provider,{value:t,children:(0,d.jsx)(u.Slot,{ref:t,children:e})})},v=({threshold:e=300,container:t}={})=>{let n=l.useContext(g),[r,i]=l.useState({scrolledPast:!1,direction:`forward`}),a=l.useRef(0),o=t=>{let n=t>a.current?`forward`:`backward`;i({scrolledPast:t>e,direction:n}),a.current=t};return p(()=>{let e=null;typeof t==`string`?e=document.querySelector(t):t?.current?e=t.current:n?.current&&(e=n.current);let r=e||window,i=e?`scrollTop`:`scrollY`,a=()=>{let e=r[i];o(e)};return r.addEventListener(`scroll`,a),a(),()=>r.removeEventListener(`scroll`,a)},[t,n,e]),r},y=(e=()=>alert(`clicked outside`))=>{let t=l.useRef(null),n=n=>{t.current&&!t.current.contains(n.target)&&e()};return l.useEffect(()=>(document.addEventListener(`mousedown`,n),document.addEventListener(`touchstart`,n),()=>{document.removeEventListener(`mousedown`,n),document.removeEventListener(`touchstart`,n)})),t};function b(e){let t=l.useMemo(()=>{switch(e){case`sm`:return`(min-width: 640px)`;case`md`:return`(min-width: 768px)`;case`lg`:return`(min-width: 1024px)`;case`xl`:return`(min-width: 1280px)`;case`2xl`:return`(min-width: 1536px)`;default:return e}},[e]),n=e=>typeof window<`u`?window.matchMedia(e).matches:!1,[r,i]=l.useState(n(t)),a=()=>{i(n(t))};return w(()=>{let e=window.matchMedia(t);return a(),e.addEventListener(`change`,a),()=>{e.removeEventListener(`change`,a)}},[t]),r}function x(e){l.useEffect(e,[])}function S(e,t){let n=l.useRef(!0);l.useEffect(()=>{if(n.current)n.current=!1;else return e()},t)}function C(e,t=500){let[n,r]=l.useState(e);return p(()=>{let n=setTimeout(()=>r(e),t);return()=>{clearTimeout(n)}},[e,t]),n}const w=typeof window<`u`?l.useLayoutEffect:l.useEffect;function T(e,t=1e3){let n=l.useRef(e);w(()=>{n.current=e},[e]),p(()=>{if(!t&&t!==0)return;let e=setTimeout(()=>n.current(),t);return()=>clearTimeout(e)},[t])}function E(e,t,n){p(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t,n])}const D=(e,t)=>{let[n,r]=l.useState(t);return p(()=>{let t=sessionStorage.getItem(e);t&&r(JSON.parse(t))},[e]),[n,l.useCallback(t=>{r(n=>{let r=typeof t==`function`?t(n):t;return sessionStorage.setItem(e,JSON.stringify(r)),r})},[e])]},O=(e,t)=>{let[n,r]=l.useState(t);return p(()=>{let t=localStorage.getItem(e);t&&r(JSON.parse(t))},[e]),[n,l.useCallback(t=>{let i;i=typeof t==`function`?t(n):t,localStorage.setItem(e,JSON.stringify(i)),r(i)},[e])]},k=(e,t)=>{let[n,r]=l.useState(t);return p(()=>{let t=new URLSearchParams(window.location.search).get(e);t!==null&&r(t)},[e]),[n,t=>{let n=new URLSearchParams(window.location.search);n.set(e,String(t)),window.history.pushState({},``,`${window.location.pathname}?${n}`),r(t)}]},A=e=>{let[t,n]=l.useState(null),r=l.useRef(null);return p(()=>{let t=null;if(typeof e==`string`?t=document.querySelector(e):e?.current&&(t=e.current),!t)return;r.current!==t&&(r.current=t,n(t));let i=new ResizeObserver(()=>{r.current!==t&&(r.current=t,n(t))});return i.observe(t),()=>{i.disconnect()}},[e]),t};function j(){let[e,t]=l.useState(!1);return p(()=>{t(!0)},[]),e}function M(){l.useLayoutEffect(()=>{let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[])}function N({timeout:e=2e3}){let[t,n]=l.useState(!1);return{isCopied:t,copy:t=>{c.c(t,()=>{n(!0),setTimeout(()=>{n(!1)},e)})}}}const P=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:r=!1})=>{let[i,a]=l.useState(500),o=l.useCallback(()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0);a(n?window.innerHeight-r-t:r+t)},[e,t,n]);return p(()=>{if(o(),r){if(typeof r==`string`){let e=document.getElementById(r),t=new ResizeObserver(e=>{for(let t of e)o()});return e&&t.observe(e),()=>t?.disconnect()}return window.addEventListener(`resize`,o),()=>window.removeEventListener(`resize`,o)}},[o,r]),i},F=({blockIds:e=[],margin:t=0,substract:n=!0,dynamic:r=!1,onChange:i})=>{let[a,o]=l.useState({height:500,width:500}),[s,c]=l.useState(null),u=l.useCallback(()=>{let r=e.reduce((e,t)=>e+(document.getElementById(t)?.clientHeight||0),0),i=e.reduce((e,t)=>e+(document.getElementById(t)?.clientWidth||0),0),a=n?window.innerHeight-r-t:r+t,s=n?window.innerWidth-i-t:i+t;o(e=>e.height===a&&e.width===s?e:{height:a,width:s}),c({blocksWidth:i,blocksHeight:r,remainingWidth:s,remainingHeight:a})},[e,t,n]);return p(()=>{s&&i&&(i(s),c(null))},[s,i]),p(()=>{u();let t=[];if(e.length>0){let n=new MutationObserver(t=>{let n=!1;for(let r of t){for(let t of Array.from(r.addedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break;for(let t of Array.from(r.removedNodes))if(t instanceof Element&&(e.includes(t.id)||e.some(e=>t.querySelector(`#${CSS.escape(e)}`)))){n=!0;break}if(n)break}n&&u()});n.observe(document.body,{childList:!0,subtree:!0}),t.push(()=>n.disconnect())}if(r)if(typeof r==`string`){let e=document.getElementById(r);if(e){let n=new ResizeObserver(u);n.observe(e),t.push(()=>n.unobserve(e)),t.push(()=>n.disconnect())}}else window.addEventListener(`resize`,u),t.push(()=>window.removeEventListener(`resize`,u));return()=>{for(let e of t)e()}},[u,r,e.join(`,`)]),a},I=()=>{let[e,t]=l.useState(!1),n=l.useRef(null),r=l.useRef(null);return x(()=>{let e=r.current;if(!e)return;let i=()=>{t(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{t(!1)},150)};return i(),e.addEventListener(`scroll`,i),()=>{e.removeEventListener(`scroll`,i),n.current&&clearTimeout(n.current)}}),{isScrolling:e,scrollableContainerRef:r}},L=({offset:e}={})=>{let[t,n]=l.useState(!0),r=l.useRef(null);return x(()=>{let t=r.current;if(!t)return;let i=()=>{n(!(t.scrollTop>(e??10)))};return i(),t.addEventListener(`scroll`,i),()=>{t.removeEventListener(`scroll`,i)}}),{scrollableContainerRef:r,isAtTop:t}},R=({threshold:e=.1,root:t=null,rootMargin:n,onInteractionStart:r,onInteractionEnd:i}={})=>{let[a,o]=l.useState(!1),s=l.useRef(null),[c,u]=l.useState(null);return p(()=>{if(!s.current)return;let r=new IntersectionObserver(e=>{for(let t of e){let e=t.isIntersecting;e!==a&&(u({intersecting:e,wasIntersecting:a}),o(e))}},{threshold:e,root:t,...n&&{rootMargin:n}});return r.observe(s.current),()=>{r.disconnect()}},[e,t,n,a]),p(()=>{if(c){let{intersecting:e,wasIntersecting:t}=c;e&&!t?r?.():!e&&t&&i?.(),u(null)}},[c,r,i]),{ref:s,isIntersecting:a}};Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return k}});
|