@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 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, U>(
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
- source: U,
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 & U
228
+ ): TMerged<T | S[number]>
202
229
 
203
230
  convertToSlug(str: string): string
204
231
 
@@ -1 +1 @@
1
- "use client";const e=require(`../hooks-CswCcD42.cjs`),t=require(`../functions-BQWC9vZ0.cjs`);let n=require(`react`);n=e.D(n);let r=require(`react/jsx-runtime`),i=require(`@iconify/react`);function a({className:e,html:i,sanitize:a=!1,executeScripts:o=!0,...s}){let c=n.useRef([]),l=n.useRef(null);n.useEffect(()=>{if(c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),c.current=[],!(!o||!i))try{let e=document.createElement(`div`);e.innerHTML=i,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),c.current.push(t)})}catch(e){console.error(`HTML injection error:`,e)}},[i,o]),n.useEffect(()=>()=>{c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let u=n.useMemo(()=>{if(!i)return``;if(a){let e=document.createElement(`div`);e.innerHTML=i,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 i},[i,a]);return i?(0,r.jsx)(`div`,{ref:l,className:t.a(e),dangerouslySetInnerHTML:{__html:u},...s}):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.m?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=``;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}`;let h={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)};return process.env.NODE_ENV===`production`?null:(0,r.jsx)(`button`,{type:`button`,style:h,onClick:p,children:m})};function c(){return e.E(()=>{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.S,exports.ScrollableMarker=c;
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 react_jsx_runtime1 from "react/jsx-runtime";
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): react_jsx_runtime1.JSX.Element | null;
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): react_jsx_runtime1.JSX.Element;
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) => react_jsx_runtime1.JSX.Element;
169
+ }: ScrollTrackerProps) => react_jsx_runtime0.JSX.Element;
170
170
  //#endregion
171
171
  //#region src/components/scrollable-marker.d.ts
172
172
  /**
@@ -1 +1 @@
1
- "use client";import{a as e,m as t}from"../functions-DdPaJAsm.js";import{E as n,S as r,m as i}from"../hooks-C9b8HxlS.js";import*as a from"react";import{jsx as o}from"react/jsx-runtime";import{Icon as s}from"@iconify/react";function c({className:t,html:n,sanitize:r=!1,executeScripts:i=!0,...s}){let c=a.useRef([]),l=a.useRef(null);a.useEffect(()=>{if(c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),c.current=[],!(!i||!n))try{let e=document.createElement(`div`);e.innerHTML=n,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),c.current.push(t)})}catch(e){console.error(`HTML injection error:`,e)}},[n,i]),a.useEffect(()=>()=>{c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let u=a.useMemo(()=>{if(!n)return``;if(r){let e=document.createElement(`div`);e.innerHTML=n,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 n},[n,r]);return n?o(`div`,{ref:l,className:e(t),dangerouslySetInnerHTML:{__html:u},...s}):null}function l({breakpoint:e,as:t=`div`,fallback:n=a.Fragment,className:r,classNameFallback:s,...c}){let l=i(e.split(`-`).pop())===e.startsWith(`max`);return o(l?n:t,{className:l?s:r,...c})}const u=({side:e,offset:n=2,unit:r=`px`})=>{let[i,s]=a.useState(t?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]=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=``;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}`;let h={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)};return process.env.NODE_ENV===`production`?null:o(`button`,{type:`button`,style:h,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,r as ScrollTracker,d as ScrollableMarker};
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}});
@@ -1 +1 @@
1
- "use client";const e=require(`../hooks-CswCcD42.cjs`);require(`../functions-BQWC9vZ0.cjs`),exports.useAction=e.w,exports.useAsync=e.C,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.T,exports.useScheduledEffect=e.E,exports.useScrollTracker=e.x,exports.useSessionStorage=e.g,exports.useTimeout=e._,exports.useUpdateEffect=e.v,exports.useUrlParams=e.y,exports.useWindowEvent=e.b;
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;
@@ -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 };
@@ -1,4 +1,4 @@
1
- import { S as Task, x as ScheduleOpts } from "../index-CKE8ocfo.js";
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 };
@@ -1 +1 @@
1
- "use client";import"../functions-DdPaJAsm.js";import{C as e,E as t,T as n,_ as r,a as i,b as a,c as o,d as s,f as c,g as l,h as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x,w as S,x as C,y as w}from"../hooks-C9b8HxlS.js";export{S as useAction,e as useAsync,y as useClickOutside,m as useCopyToClipboard,_ as useDebounce,d as useDomCalculation,i as useEffectOnce,h as useHeightCalculation,v as useIntersection,o as useIsAtTop,f as useIsClient,b as useIsScrolling,s as useIsomorphicEffect,c as useLocalStorage,g as useLockScroll,p as useMediaQuery,u as useQuerySelector,n as useSchedule,t as useScheduledEffect,C as useScrollTracker,l as useSessionStorage,r as useTimeout,x as useUpdateEffect,w as useUrlParams,a as useWindowEvent};
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
- export { getClientSideCookie as A, schedule as C, hydrate as D, getObjectValue as E, setClientSideCookie as M, deepmerge as O, Task as S, extendProps as T, sleep as _, convertToSlug as a, shield as b, escapeRegExp as c, isNavActive as d, isSSR as f, scrollTo as g, printf as h, convertToNormalCase as i, hasClientSideCookie as j, deleteClientSideCookie as k, goToClientSideHash as l, normalizeText as m, cleanSrc as n, copyToClipboard as o, mergeRefs as p, cn as r, debounce as s, MergeRefs as t, isLinkActive as u, svgToBase64 as v, poll as w, ScheduleOpts as x, throttle as y };
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-BQWC9vZ0.cjs`);exports.cleanSrc=e.i,exports.cn=e.a,exports.convertToNormalCase=e.o,exports.convertToSlug=e.s,exports.copyToClipboard=e.c,exports.debounce=e.l,exports.deepmerge=e.T,exports.deleteClientSideCookie=e.A,exports.escapeRegExp=e.u,exports.extendProps=e.S,exports.getClientSideCookie=e.j,exports.getObjectValue=e.C,exports.goToClientSideHash=e.d,exports.hasClientSideCookie=e.M,exports.hydrate=e.w,exports.isFalsy=e.E,exports.isLinkActive=e.f,exports.isNavActive=e.p,exports.isNullish=e.D,exports.isPlainObject=e.O,exports.isPrimitive=e.k,exports.isSSR=e.m,exports.mergeRefs=e.h,exports.normalizeText=e.g,exports.poll=e.r,exports.printf=e._,exports.schedule=e.n,exports.scrollTo=e.v,exports.setClientSideCookie=e.N,exports.shield=e.t,exports.sleep=e.y,exports.svgToBase64=e.b,exports.throttle=e.x;
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 getClientSideCookie, C as schedule, D as hydrate, E as getObjectValue, M as setClientSideCookie, O as deepmerge, S as Task, T as extendProps, _ as sleep, a as convertToSlug, b as shield, c as escapeRegExp, d as isNavActive, f as isSSR, g as scrollTo, h as printf, i as convertToNormalCase, j as hasClientSideCookie, k as deleteClientSideCookie, l as goToClientSideHash, m as normalizeText, n as cleanSrc, o as copyToClipboard, p as mergeRefs, r as cn, s as debounce, t as MergeRefs, u as isLinkActive, v as svgToBase64, w as poll, x as ScheduleOpts, y as throttle } from "./index-CKE8ocfo.js";
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,S as s,T as c,_ as l,a as u,b as d,c as f,d as p,f as m,g as h,h as g,i as _,j as v,k as y,l as b,m as x,n as S,o as C,p as w,r as T,s as E,t as D,u as O,v as k,w as A,x as j,y as M}from"./functions-DdPaJAsm.js";export{_ as cleanSrc,u as cn,C as convertToNormalCase,E as convertToSlug,f as copyToClipboard,b as debounce,c as deepmerge,e as deleteClientSideCookie,O as escapeRegExp,s as extendProps,v as getClientSideCookie,t as getObjectValue,p as goToClientSideHash,i as hasClientSideCookie,A as hydrate,r as isFalsy,m as isLinkActive,w as isNavActive,n as isNullish,o as isPlainObject,y as isPrimitive,x as isSSR,g as mergeRefs,h as normalizeText,T as poll,l as printf,S as schedule,k as scrollTo,a as setClientSideCookie,D as shield,M as sleep,d as svgToBase64,j as throttle};
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.0",
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};
@@ -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};
@@ -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}});