react-motion-gallery 2.0.88 → 2.0.90

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
- import {a}from'./chunk-WGVWASZM.mjs';import {d}from'./chunk-WMG2LTLR.mjs';import'./chunk-L2HRIINV.mjs';import'./chunk-B4CC5AGE.mjs';import'./chunk-HK2DPKES.mjs';import*as o from'react';var p=6,R="[data-rmg-fullscreen-trigger]",f="[data-rmg-plyr='true'],.plyr,video,iframe";function c(e){return e instanceof Element?e:null}function T(e){return c(e)?.closest(R)??null}function L(e){return !!e.querySelector(f)}function y(e,t,l){if(l instanceof HTMLImageElement)return l;let n=l?.querySelector("img")??null;if(n)return n;let u=c(e);return u instanceof HTMLImageElement?u:t.querySelector("img")}function b(e){return !!c(e)?.closest(["a","button","input","select","textarea","summary","[role='button']","[data-rmg-part='dots']",".rmgArrow",".rmgDot",f,".plyr__controls"].join(","))}function S(e){let t=T(e);if(!t&&b(e))return null;let l=c(e),n=t?.closest('[data-rmg-slide="true"]')??l?.closest('[data-rmg-slide="true"]')??null;if(!n||L(n)&&!t)return null;let u=Number.parseInt(n.getAttribute("data-rmg-idx")??"",10);if(!Number.isFinite(u))return null;let i=y(e,n,t);return i?{index:u,image:i}:null}function x({host:e}){let t=d(),l=o.useRef(null);return o.useEffect(()=>{if(!(!t||t.layout!=="slider"||!t.sliderApiRef))return t.sliderApiRef.current=e.handle,()=>{t.sliderApiRef.current===e.handle&&(t.sliderApiRef.current=null);}},[t,e.handle]),o.useEffect(()=>{if(!t||t.layout!=="slider"||!e.handle||!t.fsEnabled)return;let n=e.handle.getRootNode();if(!n)return;n.setAttribute("data-rmg-fullscreen-enabled","true");let u=r=>{r.button!==0&&r.pointerType==="mouse"||(l.current={x:r.clientX,y:r.clientY,id:r.pointerId});},i=r=>{if(r.defaultPrevented)return;let s=l.current;if(l.current=null,s){let g=r.clientX-s.x,E=r.clientY-s.y;if(Math.hypot(g,E)>p)return}let a=S(r.target);a&&t.requestFullscreenOpen({source:"slider",index:a.index,image:a.image,event:r});};return n.addEventListener("pointerdown",u,true),n.addEventListener("click",i,true),()=>{n.removeAttribute("data-rmg-fullscreen-enabled"),n.removeEventListener("pointerdown",u,true),n.removeEventListener("click",i,true);}},[t,t?.fsEnabled,e.handle]),null}function H(){return a("fullscreen",{Runtime:x})}export{H as sliderFullscreen};
1
+ import {a}from'./chunk-WGVWASZM.mjs';import {d}from'./chunk-NLE2VYCU.mjs';import'./chunk-L2HRIINV.mjs';import'./chunk-B4CC5AGE.mjs';import'./chunk-HK2DPKES.mjs';import*as s from'react';var T=6,L="[data-rmg-fullscreen-trigger]",y="[data-rmg-plyr='true'],.plyr,video,iframe",S="200px";function E(n){return n instanceof Element?n:null}function I(n){return E(n)?.closest(L)??null}function M(n){return !!n.querySelector(y)}function g(n){let e=Number.parseInt(n.getAttribute("data-rmg-idx")??"",10);return Number.isFinite(e)?e:null}function v(n){let e=n.getContainerNode();return e?Array.from(e.querySelectorAll('[data-rmg-slide="true"]')):n.getSlideNodes()}function A(n,e,u){if(u instanceof HTMLImageElement)return u;let i=u?.querySelector("img")??null;if(i)return i;let r=E(n);return r instanceof HTMLImageElement?r:e.querySelector("img")}function H(n){return !!E(n)?.closest(["a","button","input","select","textarea","summary","[role='button']","[data-rmg-part='dots']",".rmgArrow",".rmgDot",y,".plyr__controls"].join(","))}function x(n){let e=I(n);if(!e&&H(n))return null;let u=E(n),i=e?.closest('[data-rmg-slide="true"]')??u?.closest('[data-rmg-slide="true"]')??null;if(!i||M(i)&&!e)return null;let r=g(i);if(r==null)return null;let o=A(n,i,e);return o?{index:r,image:o}:null}function h({host:n}){let e=d(),u=s.useRef(null),i=s.useRef(new Set);return s.useEffect(()=>{i.current.clear();},[n.slideCount]),s.useEffect(()=>{if(!(!e||e.layout!=="slider"||!e.sliderApiRef))return e.sliderApiRef.current=n.handle,()=>{e.sliderApiRef.current===n.handle&&(e.sliderApiRef.current=null);}},[e,n.handle]),s.useEffect(()=>{if(!e||e.layout!=="slider"||!n.handle||!e.fsEnabled)return;let r=n.handle.getRootNode();if(!r)return;r.setAttribute("data-rmg-fullscreen-enabled","true");let o=l=>{l.button!==0&&l.pointerType==="mouse"||(u.current={x:l.clientX,y:l.clientY,id:l.pointerId});},d=l=>{if(l.defaultPrevented)return;let c=u.current;if(u.current=null,c){let m=l.clientX-c.x,t=l.clientY-c.y;if(Math.hypot(m,t)>T)return}let a=x(l.target);a&&e.requestFullscreenOpen({source:"slider",index:a.index,image:a.image,event:l});};return r.addEventListener("pointerdown",o,true),r.addEventListener("click",d,true),()=>{r.removeAttribute("data-rmg-fullscreen-enabled"),r.removeEventListener("pointerdown",o,true),r.removeEventListener("click",d,true);}},[e,e?.fsEnabled,n.handle]),s.useEffect(()=>{if(!e||e.layout!=="slider"||!n.handle||!e.fsEnabled)return;let r=n.handle,o=r.getViewportNode();if(!o)return;let d=i.current,l=t=>{t==null||!Number.isFinite(t)||e.notifyBaseVisibleIndex(t);},c=t=>{t==null||d.has(t)||(d.add(t),l(t));};e.registerFullscreenAdapter("slider",{closestSelector:'[data-rmg-slide="true"]',syncBeforeOpen:t=>l(t)});try{r.cellsInView().forEach(t=>c(t));}catch{}let a=v(r);if(!a.length)return;if(typeof IntersectionObserver>"u"){a.forEach(t=>c(g(t)));return}let m=new IntersectionObserver(t=>{for(let f of t){if(!f.isIntersecting)continue;let p=f.target;p instanceof HTMLElement&&c(g(p)),m.unobserve(f.target);}},{root:o,rootMargin:S,threshold:0});return a.forEach(t=>{let f=g(t);f!=null&&d.has(f)||m.observe(t);}),()=>m.disconnect()},[e,e?.fsEnabled,n.handle,n.slideCount]),null}function C(){return a("fullscreen",{Runtime:h})}export{C as sliderFullscreen};
package/dist/video.mjs CHANGED
@@ -1 +1 @@
1
- export{a as Video,a as default}from'./chunk-EWU5OYTE.mjs';import'./chunk-C6PKH3FH.mjs';import'./chunk-PFEGIWQJ.mjs';import'./chunk-PBP3RTCJ.mjs';import'./chunk-UAEPMZQY.mjs';import'./chunk-UO4HNZIO.mjs';import'./chunk-UP6P6CQS.mjs';import'./chunk-NHIKOJLU.mjs';import'./chunk-LVYED5ZM.mjs';import'./chunk-T3TRJIQQ.mjs';import'./chunk-WMG2LTLR.mjs';import'./chunk-L2HRIINV.mjs';import'./chunk-B4CC5AGE.mjs';import'./chunk-HK2DPKES.mjs';
1
+ export{a as Video,a as default}from'./chunk-O36AELIC.mjs';import'./chunk-C6PKH3FH.mjs';import'./chunk-PFEGIWQJ.mjs';import'./chunk-D67HBVBW.mjs';import'./chunk-UAEPMZQY.mjs';import'./chunk-UO4HNZIO.mjs';import'./chunk-UP6P6CQS.mjs';import'./chunk-NHIKOJLU.mjs';import'./chunk-LVYED5ZM.mjs';import'./chunk-T3TRJIQQ.mjs';import'./chunk-NLE2VYCU.mjs';import'./chunk-L2HRIINV.mjs';import'./chunk-B4CC5AGE.mjs';import'./chunk-HK2DPKES.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-motion-gallery",
3
- "version": "2.0.88",
3
+ "version": "2.0.90",
4
4
  "description": "React gallery primitives for sliders, carousels, grid, masonry, fullscreen lightbox, entries, video, zoom/pan/pinch, skeleton loading and reveal animations",
