react-motion-gallery 2.0.6 → 2.0.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.
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .entryRow{position:relative;min-height:var(--rmg-entry-min-height, 260px)}.entryRow[data-rmg-entry-mounted="1"] .entrySkeletonWrap{position:absolute;inset:0;z-index:1;height:auto}.entrySkeletonWrap{position:relative;display:block;opacity:1;transition:opacity .15s linear;pointer-events:none;z-index:0;height:var(--rmg-entry-min-height, 260px);border-radius:12px;background-color:var(--rmg-entry-skeleton-bg, transparent);overflow:hidden}.entryInner{position:relative;opacity:0;pointer-events:none;min-height:var(--rmg-entry-min-height, 260px);transition:opacity var(--rmg-entry-intro-duration, .7s) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1));transition-delay:0ms;z-index:0}.entryRow[data-rmg-entry-ready="1"] .entrySkeletonWrap{opacity:0}.entryRow[data-rmg-entry-ready="1"] .entryInner{opacity:1;pointer-events:auto;transition-delay:calc(var(--rmg-entry-intro-index, 0) * var(--rmg-entry-intro-stagger, .2s))}.entryList{display:flex;flex-direction:column;gap:1.5rem}.entrySkeletonTile{width:100%;height:100%;overflow:hidden}.entrySkeletonShimmer{position:relative;overflow:hidden;border-radius:inherit;--rmg-shimmer-c1: #f0f2f5;--rmg-shimmer-c2: #e6e9ef;--rmg-shimmer-c3: #f0f2f5;--rmg-shimmer-size: 400% 100%;--rmg-shimmer-duration: 1.2s;--rmg-shimmer-timing: linear;background:linear-gradient(90deg,var(--rmg-shimmer-c1) 25%,var(--rmg-shimmer-c2) 37%,var(--rmg-shimmer-c3) 63%);background-size:var(--rmg-shimmer-size);animation:rmgShimmer var(--rmg-shimmer-duration) infinite var(--rmg-shimmer-timing)}.entrySkelRoot{--rmg-skel-bg: rgba(0, 0, 0, .08);--rmg-skel-hi: rgba(0, 0, 0, .12);--rmg-skel-radius: 12px;--rmg-skel-shimmer-enabled: 1;--rmg-skel-shimmer-duration: 1.2s;--rmg-skel-shimmer-band: 40%;--rmg-skel-shimmer-angle: 25deg;width:100%}.entrySkelGroup{display:flex;min-width:0}.entrySkelStack{flex-direction:column;width:100%}.entrySkelRow{flex-direction:row;width:100%}.entrySkelCol{flex-direction:column;width:100%}.entrySkelTile{flex:0 0 auto;position:relative;display:block;background:var(--rmg-skel-bg, rgba(0, 0, 0, .08));border-radius:var(--rmg-skel-radius);overflow:hidden}.entrySkelTile:after{content:"";position:absolute;opacity:calc(var(--rmg-skel-shimmer-enabled) * 1);transform:rotate(var(--rmg-skel-shimmer-angle));background:linear-gradient(90deg,transparent 0%,var(--rmg-skel-hi, rgba(255, 255, 255, .18)) 50%,transparent 100%);width:var(--rmg-skel-shimmer-band);inset:-40% -40% -40% -60%;animation:rmg-skel-shimmer var(--rmg-skel-shimmer-duration) linear infinite}@keyframes rmg-skel-shimmer{0%{left:-60%}to{left:160%}}.entrySkelRect{flex:0 0 auto;width:100%;height:16px}.entrySkelSquare{width:48px;height:48px}.entrySkelCircle{width:44px;height:44px;border-radius:999px}[data-rmg-plyr-provider=mp4] :global(.plyr__video-wrapper),[data-rmg-plyr-provider=vimeo] :global(.plyr__video-wrapper){pointer-events:none!important}.thumb{position:relative;border:1px solid rgba(0,0,0,.12);border-radius:6px;overflow:hidden;box-sizing:border-box}.thumb:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 2px #111 inset;opacity:0;transition:opacity .12s ease;z-index:1}.thumb[data-active=true]:after{opacity:1}.thumb :global(img){display:block;width:100%;height:100%;object-fit:cover;position:relative;z-index:0}.fade_container [data-rmg-thumb-index]>*{opacity:0;transform:translateY(var(--rmg-intro-transform, 10px));transition:opacity var(--rmg-intro-duration, .3s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)),transform var(--rmg-intro-duration, .3s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));will-change:opacity,transform}.fade_container.fadeInActive [data-rmg-thumb-index]>*{opacity:1;transform:translateY(0)}.fullscreenOverlay{position:fixed;inset:0;opacity:0;pointer-events:none;background-color:#000c;transition:opacity .3s cubic-bezier(.4,0,.22,1);will-change:opacity;z-index:8999;transform:translateZ(0);backface-visibility:hidden;contain:paint}.open{opacity:1;pointer-events:auto}.duplicateImg{position:fixed;display:none;transform-origin:top left;transition:transform .3s cubic-bezier(.4,0,.22,1);z-index:9998;will-change:transform}.closeBtn,.leftChevron,.rightChevron,.counter{position:fixed;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.22,1);z-index:2147483602}.closeBtn.open,.leftChevron.open,.rightChevron.open,.counter.open{opacity:1;pointer-events:auto}.closeBtn{top:12px;right:12px;background:transparent;border:none;padding:0;width:35px;height:35px;cursor:pointer}.leftChevron,.rightChevron{top:45.5%;width:50px;height:50px;cursor:pointer;background-color:transparent;border:none}.leftChevron{left:0;transform:rotate(180deg)}.rightChevron{right:0}.counter{top:15px;left:16px;color:#fff;font-size:14px;line-height:32px;user-select:none;text-shadow:1px 1px 3px #4f4f4f}.fsOverlayCaption{position:fixed;padding:1rem 1.5rem;color:#fff;font-size:.875rem;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .3s cubic-bezier(.4,0,.22,1),transform .3s cubic-bezier(.4,0,.22,1);z-index:9999}.fsOverlayCaption.open{opacity:1;transform:translateY(0)}.track{position:relative;left:0}.rtl .track{left:auto;right:0}.slider_container,.fade_container{height:100%;min-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px))}.viewport{overflow:hidden;height:100%;width:100%;position:relative}.track{position:relative;height:100%;width:100%;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.fadeInStart{opacity:0}.fadeInActive{opacity:1;transition:opacity var(--rmg-intro-duration, .42s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1))}@media(prefers-reduced-motion:reduce){.fadeInActive{transition:none}}.pagination_dot{position:relative;width:14px;height:14px;overflow:hidden;border-radius:50%;margin:5px;cursor:pointer;transition:transform .2s ease,background-color .3s ease,box-shadow .3s ease}.pagination_dot:hover{transform:scale(1.2)}.pagination_dot.active{background-color:#50a3ff;box-shadow:0 0 8px #50a3ff99}.pagination_dot.inactive{background-color:#d3d3d3}.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .6s linear;background-color:#0000004d;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.fade_container [data-rmg-idx]>*{opacity:0;transform:translateY(var(--rmg-intro-offset, 10px));transition:opacity var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)),transform var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));will-change:opacity,transform}.fade_container.fadeInActive [data-rmg-idx]>*{opacity:1;transform:translateY(0)}.sliderSkeletonOverlay{position:absolute;inset:0;z-index:5;pointer-events:none;display:flex;justify-content:center}.sliderSkeletonRow{display:flex;width:100%;gap:.75rem;height:var(--rmg-slider-initial-height, var(--rmg-slider-height, 320px));align-items:stretch}.sliderShell{position:relative;width:100%;container-type:inline-size;height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px));min-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px));max-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px))}.sliderSkeletonItem{flex:1 1 0;height:100%;min-width:0;display:flex}.sliderSkeletonGroup{display:flex;min-width:0;min-height:0;width:100%}.sliderSkeleton{width:100%;height:auto;border-radius:var(--rmg-shimmer-radius, 10px);overflow:hidden;position:relative;background:linear-gradient(90deg,var(--rmg-shimmer-c1, #f0f2f5) 25%,var(--rmg-shimmer-c2, #e6e9ef) 37%,var(--rmg-shimmer-c3, #f0f2f5) 63%);background-size:var(--rmg-shimmer-size, 400% 100%);animation:rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear)}.thumbSkeletonOverlay{position:absolute;inset:0;z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:.5rem}.thumbSkeletonRow{display:flex;width:100%;height:100%}.thumbSkeleton{border-radius:6px;overflow:hidden;position:relative;background:linear-gradient(90deg,var(--rmg-shimmer-c1, #f0f2f5) 25%,var(--rmg-shimmer-c2, #e6e9ef) 37%,var(--rmg-shimmer-c3, #f0f2f5) 63%);background-size:var(--rmg-shimmer-size, 400% 100%);animation:rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear)}.gridRoot,.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rmg-grid-min, 160px),1fr));gap:var(--rmg-grid-gap, 8px)}.gridItem{position:relative;display:block;cursor:pointer}.gridItem img,.gridItem video{display:block;width:100%;height:auto;object-fit:cover}.gridSkeletonOverlay{position:relative;width:100%}.gridSkeletonGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rmg-grid-min, 160px),1fr));gap:var(--rmg-grid-gap, 8px)}.gridSkeletonItem{position:relative;width:100%}@keyframes rmgShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){.gridSkeletonItem{animation:none}}.gridSkelTile{position:relative;display:block;width:100%;min-width:0;height:auto;background:var(--rmg-skel-bg, rgba(0, 0, 0, .08));border-radius:var(--rmg-skel-radius, 12px);overflow:hidden}.gridSkelSquare{aspect-ratio:1 / 1}.gridSkelCircle{aspect-ratio:1 / 1;border-radius:999px}.gridSkelGroup{display:flex;min-width:0}.gridSkelRow{flex-direction:row;align-items:center}.gridSkelCol,.gridSkelStack{flex-direction:column;align-items:stretch}.gridSkelShimmer:before{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * 1);background:linear-gradient(var(--rmg-skel-shimmer-angle, 25deg),transparent 0%,var(--rmg-skel-hi, rgba(255, 255, 255, .16)) 50%,transparent 100%);transform:translate(-120%);animation:rmg_grid_skel_shimmer var(--rmg-skel-shimmer-duration, 1.2s) linear infinite;background-size:var(--rmg-skel-shimmer-band, 40%) 100%}@keyframes rmg_grid_skel_shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}.masonryRoot{display:flex;align-items:flex-start;width:100%;column-gap:var(--rmg-masonry-gap, 8px)}.masonryCol{flex:1;min-width:0;display:flex;flex-direction:column}.masonryItem{position:relative;display:block;cursor:pointer}.masonryItem img,.masonryItem video{display:block;width:100%;object-fit:cover}.introContainer{opacity:0}.introActive{opacity:1;transition:opacity var(--rmg-intro-duration, .42s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1))}.introContainer [data-rmg-idx]{opacity:0;transform:var(--rmg-intro-transform, translateY(10px) scale(.99));transition:opacity .3s cubic-bezier(.4,0,.22,1),transform .3s cubic-bezier(.4,0,.22,1);transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));will-change:opacity,transform}.introContainer.introActive [data-rmg-idx]{opacity:1;transform:none}
1
+ .entryRow{position:relative;min-height:var(--rmg-entry-min-height, 260px)}.entryRow[data-rmg-entry-mounted="1"] .entrySkeletonWrap{position:absolute;inset:0;z-index:1;height:auto}.entrySkeletonWrap{position:relative;display:block;opacity:1;transition:opacity .15s linear;transition-delay:0ms;pointer-events:none;z-index:0;height:var(--rmg-entry-min-height, 260px);border-radius:12px;background-color:var(--rmg-entry-skeleton-bg, transparent);overflow:hidden}.entryInner{position:relative;opacity:0;pointer-events:none;min-height:var(--rmg-entry-min-height, 260px);transition:opacity var(--rmg-entry-intro-duration, .7s) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1));transition-delay:0ms;z-index:0}.entryRow[data-rmg-entry-ready="1"] .entrySkeletonWrap{opacity:0;transition-delay:var(--rmg-entry-intro-delay, 0ms)}.entryRow[data-rmg-entry-ready="1"] .entryInner{opacity:1;pointer-events:auto;transition-delay:var(--rmg-entry-intro-delay, 0ms)}.entryList{display:flex;flex-direction:column;gap:1.5rem}.entrySkelRoot{--rmg-skel-radius: 12px;width:100%}.entrySkelGroup{display:flex;min-width:0}.entrySkelStack{flex-direction:column;width:100%}.entrySkelRow{flex-direction:row;width:100%}.entrySkelCol{flex-direction:column;width:100%}.entrySkelTile{flex:0 0 auto;width:100%;height:100%;position:relative;display:block;background:var(--rmg-skel-bg, #e5e5e5);border-radius:var(--rmg-skel-radius);overflow:hidden}.entrySkelTile:after{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:blur(var(--rmg-skel-shimmer-blur, .2px));background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:rmgShimmer var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;will-change:transform}.entrySkelRect{flex:0 0 auto;width:100%;height:16px}.entrySkelSquare{width:48px;height:48px}.entrySkelCircle{width:44px;height:44px;border-radius:999px}[data-rmg-plyr-provider=mp4] :global(.plyr__video-wrapper),[data-rmg-plyr-provider=vimeo] :global(.plyr__video-wrapper){pointer-events:none!important}.thumb{position:relative;border:1px solid rgba(0,0,0,.12);border-radius:6px;overflow:hidden;box-sizing:border-box}.thumb:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 2px #111 inset;opacity:0;transition:opacity .12s ease;z-index:1}.thumb[data-active=true]:after{opacity:1}.thumb :global(img){display:block;width:100%;height:100%;object-fit:cover;position:relative;z-index:0}.fade_container [data-rmg-thumb-index]>*{opacity:0;transform:translateY(var(--rmg-intro-transform, 10px));transition:opacity var(--rmg-intro-duration, .3s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)),transform var(--rmg-intro-duration, .3s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));will-change:opacity,transform}.fade_container.fadeInActive [data-rmg-thumb-index]>*{opacity:1;transform:translateY(0)}.fullscreenOverlay{position:fixed;inset:0;opacity:0;pointer-events:none;background-color:#000c;transition:opacity .3s cubic-bezier(.4,0,.22,1);will-change:opacity;z-index:8999;transform:translateZ(0);backface-visibility:hidden;contain:paint}.open{opacity:1;pointer-events:auto}.duplicateImg{position:fixed;display:none;transform-origin:top left;transition:transform .3s cubic-bezier(.4,0,.22,1);z-index:9998;will-change:transform}.closeBtn,.leftChevron,.rightChevron,.counter{position:fixed;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.22,1);z-index:2147483602}.closeBtn.open,.leftChevron.open,.rightChevron.open,.counter.open{opacity:1;pointer-events:auto}.closeBtn{top:12px;right:12px;background:transparent;border:none;padding:0;width:35px;height:35px;cursor:pointer}.leftChevron,.rightChevron{top:45.5%;width:50px;height:50px;cursor:pointer;background-color:transparent;border:none}.leftChevron{left:0;transform:rotate(180deg)}.rightChevron{right:0}.counter{top:15px;left:16px;color:#fff;font-size:14px;line-height:32px;user-select:none;text-shadow:1px 1px 3px #4f4f4f}.fsOverlayCaption{position:fixed;padding:1rem 1.5rem;color:#fff;font-size:.875rem;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .3s cubic-bezier(.4,0,.22,1),transform .3s cubic-bezier(.4,0,.22,1);z-index:9999}.fsOverlayCaption.open{opacity:1;transform:translateY(0)}.track{position:relative;left:0}.rtl .track{left:auto;right:0}.slider_container,.fade_container{height:100%;min-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px))}.viewport{overflow:hidden;height:100%;width:100%;position:relative}.track{position:relative;height:100%;width:100%;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.fadeInStart{opacity:0}.fadeInActive{opacity:1;transition:opacity var(--rmg-intro-duration, .42s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1))}@media(prefers-reduced-motion:reduce){.fadeInActive{transition:none}}.pagination_dot{position:relative;width:14px;height:14px;overflow:hidden;border-radius:50%;margin:5px;cursor:pointer;transition:transform .2s ease,background-color .3s ease,box-shadow .3s ease}.pagination_dot:hover{transform:scale(1.2)}.pagination_dot.active{background-color:#50a3ff;box-shadow:0 0 8px #50a3ff99}.pagination_dot.inactive{background-color:#d3d3d3}.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .6s linear;background-color:#0000004d;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.fade_container [data-rmg-idx]>*{opacity:0;transform:translateY(var(--rmg-intro-offset, 10px));transition:opacity var(--rmg-intro-duration, 600) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)),transform var(--rmg-intro-duration, 600) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 60ms));will-change:opacity,transform}.fade_container.fadeInActive [data-rmg-idx]>*{opacity:1;transform:translateY(0)}.sliderSkeletonOverlay{position:absolute;inset:0;z-index:5;pointer-events:none;display:flex;justify-content:center}.sliderSkeletonRow{display:flex;width:100%;gap:.75rem;height:var(--rmg-slider-initial-height, var(--rmg-slider-height, 320px));align-items:stretch}.sliderShell{position:relative;width:100%;container-type:inline-size;height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px));min-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px));max-height:var(--rmg-slider-height, var(--rmg-slider-initial-height, 1px))}.sliderSkeletonItem{flex:1 1 0;height:100%;min-width:0;display:flex}.sliderSkeletonGroup{display:flex;min-width:0;min-height:0;width:100%}.sliderSkeleton{width:100%;height:auto;position:relative;overflow:hidden;border-radius:var(--rmg-skel-radius, 12px);background:var(--rmg-skel-bg, #e5e5e5)}.sliderSkeleton:after{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:blur(var(--rmg-skel-shimmer-blur, .2px));background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:rmgShimmer var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;will-change:transform}@media(prefers-reduced-motion:reduce){.sliderSkeleton:after{animation:none;opacity:0}}.thumbSkeletonOverlay{position:absolute;inset:0;z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:.5rem}.thumbSkeletonRow{display:flex;width:100%;height:100%}.thumbSkeleton{border-radius:6px;overflow:hidden;position:relative;background:linear-gradient(90deg,var(--rmg-shimmer-c1, #f0f2f5) 25%,var(--rmg-shimmer-c2, #e6e9ef) 37%,var(--rmg-shimmer-c3, #f0f2f5) 63%);background-size:var(--rmg-shimmer-size, 400% 100%);animation:rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear)}.gridRoot,.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rmg-grid-min, 160px),1fr));gap:var(--rmg-grid-gap, 8px)}.gridItem{position:relative;display:block;cursor:pointer}.gridItem img,.gridItem video{display:block;width:100%;height:auto;object-fit:cover}.gridSkeletonOverlay{position:relative;width:100%}.gridSkeletonGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rmg-grid-min, 160px),1fr));gap:var(--rmg-grid-gap, 8px)}.gridSkeletonItem{position:relative;width:100%}@keyframes rmgShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){.gridSkeletonItem{animation:none}}.gridSkelSquare{aspect-ratio:1 / 1}.gridSkelCircle{aspect-ratio:1 / 1;border-radius:999px}.gridSkelGroup{display:flex;min-width:0}.gridSkelRow{flex-direction:row;align-items:center}.gridSkelCol,.gridSkelStack{flex-direction:column;align-items:stretch}.gridSkelTile{position:relative;display:block;width:100%;min-width:0;height:auto;background:var(--rmg-skel-bg, #e5e5e5);border-radius:var(--rmg-skel-radius, 12px);overflow:hidden}.gridSkelShimmer:before{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:blur(var(--rmg-skel-shimmer-blur, .2px));background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:rmgShimmer var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;will-change:transform}.masonryRoot{display:flex;align-items:flex-start;width:100%;column-gap:var(--rmg-masonry-gap, 8px)}.masonryCol{flex:1;min-width:0;display:flex;flex-direction:column}.masonryItem{position:relative;display:block;cursor:pointer}.masonryItem img,.masonryItem video{display:block;width:100%;object-fit:cover}.introContainer{opacity:0}.introActive{opacity:1;transition:opacity var(--rmg-intro-duration, .42s) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1))}.introContainer [data-rmg-idx]{opacity:0;transform:var(--rmg-intro-transform, translateY(10px) scale(.99));transition:opacity .3s cubic-bezier(.4,0,.22,1),transform .3s cubic-bezier(.4,0,.22,1);transition-delay:calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));will-change:opacity,transform}.introContainer.introActive [data-rmg-idx]{opacity:1;transform:none}.masonrySkelItem{display:block;width:100%;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:var(--rmg-mskel-gap)}.masonrySkeletonOverlay{position:relative;inset:0;z-index:5;pointer-events:none}.masonrySkeletonRoot{width:100%}.masonrySkeletonCol{flex:1;min-width:0;display:flex;flex-direction:column}.masonrySkeletonItem{display:block;width:100%;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:var(--rmg-mskel-gap);border-radius:var(--rmg-skel-radius, 12px);background:var(--rmg-skel-bg, #e5e5e5);overflow:hidden;position:relative}.masonrySkeletonItem:after{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:blur(var(--rmg-skel-shimmer-blur, .2px));background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:rmgShimmer var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;will-change:transform}@keyframes rmgShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
package/dist/index.d.mts CHANGED
@@ -42,7 +42,8 @@ type ElementStyle = {
42
42
  type ThumbnailPosition = "top" | "right" | "bottom" | "left";
43
43
  type ResponsivePosition = ThumbnailPosition | Array<ThumbnailPosition> | Record<string, ThumbnailPosition>;
44
44
  type ThumbnailLoadingOptions = {
45
- isLoading?: boolean;
45
+ enabled?: boolean;
46
+ force?: boolean;
46
47
  skeletonCount?: ResponsiveNumber;
47
48
  renderLoading?: () => React$1.ReactNode;
48
49
  };
@@ -168,35 +169,40 @@ interface GalleryApi {
168
169
  }) => void): () => void;
169
170
  }
