UNPKG

@anoki/fse-ui

Version:

FSE UI components library

3 lines (2 loc) 3.76 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index.cjs614.js"),L=require("react"),H=require("react-dom");function U(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=U(L),I=U(H);var J=typeof document<"u",K=function(){},R=J?L.useLayoutEffect:K;function P(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,s;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!P(e[r],t[r]))return!1;return!0}if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,s[r]))return!1;for(r=n;r--!==0;){const g=s[r];if(!(g==="_owner"&&e.$$typeof)&&!P(e[g],t[g]))return!1}return!0}return e!==e&&t!==t}function $(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function z(e,t){const n=$(e);return Math.round(t*n)/n}function D(e){const t=o.useRef(e);return R(()=>{t.current=e}),t}function Q(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:s,elements:{reference:g,floating:A}={},transform:j=!0,whileElementsMounted:k,open:S}=e,[u,E]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[M,T]=o.useState(r);P(M,r)||T(r);const[B,N]=o.useState(null),[V,W]=o.useState(null),b=o.useCallback(i=>{i!==d.current&&(d.current=i,N(i))},[]),v=o.useCallback(i=>{i!==p.current&&(p.current=i,W(i))},[]),c=g||B,l=A||V,d=o.useRef(null),p=o.useRef(null),w=o.useRef(u),G=k!=null,O=D(k),_=D(s),C=D(S),y=o.useCallback(()=>{if(!d.current||!p.current)return;const i={placement:t,strategy:n,middleware:M};_.current&&(i.platform=_.current),f.computePosition(d.current,p.current,i).then(h=>{const m={...h,isPositioned:C.current!==!1};x.current&&!P(w.current,m)&&(w.current=m,I.flushSync(()=>{E(m)}))})},[M,t,n,_,C]);R(()=>{S===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,E(i=>({...i,isPositioned:!1})))},[S]);const x=o.useRef(!1);R(()=>(x.current=!0,()=>{x.current=!1}),[]),R(()=>{if(c&&(d.current=c),l&&(p.current=l),c&&l){if(O.current)return O.current(c,l,y);y()}},[c,l,y,O,G]);const F=o.useMemo(()=>({reference:d,floating:p,setReference:b,setFloating:v}),[b,v]),a=o.useMemo(()=>({reference:c,floating:l}),[c,l]),q=o.useMemo(()=>{const i={position:n,left:0,top:0};if(!a.floating)return i;const h=z(a.floating,u.x),m=z(a.floating,u.y);return j?{...i,transform:"translate("+h+"px, "+m+"px)",...$(a.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:h,top:m}},[n,j,a.floating,u.x,u.y]);return o.useMemo(()=>({...u,update:y,refs:F,elements:a,floatingStyles:q}),[u,y,F,a,q])}const X=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:s}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?f.arrow({element:r.current,padding:s}).fn(n):{}:r?f.arrow({element:r,padding:s}).fn(n):{}}}},Y=(e,t)=>({...f.offset(e),options:[e,t]}),Z=(e,t)=>({...f.shift(e),options:[e,t]}),ee=(e,t)=>({...f.limitShift(e),options:[e,t]}),te=(e,t)=>({...f.flip(e),options:[e,t]}),ne=(e,t)=>({...f.size(e),options:[e,t]}),re=(e,t)=>({...f.hide(e),options:[e,t]}),oe=(e,t)=>({...X(e),options:[e,t]});exports.autoUpdate=f.autoUpdate;exports.computePosition=f.computePosition;exports.platform=f.platform;exports.arrow=oe;exports.flip=te;exports.hide=re;exports.limitShift=ee;exports.offset=Y;exports.shift=Z;exports.size=ne;exports.useFloating=Q; //# sourceMappingURL=index.cjs612.js.map