5
5
  "keywords": [
6
6
  "react",
@@ -1 +0,0 @@
1
- import {b}from'./chunk-L2HRIINV.mjs';import {a}from'./chunk-HK2DPKES.mjs';import*as n from'react';import {jsx}from'react/jsx-runtime';function ie(e){return !!e&&e.kind==="image"}function re(e){return e?e instanceof HTMLImageElement?e:e instanceof HTMLElement?e.querySelector("img"):null:null}function de(e){return e&&e instanceof HTMLElement?e:null}function O(e){return !!e?.closest('[data-rmg-fs-root="true"]')}function me(e,l){let u=e.closest('[data-rmg-layoutless-item], article, figure, section, button, a[href], [role="button"], li');if(u&&l.contains(u)&&!O(u))return u;let d=c=>Array.from(c.querySelectorAll("img, video")).filter(m=>!O(m)).length,i=e,a=e.parentElement;for(;a&&a!==l;){if(d(a)>1)return i;i=a,a=a.parentElement;}return i}function fe(e){if(!e)return [];let l=Array.from(e.querySelectorAll("img, video")).filter(i=>!O(i)),u=new Set,d=[];for(let i of l){let a=me(i,e);if(u.has(a))continue;u.add(a);let c=a instanceof HTMLImageElement?a:a.querySelector("img"),m=c??(a instanceof HTMLVideoElement?a:a.querySelector("video"))??a;d.push({host:a,image:c,media:m});}return d}function pe(e){if(!e)return {host:null,image:null};let l=e,u=l.nativeEvent??l,d=[],i=c=>{!c||d.includes(c)||d.push(c);};i(l.currentTarget),i(u.currentTarget),i(l.target),i(u.target),(u.composedPath?.()??l.composedPath?.()??[]).forEach(c=>i(c));for(let c of d){if(!(c instanceof HTMLElement))continue;if(c instanceof HTMLImageElement)return {host:c,image:c};let m=c.querySelector("img");if(m)return {host:c,image:m}}return {host:null,image:null}}function Re(e,l){return (l??"scale")==="fade"?"fade":ie(e)?"scale":"fade"}function x(){let e=new Set;return {emit(l){e.forEach(u=>u(l));},subscribe(l){return e.add(l),()=>{e.delete(l);}}}}function L(e,l,u){return Math.max(l,Math.min(u,e))}function A(e){return Array.isArray(e)?e:[e]}function ge(e,l){return e?n.Children.toArray(e).map(d=>({id:l(),node:d})):[]}function ye(e){let{layout:l=null,breakpoints:u,fullscreenItems:d,nodes:i}=e,a$1=n.useRef([]),c=n.useRef(null),m=n.useRef([]),N=n.useCallback((t,r)=>{let s=a$1.current[t];if(s&&r===s)return;if(!r){a$1.current[t]=null;return}if(r.tagName==="IMG"){a$1.current[t]=r;return}let o=r.querySelector("img");a$1.current[t]=o;},[]),G=n.useMemo(()=>({...a,...u||{}}),[u]),q=n.useRef(null),V=n.useRef(new Map),B=n.useCallback((t,r)=>{V.current.set(t,r);},[]),v=n.useCallback(t=>V.current.get(t)??null,[]),se=n.useRef(0),p=n.useCallback(()=>`rmg-${++se.current}`,[]),[w,ae]=n.useState(false),P=n.useCallback(t=>{ae(t);},[]),[j,oe]=n.useState(false),S=n.useRef(false),z=n.useCallback(t=>{S.current=t,oe(t);},[]),_=n.useMemo(()=>ge(i,p),[]),R=n.useRef(_),[D,ce]=n.useState(_),[b$1,H]=n.useState(()=>b(d));n.useEffect(()=>{H(b(d));},[d]);function y(t){R.current=t,ce(t);}let K=n.useCallback(t=>{let r=A(t).map(o=>({id:p(),node:o})),s=[...R.current,...r];return y(s),s.length},[p]),$=n.useCallback(t=>{let s=[...A(t).map(o=>({id:p(),node:o})),...R.current];return y(s),s.length},[p]),J=n.useCallback((t,r)=>{let s=R.current.slice(),o=A(r).map(h=>({id:p(),node:h})),f=L(t|0,0,s.length),g=[...s.slice(0,f),...o,...s.slice(f)];return y(g),g.length},[p]),Q=n.useCallback(t=>{let r=R.current;if(!r.length)return 0;let s=typeof t=="function"?r.filter((o,f)=>!t(f)):(()=>{let o=L(t|0,0,r.length-1);return r.slice(0,o).concat(r.slice(o+1))})();return y(s),s.length},[]),U=n.useCallback((t,r)=>{let s=R.current;if(!s.length)return;let o=L(t|0,0,s.length-1),f=s[o].id,g=s.slice();g[o]={id:f,node:r},y(g);},[]),W=n.useCallback(t=>{let r=(t??[]).map(s=>({id:p(),node:s}));return y(r),r.length},[p]),E=n.useMemo(()=>x(),[]),M=n.useCallback(t=>{E.emit(t);},[E]),T=n.useCallback(t=>{let r=de(m.current[t]??null),s=re(m.current[t]??null);if(r||s)return {host:r??s,image:s,media:s??r};let o=fe(c.current)[t]??null;return o?.host||o?.image||o?.media?(o.host?m.current[t]=o.host:o.image&&(m.current[t]=o.image),o):{host:null,image:null,media:null}},[]),X=n.useCallback(t=>{let r=L(t.index|0,0,Math.max(0,b$1.length-1)),s=b$1[r]??null,o=pe(t.event),f=T(r),g=o.image??f.image??re(a$1.current[r]??null);o.host?m.current[r]=o.host:f.host&&(m.current[r]=f.host);let h=t.method,ee=Re(s,h),ue=ee==="scale"?g:null,te=l==="slider"?"slider":l==="grid"?"grid":l==="masonry"?"masonry":l==="entries"?"entries":null;te&&v(te)?.syncBeforeOpen?.(r),M({source:"api",index:r,image:ue,method:ee,requestedMethod:h,event:t.event});},[b$1,a$1,l,v,M,T]),I=n.useMemo(()=>x(),[]),Y=n.useCallback(t=>{typeof t=="number"&&I.emit({index:t,reason:"io"});},[I]),C=n.useMemo(()=>x(),[]),Z=n.useCallback(t=>{typeof t=="number"&&C.emit({index:t,reason:"active"});},[C]);return n.useMemo(()=>({layout:l,layoutlessRootRef:c,effectiveBreakpoints:G,cellsState:D,cellsRef:R,normalizedItems:b$1,setNormalizedItems:H,sliderApiRef:q,append:K,prepend:$,insert:J,remove:Q,replace:U,setItems:W,requestFullscreenOpen:M,openFullscreenAt:X,fsOpenSub:E,fsEnabled:w,setFsEnabled:P,isFullscreenOpen:j,isFullscreenOpenRef:S,setFullscreenOpen:z,registerFullscreenAdapter:B,getFullscreenAdapter:v,expandableImageRefs:a$1,registerExpandableImage:N,baseVisibleSub:I,notifyBaseVisibleIndex:Y,fsVisibleSub:C,notifyFsVisibleIndex:Z,resolveLayoutlessTarget:T}),[l,c,G,D,b$1,j,R,H,q,K,$,J,Q,U,W,M,X,E,w,P,S,z,B,v,a$1,N,I,Y,C,Z,T])}var k=n.createContext(null);function be(e){let l=ye(e);return jsx(k.Provider,{value:l,children:e.layout==null?jsx("div",{ref:l.layoutlessRootRef,"data-rmg-layoutless-root":"true",style:{display:"contents"},children:e.children}):e.children})}var Ie=be;function Ce(){let e=n.useContext(k);if(!e)throw new Error("useGalleryCore() must be used inside <GalleryCore />");return e}function he(){return n.useContext(k)}export{be as a,Ie as b,Ce as c,he as d};