@cntrl-site/components 0.1.6-14 → 0.1.6-18
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.
|
@@ -174,10 +174,15 @@ export declare const ControlImageRevealSliderComponent: {
|
|
|
174
174
|
value: boolean;
|
|
175
175
|
};
|
|
176
176
|
} | {
|
|
177
|
-
if: {
|
|
177
|
+
if: ({
|
|
178
178
|
name: string;
|
|
179
179
|
value: string;
|
|
180
|
-
|
|
180
|
+
isNotEqual?: undefined;
|
|
181
|
+
} | {
|
|
182
|
+
name: string;
|
|
183
|
+
value: null;
|
|
184
|
+
isNotEqual: boolean;
|
|
185
|
+
})[];
|
|
181
186
|
then: {
|
|
182
187
|
name: string;
|
|
183
188
|
value: boolean;
|
package/dist/components.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ControlSlider-module__wrapper___sHEkd{position:relative;width:100%;height:100%}.ControlSlider-module__slider___R3i9-{width:100%;height:100%}.ControlSlider-module__sliderItems___1MgPL{display:flex;overflow:hidden;width:100%;height:100%;transition:transform .3s ease-in-out}.ControlSlider-module__sliderItem___QQSkR{width:100%;height:100%;display:flex;position:relative}.ControlSlider-module__sliderImage___9hRl-{width:100%;height:100%;object-fit:cover}.ControlSlider-module__arrow___05ghY{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;top:50%;left:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);z-index:1;transform:translate(-50%,-50%);padding:0;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.ControlSlider-module__arrow___05ghY.ControlSlider-module__arrowVertical___tBfVN{left:50%;top:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,-50%)}.ControlSlider-module__nextArrow___-30Yc{left:unset;right:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(50%,-50%)}.ControlSlider-module__nextArrow___-30Yc.ControlSlider-module__arrowVertical___tBfVN{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,50%)}.ControlSlider-module__arrowInner___aEra3{all:unset;cursor:pointer;width:100%;height:100%}.ControlSlider-module__arrowInner___aEra3:hover .ControlSlider-module__arrowIcon___S4ztF path{fill:var(--arrow-hover-color)!important}.ControlSlider-module__arrowImg___2dwJW{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ControlSlider-module__arrowIcon___S4ztF{width:100%;height:100%}.ControlSlider-module__arrowIcon___S4ztF path{transition:fill .15s ease-in-out}.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleX(-1)!important}.ControlSlider-module__arrowVertical___tBfVN.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleY(-1)!important}.ControlSlider-module__pagination___bicLF{position:absolute;z-index:1;border-radius:50%}.ControlSlider-module__paginationInner___bT-P-{display:flex;gap:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);padding-top:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-bottom:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-left:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);padding-right:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);border-radius:calc(var(--is-editor, 0) * 2.3611111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.3611111111vw)}.ControlSlider-module__paginationVertical___zYqKw{flex-direction:column}.ControlSlider-module__paginationItem___nTRbk{all:unset;flex-shrink:0;position:relative;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);cursor:pointer}.ControlSlider-module__paginationItem___nTRbk:hover .ControlSlider-module__dot___p1Qun{background-color:var(--pagination-hover-color)!important}.ControlSlider-module__dot___p1Qun{border-radius:50%;scale:.5;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw)}.ControlSlider-module__activeDot___LHFaj{transform:scale(2)}.ControlSlider-module__paginationInsideBottom___R3FWn{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__paginationInsideTop___V-qb-{left:50%;transform:translate(-50%);top:0}.ControlSlider-module__paginationOutsideBottom___14w8D{left:50%;transform:translate(-50%);bottom:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideTop___SCLqB{left:50%;transform:translate(-50%);top:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideLeft___yOBRZ{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideRight___Rtt3o{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideLeft___lahaw{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__paginationOutsideRight___EtuQa{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__imgWrapper___UjEgB,.ControlSlider-module__wrapperInner___DLAWV{width:100%;height:100%}.ControlSlider-module__captionBlock___dJ6-j{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.ControlSlider-module__captionTextWrapper___HFlpf{position:relative;width:100%;height:100%}.ControlSlider-module__captionText___uGBVc{pointer-events:none;max-width:100%;transition-property:opacity;transition-timing-function:ease-in-out;position:absolute;display:inline-block;white-space:pre-wrap;overflow-wrap:break-word;opacity:0}.ControlSlider-module__captionText___uGBVc.ControlSlider-module__active___WZK4G{opacity:1}.ControlSlider-module__withPointerEvents___t-18M{pointer-events:auto}.ControlSlider-module__absolute___KxmYB{position:absolute}.ControlSlider-module__topLeftAlignment___zjnGM{top:0;left:0}.ControlSlider-module__topCenterAlignment___gD1xW{top:0;left:50%;transform:translate(-50%)}.ControlSlider-module__topRightAlignment___NMapS{top:0;right:0}.ControlSlider-module__middleLeftAlignment___OnUrY{top:50%;transform:translateY(-50%);left:0}.ControlSlider-module__middleCenterAlignment___Tdkl0{top:50%;transform:translate(-50%,-50%);left:50%}.ControlSlider-module__middleRightAlignment___wEbfX{top:50%;transform:translateY(-50%);right:0}.ControlSlider-module__bottomLeftAlignment___cTP2-{bottom:0;left:0}.ControlSlider-module__bottomCenterAlignment___c54fB{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__bottomRightAlignment___kEwrz{bottom:0;right:0}.ControlSlider-module__clickOverlay___DZA28{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.ControlSlider-module__contain___pLyq7{object-fit:contain}.ControlSlider-module__cover___KdDat{object-fit:cover}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.RichTextRenderer-module__link___BWeZ2{color:inherit;cursor:pointer;pointer-events:auto;transition:color .2s ease}.RichTextRenderer-module__link___BWeZ2:hover{color:var(--link-hover-color)}.SvgImage-module__svg___q3xE-{width:100%;height:100%;color:transparent;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--fill);transition:background-color .2s;-webkit-mask:var(--svg) no-repeat center/contain;mask:var(--svg) no-repeat center/contain}.SvgImage-module__svg___q3xE-:hover{background-color:var(--hover-fill)}.SvgImage-module__img___VsTm-{width:100%;height:100%;object-fit:contain}.ImageRevealSlider-module__imageRevealSlider___UE5Ob{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.ImageRevealSlider-module__image___Qjt-e{width:100%;height:100%;object-fit:cover;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}.ImageRevealSlider-module__link___N-iLG{width:100%;height:100%;display:block;cursor:pointer}.LightBox-module__heroImage___sTxNF{width:100%;height:100%;cursor:pointer;object-fit:cover}.LightBox-module__background___rm9ml{position:fixed;z-index:9997;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.LightBox-module__editor___4ACaY{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.LightBox-module__contentStyle___Bgnsq{position:fixed;z-index:9999;top:0;left:0;right:0;bottom:0;overflow:auto;background:transparent;box-sizing:border-box}.LightBox-module__imageStyle___tLIlB{position:relative;display:block;cursor:pointer;background-color:transparent;max-width:100%;max-height:100%;width:auto;height:auto}.LightBox-module__imgWrapper___LuFUp{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.LightBox-module__contain___8-yaS{object-fit:contain;max-width:100%;max-height:100%}.LightBox-module__cover___hNvOG{width:100%;height:100%;object-fit:cover}.LightBox-module__caption___b6L2I{z-index:9999;position:absolute;display:flex}.LightBox-module__captionTextInner___rCGNH{position:relative}.LightBox-module__lightboxSplide___XFuWC.splide,.LightBox-module__lightboxSplide___XFuWC .splide__track{height:100%}.LightBox-module__arrow___iz38X{position:absolute;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background-color:transparent;top:50%;z-index:1;transform:translate(-50%,-50%);padding:0;left:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.LightBox-module__arrow___iz38X.LightBox-module__arrowVertical___Zfz81{left:50%;top:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,-50%)}.LightBox-module__nextArrow___zkAQN{left:unset;right:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(50%,-50%)}.LightBox-module__nextArrow___zkAQN.LightBox-module__arrowVertical___Zfz81{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,50%)}.LightBox-module__arrowInner___p48sW{all:unset;cursor:pointer;width:100%;height:100%}.LightBox-module__arrowInner___p48sW:hover .LightBox-module__arrowIcon___3VaFf path{fill:var(--arrow-hover-color)!important}.LightBox-module__arrowImg___pNV88{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleX(-1)!important}.LightBox-module__arrowVertical___Zfz81.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleY(-1)!important}.LightBox-module__thumbsContainerVertical___wttk5{flex-direction:column;display:flex}.LightBox-module__thumbsContainer___osSma{display:flex;align-items:center;justify-content:center;pointer-events:auto}.LightBox-module__thumbsAlignStart___MO6tY{align-items:flex-start}.LightBox-module__thumbsAlignCenter___Q4sUx{align-items:center}.LightBox-module__thumbsAlignEnd___p4y9R{align-items:flex-end}.LightBox-module__thumbItem___HvnF3{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:transform .1s ease,opacity .1s ease}.LightBox-module__thumbItem___HvnF3:hover{opacity:var(--thumb-hover)!important}.LightBox-module__closeButton___g2khP{all:unset;cursor:pointer;position:absolute;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}@keyframes LightBox-module__lbFadeIn___P8mx0{0%{opacity:0}to{opacity:1}}.LightBox-module__fadeIn___0m5GW{animation-name:LightBox-module__lbFadeIn___P8mx0}@keyframes LightBox-module__lbSlideInLeft___ygsXZ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInRight___w2YKV{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInTop___W7CSQ{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes LightBox-module__lbSlideInBottom___7kiT2{0%{transform:translateY(100%)}to{transform:translateY(0)}}.LightBox-module__slideInLeft___gPYwC{animation-name:LightBox-module__lbSlideInLeft___ygsXZ}.LightBox-module__slideInRight___S-pPp{animation-name:LightBox-module__lbSlideInRight___w2YKV}.LightBox-module__slideInTop___DFdAj{animation-name:LightBox-module__lbSlideInTop___W7CSQ}.LightBox-module__slideInBottom___m27kZ{animation-name:LightBox-module__lbSlideInBottom___7kiT2}@keyframes LightBox-module__lbFadeOut___MhEeN{0%{opacity:1}to{opacity:0}}.LightBox-module__fadeOut___55qBR{animation-name:LightBox-module__lbFadeOut___MhEeN!important}@keyframes LightBox-module__lbSlideOutLeft___xM4sO{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes LightBox-module__lbSlideOutRight___Jppgj{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes LightBox-module__lbSlideOutTop___pvscE{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes LightBox-module__lbSlideOutBottom___oFjPG{0%{transform:translateY(0)}to{transform:translateY(100%)}}.LightBox-module__slideOutLeft___NvU7P{animation-name:LightBox-module__lbSlideOutLeft___xM4sO!important}.LightBox-module__slideOutRight___SK7eC{animation-name:LightBox-module__lbSlideOutRight___Jppgj!important}.LightBox-module__slideOutTop___Vgg0z{animation-name:LightBox-module__lbSlideOutTop___pvscE!important}.LightBox-module__slideOutBottom___nJ0Ef{animation-name:LightBox-module__lbSlideOutBottom___oFjPG!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(.9)!important;transition:opacity var(--splide-speed, .5s) ease,transform var(--splide-speed, .5s) ease!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide.is-active .LightBox-module__scaleSlide___vZriG{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide:not(.is-active) .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}
|
|
1
|
+
.ControlSlider-module__wrapper___sHEkd{position:relative;width:100%;height:100%}.ControlSlider-module__slider___R3i9-{width:100%;height:100%}.ControlSlider-module__sliderItems___1MgPL{display:flex;overflow:hidden;width:100%;height:100%;transition:transform .3s ease-in-out}.ControlSlider-module__sliderItem___QQSkR{width:100%;height:100%;display:flex;position:relative}.ControlSlider-module__sliderImage___9hRl-{width:100%;height:100%;object-fit:cover}.ControlSlider-module__arrow___05ghY{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;top:50%;left:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);z-index:1;transform:translate(-50%,-50%);padding:0;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.ControlSlider-module__arrow___05ghY.ControlSlider-module__arrowVertical___tBfVN{left:50%;top:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,-50%)}.ControlSlider-module__nextArrow___-30Yc{left:unset;right:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(50%,-50%)}.ControlSlider-module__nextArrow___-30Yc.ControlSlider-module__arrowVertical___tBfVN{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,50%)}.ControlSlider-module__arrowInner___aEra3{all:unset;cursor:pointer;width:100%;height:100%}.ControlSlider-module__arrowInner___aEra3:hover .ControlSlider-module__arrowIcon___S4ztF path{fill:var(--arrow-hover-color)!important}.ControlSlider-module__arrowImg___2dwJW{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ControlSlider-module__arrowIcon___S4ztF{width:100%;height:100%}.ControlSlider-module__arrowIcon___S4ztF path{transition:fill .15s ease-in-out}.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleX(-1)!important}.ControlSlider-module__arrowVertical___tBfVN.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleY(-1)!important}.ControlSlider-module__pagination___bicLF{position:absolute;z-index:1;border-radius:50%}.ControlSlider-module__paginationInner___bT-P-{display:flex;gap:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);padding-top:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-bottom:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-left:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);padding-right:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);border-radius:calc(var(--is-editor, 0) * 2.3611111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.3611111111vw)}.ControlSlider-module__paginationVertical___zYqKw{flex-direction:column}.ControlSlider-module__paginationItem___nTRbk{all:unset;flex-shrink:0;position:relative;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);cursor:pointer}.ControlSlider-module__paginationItem___nTRbk:hover .ControlSlider-module__dot___p1Qun{background-color:var(--pagination-hover-color)!important}.ControlSlider-module__dot___p1Qun{border-radius:50%;scale:.5;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw)}.ControlSlider-module__activeDot___LHFaj{transform:scale(2)}.ControlSlider-module__paginationInsideBottom___R3FWn{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__paginationInsideTop___V-qb-{left:50%;transform:translate(-50%);top:0}.ControlSlider-module__paginationOutsideBottom___14w8D{left:50%;transform:translate(-50%);bottom:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideTop___SCLqB{left:50%;transform:translate(-50%);top:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideLeft___yOBRZ{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideRight___Rtt3o{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideLeft___lahaw{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__paginationOutsideRight___EtuQa{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__imgWrapper___UjEgB,.ControlSlider-module__wrapperInner___DLAWV{width:100%;height:100%}.ControlSlider-module__captionBlock___dJ6-j{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.ControlSlider-module__captionTextWrapper___HFlpf{position:relative;width:100%;height:100%}.ControlSlider-module__captionText___uGBVc{pointer-events:none;max-width:100%;transition-property:opacity;transition-timing-function:ease-in-out;position:absolute;display:inline-block;white-space:pre-wrap;overflow-wrap:break-word;opacity:0}.ControlSlider-module__captionText___uGBVc.ControlSlider-module__active___WZK4G{opacity:1}.ControlSlider-module__withPointerEvents___t-18M{pointer-events:auto}.ControlSlider-module__absolute___KxmYB{position:absolute}.ControlSlider-module__topLeftAlignment___zjnGM{top:0;left:0}.ControlSlider-module__topCenterAlignment___gD1xW{top:0;left:50%;transform:translate(-50%)}.ControlSlider-module__topRightAlignment___NMapS{top:0;right:0}.ControlSlider-module__middleLeftAlignment___OnUrY{top:50%;transform:translateY(-50%);left:0}.ControlSlider-module__middleCenterAlignment___Tdkl0{top:50%;transform:translate(-50%,-50%);left:50%}.ControlSlider-module__middleRightAlignment___wEbfX{top:50%;transform:translateY(-50%);right:0}.ControlSlider-module__bottomLeftAlignment___cTP2-{bottom:0;left:0}.ControlSlider-module__bottomCenterAlignment___c54fB{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__bottomRightAlignment___kEwrz{bottom:0;right:0}.ControlSlider-module__clickOverlay___DZA28{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.ControlSlider-module__contain___pLyq7{object-fit:contain}.ControlSlider-module__cover___KdDat{object-fit:cover}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.RichTextRenderer-module__link___BWeZ2{color:inherit;cursor:pointer;pointer-events:auto;transition:color .2s ease}.RichTextRenderer-module__link___BWeZ2:hover{color:var(--link-hover-color)}.SvgImage-module__svg___q3xE-{width:100%;height:100%;color:transparent;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--fill);transition:background-color .2s;-webkit-mask:var(--svg) no-repeat center/contain;mask:var(--svg) no-repeat center/contain}.SvgImage-module__svg___q3xE-:hover{background-color:var(--hover-fill)}.SvgImage-module__img___VsTm-{width:100%;height:100%;object-fit:contain}.ImageRevealSlider-module__imageRevealSlider___UE5Ob{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.ImageRevealSlider-module__image___Qjt-e{width:100%;height:100%;object-fit:cover;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}.ImageRevealSlider-module__link___N-iLG{width:100%;height:100%;display:block}.ImageRevealSlider-module__cursor___2U03d{position:absolute;top:0;left:0;pointer-events:none}.LightBox-module__heroImage___sTxNF{width:100%;height:100%;cursor:pointer;object-fit:cover}.LightBox-module__background___rm9ml{position:fixed;z-index:9997;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.LightBox-module__editor___4ACaY{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.LightBox-module__contentStyle___Bgnsq{position:fixed;z-index:9999;top:0;left:0;right:0;bottom:0;overflow:auto;background:transparent;box-sizing:border-box}.LightBox-module__imageStyle___tLIlB{position:relative;display:block;cursor:pointer;background-color:transparent;max-width:100%;max-height:100%;width:auto;height:auto}.LightBox-module__imgWrapper___LuFUp{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.LightBox-module__contain___8-yaS{object-fit:contain;max-width:100%;max-height:100%}.LightBox-module__cover___hNvOG{width:100%;height:100%;object-fit:cover}.LightBox-module__caption___b6L2I{z-index:9999;position:absolute;display:flex}.LightBox-module__captionTextInner___rCGNH{position:relative}.LightBox-module__lightboxSplide___XFuWC.splide,.LightBox-module__lightboxSplide___XFuWC .splide__track{height:100%}.LightBox-module__arrow___iz38X{position:absolute;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background-color:transparent;top:50%;z-index:1;transform:translate(-50%,-50%);padding:0;left:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.LightBox-module__arrow___iz38X.LightBox-module__arrowVertical___Zfz81{left:50%;top:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,-50%)}.LightBox-module__nextArrow___zkAQN{left:unset;right:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(50%,-50%)}.LightBox-module__nextArrow___zkAQN.LightBox-module__arrowVertical___Zfz81{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,50%)}.LightBox-module__arrowInner___p48sW{all:unset;cursor:pointer;width:100%;height:100%}.LightBox-module__arrowInner___p48sW:hover .LightBox-module__arrowIcon___3VaFf path{fill:var(--arrow-hover-color)!important}.LightBox-module__arrowImg___pNV88{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleX(-1)!important}.LightBox-module__arrowVertical___Zfz81.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleY(-1)!important}.LightBox-module__thumbsContainerVertical___wttk5{flex-direction:column;display:flex}.LightBox-module__thumbsContainer___osSma{display:flex;align-items:center;justify-content:center;pointer-events:auto}.LightBox-module__thumbsAlignStart___MO6tY{align-items:flex-start}.LightBox-module__thumbsAlignCenter___Q4sUx{align-items:center}.LightBox-module__thumbsAlignEnd___p4y9R{align-items:flex-end}.LightBox-module__thumbItem___HvnF3{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:transform .1s ease,opacity .1s ease}.LightBox-module__thumbItem___HvnF3:hover{opacity:var(--thumb-hover)!important}.LightBox-module__closeButton___g2khP{all:unset;cursor:pointer;position:absolute;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}@keyframes LightBox-module__lbFadeIn___P8mx0{0%{opacity:0}to{opacity:1}}.LightBox-module__fadeIn___0m5GW{animation-name:LightBox-module__lbFadeIn___P8mx0}@keyframes LightBox-module__lbSlideInLeft___ygsXZ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInRight___w2YKV{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInTop___W7CSQ{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes LightBox-module__lbSlideInBottom___7kiT2{0%{transform:translateY(100%)}to{transform:translateY(0)}}.LightBox-module__slideInLeft___gPYwC{animation-name:LightBox-module__lbSlideInLeft___ygsXZ}.LightBox-module__slideInRight___S-pPp{animation-name:LightBox-module__lbSlideInRight___w2YKV}.LightBox-module__slideInTop___DFdAj{animation-name:LightBox-module__lbSlideInTop___W7CSQ}.LightBox-module__slideInBottom___m27kZ{animation-name:LightBox-module__lbSlideInBottom___7kiT2}@keyframes LightBox-module__lbFadeOut___MhEeN{0%{opacity:1}to{opacity:0}}.LightBox-module__fadeOut___55qBR{animation-name:LightBox-module__lbFadeOut___MhEeN!important}@keyframes LightBox-module__lbSlideOutLeft___xM4sO{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes LightBox-module__lbSlideOutRight___Jppgj{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes LightBox-module__lbSlideOutTop___pvscE{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes LightBox-module__lbSlideOutBottom___oFjPG{0%{transform:translateY(0)}to{transform:translateY(100%)}}.LightBox-module__slideOutLeft___NvU7P{animation-name:LightBox-module__lbSlideOutLeft___xM4sO!important}.LightBox-module__slideOutRight___SK7eC{animation-name:LightBox-module__lbSlideOutRight___Jppgj!important}.LightBox-module__slideOutTop___Vgg0z{animation-name:LightBox-module__lbSlideOutTop___pvscE!important}.LightBox-module__slideOutBottom___nJ0Ef{animation-name:LightBox-module__lbSlideOutBottom___oFjPG!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(.9)!important;transition:opacity var(--splide-speed, .5s) ease,transform var(--splide-speed, .5s) ease!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide.is-active .LightBox-module__scaleSlide___vZriG{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide:not(.is-active) .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const reactSplide = require("@splidejs/react-splide");
|
|
6
6
|
const cn = require("classnames");
|
|
7
|
+
const framerMotion = require("framer-motion");
|
|
7
8
|
const reactDom = require("react-dom");
|
|
8
9
|
const wrapper = "ControlSlider-module__wrapper___sHEkd";
|
|
9
10
|
const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
|
|
@@ -1040,10 +1041,12 @@ const ControlSliderComponent = {
|
|
|
1040
1041
|
const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
|
|
1041
1042
|
const image = "ImageRevealSlider-module__image___Qjt-e";
|
|
1042
1043
|
const link = "ImageRevealSlider-module__link___N-iLG";
|
|
1044
|
+
const cursor = "ImageRevealSlider-module__cursor___2U03d";
|
|
1043
1045
|
const styles = {
|
|
1044
1046
|
imageRevealSlider,
|
|
1045
1047
|
image,
|
|
1046
|
-
link
|
|
1048
|
+
link,
|
|
1049
|
+
cursor
|
|
1047
1050
|
};
|
|
1048
1051
|
function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
1049
1052
|
for (let i = placedImages.length - 1; i >= 0; i--) {
|
|
@@ -1088,17 +1091,81 @@ async function calculateImageWidthHeight(imgUrl, sizeType, customWidth, randomRa
|
|
|
1088
1091
|
return { width, height, finalWidth: `${width}px` };
|
|
1089
1092
|
}
|
|
1090
1093
|
function ImageRevealSlider({ settings, content, isEditor }) {
|
|
1091
|
-
const divRef = React.
|
|
1094
|
+
const [divRef, setDivRef] = React.useState(null);
|
|
1092
1095
|
const [placedImages, setPlacedImages] = React.useState([]);
|
|
1093
1096
|
const [counter, setCounter] = React.useState(0);
|
|
1094
1097
|
const imageIdCounter = React.useRef(0);
|
|
1098
|
+
const defaultImageCount = 1;
|
|
1099
|
+
const cursorX = framerMotion.useMotionValue(0);
|
|
1100
|
+
const cursorY = framerMotion.useMotionValue(0);
|
|
1101
|
+
const defaultScale = 32;
|
|
1102
|
+
const cursorW = framerMotion.useMotionValue(32);
|
|
1103
|
+
const cursorH = framerMotion.useMotionValue(32);
|
|
1104
|
+
const [customCursorImg, setCustomCursorImg] = React.useState("none");
|
|
1105
|
+
React.useEffect(() => {
|
|
1106
|
+
if (!divRef) return;
|
|
1107
|
+
const mouseMove = (e) => {
|
|
1108
|
+
e.stopPropagation();
|
|
1109
|
+
const divRect = divRef.getBoundingClientRect();
|
|
1110
|
+
cursorX.set(e.clientX - cursorW.get() / 2 - divRect.left);
|
|
1111
|
+
cursorY.set(e.clientY - cursorH.get() / 2 - divRect.top);
|
|
1112
|
+
console.log(e);
|
|
1113
|
+
};
|
|
1114
|
+
divRef.addEventListener("mousemove", mouseMove);
|
|
1115
|
+
return () => divRef.removeEventListener("mousemove", mouseMove);
|
|
1116
|
+
}, [cursorX, cursorY, cursorW, cursorH, divRef]);
|
|
1095
1117
|
const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
|
|
1096
1118
|
const { revealPosition, visible, target } = settings.position;
|
|
1097
1119
|
const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1120
|
+
React.useEffect(() => {
|
|
1121
|
+
const updateCursor = () => {
|
|
1122
|
+
if (cursorType === "system") {
|
|
1123
|
+
setCustomCursorImg("none");
|
|
1124
|
+
cursorW.set(defaultScale);
|
|
1125
|
+
cursorH.set(defaultScale);
|
|
1126
|
+
return;
|
|
1127
|
+
}
|
|
1128
|
+
const elUnderCursor = document.elementFromPoint(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2);
|
|
1129
|
+
if (elUnderCursor && elUnderCursor.closest("a.link")) {
|
|
1130
|
+
setCustomCursorImg("none");
|
|
1131
|
+
cursorW.set(defaultScale);
|
|
1132
|
+
cursorH.set(defaultScale);
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
if (target === "area") {
|
|
1136
|
+
setCustomCursorImg(hoverCursor || "none");
|
|
1137
|
+
cursorW.set(defaultScale * hoverCursorScale || 1);
|
|
1138
|
+
cursorH.set(defaultScale * hoverCursorScale || 1);
|
|
1139
|
+
} else if (isMouseOverImage(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2, placedImages)) {
|
|
1140
|
+
setCustomCursorImg(hoverCursor || "none");
|
|
1141
|
+
cursorW.set(defaultScale * hoverCursorScale || 1);
|
|
1142
|
+
cursorH.set(defaultScale * hoverCursorScale || 1);
|
|
1143
|
+
} else {
|
|
1144
|
+
setCustomCursorImg(defaultCursor || "none");
|
|
1145
|
+
cursorW.set(defaultScale * defaultCursorScale || 1);
|
|
1146
|
+
cursorH.set(defaultScale * defaultCursorScale || 1);
|
|
1147
|
+
}
|
|
1148
|
+
};
|
|
1149
|
+
const unsubscribeX = cursorX.onChange(updateCursor);
|
|
1150
|
+
const unsubscribeY = cursorY.onChange(updateCursor);
|
|
1151
|
+
updateCursor();
|
|
1152
|
+
return () => {
|
|
1153
|
+
unsubscribeX();
|
|
1154
|
+
unsubscribeY();
|
|
1155
|
+
};
|
|
1156
|
+
}, [
|
|
1157
|
+
cursorType,
|
|
1158
|
+
target,
|
|
1159
|
+
hoverCursor,
|
|
1160
|
+
defaultCursor,
|
|
1161
|
+
hoverCursorScale,
|
|
1162
|
+
defaultCursorScale,
|
|
1163
|
+
cursorX,
|
|
1164
|
+
cursorY,
|
|
1165
|
+
cursorW,
|
|
1166
|
+
cursorH,
|
|
1167
|
+
placedImages
|
|
1168
|
+
]);
|
|
1102
1169
|
const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
|
|
1103
1170
|
const { width, height, finalWidth } = await calculateImageWidthHeight(
|
|
1104
1171
|
imgData.image.url,
|
|
@@ -1127,38 +1194,37 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1127
1194
|
};
|
|
1128
1195
|
};
|
|
1129
1196
|
const defaultContentUrls = React.useMemo(() => {
|
|
1130
|
-
const defaultContentLength = Math.min(content.length,
|
|
1197
|
+
const defaultContentLength = Math.min(content.length, defaultImageCount);
|
|
1131
1198
|
return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
|
|
1132
1199
|
}, [content]);
|
|
1133
1200
|
React.useEffect(() => {
|
|
1134
|
-
if (!divRef
|
|
1135
|
-
const rect = divRef.
|
|
1201
|
+
if (!divRef || content.length === 0) return;
|
|
1202
|
+
const rect = divRef.getBoundingClientRect();
|
|
1136
1203
|
const containerWidth = rect.width;
|
|
1137
1204
|
const containerHeight = rect.height;
|
|
1138
1205
|
const defaultPlaced = [];
|
|
1139
1206
|
const placeImages = async () => {
|
|
1140
|
-
for (let i = 0; i <
|
|
1207
|
+
for (let i = 0; i < defaultImageCount && i < content.length; i++) {
|
|
1141
1208
|
const imgData = content[i];
|
|
1142
1209
|
const newImg = await createNewImage(imgData, containerWidth, containerHeight);
|
|
1143
1210
|
defaultPlaced.push(newImg);
|
|
1144
1211
|
}
|
|
1145
1212
|
setPlacedImages(defaultPlaced);
|
|
1146
|
-
setCounter(
|
|
1213
|
+
setCounter(defaultImageCount % content.length);
|
|
1147
1214
|
};
|
|
1148
1215
|
placeImages();
|
|
1149
|
-
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition]);
|
|
1216
|
+
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
|
|
1150
1217
|
React.useEffect(() => {
|
|
1151
1218
|
if (visible === "last One") {
|
|
1152
1219
|
setPlacedImages((prev) => prev.length > 0 ? [prev[prev.length - 1]] : []);
|
|
1153
1220
|
}
|
|
1154
1221
|
}, [visible]);
|
|
1155
1222
|
const handleClick = async (e) => {
|
|
1156
|
-
if (!divRef
|
|
1157
|
-
const rect = divRef.
|
|
1223
|
+
if (!divRef) return;
|
|
1224
|
+
const rect = divRef.getBoundingClientRect();
|
|
1158
1225
|
const clickX = e.clientX - rect.left;
|
|
1159
1226
|
const clickY = e.clientY - rect.top;
|
|
1160
|
-
|
|
1161
|
-
if (target === "image" && !isOverImage2) return;
|
|
1227
|
+
if (target === "image" && !isMouseOverImage(clickX, clickY, placedImages)) return;
|
|
1162
1228
|
let x = 0, y = 0;
|
|
1163
1229
|
if (revealPosition === "on Click") {
|
|
1164
1230
|
x = clickX;
|
|
@@ -1175,57 +1241,18 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1175
1241
|
setPlacedImages((prev) => visible === "all" ? [...prev, newImage] : [newImage]);
|
|
1176
1242
|
setCounter((prev) => prev >= content.length - 1 ? 0 : prev + 1);
|
|
1177
1243
|
};
|
|
1178
|
-
React.useEffect(() => {
|
|
1179
|
-
if (!divRef.current) return;
|
|
1180
|
-
const handleMouseMove = (e) => {
|
|
1181
|
-
if (!divRef.current) return;
|
|
1182
|
-
lastMousePos.current = { x: e.clientX, y: e.clientY };
|
|
1183
|
-
const rect = divRef.current.getBoundingClientRect();
|
|
1184
|
-
const x = e.clientX - rect.left;
|
|
1185
|
-
const y = e.clientY - rect.top;
|
|
1186
|
-
const insideContainer = e.clientX >= rect.left && e.clientX <= rect.right && e.clientY >= rect.top && e.clientY <= rect.bottom;
|
|
1187
|
-
const { isOverImage: isOverImage2 } = isMouseOverImage(x, y, placedImages);
|
|
1188
|
-
setCursorPos({ x, y });
|
|
1189
|
-
setCursorScale(isOverImage2 || target === "area" ? hoverCursorScale : defaultCursorScale);
|
|
1190
|
-
setIsCursorVisible(insideContainer || isOverImage2);
|
|
1191
|
-
};
|
|
1192
|
-
const handleScroll = () => {
|
|
1193
|
-
if (!divRef.current || !lastMousePos.current) return;
|
|
1194
|
-
const rect = divRef.current.getBoundingClientRect();
|
|
1195
|
-
const { x: clientX, y: clientY } = lastMousePos.current;
|
|
1196
|
-
const x = clientX - rect.left;
|
|
1197
|
-
const y = clientY - rect.top;
|
|
1198
|
-
const insideContainer = clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;
|
|
1199
|
-
const { isOverImage: isOverImage2 } = isMouseOverImage(x, y, placedImages);
|
|
1200
|
-
setCursorPos({ x, y });
|
|
1201
|
-
setCursorScale(isOverImage2 || target === "area" ? hoverCursorScale : defaultCursorScale);
|
|
1202
|
-
setIsCursorVisible(insideContainer || isOverImage2);
|
|
1203
|
-
};
|
|
1204
|
-
const handleMouseLeave = () => {
|
|
1205
|
-
setIsCursorVisible(false);
|
|
1206
|
-
};
|
|
1207
|
-
const divEl = divRef.current;
|
|
1208
|
-
divEl.addEventListener("mousemove", handleMouseMove);
|
|
1209
|
-
divEl.addEventListener("mouseleave", handleMouseLeave);
|
|
1210
|
-
window.addEventListener("scroll", handleScroll, { passive: true });
|
|
1211
|
-
return () => {
|
|
1212
|
-
divEl.removeEventListener("mousemove", handleMouseMove);
|
|
1213
|
-
divEl.removeEventListener("mouseleave", handleMouseLeave);
|
|
1214
|
-
window.removeEventListener("scroll", handleScroll);
|
|
1215
|
-
};
|
|
1216
|
-
}, [placedImages, hoverCursorScale, defaultCursorScale]);
|
|
1217
|
-
const { isOverImage, hasLink: overImageHasLink } = isMouseOverImage(cursorPos.x, cursorPos.y, placedImages);
|
|
1218
1244
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1219
1245
|
"div",
|
|
1220
1246
|
{
|
|
1221
|
-
ref:
|
|
1247
|
+
ref: setDivRef,
|
|
1222
1248
|
onClick: handleClick,
|
|
1223
1249
|
className: styles.imageRevealSlider,
|
|
1224
|
-
style: { cursor:
|
|
1250
|
+
style: { cursor: customCursorImg === "none" ? "default" : "none" },
|
|
1225
1251
|
children: [
|
|
1226
1252
|
placedImages.map((img2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1227
1253
|
"div",
|
|
1228
1254
|
{
|
|
1255
|
+
className: styles.wrapper,
|
|
1229
1256
|
style: {
|
|
1230
1257
|
top: `${img2.y}px`,
|
|
1231
1258
|
left: `${img2.x}px`,
|
|
@@ -1233,7 +1260,7 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1233
1260
|
transform: "translate(-50%, -50%)",
|
|
1234
1261
|
width: img2.width ?? "auto",
|
|
1235
1262
|
height: "auto",
|
|
1236
|
-
cursor:
|
|
1263
|
+
cursor: customCursorImg === "none" ? "default" : "none"
|
|
1237
1264
|
},
|
|
1238
1265
|
children: target === "area" && img2.link ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1239
1266
|
"img",
|
|
@@ -1255,21 +1282,18 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1255
1282
|
},
|
|
1256
1283
|
img2.id
|
|
1257
1284
|
)),
|
|
1258
|
-
|
|
1259
|
-
|
|
1285
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1286
|
+
framerMotion.motion.div,
|
|
1260
1287
|
{
|
|
1288
|
+
className: styles.cursor,
|
|
1261
1289
|
style: {
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
backgroundSize: "contain",
|
|
1270
|
-
backgroundRepeat: "no-repeat",
|
|
1271
|
-
transform: `translate(-50%, -50%) scale(${cursorScale})`,
|
|
1272
|
-
zIndex: 1e3
|
|
1290
|
+
x: cursorX,
|
|
1291
|
+
y: cursorY,
|
|
1292
|
+
width: cursorW.get(),
|
|
1293
|
+
height: cursorH.get(),
|
|
1294
|
+
backgroundImage: `url('${customCursorImg}')`,
|
|
1295
|
+
backgroundSize: "cover",
|
|
1296
|
+
backgroundPosition: "center"
|
|
1273
1297
|
}
|
|
1274
1298
|
}
|
|
1275
1299
|
)
|
|
@@ -1476,7 +1500,8 @@ const ControlImageRevealSliderComponent = {
|
|
|
1476
1500
|
{
|
|
1477
1501
|
if: [
|
|
1478
1502
|
{ name: "position.target", value: "image" },
|
|
1479
|
-
{ name: "cursor.cursorType", value: "custom" }
|
|
1503
|
+
{ name: "cursor.cursorType", value: "custom" },
|
|
1504
|
+
{ name: "cursor.defaultCursor", value: null, isNotEqual: true }
|
|
1480
1505
|
],
|
|
1481
1506
|
then: {
|
|
1482
1507
|
name: "properties.cursor.properties.defaultCursorScale.display.visible",
|
|
@@ -1494,10 +1519,10 @@ const ControlImageRevealSliderComponent = {
|
|
|
1494
1519
|
}
|
|
1495
1520
|
},
|
|
1496
1521
|
{
|
|
1497
|
-
if:
|
|
1498
|
-
name: "cursor.cursorType",
|
|
1499
|
-
|
|
1500
|
-
|
|
1522
|
+
if: [
|
|
1523
|
+
{ name: "cursor.cursorType", value: "custom" },
|
|
1524
|
+
{ name: "cursor.hoverCursor", value: null, isNotEqual: true }
|
|
1525
|
+
],
|
|
1501
1526
|
then: {
|
|
1502
1527
|
name: "properties.cursor.properties.hoverCursorScale.display.visible",
|
|
1503
1528
|
value: true
|
package/dist/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React, { useState, useEffect, useRef, useMemo, useCallback } from "react";
|
|
3
3
|
import { Splide, SplideSlide } from "@splidejs/react-splide";
|
|
4
4
|
import cn from "classnames";
|
|
5
|
+
import { useMotionValue, motion } from "framer-motion";
|
|
5
6
|
import { createPortal } from "react-dom";
|
|
6
7
|
const wrapper = "ControlSlider-module__wrapper___sHEkd";
|
|
7
8
|
const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
|
|
@@ -1038,10 +1039,12 @@ const ControlSliderComponent = {
|
|
|
1038
1039
|
const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
|
|
1039
1040
|
const image = "ImageRevealSlider-module__image___Qjt-e";
|
|
1040
1041
|
const link = "ImageRevealSlider-module__link___N-iLG";
|
|
1042
|
+
const cursor = "ImageRevealSlider-module__cursor___2U03d";
|
|
1041
1043
|
const styles = {
|
|
1042
1044
|
imageRevealSlider,
|
|
1043
1045
|
image,
|
|
1044
|
-
link
|
|
1046
|
+
link,
|
|
1047
|
+
cursor
|
|
1045
1048
|
};
|
|
1046
1049
|
function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
1047
1050
|
for (let i = placedImages.length - 1; i >= 0; i--) {
|
|
@@ -1086,17 +1089,81 @@ async function calculateImageWidthHeight(imgUrl, sizeType, customWidth, randomRa
|
|
|
1086
1089
|
return { width, height, finalWidth: `${width}px` };
|
|
1087
1090
|
}
|
|
1088
1091
|
function ImageRevealSlider({ settings, content, isEditor }) {
|
|
1089
|
-
const divRef =
|
|
1092
|
+
const [divRef, setDivRef] = useState(null);
|
|
1090
1093
|
const [placedImages, setPlacedImages] = useState([]);
|
|
1091
1094
|
const [counter, setCounter] = useState(0);
|
|
1092
1095
|
const imageIdCounter = useRef(0);
|
|
1096
|
+
const defaultImageCount = 1;
|
|
1097
|
+
const cursorX = useMotionValue(0);
|
|
1098
|
+
const cursorY = useMotionValue(0);
|
|
1099
|
+
const defaultScale = 32;
|
|
1100
|
+
const cursorW = useMotionValue(32);
|
|
1101
|
+
const cursorH = useMotionValue(32);
|
|
1102
|
+
const [customCursorImg, setCustomCursorImg] = useState("none");
|
|
1103
|
+
useEffect(() => {
|
|
1104
|
+
if (!divRef) return;
|
|
1105
|
+
const mouseMove = (e) => {
|
|
1106
|
+
e.stopPropagation();
|
|
1107
|
+
const divRect = divRef.getBoundingClientRect();
|
|
1108
|
+
cursorX.set(e.clientX - cursorW.get() / 2 - divRect.left);
|
|
1109
|
+
cursorY.set(e.clientY - cursorH.get() / 2 - divRect.top);
|
|
1110
|
+
console.log(e);
|
|
1111
|
+
};
|
|
1112
|
+
divRef.addEventListener("mousemove", mouseMove);
|
|
1113
|
+
return () => divRef.removeEventListener("mousemove", mouseMove);
|
|
1114
|
+
}, [cursorX, cursorY, cursorW, cursorH, divRef]);
|
|
1093
1115
|
const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
|
|
1094
1116
|
const { revealPosition, visible, target } = settings.position;
|
|
1095
1117
|
const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1118
|
+
useEffect(() => {
|
|
1119
|
+
const updateCursor = () => {
|
|
1120
|
+
if (cursorType === "system") {
|
|
1121
|
+
setCustomCursorImg("none");
|
|
1122
|
+
cursorW.set(defaultScale);
|
|
1123
|
+
cursorH.set(defaultScale);
|
|
1124
|
+
return;
|
|
1125
|
+
}
|
|
1126
|
+
const elUnderCursor = document.elementFromPoint(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2);
|
|
1127
|
+
if (elUnderCursor && elUnderCursor.closest("a.link")) {
|
|
1128
|
+
setCustomCursorImg("none");
|
|
1129
|
+
cursorW.set(defaultScale);
|
|
1130
|
+
cursorH.set(defaultScale);
|
|
1131
|
+
return;
|
|
1132
|
+
}
|
|
1133
|
+
if (target === "area") {
|
|
1134
|
+
setCustomCursorImg(hoverCursor || "none");
|
|
1135
|
+
cursorW.set(defaultScale * hoverCursorScale || 1);
|
|
1136
|
+
cursorH.set(defaultScale * hoverCursorScale || 1);
|
|
1137
|
+
} else if (isMouseOverImage(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2, placedImages)) {
|
|
1138
|
+
setCustomCursorImg(hoverCursor || "none");
|
|
1139
|
+
cursorW.set(defaultScale * hoverCursorScale || 1);
|
|
1140
|
+
cursorH.set(defaultScale * hoverCursorScale || 1);
|
|
1141
|
+
} else {
|
|
1142
|
+
setCustomCursorImg(defaultCursor || "none");
|
|
1143
|
+
cursorW.set(defaultScale * defaultCursorScale || 1);
|
|
1144
|
+
cursorH.set(defaultScale * defaultCursorScale || 1);
|
|
1145
|
+
}
|
|
1146
|
+
};
|
|
1147
|
+
const unsubscribeX = cursorX.onChange(updateCursor);
|
|
1148
|
+
const unsubscribeY = cursorY.onChange(updateCursor);
|
|
1149
|
+
updateCursor();
|
|
1150
|
+
return () => {
|
|
1151
|
+
unsubscribeX();
|
|
1152
|
+
unsubscribeY();
|
|
1153
|
+
};
|
|
1154
|
+
}, [
|
|
1155
|
+
cursorType,
|
|
1156
|
+
target,
|
|
1157
|
+
hoverCursor,
|
|
1158
|
+
defaultCursor,
|
|
1159
|
+
hoverCursorScale,
|
|
1160
|
+
defaultCursorScale,
|
|
1161
|
+
cursorX,
|
|
1162
|
+
cursorY,
|
|
1163
|
+
cursorW,
|
|
1164
|
+
cursorH,
|
|
1165
|
+
placedImages
|
|
1166
|
+
]);
|
|
1100
1167
|
const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
|
|
1101
1168
|
const { width, height, finalWidth } = await calculateImageWidthHeight(
|
|
1102
1169
|
imgData.image.url,
|
|
@@ -1125,38 +1192,37 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1125
1192
|
};
|
|
1126
1193
|
};
|
|
1127
1194
|
const defaultContentUrls = useMemo(() => {
|
|
1128
|
-
const defaultContentLength = Math.min(content.length,
|
|
1195
|
+
const defaultContentLength = Math.min(content.length, defaultImageCount);
|
|
1129
1196
|
return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
|
|
1130
1197
|
}, [content]);
|
|
1131
1198
|
useEffect(() => {
|
|
1132
|
-
if (!divRef
|
|
1133
|
-
const rect = divRef.
|
|
1199
|
+
if (!divRef || content.length === 0) return;
|
|
1200
|
+
const rect = divRef.getBoundingClientRect();
|
|
1134
1201
|
const containerWidth = rect.width;
|
|
1135
1202
|
const containerHeight = rect.height;
|
|
1136
1203
|
const defaultPlaced = [];
|
|
1137
1204
|
const placeImages = async () => {
|
|
1138
|
-
for (let i = 0; i <
|
|
1205
|
+
for (let i = 0; i < defaultImageCount && i < content.length; i++) {
|
|
1139
1206
|
const imgData = content[i];
|
|
1140
1207
|
const newImg = await createNewImage(imgData, containerWidth, containerHeight);
|
|
1141
1208
|
defaultPlaced.push(newImg);
|
|
1142
1209
|
}
|
|
1143
1210
|
setPlacedImages(defaultPlaced);
|
|
1144
|
-
setCounter(
|
|
1211
|
+
setCounter(defaultImageCount % content.length);
|
|
1145
1212
|
};
|
|
1146
1213
|
placeImages();
|
|
1147
|
-
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition]);
|
|
1214
|
+
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
|
|
1148
1215
|
useEffect(() => {
|
|
1149
1216
|
if (visible === "last One") {
|
|
1150
1217
|
setPlacedImages((prev) => prev.length > 0 ? [prev[prev.length - 1]] : []);
|
|
1151
1218
|
}
|
|
1152
1219
|
}, [visible]);
|
|
1153
1220
|
const handleClick = async (e) => {
|
|
1154
|
-
if (!divRef
|
|
1155
|
-
const rect = divRef.
|
|
1221
|
+
if (!divRef) return;
|
|
1222
|
+
const rect = divRef.getBoundingClientRect();
|
|
1156
1223
|
const clickX = e.clientX - rect.left;
|
|
1157
1224
|
const clickY = e.clientY - rect.top;
|
|
1158
|
-
|
|
1159
|
-
if (target === "image" && !isOverImage2) return;
|
|
1225
|
+
if (target === "image" && !isMouseOverImage(clickX, clickY, placedImages)) return;
|
|
1160
1226
|
let x = 0, y = 0;
|
|
1161
1227
|
if (revealPosition === "on Click") {
|
|
1162
1228
|
x = clickX;
|
|
@@ -1173,57 +1239,18 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1173
1239
|
setPlacedImages((prev) => visible === "all" ? [...prev, newImage] : [newImage]);
|
|
1174
1240
|
setCounter((prev) => prev >= content.length - 1 ? 0 : prev + 1);
|
|
1175
1241
|
};
|
|
1176
|
-
useEffect(() => {
|
|
1177
|
-
if (!divRef.current) return;
|
|
1178
|
-
const handleMouseMove = (e) => {
|
|
1179
|
-
if (!divRef.current) return;
|
|
1180
|
-
lastMousePos.current = { x: e.clientX, y: e.clientY };
|
|
1181
|
-
const rect = divRef.current.getBoundingClientRect();
|
|
1182
|
-
const x = e.clientX - rect.left;
|
|
1183
|
-
const y = e.clientY - rect.top;
|
|
1184
|
-
const insideContainer = e.clientX >= rect.left && e.clientX <= rect.right && e.clientY >= rect.top && e.clientY <= rect.bottom;
|
|
1185
|
-
const { isOverImage: isOverImage2 } = isMouseOverImage(x, y, placedImages);
|
|
1186
|
-
setCursorPos({ x, y });
|
|
1187
|
-
setCursorScale(isOverImage2 || target === "area" ? hoverCursorScale : defaultCursorScale);
|
|
1188
|
-
setIsCursorVisible(insideContainer || isOverImage2);
|
|
1189
|
-
};
|
|
1190
|
-
const handleScroll = () => {
|
|
1191
|
-
if (!divRef.current || !lastMousePos.current) return;
|
|
1192
|
-
const rect = divRef.current.getBoundingClientRect();
|
|
1193
|
-
const { x: clientX, y: clientY } = lastMousePos.current;
|
|
1194
|
-
const x = clientX - rect.left;
|
|
1195
|
-
const y = clientY - rect.top;
|
|
1196
|
-
const insideContainer = clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;
|
|
1197
|
-
const { isOverImage: isOverImage2 } = isMouseOverImage(x, y, placedImages);
|
|
1198
|
-
setCursorPos({ x, y });
|
|
1199
|
-
setCursorScale(isOverImage2 || target === "area" ? hoverCursorScale : defaultCursorScale);
|
|
1200
|
-
setIsCursorVisible(insideContainer || isOverImage2);
|
|
1201
|
-
};
|
|
1202
|
-
const handleMouseLeave = () => {
|
|
1203
|
-
setIsCursorVisible(false);
|
|
1204
|
-
};
|
|
1205
|
-
const divEl = divRef.current;
|
|
1206
|
-
divEl.addEventListener("mousemove", handleMouseMove);
|
|
1207
|
-
divEl.addEventListener("mouseleave", handleMouseLeave);
|
|
1208
|
-
window.addEventListener("scroll", handleScroll, { passive: true });
|
|
1209
|
-
return () => {
|
|
1210
|
-
divEl.removeEventListener("mousemove", handleMouseMove);
|
|
1211
|
-
divEl.removeEventListener("mouseleave", handleMouseLeave);
|
|
1212
|
-
window.removeEventListener("scroll", handleScroll);
|
|
1213
|
-
};
|
|
1214
|
-
}, [placedImages, hoverCursorScale, defaultCursorScale]);
|
|
1215
|
-
const { isOverImage, hasLink: overImageHasLink } = isMouseOverImage(cursorPos.x, cursorPos.y, placedImages);
|
|
1216
1242
|
return /* @__PURE__ */ jsxs(
|
|
1217
1243
|
"div",
|
|
1218
1244
|
{
|
|
1219
|
-
ref:
|
|
1245
|
+
ref: setDivRef,
|
|
1220
1246
|
onClick: handleClick,
|
|
1221
1247
|
className: styles.imageRevealSlider,
|
|
1222
|
-
style: { cursor:
|
|
1248
|
+
style: { cursor: customCursorImg === "none" ? "default" : "none" },
|
|
1223
1249
|
children: [
|
|
1224
1250
|
placedImages.map((img2) => /* @__PURE__ */ jsx(
|
|
1225
1251
|
"div",
|
|
1226
1252
|
{
|
|
1253
|
+
className: styles.wrapper,
|
|
1227
1254
|
style: {
|
|
1228
1255
|
top: `${img2.y}px`,
|
|
1229
1256
|
left: `${img2.x}px`,
|
|
@@ -1231,7 +1258,7 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1231
1258
|
transform: "translate(-50%, -50%)",
|
|
1232
1259
|
width: img2.width ?? "auto",
|
|
1233
1260
|
height: "auto",
|
|
1234
|
-
cursor:
|
|
1261
|
+
cursor: customCursorImg === "none" ? "default" : "none"
|
|
1235
1262
|
},
|
|
1236
1263
|
children: target === "area" && img2.link ? /* @__PURE__ */ jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsx(
|
|
1237
1264
|
"img",
|
|
@@ -1253,21 +1280,18 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1253
1280
|
},
|
|
1254
1281
|
img2.id
|
|
1255
1282
|
)),
|
|
1256
|
-
|
|
1257
|
-
|
|
1283
|
+
/* @__PURE__ */ jsx(
|
|
1284
|
+
motion.div,
|
|
1258
1285
|
{
|
|
1286
|
+
className: styles.cursor,
|
|
1259
1287
|
style: {
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
backgroundSize: "contain",
|
|
1268
|
-
backgroundRepeat: "no-repeat",
|
|
1269
|
-
transform: `translate(-50%, -50%) scale(${cursorScale})`,
|
|
1270
|
-
zIndex: 1e3
|
|
1288
|
+
x: cursorX,
|
|
1289
|
+
y: cursorY,
|
|
1290
|
+
width: cursorW.get(),
|
|
1291
|
+
height: cursorH.get(),
|
|
1292
|
+
backgroundImage: `url('${customCursorImg}')`,
|
|
1293
|
+
backgroundSize: "cover",
|
|
1294
|
+
backgroundPosition: "center"
|
|
1271
1295
|
}
|
|
1272
1296
|
}
|
|
1273
1297
|
)
|
|
@@ -1474,7 +1498,8 @@ const ControlImageRevealSliderComponent = {
|
|
|
1474
1498
|
{
|
|
1475
1499
|
if: [
|
|
1476
1500
|
{ name: "position.target", value: "image" },
|
|
1477
|
-
{ name: "cursor.cursorType", value: "custom" }
|
|
1501
|
+
{ name: "cursor.cursorType", value: "custom" },
|
|
1502
|
+
{ name: "cursor.defaultCursor", value: null, isNotEqual: true }
|
|
1478
1503
|
],
|
|
1479
1504
|
then: {
|
|
1480
1505
|
name: "properties.cursor.properties.defaultCursorScale.display.visible",
|
|
@@ -1492,10 +1517,10 @@ const ControlImageRevealSliderComponent = {
|
|
|
1492
1517
|
}
|
|
1493
1518
|
},
|
|
1494
1519
|
{
|
|
1495
|
-
if:
|
|
1496
|
-
name: "cursor.cursorType",
|
|
1497
|
-
|
|
1498
|
-
|
|
1520
|
+
if: [
|
|
1521
|
+
{ name: "cursor.cursorType", value: "custom" },
|
|
1522
|
+
{ name: "cursor.hoverCursor", value: null, isNotEqual: true }
|
|
1523
|
+
],
|
|
1499
1524
|
then: {
|
|
1500
1525
|
name: "properties.cursor.properties.hoverCursorScale.display.visible",
|
|
1501
1526
|
value: true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cntrl-site/components",
|
|
3
|
-
"version": "0.1.6-
|
|
3
|
+
"version": "0.1.6-18",
|
|
4
4
|
"description": "Custom components for control editor and public websites.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"@antfu/eslint-config": "^3.16.0",
|
|
48
48
|
"@splidejs/react-splide": "^0.7.12",
|
|
49
49
|
"classnames": "^2.5.1",
|
|
50
|
+
"framer-motion": "^12.23.27",
|
|
50
51
|
"ts-node": "^10.9.1"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|