@cntrl-site/components 0.1.6-18 → 0.1.6-20
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/components.css +1 -1
- package/dist/index.js +64 -59
- package/dist/index.mjs +64 -59
- package/package.json +1 -2
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}.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}
|
|
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{display:block;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,7 +4,6 @@ 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");
|
|
8
7
|
const reactDom = require("react-dom");
|
|
9
8
|
const wrapper = "ControlSlider-module__wrapper___sHEkd";
|
|
10
9
|
const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
|
|
@@ -1041,16 +1040,13 @@ const ControlSliderComponent = {
|
|
|
1041
1040
|
const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
|
|
1042
1041
|
const image = "ImageRevealSlider-module__image___Qjt-e";
|
|
1043
1042
|
const link = "ImageRevealSlider-module__link___N-iLG";
|
|
1044
|
-
const cursor = "ImageRevealSlider-module__cursor___2U03d";
|
|
1045
1043
|
const styles = {
|
|
1046
1044
|
imageRevealSlider,
|
|
1047
1045
|
image,
|
|
1048
|
-
link
|
|
1049
|
-
cursor
|
|
1046
|
+
link
|
|
1050
1047
|
};
|
|
1051
1048
|
function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
1052
|
-
for (
|
|
1053
|
-
const img2 = placedImages[i];
|
|
1049
|
+
for (const img2 of placedImages) {
|
|
1054
1050
|
const imgEl = new Image();
|
|
1055
1051
|
imgEl.src = img2.url;
|
|
1056
1052
|
const imgWidth = img2.width ? Number.parseFloat(img2.width) : imgEl.naturalWidth;
|
|
@@ -1058,10 +1054,10 @@ function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
|
1058
1054
|
const halfW = imgWidth / 2;
|
|
1059
1055
|
const halfH = imgHeight / 2;
|
|
1060
1056
|
if (mouseX >= img2.x - halfW && mouseX <= img2.x + halfW && mouseY >= img2.y - halfH && mouseY <= img2.y + halfH) {
|
|
1061
|
-
return
|
|
1057
|
+
return true;
|
|
1062
1058
|
}
|
|
1063
1059
|
}
|
|
1064
|
-
return
|
|
1060
|
+
return false;
|
|
1065
1061
|
}
|
|
1066
1062
|
function getImageSize(url) {
|
|
1067
1063
|
return new Promise((resolve) => {
|
|
@@ -1095,75 +1091,79 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1095
1091
|
const [placedImages, setPlacedImages] = React.useState([]);
|
|
1096
1092
|
const [counter, setCounter] = React.useState(0);
|
|
1097
1093
|
const imageIdCounter = React.useRef(0);
|
|
1098
|
-
const defaultImageCount = 1;
|
|
1099
|
-
const cursorX = framerMotion.useMotionValue(0);
|
|
1100
|
-
const cursorY = framerMotion.useMotionValue(0);
|
|
1101
1094
|
const defaultScale = 32;
|
|
1102
|
-
const
|
|
1103
|
-
const
|
|
1095
|
+
const [cursorPos, setCursorPos] = React.useState({ x: -100, y: -100 });
|
|
1096
|
+
const [cursorSize, setCursorSize] = React.useState({ w: 32, h: 32 });
|
|
1104
1097
|
const [customCursorImg, setCustomCursorImg] = React.useState("none");
|
|
1098
|
+
const lastMousePos = React.useRef({ x: 0, y: 0 });
|
|
1099
|
+
const [isInside, setIsInside] = React.useState(false);
|
|
1105
1100
|
React.useEffect(() => {
|
|
1106
1101
|
if (!divRef) return;
|
|
1102
|
+
const updateCursorPosition = (clientX, clientY) => {
|
|
1103
|
+
const rect = divRef.getBoundingClientRect();
|
|
1104
|
+
setCursorPos({
|
|
1105
|
+
x: clientX - cursorSize.w / 2 - rect.left,
|
|
1106
|
+
y: clientY - cursorSize.h / 2 - rect.top
|
|
1107
|
+
});
|
|
1108
|
+
};
|
|
1107
1109
|
const mouseMove = (e) => {
|
|
1108
1110
|
e.stopPropagation();
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1111
|
+
lastMousePos.current = { x: e.clientX, y: e.clientY };
|
|
1112
|
+
updateCursorPosition(e.clientX, e.clientY);
|
|
1113
|
+
};
|
|
1114
|
+
const handleScroll = () => {
|
|
1115
|
+
if (!isInside) return;
|
|
1116
|
+
updateCursorPosition(lastMousePos.current.x, lastMousePos.current.y);
|
|
1113
1117
|
};
|
|
1114
1118
|
divRef.addEventListener("mousemove", mouseMove);
|
|
1115
|
-
|
|
1116
|
-
|
|
1119
|
+
window.addEventListener("scroll", handleScroll, true);
|
|
1120
|
+
return () => {
|
|
1121
|
+
divRef.removeEventListener("mousemove", mouseMove);
|
|
1122
|
+
window.removeEventListener("scroll", handleScroll, true);
|
|
1123
|
+
};
|
|
1124
|
+
}, [divRef, cursorSize, isInside]);
|
|
1125
|
+
React.useEffect(() => {
|
|
1126
|
+
if (!isInside) {
|
|
1127
|
+
setCustomCursorImg("none");
|
|
1128
|
+
setCursorSize({ w: 0, h: 0 });
|
|
1129
|
+
}
|
|
1130
|
+
}, [isInside]);
|
|
1117
1131
|
const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
|
|
1118
1132
|
const { revealPosition, visible, target } = settings.position;
|
|
1119
1133
|
const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
|
|
1120
1134
|
React.useEffect(() => {
|
|
1121
1135
|
const updateCursor = () => {
|
|
1136
|
+
if (!divRef) return;
|
|
1122
1137
|
if (cursorType === "system") {
|
|
1123
1138
|
setCustomCursorImg("none");
|
|
1124
|
-
|
|
1125
|
-
cursorH.set(defaultScale);
|
|
1139
|
+
setCursorSize({ w: defaultScale, h: defaultScale });
|
|
1126
1140
|
return;
|
|
1127
1141
|
}
|
|
1128
|
-
const
|
|
1129
|
-
|
|
1142
|
+
const cx = cursorPos.x + cursorSize.w / 2;
|
|
1143
|
+
const cy = cursorPos.y + cursorSize.h / 2;
|
|
1144
|
+
const rect = divRef.getBoundingClientRect();
|
|
1145
|
+
const el = document.elementFromPoint(
|
|
1146
|
+
rect.left + cx,
|
|
1147
|
+
rect.top + cy
|
|
1148
|
+
);
|
|
1149
|
+
if (el && el.closest("a")) {
|
|
1130
1150
|
setCustomCursorImg("none");
|
|
1131
|
-
|
|
1132
|
-
cursorH.set(defaultScale);
|
|
1151
|
+
setCursorSize({ w: defaultScale, h: defaultScale });
|
|
1133
1152
|
return;
|
|
1134
1153
|
}
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
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
|
-
}
|
|
1154
|
+
const next = isMouseOverImage(cx, cy, placedImages) || target === "area" ? { img: hoverCursor ?? "none", w: defaultScale * (hoverCursorScale || 1), h: defaultScale * (hoverCursorScale || 1) } : { img: defaultCursor ?? "none", w: defaultScale * (defaultCursorScale || 1), h: defaultScale * (defaultCursorScale || 1) };
|
|
1155
|
+
setCustomCursorImg(next.img);
|
|
1156
|
+
setCursorSize({ w: next.w, h: next.h });
|
|
1148
1157
|
};
|
|
1149
|
-
const unsubscribeX = cursorX.onChange(updateCursor);
|
|
1150
|
-
const unsubscribeY = cursorY.onChange(updateCursor);
|
|
1151
1158
|
updateCursor();
|
|
1152
|
-
return () => {
|
|
1153
|
-
unsubscribeX();
|
|
1154
|
-
unsubscribeY();
|
|
1155
|
-
};
|
|
1156
1159
|
}, [
|
|
1160
|
+
cursorPos,
|
|
1157
1161
|
cursorType,
|
|
1158
1162
|
target,
|
|
1159
1163
|
hoverCursor,
|
|
1160
1164
|
defaultCursor,
|
|
1161
1165
|
hoverCursorScale,
|
|
1162
1166
|
defaultCursorScale,
|
|
1163
|
-
cursorX,
|
|
1164
|
-
cursorY,
|
|
1165
|
-
cursorW,
|
|
1166
|
-
cursorH,
|
|
1167
1167
|
placedImages
|
|
1168
1168
|
]);
|
|
1169
1169
|
const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
|
|
@@ -1194,7 +1194,7 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1194
1194
|
};
|
|
1195
1195
|
};
|
|
1196
1196
|
const defaultContentUrls = React.useMemo(() => {
|
|
1197
|
-
const defaultContentLength = Math.min(content.length,
|
|
1197
|
+
const defaultContentLength = Math.min(content.length, 1);
|
|
1198
1198
|
return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
|
|
1199
1199
|
}, [content]);
|
|
1200
1200
|
React.useEffect(() => {
|
|
@@ -1204,13 +1204,13 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1204
1204
|
const containerHeight = rect.height;
|
|
1205
1205
|
const defaultPlaced = [];
|
|
1206
1206
|
const placeImages = async () => {
|
|
1207
|
-
for (let i = 0; i <
|
|
1207
|
+
for (let i = 0; i < 1 && i < content.length; i++) {
|
|
1208
1208
|
const imgData = content[i];
|
|
1209
1209
|
const newImg = await createNewImage(imgData, containerWidth, containerHeight);
|
|
1210
1210
|
defaultPlaced.push(newImg);
|
|
1211
1211
|
}
|
|
1212
1212
|
setPlacedImages(defaultPlaced);
|
|
1213
|
-
setCounter(
|
|
1213
|
+
setCounter(1 % content.length);
|
|
1214
1214
|
};
|
|
1215
1215
|
placeImages();
|
|
1216
1216
|
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
|
|
@@ -1246,6 +1246,8 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1246
1246
|
{
|
|
1247
1247
|
ref: setDivRef,
|
|
1248
1248
|
onClick: handleClick,
|
|
1249
|
+
onMouseEnter: () => setIsInside(true),
|
|
1250
|
+
onMouseLeave: () => setIsInside(false),
|
|
1249
1251
|
className: styles.imageRevealSlider,
|
|
1250
1252
|
style: { cursor: customCursorImg === "none" ? "default" : "none" },
|
|
1251
1253
|
children: [
|
|
@@ -1282,18 +1284,21 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1282
1284
|
},
|
|
1283
1285
|
img2.id
|
|
1284
1286
|
)),
|
|
1285
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1286
|
-
|
|
1287
|
+
isInside && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1288
|
+
"div",
|
|
1287
1289
|
{
|
|
1288
|
-
className:
|
|
1290
|
+
className: "cursor",
|
|
1289
1291
|
style: {
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
height: cursorH.get(),
|
|
1292
|
+
transform: `translate(${cursorPos.x}px, ${cursorPos.y}px)`,
|
|
1293
|
+
width: cursorSize.w,
|
|
1294
|
+
height: cursorSize.h,
|
|
1294
1295
|
backgroundImage: `url('${customCursorImg}')`,
|
|
1295
1296
|
backgroundSize: "cover",
|
|
1296
|
-
backgroundPosition: "center"
|
|
1297
|
+
backgroundPosition: "center",
|
|
1298
|
+
position: "absolute",
|
|
1299
|
+
top: 0,
|
|
1300
|
+
left: 0,
|
|
1301
|
+
pointerEvents: "none"
|
|
1297
1302
|
}
|
|
1298
1303
|
}
|
|
1299
1304
|
)
|
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,6 @@ 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";
|
|
6
5
|
import { createPortal } from "react-dom";
|
|
7
6
|
const wrapper = "ControlSlider-module__wrapper___sHEkd";
|
|
8
7
|
const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
|
|
@@ -1039,16 +1038,13 @@ const ControlSliderComponent = {
|
|
|
1039
1038
|
const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
|
|
1040
1039
|
const image = "ImageRevealSlider-module__image___Qjt-e";
|
|
1041
1040
|
const link = "ImageRevealSlider-module__link___N-iLG";
|
|
1042
|
-
const cursor = "ImageRevealSlider-module__cursor___2U03d";
|
|
1043
1041
|
const styles = {
|
|
1044
1042
|
imageRevealSlider,
|
|
1045
1043
|
image,
|
|
1046
|
-
link
|
|
1047
|
-
cursor
|
|
1044
|
+
link
|
|
1048
1045
|
};
|
|
1049
1046
|
function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
1050
|
-
for (
|
|
1051
|
-
const img2 = placedImages[i];
|
|
1047
|
+
for (const img2 of placedImages) {
|
|
1052
1048
|
const imgEl = new Image();
|
|
1053
1049
|
imgEl.src = img2.url;
|
|
1054
1050
|
const imgWidth = img2.width ? Number.parseFloat(img2.width) : imgEl.naturalWidth;
|
|
@@ -1056,10 +1052,10 @@ function isMouseOverImage(mouseX, mouseY, placedImages) {
|
|
|
1056
1052
|
const halfW = imgWidth / 2;
|
|
1057
1053
|
const halfH = imgHeight / 2;
|
|
1058
1054
|
if (mouseX >= img2.x - halfW && mouseX <= img2.x + halfW && mouseY >= img2.y - halfH && mouseY <= img2.y + halfH) {
|
|
1059
|
-
return
|
|
1055
|
+
return true;
|
|
1060
1056
|
}
|
|
1061
1057
|
}
|
|
1062
|
-
return
|
|
1058
|
+
return false;
|
|
1063
1059
|
}
|
|
1064
1060
|
function getImageSize(url) {
|
|
1065
1061
|
return new Promise((resolve) => {
|
|
@@ -1093,75 +1089,79 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1093
1089
|
const [placedImages, setPlacedImages] = useState([]);
|
|
1094
1090
|
const [counter, setCounter] = useState(0);
|
|
1095
1091
|
const imageIdCounter = useRef(0);
|
|
1096
|
-
const defaultImageCount = 1;
|
|
1097
|
-
const cursorX = useMotionValue(0);
|
|
1098
|
-
const cursorY = useMotionValue(0);
|
|
1099
1092
|
const defaultScale = 32;
|
|
1100
|
-
const
|
|
1101
|
-
const
|
|
1093
|
+
const [cursorPos, setCursorPos] = useState({ x: -100, y: -100 });
|
|
1094
|
+
const [cursorSize, setCursorSize] = useState({ w: 32, h: 32 });
|
|
1102
1095
|
const [customCursorImg, setCustomCursorImg] = useState("none");
|
|
1096
|
+
const lastMousePos = useRef({ x: 0, y: 0 });
|
|
1097
|
+
const [isInside, setIsInside] = useState(false);
|
|
1103
1098
|
useEffect(() => {
|
|
1104
1099
|
if (!divRef) return;
|
|
1100
|
+
const updateCursorPosition = (clientX, clientY) => {
|
|
1101
|
+
const rect = divRef.getBoundingClientRect();
|
|
1102
|
+
setCursorPos({
|
|
1103
|
+
x: clientX - cursorSize.w / 2 - rect.left,
|
|
1104
|
+
y: clientY - cursorSize.h / 2 - rect.top
|
|
1105
|
+
});
|
|
1106
|
+
};
|
|
1105
1107
|
const mouseMove = (e) => {
|
|
1106
1108
|
e.stopPropagation();
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1109
|
+
lastMousePos.current = { x: e.clientX, y: e.clientY };
|
|
1110
|
+
updateCursorPosition(e.clientX, e.clientY);
|
|
1111
|
+
};
|
|
1112
|
+
const handleScroll = () => {
|
|
1113
|
+
if (!isInside) return;
|
|
1114
|
+
updateCursorPosition(lastMousePos.current.x, lastMousePos.current.y);
|
|
1111
1115
|
};
|
|
1112
1116
|
divRef.addEventListener("mousemove", mouseMove);
|
|
1113
|
-
|
|
1114
|
-
|
|
1117
|
+
window.addEventListener("scroll", handleScroll, true);
|
|
1118
|
+
return () => {
|
|
1119
|
+
divRef.removeEventListener("mousemove", mouseMove);
|
|
1120
|
+
window.removeEventListener("scroll", handleScroll, true);
|
|
1121
|
+
};
|
|
1122
|
+
}, [divRef, cursorSize, isInside]);
|
|
1123
|
+
useEffect(() => {
|
|
1124
|
+
if (!isInside) {
|
|
1125
|
+
setCustomCursorImg("none");
|
|
1126
|
+
setCursorSize({ w: 0, h: 0 });
|
|
1127
|
+
}
|
|
1128
|
+
}, [isInside]);
|
|
1115
1129
|
const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
|
|
1116
1130
|
const { revealPosition, visible, target } = settings.position;
|
|
1117
1131
|
const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
|
|
1118
1132
|
useEffect(() => {
|
|
1119
1133
|
const updateCursor = () => {
|
|
1134
|
+
if (!divRef) return;
|
|
1120
1135
|
if (cursorType === "system") {
|
|
1121
1136
|
setCustomCursorImg("none");
|
|
1122
|
-
|
|
1123
|
-
cursorH.set(defaultScale);
|
|
1137
|
+
setCursorSize({ w: defaultScale, h: defaultScale });
|
|
1124
1138
|
return;
|
|
1125
1139
|
}
|
|
1126
|
-
const
|
|
1127
|
-
|
|
1140
|
+
const cx = cursorPos.x + cursorSize.w / 2;
|
|
1141
|
+
const cy = cursorPos.y + cursorSize.h / 2;
|
|
1142
|
+
const rect = divRef.getBoundingClientRect();
|
|
1143
|
+
const el = document.elementFromPoint(
|
|
1144
|
+
rect.left + cx,
|
|
1145
|
+
rect.top + cy
|
|
1146
|
+
);
|
|
1147
|
+
if (el && el.closest("a")) {
|
|
1128
1148
|
setCustomCursorImg("none");
|
|
1129
|
-
|
|
1130
|
-
cursorH.set(defaultScale);
|
|
1149
|
+
setCursorSize({ w: defaultScale, h: defaultScale });
|
|
1131
1150
|
return;
|
|
1132
1151
|
}
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
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
|
-
}
|
|
1152
|
+
const next = isMouseOverImage(cx, cy, placedImages) || target === "area" ? { img: hoverCursor ?? "none", w: defaultScale * (hoverCursorScale || 1), h: defaultScale * (hoverCursorScale || 1) } : { img: defaultCursor ?? "none", w: defaultScale * (defaultCursorScale || 1), h: defaultScale * (defaultCursorScale || 1) };
|
|
1153
|
+
setCustomCursorImg(next.img);
|
|
1154
|
+
setCursorSize({ w: next.w, h: next.h });
|
|
1146
1155
|
};
|
|
1147
|
-
const unsubscribeX = cursorX.onChange(updateCursor);
|
|
1148
|
-
const unsubscribeY = cursorY.onChange(updateCursor);
|
|
1149
1156
|
updateCursor();
|
|
1150
|
-
return () => {
|
|
1151
|
-
unsubscribeX();
|
|
1152
|
-
unsubscribeY();
|
|
1153
|
-
};
|
|
1154
1157
|
}, [
|
|
1158
|
+
cursorPos,
|
|
1155
1159
|
cursorType,
|
|
1156
1160
|
target,
|
|
1157
1161
|
hoverCursor,
|
|
1158
1162
|
defaultCursor,
|
|
1159
1163
|
hoverCursorScale,
|
|
1160
1164
|
defaultCursorScale,
|
|
1161
|
-
cursorX,
|
|
1162
|
-
cursorY,
|
|
1163
|
-
cursorW,
|
|
1164
|
-
cursorH,
|
|
1165
1165
|
placedImages
|
|
1166
1166
|
]);
|
|
1167
1167
|
const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
|
|
@@ -1192,7 +1192,7 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1192
1192
|
};
|
|
1193
1193
|
};
|
|
1194
1194
|
const defaultContentUrls = useMemo(() => {
|
|
1195
|
-
const defaultContentLength = Math.min(content.length,
|
|
1195
|
+
const defaultContentLength = Math.min(content.length, 1);
|
|
1196
1196
|
return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
|
|
1197
1197
|
}, [content]);
|
|
1198
1198
|
useEffect(() => {
|
|
@@ -1202,13 +1202,13 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1202
1202
|
const containerHeight = rect.height;
|
|
1203
1203
|
const defaultPlaced = [];
|
|
1204
1204
|
const placeImages = async () => {
|
|
1205
|
-
for (let i = 0; i <
|
|
1205
|
+
for (let i = 0; i < 1 && i < content.length; i++) {
|
|
1206
1206
|
const imgData = content[i];
|
|
1207
1207
|
const newImg = await createNewImage(imgData, containerWidth, containerHeight);
|
|
1208
1208
|
defaultPlaced.push(newImg);
|
|
1209
1209
|
}
|
|
1210
1210
|
setPlacedImages(defaultPlaced);
|
|
1211
|
-
setCounter(
|
|
1211
|
+
setCounter(1 % content.length);
|
|
1212
1212
|
};
|
|
1213
1213
|
placeImages();
|
|
1214
1214
|
}, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
|
|
@@ -1244,6 +1244,8 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1244
1244
|
{
|
|
1245
1245
|
ref: setDivRef,
|
|
1246
1246
|
onClick: handleClick,
|
|
1247
|
+
onMouseEnter: () => setIsInside(true),
|
|
1248
|
+
onMouseLeave: () => setIsInside(false),
|
|
1247
1249
|
className: styles.imageRevealSlider,
|
|
1248
1250
|
style: { cursor: customCursorImg === "none" ? "default" : "none" },
|
|
1249
1251
|
children: [
|
|
@@ -1280,18 +1282,21 @@ function ImageRevealSlider({ settings, content, isEditor }) {
|
|
|
1280
1282
|
},
|
|
1281
1283
|
img2.id
|
|
1282
1284
|
)),
|
|
1283
|
-
/* @__PURE__ */ jsx(
|
|
1284
|
-
|
|
1285
|
+
isInside && /* @__PURE__ */ jsx(
|
|
1286
|
+
"div",
|
|
1285
1287
|
{
|
|
1286
|
-
className:
|
|
1288
|
+
className: "cursor",
|
|
1287
1289
|
style: {
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
height: cursorH.get(),
|
|
1290
|
+
transform: `translate(${cursorPos.x}px, ${cursorPos.y}px)`,
|
|
1291
|
+
width: cursorSize.w,
|
|
1292
|
+
height: cursorSize.h,
|
|
1292
1293
|
backgroundImage: `url('${customCursorImg}')`,
|
|
1293
1294
|
backgroundSize: "cover",
|
|
1294
|
-
backgroundPosition: "center"
|
|
1295
|
+
backgroundPosition: "center",
|
|
1296
|
+
position: "absolute",
|
|
1297
|
+
top: 0,
|
|
1298
|
+
left: 0,
|
|
1299
|
+
pointerEvents: "none"
|
|
1295
1300
|
}
|
|
1296
1301
|
}
|
|
1297
1302
|
)
|
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-20",
|
|
4
4
|
"description": "Custom components for control editor and public websites.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -47,7 +47,6 @@
|
|
|
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",
|
|
51
50
|
"ts-node": "^10.9.1"
|
|
52
51
|
},
|
|
53
52
|
"devDependencies": {
|