170
171
 
171
- type SkeletonLength$2 = number | string;
172
- type SkeletonShimmer$2 = {
172
+ type SkeletonLength$3 = number | string;
173
+ type SkeletonShimmer$3 = {
173
174
  enabled?: boolean;
174
175
  durationMs?: number;
175
- bandSizePct?: number;
176
176
  angleDeg?: number;
177
+ opacity?: number;
178
+ blurPx?: number;
179
+ timing?: string;
180
+ c1?: string;
181
+ c2?: string;
182
+ c3?: string;
177
183
  };
178
184
  type SkeletonBaseStyle$2 = {
179
- width?: SkeletonLength$2;
180
- maxWidth?: SkeletonLength$2;
181
- height?: SkeletonLength$2;
182
- maxHeight?: SkeletonLength$2;
185
+ width?: SkeletonLength$3;
186
+ maxWidth?: SkeletonLength$3;
187
+ height?: SkeletonLength$3;
188
+ maxHeight?: SkeletonLength$3;
183
189
  backgroundColor?: string;
184
- borderRadius?: SkeletonLength$2;
185
- marginTop?: SkeletonLength$2;
186
- marginRight?: SkeletonLength$2;
187
- marginBottom?: SkeletonLength$2;
188
- marginLeft?: SkeletonLength$2;
190
+ borderRadius?: SkeletonLength$3;
191
+ marginTop?: SkeletonLength$3;
192
+ marginRight?: SkeletonLength$3;
193
+ marginBottom?: SkeletonLength$3;
194
+ marginLeft?: SkeletonLength$3;
189
195
  alignSelf?: React$1.CSSProperties["alignSelf"];
190
- aspectRatio?: SkeletonLength$2;
196
+ aspectRatio?: SkeletonLength$3;
191
197
  };
192
198
  type SkeletonContainerStyle$2 = {
193
- gap?: SkeletonLength$2;
194
- padding?: SkeletonLength$2;
199
+ gap?: SkeletonLength$3;
200
+ padding?: SkeletonLength$3;
195
201
  align?: React$1.CSSProperties["alignItems"];
196
202
  justify?: React$1.CSSProperties["justifyContent"];
197
203
  wrap?: boolean;
198
- width?: SkeletonLength$2;
199
- maxWidth?: SkeletonLength$2;
204
+ width?: SkeletonLength$3;
205
+ maxWidth?: SkeletonLength$3;
200
206
  };
201
207
  type SkeletonContainerStyleResponsive$2 = SkeletonContainerStyle$2 | Record<string, SkeletonContainerStyle$2>;
202
208
  type SliderSkeletonNode = {
@@ -214,7 +220,7 @@ type SkeletonNode$2 = {
214
220
  } | {
215
221
  kind: "rect" | "square" | "circle";
216
222
  style?: SkeletonBaseStyle$2;
217
- shimmer?: SkeletonShimmer$2;
223
+ shimmer?: SkeletonShimmer$3;
218
224
  } | {
219
225
  kind: "media";
220
226
  count: number;
@@ -223,7 +229,7 @@ type SkeletonNode$2 = {
223
229
  tile?: {
224
230
  shape?: "rect" | "square" | "circle";
225
231
  style?: SkeletonBaseStyle$2;
226
- shimmer?: SkeletonShimmer$2;
232
+ shimmer?: SkeletonShimmer$3;
227
233
  };
228
234
  };
229
235
  type SliderSkeletonSpec = {
@@ -232,8 +238,8 @@ type SliderSkeletonSpec = {
232
238
  defaults?: {
233
239
  backgroundColor?: string;
234
240
  highlightColor?: string;
235
- radius?: SkeletonLength$2;
236
- shimmer?: SkeletonShimmer$2;
241
+ radius?: SkeletonLength$3;
242
+ shimmer?: SkeletonShimmer$3;
237
243
  };
238
244
  };
239
245
 
@@ -316,19 +322,13 @@ type SliderAuto = {
316
322
  scroll?: SliderAutoScroll;
317
323
  };
318
324
  type SliderLoadingOptions = {
319
- isLoading?: boolean;
325
+ enabled?: boolean;
326
+ force?: boolean;
320
327
  skeletonCount?: ResponsiveNumber;
321
- renderLoading?: () => React.ReactNode;
328
+ renderLoading?: (args: {
329
+ count: number;
330
+ }) => React.ReactNode;
322
331
  skeleton?: SliderSkeletonSpec;
323
- shimmer?: {
324
- radius?: number | string;
325
- c1?: string;
326
- c2?: string;
327
- c3?: string;
328
- size?: string;
329
- duration?: string;
330
- timing?: string;
331
- };
332
332
  };
333
333
  type SliderIntroOptions = {
334
334
  renderIntro?: (args: {
@@ -417,35 +417,40 @@ interface SliderHandle {
417
417
  };
418
418
  }
419
419
 
420
- type SkeletonLength$1 = number | string;
421
- type SkeletonShimmer$1 = {
420
+ type SkeletonLength$2 = number | string;
421
+ type SkeletonShimmer$2 = {
422
422
  enabled?: boolean;
423
423
  durationMs?: number;
424
- bandSizePct?: number;
425
424
  angleDeg?: number;
425
+ opacity?: number;
426
+ blurPx?: number;
427
+ timing?: string;
428
+ c1?: string;
429
+ c2?: string;
430
+ c3?: string;
426
431
  };
427
432
  type SkeletonBaseStyle$1 = {
428
- width?: SkeletonLength$1;
429
- maxWidth?: SkeletonLength$1;
430
- height?: SkeletonLength$1;
431
- maxHeight?: SkeletonLength$1;
433
+ width?: SkeletonLength$2;
434
+ maxWidth?: SkeletonLength$2;
435
+ height?: SkeletonLength$2;
436
+ maxHeight?: SkeletonLength$2;
432
437
  backgroundColor?: string;
433
- borderRadius?: SkeletonLength$1;
434
- marginTop?: SkeletonLength$1;
435
- marginRight?: SkeletonLength$1;
436
- marginBottom?: SkeletonLength$1;
437
- marginLeft?: SkeletonLength$1;
438
+ borderRadius?: SkeletonLength$2;
439
+ marginTop?: SkeletonLength$2;
440
+ marginRight?: SkeletonLength$2;
441
+ marginBottom?: SkeletonLength$2;
442
+ marginLeft?: SkeletonLength$2;
438
443
  alignSelf?: React$1.CSSProperties["alignSelf"];
439
444
  aspectRatio?: number | string;
440
445
  };
441
446
  type SkeletonContainerStyle$1 = {
442
- gap?: SkeletonLength$1;
443
- padding?: SkeletonLength$1;
447
+ gap?: SkeletonLength$2;
448
+ padding?: SkeletonLength$2;
444
449
  align?: React$1.CSSProperties["alignItems"];
445
450
  justify?: React$1.CSSProperties["justifyContent"];
446
451
  wrap?: boolean;
447
- width?: SkeletonLength$1;
448
- maxWidth?: SkeletonLength$1;
452
+ width?: SkeletonLength$2;
453
+ maxWidth?: SkeletonLength$2;
449
454
  };
450
455
  type SkeletonContainerStyleResponsive$1 = SkeletonContainerStyle$1 | Record<string, SkeletonContainerStyle$1>;
451
456
  type SkeletonNode$1 = {
@@ -455,7 +460,7 @@ type SkeletonNode$1 = {
455
460
  } | {
456
461
  kind: "rect" | "square" | "circle";
457
462
  style?: SkeletonBaseStyle$1;
458
- shimmer?: SkeletonShimmer$1;
463
+ shimmer?: SkeletonShimmer$2;
459
464
  } | {
460
465
  kind: "media";
461
466
  count: number;
@@ -464,18 +469,18 @@ type SkeletonNode$1 = {
464
469
  tile?: {
465
470
  shape?: "rect" | "square" | "circle";
466
471
  style?: SkeletonBaseStyle$1;
467
- shimmer?: SkeletonShimmer$1;
472
+ shimmer?: SkeletonShimmer$2;
468
473
  };
469
474
  };
470
475
  type EntrySkeletonSpec = {
471
476
  layout?: SkeletonNode$1;
472
477
  variant?: "solid";
473
- minHeight?: SkeletonLength$1;
478
+ minHeight?: SkeletonLength$2;
474
479
  defaults?: {
475
480
  backgroundColor?: string;
476
481
  highlightColor?: string;
477
- radius?: SkeletonLength$1;
478
- shimmer?: SkeletonShimmer$1;
482
+ radius?: SkeletonLength$2;
483
+ shimmer?: SkeletonShimmer$2;
479
484
  };
480
485
  };
481
486
 
@@ -514,9 +519,10 @@ type EntrySkeletonResolverArgs = {
514
519
  entryIndex: number;
515
520
  };
516
521
  type EntriesLoadingOptions = {
517
- isLoading?: boolean;
522
+ enabled?: boolean;
523
+ force?: boolean;
518
524
  skeleton?: EntrySkeletonSpec | ((args: EntrySkeletonResolverArgs) => EntrySkeletonSpec | null | undefined);
519
- minHeight?: SkeletonLength$1;
525
+ minHeight?: SkeletonLength$2;
520
526
  nearMargin?: string;
521
527
  viewMargin?: string;
522
528
  threshold?: number;
@@ -862,35 +868,40 @@ declare const Slider: React$1.ForwardRefExoticComponent<SliderOptions & {
862
868
  expandableImgRefs?: React$1.RefObject<Array<HTMLImageElement | null>>;
863
869
  } & React$1.RefAttributes<SliderHandle>>;
864
870
 
865
- type SkeletonLength = number | string;
866
- type SkeletonShimmer = {
871
+ type SkeletonLength$1 = number | string;
872
+ type SkeletonShimmer$1 = {
867
873
  enabled?: boolean;
868
874
  durationMs?: number;
869
- bandSizePct?: number;
870
875
  angleDeg?: number;
876
+ opacity?: number;
877
+ blurPx?: number;
878
+ timing?: string;
879
+ c1?: string;
880
+ c2?: string;
881
+ c3?: string;
871
882
  };
872
883
  type SkeletonBaseStyle = {
873
- width?: SkeletonLength;
874
- maxWidth?: SkeletonLength;
875
- height?: SkeletonLength;
876
- maxHeight?: SkeletonLength;
884
+ width?: SkeletonLength$1;
885
+ maxWidth?: SkeletonLength$1;
886
+ height?: SkeletonLength$1;
887
+ maxHeight?: SkeletonLength$1;
877
888
  backgroundColor?: string;
878
- borderRadius?: SkeletonLength;
879
- marginTop?: SkeletonLength;
880
- marginRight?: SkeletonLength;
881
- marginBottom?: SkeletonLength;
882
- marginLeft?: SkeletonLength;
889
+ borderRadius?: SkeletonLength$1;
890
+ marginTop?: SkeletonLength$1;
891
+ marginRight?: SkeletonLength$1;
892
+ marginBottom?: SkeletonLength$1;
893
+ marginLeft?: SkeletonLength$1;
883
894
  alignSelf?: React$1.CSSProperties["alignSelf"];
884
- aspectRatio?: SkeletonLength;
895
+ aspectRatio?: SkeletonLength$1;
885
896
  };
886
897
  type SkeletonContainerStyle = {
887
- gap?: SkeletonLength;
888
- padding?: SkeletonLength;
898
+ gap?: SkeletonLength$1;
899
+ padding?: SkeletonLength$1;
889
900
  align?: React$1.CSSProperties["alignItems"];
890
901
  justify?: React$1.CSSProperties["justifyContent"];
891
902
  wrap?: boolean;
892
- width?: SkeletonLength;
893
- maxWidth?: SkeletonLength;
903
+ width?: SkeletonLength$1;
904
+ maxWidth?: SkeletonLength$1;
894
905
  };
895
906
  type SkeletonContainerStyleResponsive = SkeletonContainerStyle | Record<string, SkeletonContainerStyle>;
896
907
  type GridSkeletonNode = {
@@ -907,7 +918,7 @@ type SkeletonNode = {
907
918
  } | {
908
919
  kind: "rect" | "square" | "circle";
909
920
  style?: SkeletonBaseStyle;
910
- shimmer?: SkeletonShimmer;
921
+ shimmer?: SkeletonShimmer$1;
911
922
  } | {
912
923
  kind: "media";
913
924
  count: number;
@@ -916,36 +927,24 @@ type SkeletonNode = {
916
927
  tile?: {
917
928
  shape?: "rect" | "square" | "circle";
918
929
  style?: SkeletonBaseStyle;
919
- shimmer?: SkeletonShimmer;
930
+ shimmer?: SkeletonShimmer$1;
920
931
  };
921
932
  };
922
933
  type GridSkeletonSpec = {
923
934
  className?: string;
924
935
  layout?: GridSkeletonNode;
925
- defaults?: {
926
- backgroundColor?: string;
927
- highlightColor?: string;
928
- radius?: SkeletonLength;
929
- shimmer?: SkeletonShimmer;
930
- };
936
+ backgroundColor?: string;
937
+ radius?: SkeletonLength$1;
938
+ shimmer?: SkeletonShimmer$1;
931
939
  };
932
940
 
933
941
  type LoadingOptions$1 = {
934
- isLoading?: boolean;
942
+ enabled?: boolean;
943
+ force?: boolean;
935
944
  renderLoading?: (args: {
936
945
  count: number;
937
946
  }) => React.ReactNode;
938
947
  skeleton?: GridSkeletonSpec;
939
- shimmer?: {
940
- paddingBottom?: string;
941
- radius?: number | string;
942
- c1?: string;
943
- c2?: string;
944
- c3?: string;
945
- size?: string;
946
- duration?: string;
947
- timing?: string;
948
- };
949
948
  };
950
949
  type IntroOptions$1 = {
951
950
  renderIntro?: (args: {
@@ -976,20 +975,35 @@ type Props$1 = GridOptions & {
976
975
  };
977
976
  declare function GridLayoutRuntime(props: Props$1): react_jsx_runtime.JSX.Element;
978
977
 
979
- type LoadingOptions = {
980
- isLoading?: boolean;
981
- renderLoading?: () => React.ReactNode;
982
- shimmer?: {
983
- paddingBottom?: string;
984
- radius?: number | string;
985
- c1?: string;
986
- c2?: string;
987
- c3?: string;
988
- size?: string;
989
- duration?: string;
990
- timing?: string;
991
- };
978
+ type SkeletonLength = number | string;
979
+ type SkeletonShimmer = {
980
+ enabled?: boolean;
981
+ durationMs?: number;
982
+ angleDeg?: number;
983
+ opacity?: number;
984
+ blurPx?: number;
985
+ timing?: string;
986
+ c1?: string;
987
+ c2?: string;
988
+ c3?: string;
989
+ };
990
+ type MasonrySkeletonSpec = {
991
+ className?: string;
992
992
  ratios?: number[];
993
+ heightsPx?: number[];
994
+ backgroundColor?: string;
995
+ highlightColor?: string;
996
+ radius?: SkeletonLength;
997
+ shimmer?: SkeletonShimmer;
998
+ };
999
+
1000
+ type LoadingOptions = {
1001
+ enabled?: boolean;
1002
+ force?: boolean;
1003
+ renderLoading?: (args: {
1004
+ count: number;
1005
+ }) => React.ReactNode;
1006
+ skeleton?: MasonrySkeletonSpec;
993
1007
  };
994
1008
  type IntroOptions = {
995
1009
  renderIntro?: (args: {