@sohanemon/utils 7.3.6 → 7.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require(`../hooks-C_Qz_4SJ.cjs`),t=require(`../functions-D9FGWbyQ.cjs`);let n=require(`react`);n=e.N(n);let r=require(`@radix-ui/react-slot`),i=require(`react/jsx-runtime`),a=require(`@iconify/react`),o=require(`react-dom`);function s({selector:e,children:t}){let a=(0,n.useRef)(null),[o,s]=(0,n.useState)(!1),[c,l]=(0,n.useState)({hasClosest:!1,closestElement:null});return(0,n.useLayoutEffect)(()=>{if(a.current){let t=a.current.closest(e);l({hasClosest:t!==null,closestElement:t})}s(!0)},[e]),o?(0,i.jsx)(r.Slot,{ref:a,children:t(c)}):(0,i.jsx)(`span`,{ref:a})}function c({className:r,html:a,sanitize:o=!1,executeScripts:s=!0,...c}){let l=n.useRef([]),u=n.useRef(null);e.M(()=>{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,i.jsx)(`div`,{ref:u,className:t.r(r),dangerouslySetInnerHTML:{__html:d},...c}):null}function l({breakpoint:t,as:r=`div`,fallback:a=n.Fragment,className:o,classNameFallback:s,...c}){let l=e.T(t.split(`-`).pop())===t.startsWith(`max`),u=l?a:r,d=l?s:o;return u===n.Fragment?(0,i.jsx)(u,{ref:c.ref,children:c.children},c.key):(0,i.jsx)(u,{className:d,...c})}function u({delay:e=0,fallback:t=null,children:r}){let[a,o]=(0,n.useState)(e===0?`mounted`:`pending`),s=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(e!==0)return s.current=setTimeout(()=>o(`mounted`),e),()=>{s.current&&clearTimeout(s.current)}},[e]),a===`pending`?(0,i.jsx)(i.Fragment,{children:t}):(0,i.jsx)(i.Fragment,{children:r})}function d({children:e,container:t}){let r=(0,n.useRef)(null),[i,a]=(0,n.useState)(!1);return(0,n.useLayoutEffect)(()=>{t?r.current=typeof t==`string`?document.querySelector(t):t.current:r.current=document.body,a(!0)},[]),!i||!r.current?null:(0,o.createPortal)(e,r.current)}function f({children:t,fallback:r=null,mode:a=`persist`,preserveSpace:o=!1,options:s={}}){let c=(0,n.useRef)(null),l=(0,n.useRef)(null),u=(0,n.useRef)(null),[d,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(!1),[h,g]=(0,n.useState)(null);e.E(c,e=>{f(e),e&&!p&&m(!0)},s),(0,n.useLayoutEffect)(()=>{if(!o||!l.current||u.current!==null)return;let e=l.current.getBoundingClientRect().height;e>0&&(u.current=e,g(e))});let _=a===`unmount`?d:p,v=o&&h!==null?(0,i.jsx)(`span`,{"aria-hidden":!0,style:{display:`block`,height:h,contain:`strict`}}):r;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{ref:c,"aria-hidden":!0,style:{display:`block`,width:0,height:0,overflow:`hidden`,contain:`strict`}}),_?(0,i.jsx)(`span`,{ref:l,style:{display:`contents`},children:t}):v]})}const p=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],m=({side:t,offset:r=2,unit:a=`rem`})=>{let[o,s]=n.useState(t??`bottom-left`),c=e.T({DEFAULT:`xs`,sm:`sm`,md:`md`,lg:`lg`,xl:`xl`,"2xl":`2xl`}),[l,u]=n.useState(typeof window<`u`?window.innerWidth:0);n.useEffect(()=>{if(typeof window>`u`)return;let e=()=>u(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let d=c===`2xl`&&l>=1792?a===`rem`?`${(l/16).toFixed(1)}rem`:`${l}${a}`:c,f={"bottom-left":{bottom:`${r}${a}`,left:`${r}${a}`},"bottom-right":{bottom:`${r}${a}`,right:`${r}${a}`},"top-right":{top:`${r}${a}`,right:`${r}${a}`},"top-left":{top:`${r}${a}`,left:`${r}${a}`}};return(0,i.jsx)(`button`,{type:`button`,onClick:()=>{s(p[(p.indexOf(o)+1)%p.length])},style:{position:`fixed`,zIndex:50,display:`grid`,height:`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`,...f[o]},children:d})};function h(){return e.M(()=>{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`in window?window.requestIdleCallback(()=>r(e)):setTimeout(()=>r(e),0);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=c,Object.defineProperty(exports,`Iconify`,{enumerable:!0,get:function(){return a.Icon}}),exports.MediaWrapper=l,exports.MountAfter=u,exports.Portal=d,exports.RenderInView=f,exports.ResponsiveIndicator=m,exports.TailwindIndicator=m,exports.ScrollTracker=e.C,exports.ScrollableMarker=h,exports.WithClosest=s;
|
|
1
|
+
"use client";const e=require(`../hooks-C_Qz_4SJ.cjs`),t=require(`../functions-D9FGWbyQ.cjs`);let n=require(`react`);n=e.N(n);let r=require(`@radix-ui/react-slot`),i=require(`react/jsx-runtime`),a=require(`@iconify/react`),o=require(`react-dom`);function s({selector:e,children:t}){let a=(0,n.useRef)(null),[o,s]=(0,n.useState)(!1),[c,l]=(0,n.useState)({hasClosest:!1,closestElement:null});return(0,n.useLayoutEffect)(()=>{if(a.current){let t=a.current.closest(e);l({hasClosest:t!==null,closestElement:t})}s(!0)},[e]),o?(0,i.jsx)(r.Slot,{ref:a,children:t(c)}):(0,i.jsx)(`span`,{ref:a})}function c({className:r,html:a,sanitize:o=!1,executeScripts:s=!0,...c}){let l=n.useRef([]),u=n.useRef(null);e.M(()=>{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,i.jsx)(`div`,{ref:u,className:t.r(r),dangerouslySetInnerHTML:{__html:d},...c}):null}function l({breakpoint:t,as:r=`div`,fallback:a=n.Fragment,className:o,classNameFallback:s,...c}){let l=e.T(t.split(`-`).pop())===t.startsWith(`max`),u=l?a:r,d=l?s:o;return u===n.Fragment?(0,i.jsx)(u,{ref:c.ref,children:c.children},c.key):(0,i.jsx)(u,{className:d,...c})}function u({delay:e=0,fallback:t=null,children:r}){let[a,o]=(0,n.useState)(e===0?`mounted`:`pending`),s=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(e!==0)return s.current=setTimeout(()=>o(`mounted`),e),()=>{s.current&&clearTimeout(s.current)}},[e]),a===`pending`?(0,i.jsx)(i.Fragment,{children:t}):(0,i.jsx)(i.Fragment,{children:r})}function d({children:e,container:t}){let r=(0,n.useRef)(null),[i,a]=(0,n.useState)(!1);return(0,n.useLayoutEffect)(()=>{t?r.current=typeof t==`string`?document.querySelector(t):t.current:r.current=document.body,a(!0)},[]),!i||!r.current?null:(0,o.createPortal)(e,r.current)}function f({children:t,fallback:r=null,mode:a=`persist`,preserveSpace:o=!1,options:s={}}){let c=(0,n.useRef)(null),l=(0,n.useRef)(null),u=(0,n.useRef)(null),[d,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(!1),[h,g]=(0,n.useState)(null);e.E(c,e=>{f(e),e&&!p&&m(!0)},s),(0,n.useLayoutEffect)(()=>{if(!o||!l.current||u.current!==null)return;let e=l.current.getBoundingClientRect().height;e>0&&(u.current=e,g(e))});let _=a===`unmount`?d:p,v=o&&h!==null?(0,i.jsx)(`span`,{"aria-hidden":!0,style:{display:`block`,height:h,contain:`strict`}}):r;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{ref:c,"aria-hidden":!0,style:{position:`absolute`,display:`block`,width:0,height:0,overflow:`hidden`,contain:`strict`}}),_?(0,i.jsx)(`span`,{ref:l,style:{display:`contents`},children:t}):v]})}const p=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],m=({side:t,offset:r=2,unit:a=`rem`})=>{let[o,s]=n.useState(t??`bottom-left`),c=e.T({DEFAULT:`xs`,sm:`sm`,md:`md`,lg:`lg`,xl:`xl`,"2xl":`2xl`}),[l,u]=n.useState(typeof window<`u`?window.innerWidth:0);n.useEffect(()=>{if(typeof window>`u`)return;let e=()=>u(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let d=c===`2xl`&&l>=1792?a===`rem`?`${(l/16).toFixed(1)}rem`:`${l}${a}`:c,f={"bottom-left":{bottom:`${r}${a}`,left:`${r}${a}`},"bottom-right":{bottom:`${r}${a}`,right:`${r}${a}`},"top-right":{top:`${r}${a}`,right:`${r}${a}`},"top-left":{top:`${r}${a}`,left:`${r}${a}`}};return(0,i.jsx)(`button`,{type:`button`,onClick:()=>{s(p[(p.indexOf(o)+1)%p.length])},style:{position:`fixed`,zIndex:50,display:`grid`,height:`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`,...f[o]},children:d})};function h(){return e.M(()=>{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`in window?window.requestIdleCallback(()=>r(e)):setTimeout(()=>r(e),0);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=c,Object.defineProperty(exports,`Iconify`,{enumerable:!0,get:function(){return a.Icon}}),exports.MediaWrapper=l,exports.MountAfter=u,exports.Portal=d,exports.RenderInView=f,exports.ResponsiveIndicator=m,exports.TailwindIndicator=m,exports.ScrollTracker=e.C,exports.ScrollableMarker=h,exports.WithClosest=s;
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{r as e}from"../functions-CTMT4m8K.js";import{C as t,E as n,M as r,T as i}from"../hooks-2xIMhmiQ.js";import*as a from"react";import{useEffect as o,useLayoutEffect as s,useRef as c,useState as l}from"react";import{Slot as u}from"@radix-ui/react-slot";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import{Icon as m}from"@iconify/react";import{createPortal as h}from"react-dom";function g({selector:e,children:t}){let n=c(null),[r,i]=l(!1),[a,o]=l({hasClosest:!1,closestElement:null});return s(()=>{if(n.current){let t=n.current.closest(e);o({hasClosest:t!==null,closestElement:t})}i(!0)},[e]),r?f(u,{ref:n,children:t(a)}):f(`span`,{ref:n})}function _({className:t,html:n,sanitize:i=!1,executeScripts:o=!0,...s}){let c=a.useRef([]),l=a.useRef(null);r(()=>{if(c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),c.current=[],!(!o||!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,o]),a.useEffect(()=>()=>{c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let u=a.useMemo(()=>{if(!n)return``;if(i){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,i]);return n?f(`div`,{ref:l,className:e(t),dangerouslySetInnerHTML:{__html:u},...s}):null}function v({breakpoint:e,as:t=`div`,fallback:n=a.Fragment,className:r,classNameFallback:o,...s}){let c=i(e.split(`-`).pop())===e.startsWith(`max`),l=c?n:t,u=c?o:r;return l===a.Fragment?f(l,{ref:s.ref,children:s.children},s.key):f(l,{className:u,...s})}function y({delay:e=0,fallback:t=null,children:n}){let[r,i]=l(e===0?`mounted`:`pending`),a=c(null);return o(()=>{if(e!==0)return a.current=setTimeout(()=>i(`mounted`),e),()=>{a.current&&clearTimeout(a.current)}},[e]),r===`pending`?f(d,{children:t}):f(d,{children:n})}function b({children:e,container:t}){let n=c(null),[r,i]=l(!1);return s(()=>{t?n.current=typeof t==`string`?document.querySelector(t):t.current:n.current=document.body,i(!0)},[]),!r||!n.current?null:h(e,n.current)}function x({children:e,fallback:t=null,mode:r=`persist`,preserveSpace:i=!1,options:a={}}){let o=c(null),u=c(null),m=c(null),[h,g]=l(!1),[_,v]=l(!1),[y,b]=l(null);n(o,e=>{g(e),e&&!_&&v(!0)},a),s(()=>{if(!i||!u.current||m.current!==null)return;let e=u.current.getBoundingClientRect().height;e>0&&(m.current=e,b(e))});let x=r===`unmount`?h:_,S=i&&y!==null?f(`span`,{"aria-hidden":!0,style:{display:`block`,height:y,contain:`strict`}}):t;return p(d,{children:[f(`span`,{ref:o,"aria-hidden":!0,style:{display:`block`,width:0,height:0,overflow:`hidden`,contain:`strict`}}),x?f(`span`,{ref:u,style:{display:`contents`},children:e}):S]})}const S=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],C=({side:e,offset:t=2,unit:n=`rem`})=>{let[r,o]=a.useState(e??`bottom-left`),s=i({DEFAULT:`xs`,sm:`sm`,md:`md`,lg:`lg`,xl:`xl`,"2xl":`2xl`}),[c,l]=a.useState(typeof window<`u`?window.innerWidth:0);a.useEffect(()=>{if(typeof window>`u`)return;let e=()=>l(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let u=s===`2xl`&&c>=1792?n===`rem`?`${(c/16).toFixed(1)}rem`:`${c}${n}`:s;return f(`button`,{type:`button`,onClick:()=>{o(S[(S.indexOf(r)+1)%S.length])},style:{position:`fixed`,zIndex:50,display:`grid`,height:`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`,...{"bottom-left":{bottom:`${t}${n}`,left:`${t}${n}`},"bottom-right":{bottom:`${t}${n}`,right:`${t}${n}`},"top-right":{top:`${t}${n}`,right:`${t}${n}`},"top-left":{top:`${t}${n}`,left:`${t}${n}`}}[r]},children:u})};function w(){return r(()=>{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`in window?window.requestIdleCallback(()=>r(e)):setTimeout(()=>r(e),0);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{_ as HtmlInjector,m as Iconify,v as MediaWrapper,y as MountAfter,b as Portal,x as RenderInView,C as ResponsiveIndicator,C as TailwindIndicator,t as ScrollTracker,w as ScrollableMarker,g as WithClosest};
|
|
1
|
+
"use client";import{r as e}from"../functions-CTMT4m8K.js";import{C as t,E as n,M as r,T as i}from"../hooks-2xIMhmiQ.js";import*as a from"react";import{useEffect as o,useLayoutEffect as s,useRef as c,useState as l}from"react";import{Slot as u}from"@radix-ui/react-slot";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import{Icon as m}from"@iconify/react";import{createPortal as h}from"react-dom";function g({selector:e,children:t}){let n=c(null),[r,i]=l(!1),[a,o]=l({hasClosest:!1,closestElement:null});return s(()=>{if(n.current){let t=n.current.closest(e);o({hasClosest:t!==null,closestElement:t})}i(!0)},[e]),r?f(u,{ref:n,children:t(a)}):f(`span`,{ref:n})}function _({className:t,html:n,sanitize:i=!1,executeScripts:o=!0,...s}){let c=a.useRef([]),l=a.useRef(null);r(()=>{if(c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),c.current=[],!(!o||!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,o]),a.useEffect(()=>()=>{c.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)})},[]);let u=a.useMemo(()=>{if(!n)return``;if(i){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,i]);return n?f(`div`,{ref:l,className:e(t),dangerouslySetInnerHTML:{__html:u},...s}):null}function v({breakpoint:e,as:t=`div`,fallback:n=a.Fragment,className:r,classNameFallback:o,...s}){let c=i(e.split(`-`).pop())===e.startsWith(`max`),l=c?n:t,u=c?o:r;return l===a.Fragment?f(l,{ref:s.ref,children:s.children},s.key):f(l,{className:u,...s})}function y({delay:e=0,fallback:t=null,children:n}){let[r,i]=l(e===0?`mounted`:`pending`),a=c(null);return o(()=>{if(e!==0)return a.current=setTimeout(()=>i(`mounted`),e),()=>{a.current&&clearTimeout(a.current)}},[e]),r===`pending`?f(d,{children:t}):f(d,{children:n})}function b({children:e,container:t}){let n=c(null),[r,i]=l(!1);return s(()=>{t?n.current=typeof t==`string`?document.querySelector(t):t.current:n.current=document.body,i(!0)},[]),!r||!n.current?null:h(e,n.current)}function x({children:e,fallback:t=null,mode:r=`persist`,preserveSpace:i=!1,options:a={}}){let o=c(null),u=c(null),m=c(null),[h,g]=l(!1),[_,v]=l(!1),[y,b]=l(null);n(o,e=>{g(e),e&&!_&&v(!0)},a),s(()=>{if(!i||!u.current||m.current!==null)return;let e=u.current.getBoundingClientRect().height;e>0&&(m.current=e,b(e))});let x=r===`unmount`?h:_,S=i&&y!==null?f(`span`,{"aria-hidden":!0,style:{display:`block`,height:y,contain:`strict`}}):t;return p(d,{children:[f(`span`,{ref:o,"aria-hidden":!0,style:{position:`absolute`,display:`block`,width:0,height:0,overflow:`hidden`,contain:`strict`}}),x?f(`span`,{ref:u,style:{display:`contents`},children:e}):S]})}const S=[`bottom-left`,`bottom-right`,`top-right`,`top-left`],C=({side:e,offset:t=2,unit:n=`rem`})=>{let[r,o]=a.useState(e??`bottom-left`),s=i({DEFAULT:`xs`,sm:`sm`,md:`md`,lg:`lg`,xl:`xl`,"2xl":`2xl`}),[c,l]=a.useState(typeof window<`u`?window.innerWidth:0);a.useEffect(()=>{if(typeof window>`u`)return;let e=()=>l(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let u=s===`2xl`&&c>=1792?n===`rem`?`${(c/16).toFixed(1)}rem`:`${c}${n}`:s;return f(`button`,{type:`button`,onClick:()=>{o(S[(S.indexOf(r)+1)%S.length])},style:{position:`fixed`,zIndex:50,display:`grid`,height:`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`,...{"bottom-left":{bottom:`${t}${n}`,left:`${t}${n}`},"bottom-right":{bottom:`${t}${n}`,right:`${t}${n}`},"top-right":{top:`${t}${n}`,right:`${t}${n}`},"top-left":{top:`${t}${n}`,left:`${t}${n}`}}[r]},children:u})};function w(){return r(()=>{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`in window?window.requestIdleCallback(()=>r(e)):setTimeout(()=>r(e),0);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{_ as HtmlInjector,m as Iconify,v as MediaWrapper,y as MountAfter,b as Portal,x as RenderInView,C as ResponsiveIndicator,C as TailwindIndicator,t as ScrollTracker,w as ScrollableMarker,g as WithClosest};
|