@cntrl-site/components 0.1.0-alpha.18 → 0.1.0-alpha.19
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/Lightbox/Lightbox.d.ts +27 -1
- package/dist/Components/utils/getImageRect.d.ts +6 -0
- package/dist/components.css +1 -1
- package/dist/index.js +102 -104
- package/dist/index.mjs +102 -104
- package/package.json +1 -1
|
@@ -95,5 +95,31 @@ type LightboxSettings = {
|
|
|
95
95
|
caption: Caption;
|
|
96
96
|
};
|
|
97
97
|
};
|
|
98
|
-
type LightboxStyles = {
|
|
98
|
+
type LightboxStyles = {
|
|
99
|
+
caption: CaptionStyles;
|
|
100
|
+
};
|
|
101
|
+
type CaptionStyles = {
|
|
102
|
+
fontSettings: {
|
|
103
|
+
fontFamily: string;
|
|
104
|
+
fontWeight: number;
|
|
105
|
+
fontStyle: string;
|
|
106
|
+
};
|
|
107
|
+
widthSettings: {
|
|
108
|
+
width: number;
|
|
109
|
+
sizing: 'auto' | 'manual';
|
|
110
|
+
};
|
|
111
|
+
letterSpacing: number;
|
|
112
|
+
textAlign: 'left' | 'center' | 'right';
|
|
113
|
+
wordSpacing: number;
|
|
114
|
+
fontSizeLineHeight: {
|
|
115
|
+
fontSize: number;
|
|
116
|
+
lineHeight: number;
|
|
117
|
+
};
|
|
118
|
+
textAppearance: {
|
|
119
|
+
textTransform: 'none' | 'uppercase' | 'lowercase';
|
|
120
|
+
textDecoration: 'none' | 'underline';
|
|
121
|
+
fontVariant: 'normal' | 'small-caps';
|
|
122
|
+
};
|
|
123
|
+
color: string;
|
|
124
|
+
};
|
|
99
125
|
export {};
|
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}.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}.Lightbox-module__background___wf1Ii{position:absolute;z-index:9998;width:100%;height:100%;top:0;left:0}.Lightbox-module__backdropStyle___y7avj{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:9999}.Lightbox-module__editor___Vh82D{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.Lightbox-module__contentStyle___FzFaW{position:relative;width:100%;max-width:100vw;max-height:100vh;height:100vh;overflow:auto;background:transparent;box-sizing:border-box}.Lightbox-module__imageStyle___Qb7f5{position:relative;display:block;cursor:pointer;background-color:transparent;width:fit-content;height:fit-content}.Lightbox-module__imgWrapper___cdytV{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.Lightbox-module__contain___5gATW{object-fit:contain;max-width:100%;max-height:100%}.Lightbox-module__cover___8HZy7{width:100%;height:100%;object-fit:cover;max-width:100%;max-height:100%}.Lightbox-module__caption___3e-22{position:absolute;display:flex}.Lightbox-module__caption___3e-22:hover{color:var(--link-hover-color)!important}.Lightbox-module__lightboxSplide___yMC4v.splide,.Lightbox-module__lightboxSplide___yMC4v .splide__track{height:100%}.Lightbox-module__arrow___s3Bn2{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___s3Bn2.Lightbox-module__arrowVertical___6ztxz{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___i23DU{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___i23DU.Lightbox-module__arrowVertical___6ztxz{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___Mm3xe{all:unset;cursor:pointer;width:100%;height:100%}.Lightbox-module__arrowInner___Mm3xe:hover .Lightbox-module__arrowIcon___UpzOt path{fill:var(--arrow-hover-color)!important}.Lightbox-module__arrowImg___UxHPR{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Lightbox-module__mirror___50NCE{transform:translate(-50%,-50%) scaleX(-1)!important}.Lightbox-module__arrowVertical___6ztxz.Lightbox-module__mirror___50NCE{transform:translate(-50%,-50%) scaleY(-1)!important}.Lightbox-module__thumbsContainerVertical___lVaf-{flex-direction:column;display:flex}.Lightbox-module__thumbsContainer___DqOCP{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:auto}.Lightbox-module__thumbsAlignStart___uiFIV{align-items:flex-start}.Lightbox-module__thumbsAlignCenter___sbUPA{align-items:center}.Lightbox-module__thumbsAlignEnd___OA9N4{align-items:flex-end}.Lightbox-module__thumbsContainerVertical___lVaf-.Lightbox-module__thumbsAlignStart___uiFIV{align-items:center;justify-content:flex-start}.Lightbox-module__thumbsContainerVertical___lVaf-.Lightbox-module__thumbsAlignCenter___sbUPA{align-items:center;justify-content:center}.Lightbox-module__thumbsContainerVertical___lVaf-.Lightbox-module__thumbsAlignEnd___OA9N4{align-items:center;justify-content:flex-end}.Lightbox-module__thumbItem___zROyu{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___zROyu:hover{opacity:var(--thumb-hover)!important}.Lightbox-module__thumbImage___xGakV{display:block;height:100%;width:calc(var(--is-editor, 0) * 5.5555555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 5.5555555556vw)}.Lightbox-module__closeButton___r3Dur{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___3xoHQ{0%{opacity:0}to{opacity:1}}.Lightbox-module__fadeIn___sHwRK{animation-name:Lightbox-module__lbFadeIn___3xoHQ}@keyframes Lightbox-module__lbSlideInLeft___vgE9-{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes Lightbox-module__lbSlideInRight___nByIA{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes Lightbox-module__lbSlideInTop___hI5ju{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes Lightbox-module__lbSlideInBottom___M6-9o{0%{transform:translateY(100%)}to{transform:translateY(0)}}.Lightbox-module__slideInLeft___P-XRo{animation-name:Lightbox-module__lbSlideInLeft___vgE9-}.Lightbox-module__slideInRight___ZQqFi{animation-name:Lightbox-module__lbSlideInRight___nByIA}.Lightbox-module__slideInTop___XRKCs{animation-name:Lightbox-module__lbSlideInTop___hI5ju}.Lightbox-module__slideInBottom___TYOBS{animation-name:Lightbox-module__lbSlideInBottom___M6-9o}.Lightbox-module__lightboxSplide___yMC4v.splide--fade .Lightbox-module__scaleSlide___wS7d4{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___yMC4v.splide--fade .splide__slide.is-active .Lightbox-module__scaleSlide___wS7d4{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.Lightbox-module__lightboxSplide___yMC4v.splide--fade .splide__slide:not(.is-active) .Lightbox-module__scaleSlide___wS7d4{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}.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}@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__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports (outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports (outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
|
|
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}.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}.Lightbox-module__background___wf1Ii{position:absolute;z-index:9997;width:100%;height:100%;top:0;left:0}.Lightbox-module__backdropStyle___y7avj{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:9998}.Lightbox-module__editor___Vh82D{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.Lightbox-module__contentStyle___FzFaW{position:relative;width:100%;max-width:100vw;max-height:100vh;height:100vh;overflow:auto;background:transparent;box-sizing:border-box}.Lightbox-module__imageStyle___Qb7f5{position:relative;display:block;cursor:pointer;background-color:transparent;max-width:100%;max-height:100%;width:auto;height:auto}.Lightbox-module__imgWrapper___cdytV{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.Lightbox-module__contain___5gATW{object-fit:contain;max-width:100%;max-height:100%}.Lightbox-module__cover___8HZy7{width:100%;height:100%;object-fit:cover}.Lightbox-module__caption___3e-22{z-index:9999;position:absolute;display:flex}.Lightbox-module__caption___3e-22:hover{color:var(--link-hover-color)!important}.Lightbox-module__captionBlock___7wXOq{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.Lightbox-module__captionTextWrapper___uDnh6{position:relative;width:100%;height:100%}.Lightbox-module__captionText___6zbmg{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}.Lightbox-module__captionText___6zbmg.Lightbox-module__active___u7Yu8{opacity:1}.Lightbox-module__lightboxSplide___yMC4v.splide,.Lightbox-module__lightboxSplide___yMC4v .splide__track{height:100%}.Lightbox-module__arrow___s3Bn2{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___s3Bn2.Lightbox-module__arrowVertical___6ztxz{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___i23DU{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___i23DU.Lightbox-module__arrowVertical___6ztxz{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___Mm3xe{all:unset;cursor:pointer;width:100%;height:100%}.Lightbox-module__arrowInner___Mm3xe:hover .Lightbox-module__arrowIcon___UpzOt path{fill:var(--arrow-hover-color)!important}.Lightbox-module__arrowImg___UxHPR{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Lightbox-module__mirror___50NCE{transform:translate(-50%,-50%) scaleX(-1)!important}.Lightbox-module__arrowVertical___6ztxz.Lightbox-module__mirror___50NCE{transform:translate(-50%,-50%) scaleY(-1)!important}.Lightbox-module__thumbsContainerVertical___lVaf-{flex-direction:column;display:flex}.Lightbox-module__thumbsContainer___DqOCP{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:auto}.Lightbox-module__thumbsAlignStart___uiFIV{align-items:flex-start}.Lightbox-module__thumbsAlignCenter___sbUPA{align-items:center}.Lightbox-module__thumbsAlignEnd___OA9N4{align-items:flex-end}.Lightbox-module__thumbItem___zROyu{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___zROyu:hover{opacity:var(--thumb-hover)!important}.Lightbox-module__closeButton___r3Dur{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___3xoHQ{0%{opacity:0}to{opacity:1}}.Lightbox-module__fadeIn___sHwRK{animation-name:Lightbox-module__lbFadeIn___3xoHQ}@keyframes Lightbox-module__lbSlideInLeft___vgE9-{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes Lightbox-module__lbSlideInRight___nByIA{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes Lightbox-module__lbSlideInTop___hI5ju{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes Lightbox-module__lbSlideInBottom___M6-9o{0%{transform:translateY(100%)}to{transform:translateY(0)}}.Lightbox-module__slideInLeft___P-XRo{animation-name:Lightbox-module__lbSlideInLeft___vgE9-}.Lightbox-module__slideInRight___ZQqFi{animation-name:Lightbox-module__lbSlideInRight___nByIA}.Lightbox-module__slideInTop___XRKCs{animation-name:Lightbox-module__lbSlideInTop___hI5ju}.Lightbox-module__slideInBottom___TYOBS{animation-name:Lightbox-module__lbSlideInBottom___M6-9o}.Lightbox-module__lightboxSplide___yMC4v.splide--fade .Lightbox-module__scaleSlide___wS7d4{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___yMC4v.splide--fade .splide__slide.is-active .Lightbox-module__scaleSlide___wS7d4{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.Lightbox-module__lightboxSplide___yMC4v.splide--fade .splide__slide:not(.is-active) .Lightbox-module__scaleSlide___wS7d4{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}.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}@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__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports (outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports (outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
|
package/dist/index.js
CHANGED
|
@@ -1503,7 +1503,6 @@ const thumbsAlignStart = "Lightbox-module__thumbsAlignStart___uiFIV";
|
|
|
1503
1503
|
const thumbsAlignCenter = "Lightbox-module__thumbsAlignCenter___sbUPA";
|
|
1504
1504
|
const thumbsAlignEnd = "Lightbox-module__thumbsAlignEnd___OA9N4";
|
|
1505
1505
|
const thumbItem = "Lightbox-module__thumbItem___zROyu";
|
|
1506
|
-
const thumbImage = "Lightbox-module__thumbImage___xGakV";
|
|
1507
1506
|
const closeButton = "Lightbox-module__closeButton___r3Dur";
|
|
1508
1507
|
const fadeIn = "Lightbox-module__fadeIn___sHwRK";
|
|
1509
1508
|
const slideInLeft = "Lightbox-module__slideInLeft___P-XRo";
|
|
@@ -1534,7 +1533,6 @@ const styles = {
|
|
|
1534
1533
|
thumbsAlignCenter,
|
|
1535
1534
|
thumbsAlignEnd,
|
|
1536
1535
|
thumbItem,
|
|
1537
|
-
thumbImage,
|
|
1538
1536
|
closeButton,
|
|
1539
1537
|
fadeIn,
|
|
1540
1538
|
slideInLeft,
|
|
@@ -1577,6 +1575,31 @@ const getPositionStyles = (position, offset, isEditor) => {
|
|
|
1577
1575
|
}
|
|
1578
1576
|
return styles2;
|
|
1579
1577
|
};
|
|
1578
|
+
function getDisplayedImageRect(img2) {
|
|
1579
|
+
const container = img2.getBoundingClientRect();
|
|
1580
|
+
const containerW = container.width;
|
|
1581
|
+
const containerH = container.height;
|
|
1582
|
+
const imgW = img2.naturalWidth;
|
|
1583
|
+
const imgH = img2.naturalHeight;
|
|
1584
|
+
const containerRatio = containerW / containerH;
|
|
1585
|
+
const imgRatio = imgW / imgH;
|
|
1586
|
+
let renderedW, renderedH;
|
|
1587
|
+
if (imgRatio > containerRatio) {
|
|
1588
|
+
renderedW = containerW;
|
|
1589
|
+
renderedH = containerW / imgRatio;
|
|
1590
|
+
} else {
|
|
1591
|
+
renderedH = containerH;
|
|
1592
|
+
renderedW = containerH * imgRatio;
|
|
1593
|
+
}
|
|
1594
|
+
const offsetX = (containerW - renderedW) / 2 + container.left;
|
|
1595
|
+
const offsetY = (containerH - renderedH) / 2 + container.top;
|
|
1596
|
+
return {
|
|
1597
|
+
x: offsetX,
|
|
1598
|
+
y: offsetY,
|
|
1599
|
+
width: renderedW,
|
|
1600
|
+
height: renderedH
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1580
1603
|
function LightboxGallery({ settings, content, styles: styles2, portalId, activeEvent, isEditor }) {
|
|
1581
1604
|
const [open, setOpen] = React.useState(false);
|
|
1582
1605
|
const { url } = settings.thumbnailBlock.cover;
|
|
@@ -1598,13 +1621,16 @@ function LightboxGallery({ settings, content, styles: styles2, portalId, activeE
|
|
|
1598
1621
|
onClick: () => setOpen(true)
|
|
1599
1622
|
}
|
|
1600
1623
|
),
|
|
1601
|
-
/* @__PURE__ */ jsxRuntime.jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, portalId, isEditor })
|
|
1624
|
+
/* @__PURE__ */ jsxRuntime.jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, styles: styles2, portalId, isEditor })
|
|
1602
1625
|
] });
|
|
1603
1626
|
}
|
|
1604
|
-
const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1627
|
+
const Lightbox = ({ isOpen, onClose, content, styles: lightboxStyles, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1628
|
+
const { widthSettings, fontSettings, letterSpacing, textAlign, wordSpacing, fontSizeLineHeight, textAppearance, color } = lightboxStyles.caption;
|
|
1605
1629
|
const [currentIndex, setCurrentIndex] = React.useState(0);
|
|
1630
|
+
const [splideKey, setSplideKey] = React.useState(0);
|
|
1606
1631
|
const lightboxRef = React.useRef(null);
|
|
1607
|
-
const
|
|
1632
|
+
const prevSliderTypeRef = React.useRef(null);
|
|
1633
|
+
const imageRef = React.useRef(null);
|
|
1608
1634
|
const { appear, triggers, slider, thumbnail, controls, area, caption: caption2, layout } = settings.lightboxBlock;
|
|
1609
1635
|
const handleBackdropClick = (e) => {
|
|
1610
1636
|
if (!closeOnBackdropClick) return;
|
|
@@ -1634,6 +1660,13 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1634
1660
|
};
|
|
1635
1661
|
const onImageClick = (e) => {
|
|
1636
1662
|
var _a, _b;
|
|
1663
|
+
const rect = imageRef.current ? getDisplayedImageRect(imageRef.current) : null;
|
|
1664
|
+
if (!rect) return;
|
|
1665
|
+
const inside = e.clientX >= rect.x && e.clientX <= rect.x + rect.width && e.clientY >= rect.y && e.clientY <= rect.y + rect.height;
|
|
1666
|
+
if (!inside) {
|
|
1667
|
+
onClose();
|
|
1668
|
+
return;
|
|
1669
|
+
}
|
|
1637
1670
|
if (triggers.type === "click" && triggers.switch === "image") {
|
|
1638
1671
|
e.stopPropagation();
|
|
1639
1672
|
(_a = lightboxRef.current) == null ? void 0 : _a.go("+1");
|
|
@@ -1641,11 +1674,11 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1641
1674
|
if (triggers.type === "click" && triggers.switch === "50/50") {
|
|
1642
1675
|
e.stopPropagation();
|
|
1643
1676
|
const img2 = e.currentTarget;
|
|
1644
|
-
const
|
|
1645
|
-
const clickX = e.clientX -
|
|
1646
|
-
const clickY = e.clientY -
|
|
1647
|
-
const imgWidth =
|
|
1648
|
-
const imgHeight =
|
|
1677
|
+
const rect2 = img2.getBoundingClientRect();
|
|
1678
|
+
const clickX = e.clientX - rect2.left;
|
|
1679
|
+
const clickY = e.clientY - rect2.top;
|
|
1680
|
+
const imgWidth = rect2.width;
|
|
1681
|
+
const imgHeight = rect2.height;
|
|
1649
1682
|
let dir;
|
|
1650
1683
|
if (slider.direction === "horiz") {
|
|
1651
1684
|
dir = clickX < imgWidth / 2 ? "-1" : "+1";
|
|
@@ -1678,6 +1711,12 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1678
1711
|
React.useEffect(() => {
|
|
1679
1712
|
if (isOpen) setCurrentIndex(0);
|
|
1680
1713
|
}, [isOpen]);
|
|
1714
|
+
React.useEffect(() => {
|
|
1715
|
+
if (prevSliderTypeRef.current !== null && prevSliderTypeRef.current !== slider.type) {
|
|
1716
|
+
setSplideKey((prev) => prev + 1);
|
|
1717
|
+
}
|
|
1718
|
+
prevSliderTypeRef.current = slider.type;
|
|
1719
|
+
}, [slider.type]);
|
|
1681
1720
|
React.useEffect(() => {
|
|
1682
1721
|
if (!isOpen) return;
|
|
1683
1722
|
const originalOverflow = document.body.style.overflow;
|
|
@@ -1691,51 +1730,6 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1691
1730
|
document.body.style.backgroundColor = "";
|
|
1692
1731
|
};
|
|
1693
1732
|
}, [isOpen]);
|
|
1694
|
-
React.useEffect(() => {
|
|
1695
|
-
if (!isOpen) return;
|
|
1696
|
-
if (resizeObserverRef.current) {
|
|
1697
|
-
resizeObserverRef.current.disconnect();
|
|
1698
|
-
resizeObserverRef.current = null;
|
|
1699
|
-
}
|
|
1700
|
-
const timeoutId = setTimeout(() => {
|
|
1701
|
-
const activeSlide = document.querySelector(".splide__slide.is-active");
|
|
1702
|
-
if (!activeSlide) return;
|
|
1703
|
-
const img2 = activeSlide.querySelector("img");
|
|
1704
|
-
const container = activeSlide.querySelector(`.${styles.imgWrapper}`);
|
|
1705
|
-
if (!img2 || !container) return;
|
|
1706
|
-
const updateImageSize = () => {
|
|
1707
|
-
if (!img2.naturalWidth || !img2.naturalHeight) return;
|
|
1708
|
-
const imageAspectRatio = img2.naturalWidth / img2.naturalHeight;
|
|
1709
|
-
const containerWidth = container.clientWidth;
|
|
1710
|
-
const containerHeight = container.clientHeight;
|
|
1711
|
-
const containerAspectRatio = containerWidth / containerHeight;
|
|
1712
|
-
if (imageAspectRatio > containerAspectRatio) {
|
|
1713
|
-
img2.style.width = "100%";
|
|
1714
|
-
img2.style.height = "";
|
|
1715
|
-
} else {
|
|
1716
|
-
img2.style.height = "100%";
|
|
1717
|
-
img2.style.width = "";
|
|
1718
|
-
}
|
|
1719
|
-
};
|
|
1720
|
-
if (img2.complete) {
|
|
1721
|
-
updateImageSize();
|
|
1722
|
-
} else {
|
|
1723
|
-
img2.onload = updateImageSize;
|
|
1724
|
-
}
|
|
1725
|
-
resizeObserverRef.current = new ResizeObserver(() => {
|
|
1726
|
-
updateImageSize();
|
|
1727
|
-
});
|
|
1728
|
-
resizeObserverRef.current.observe(container);
|
|
1729
|
-
resizeObserverRef.current.observe(img2);
|
|
1730
|
-
}, 0);
|
|
1731
|
-
return () => {
|
|
1732
|
-
clearTimeout(timeoutId);
|
|
1733
|
-
if (resizeObserverRef.current) {
|
|
1734
|
-
resizeObserverRef.current.disconnect();
|
|
1735
|
-
resizeObserverRef.current = null;
|
|
1736
|
-
}
|
|
1737
|
-
};
|
|
1738
|
-
}, [isOpen, currentIndex, content]);
|
|
1739
1733
|
const handleArrowClick = (dir) => {
|
|
1740
1734
|
var _a;
|
|
1741
1735
|
(_a = lightboxRef.current) == null ? void 0 : _a.go(dir);
|
|
@@ -1802,6 +1796,7 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1802
1796
|
style: { ...isEditor && { backgroundColor: area.color, backdropFilter: `blur(${area.blur}px)` } },
|
|
1803
1797
|
onClick: handleBackdropClick,
|
|
1804
1798
|
onTouchEnd: handleBackdropClick,
|
|
1799
|
+
onTouchStart: handleBackdropClick,
|
|
1805
1800
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1806
1801
|
"div",
|
|
1807
1802
|
{
|
|
@@ -1855,6 +1850,7 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1855
1850
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1856
1851
|
"img",
|
|
1857
1852
|
{
|
|
1853
|
+
ref: imageRef,
|
|
1858
1854
|
className: cn(styles.imageStyle, {
|
|
1859
1855
|
[styles.contain]: item.image.objectFit === "contain",
|
|
1860
1856
|
[styles.cover]: item.image.objectFit === "cover",
|
|
@@ -1869,9 +1865,10 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1869
1865
|
}
|
|
1870
1866
|
) }, index);
|
|
1871
1867
|
})
|
|
1872
|
-
}
|
|
1868
|
+
},
|
|
1869
|
+
splideKey
|
|
1873
1870
|
),
|
|
1874
|
-
controls.isActive && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1871
|
+
controls.isActive && controls.arrowsImgUrl && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1875
1872
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1876
1873
|
"div",
|
|
1877
1874
|
{
|
|
@@ -1953,10 +1950,33 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1953
1950
|
className: styles.caption,
|
|
1954
1951
|
style: {
|
|
1955
1952
|
...getPositionStyles(caption2.alignment, caption2.offset, isEditor),
|
|
1956
|
-
|
|
1953
|
+
fontFamily: fontSettings.fontFamily,
|
|
1954
|
+
fontWeight: fontSettings.fontWeight,
|
|
1955
|
+
fontStyle: fontSettings.fontStyle,
|
|
1956
|
+
width: widthSettings.sizing === "auto" ? "max-content" : scalingValue(widthSettings.width, isEditor),
|
|
1957
|
+
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
1958
|
+
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
1959
|
+
textAlign,
|
|
1960
|
+
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
1961
|
+
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
1962
|
+
textTransform: textAppearance.textTransform ?? "none",
|
|
1963
|
+
textDecoration: textAppearance.textDecoration ?? "none",
|
|
1964
|
+
fontVariant: textAppearance.fontVariant ?? "normal",
|
|
1965
|
+
color,
|
|
1966
|
+
transitionDuration: slider.duration ? `${Math.round(parseInt(slider.duration) / 2)}ms` : "500ms"
|
|
1957
1967
|
},
|
|
1958
1968
|
onClick: (e) => e.stopPropagation(),
|
|
1959
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1969
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1970
|
+
"div",
|
|
1971
|
+
{
|
|
1972
|
+
"data-styles": "caption",
|
|
1973
|
+
className: styles.captionTextInner,
|
|
1974
|
+
style: {
|
|
1975
|
+
position: "relative"
|
|
1976
|
+
},
|
|
1977
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(RichTextRenderer, { content: content[currentIndex].imageCaption })
|
|
1978
|
+
}
|
|
1979
|
+
)
|
|
1960
1980
|
}
|
|
1961
1981
|
),
|
|
1962
1982
|
thumbnail.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2001,11 +2021,9 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
2001
2021
|
{
|
|
2002
2022
|
src: item.image.url,
|
|
2003
2023
|
alt: item.image.name ?? "",
|
|
2004
|
-
className: styles.thumbImage,
|
|
2005
2024
|
style: {
|
|
2006
2025
|
objectFit: thumbnail.fit === "cover" ? "cover" : "contain",
|
|
2007
|
-
...thumbnail.fit === "fit"
|
|
2008
|
-
...thumbnail.fit === "fit" && slider.direction === "vert" ? { height: "fit-content" } : {},
|
|
2026
|
+
...thumbnail.fit === "fit" ? { maxWidth: "100%", maxHeight: "100%", objectFit: "contain" } : {},
|
|
2009
2027
|
...thumbnail.fit === "cover" && slider.direction === "horiz" ? { width: "100%", height: "100%" } : {}
|
|
2010
2028
|
}
|
|
2011
2029
|
}
|
|
@@ -2034,8 +2052,8 @@ const LightboxComponent = {
|
|
|
2034
2052
|
url: "https://cdn.cntrl.site/projects/01GJ2SPDSH73MC92WW7ZA2CWBY/articles-assets/01KA24CHYZXJBZ0Q714B05A7VD.mp4"
|
|
2035
2053
|
},
|
|
2036
2054
|
defaultSize: {
|
|
2037
|
-
width:
|
|
2038
|
-
height:
|
|
2055
|
+
width: 440,
|
|
2056
|
+
height: 550
|
|
2039
2057
|
},
|
|
2040
2058
|
schema: {
|
|
2041
2059
|
type: "object",
|
|
@@ -2730,47 +2748,27 @@ const LightboxComponent = {
|
|
|
2730
2748
|
name: "properties.lightboxBlock.properties.appear.properties.direction.display.visible",
|
|
2731
2749
|
value: false
|
|
2732
2750
|
}
|
|
2733
|
-
},
|
|
2734
|
-
{
|
|
2735
|
-
if: {
|
|
2736
|
-
name: "lightboxBlock.triggers.type",
|
|
2737
|
-
value: "click"
|
|
2738
|
-
},
|
|
2739
|
-
then: {
|
|
2740
|
-
name: "properties.lightboxBlock.properties.slider.properties.duration.display.visible",
|
|
2741
|
-
value: true
|
|
2742
|
-
}
|
|
2743
|
-
},
|
|
2744
|
-
{
|
|
2745
|
-
if: {
|
|
2746
|
-
name: "lightboxBlock.triggers.type",
|
|
2747
|
-
value: "click"
|
|
2748
|
-
},
|
|
2749
|
-
then: {
|
|
2750
|
-
name: "properties.lightboxBlock.properties.slider.properties.switch.display.visible",
|
|
2751
|
-
value: true
|
|
2752
|
-
}
|
|
2753
|
-
},
|
|
2754
|
-
{
|
|
2755
|
-
if: {
|
|
2756
|
-
name: "lightboxBlock.triggers.type",
|
|
2757
|
-
value: "drag"
|
|
2758
|
-
},
|
|
2759
|
-
then: {
|
|
2760
|
-
name: "properties.lightboxBlock.properties.slider.properties.duration.display.visible",
|
|
2761
|
-
value: false
|
|
2762
|
-
}
|
|
2763
|
-
},
|
|
2764
|
-
{
|
|
2765
|
-
if: {
|
|
2766
|
-
name: "lightboxBlock.triggers.type",
|
|
2767
|
-
value: "drag"
|
|
2768
|
-
},
|
|
2769
|
-
then: {
|
|
2770
|
-
name: "properties.lightboxBlock.properties.slider.properties.switch.display.visible",
|
|
2771
|
-
value: false
|
|
2772
|
-
}
|
|
2773
2751
|
}
|
|
2752
|
+
// {
|
|
2753
|
+
// if: {
|
|
2754
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2755
|
+
// value: 'click'
|
|
2756
|
+
// },
|
|
2757
|
+
// then: {
|
|
2758
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2759
|
+
// value: true
|
|
2760
|
+
// }
|
|
2761
|
+
// },
|
|
2762
|
+
// {
|
|
2763
|
+
// if: {
|
|
2764
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2765
|
+
// value: 'drag'
|
|
2766
|
+
// },
|
|
2767
|
+
// then: {
|
|
2768
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2769
|
+
// value: false
|
|
2770
|
+
// }
|
|
2771
|
+
// }
|
|
2774
2772
|
]
|
|
2775
2773
|
},
|
|
2776
2774
|
content: {
|
package/dist/index.mjs
CHANGED
|
@@ -1501,7 +1501,6 @@ const thumbsAlignStart = "Lightbox-module__thumbsAlignStart___uiFIV";
|
|
|
1501
1501
|
const thumbsAlignCenter = "Lightbox-module__thumbsAlignCenter___sbUPA";
|
|
1502
1502
|
const thumbsAlignEnd = "Lightbox-module__thumbsAlignEnd___OA9N4";
|
|
1503
1503
|
const thumbItem = "Lightbox-module__thumbItem___zROyu";
|
|
1504
|
-
const thumbImage = "Lightbox-module__thumbImage___xGakV";
|
|
1505
1504
|
const closeButton = "Lightbox-module__closeButton___r3Dur";
|
|
1506
1505
|
const fadeIn = "Lightbox-module__fadeIn___sHwRK";
|
|
1507
1506
|
const slideInLeft = "Lightbox-module__slideInLeft___P-XRo";
|
|
@@ -1532,7 +1531,6 @@ const styles = {
|
|
|
1532
1531
|
thumbsAlignCenter,
|
|
1533
1532
|
thumbsAlignEnd,
|
|
1534
1533
|
thumbItem,
|
|
1535
|
-
thumbImage,
|
|
1536
1534
|
closeButton,
|
|
1537
1535
|
fadeIn,
|
|
1538
1536
|
slideInLeft,
|
|
@@ -1575,6 +1573,31 @@ const getPositionStyles = (position, offset, isEditor) => {
|
|
|
1575
1573
|
}
|
|
1576
1574
|
return styles2;
|
|
1577
1575
|
};
|
|
1576
|
+
function getDisplayedImageRect(img2) {
|
|
1577
|
+
const container = img2.getBoundingClientRect();
|
|
1578
|
+
const containerW = container.width;
|
|
1579
|
+
const containerH = container.height;
|
|
1580
|
+
const imgW = img2.naturalWidth;
|
|
1581
|
+
const imgH = img2.naturalHeight;
|
|
1582
|
+
const containerRatio = containerW / containerH;
|
|
1583
|
+
const imgRatio = imgW / imgH;
|
|
1584
|
+
let renderedW, renderedH;
|
|
1585
|
+
if (imgRatio > containerRatio) {
|
|
1586
|
+
renderedW = containerW;
|
|
1587
|
+
renderedH = containerW / imgRatio;
|
|
1588
|
+
} else {
|
|
1589
|
+
renderedH = containerH;
|
|
1590
|
+
renderedW = containerH * imgRatio;
|
|
1591
|
+
}
|
|
1592
|
+
const offsetX = (containerW - renderedW) / 2 + container.left;
|
|
1593
|
+
const offsetY = (containerH - renderedH) / 2 + container.top;
|
|
1594
|
+
return {
|
|
1595
|
+
x: offsetX,
|
|
1596
|
+
y: offsetY,
|
|
1597
|
+
width: renderedW,
|
|
1598
|
+
height: renderedH
|
|
1599
|
+
};
|
|
1600
|
+
}
|
|
1578
1601
|
function LightboxGallery({ settings, content, styles: styles2, portalId, activeEvent, isEditor }) {
|
|
1579
1602
|
const [open, setOpen] = React.useState(false);
|
|
1580
1603
|
const { url } = settings.thumbnailBlock.cover;
|
|
@@ -1596,13 +1619,16 @@ function LightboxGallery({ settings, content, styles: styles2, portalId, activeE
|
|
|
1596
1619
|
onClick: () => setOpen(true)
|
|
1597
1620
|
}
|
|
1598
1621
|
),
|
|
1599
|
-
/* @__PURE__ */ jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, portalId, isEditor })
|
|
1622
|
+
/* @__PURE__ */ jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, styles: styles2, portalId, isEditor })
|
|
1600
1623
|
] });
|
|
1601
1624
|
}
|
|
1602
|
-
const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1625
|
+
const Lightbox = ({ isOpen, onClose, content, styles: lightboxStyles, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1626
|
+
const { widthSettings, fontSettings, letterSpacing, textAlign, wordSpacing, fontSizeLineHeight, textAppearance, color } = lightboxStyles.caption;
|
|
1603
1627
|
const [currentIndex, setCurrentIndex] = React.useState(0);
|
|
1628
|
+
const [splideKey, setSplideKey] = React.useState(0);
|
|
1604
1629
|
const lightboxRef = useRef(null);
|
|
1605
|
-
const
|
|
1630
|
+
const prevSliderTypeRef = useRef(null);
|
|
1631
|
+
const imageRef = useRef(null);
|
|
1606
1632
|
const { appear, triggers, slider, thumbnail, controls, area, caption: caption2, layout } = settings.lightboxBlock;
|
|
1607
1633
|
const handleBackdropClick = (e) => {
|
|
1608
1634
|
if (!closeOnBackdropClick) return;
|
|
@@ -1632,6 +1658,13 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1632
1658
|
};
|
|
1633
1659
|
const onImageClick = (e) => {
|
|
1634
1660
|
var _a, _b;
|
|
1661
|
+
const rect = imageRef.current ? getDisplayedImageRect(imageRef.current) : null;
|
|
1662
|
+
if (!rect) return;
|
|
1663
|
+
const inside = e.clientX >= rect.x && e.clientX <= rect.x + rect.width && e.clientY >= rect.y && e.clientY <= rect.y + rect.height;
|
|
1664
|
+
if (!inside) {
|
|
1665
|
+
onClose();
|
|
1666
|
+
return;
|
|
1667
|
+
}
|
|
1635
1668
|
if (triggers.type === "click" && triggers.switch === "image") {
|
|
1636
1669
|
e.stopPropagation();
|
|
1637
1670
|
(_a = lightboxRef.current) == null ? void 0 : _a.go("+1");
|
|
@@ -1639,11 +1672,11 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1639
1672
|
if (triggers.type === "click" && triggers.switch === "50/50") {
|
|
1640
1673
|
e.stopPropagation();
|
|
1641
1674
|
const img2 = e.currentTarget;
|
|
1642
|
-
const
|
|
1643
|
-
const clickX = e.clientX -
|
|
1644
|
-
const clickY = e.clientY -
|
|
1645
|
-
const imgWidth =
|
|
1646
|
-
const imgHeight =
|
|
1675
|
+
const rect2 = img2.getBoundingClientRect();
|
|
1676
|
+
const clickX = e.clientX - rect2.left;
|
|
1677
|
+
const clickY = e.clientY - rect2.top;
|
|
1678
|
+
const imgWidth = rect2.width;
|
|
1679
|
+
const imgHeight = rect2.height;
|
|
1647
1680
|
let dir;
|
|
1648
1681
|
if (slider.direction === "horiz") {
|
|
1649
1682
|
dir = clickX < imgWidth / 2 ? "-1" : "+1";
|
|
@@ -1676,6 +1709,12 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1676
1709
|
useEffect(() => {
|
|
1677
1710
|
if (isOpen) setCurrentIndex(0);
|
|
1678
1711
|
}, [isOpen]);
|
|
1712
|
+
useEffect(() => {
|
|
1713
|
+
if (prevSliderTypeRef.current !== null && prevSliderTypeRef.current !== slider.type) {
|
|
1714
|
+
setSplideKey((prev) => prev + 1);
|
|
1715
|
+
}
|
|
1716
|
+
prevSliderTypeRef.current = slider.type;
|
|
1717
|
+
}, [slider.type]);
|
|
1679
1718
|
useEffect(() => {
|
|
1680
1719
|
if (!isOpen) return;
|
|
1681
1720
|
const originalOverflow = document.body.style.overflow;
|
|
@@ -1689,51 +1728,6 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1689
1728
|
document.body.style.backgroundColor = "";
|
|
1690
1729
|
};
|
|
1691
1730
|
}, [isOpen]);
|
|
1692
|
-
useEffect(() => {
|
|
1693
|
-
if (!isOpen) return;
|
|
1694
|
-
if (resizeObserverRef.current) {
|
|
1695
|
-
resizeObserverRef.current.disconnect();
|
|
1696
|
-
resizeObserverRef.current = null;
|
|
1697
|
-
}
|
|
1698
|
-
const timeoutId = setTimeout(() => {
|
|
1699
|
-
const activeSlide = document.querySelector(".splide__slide.is-active");
|
|
1700
|
-
if (!activeSlide) return;
|
|
1701
|
-
const img2 = activeSlide.querySelector("img");
|
|
1702
|
-
const container = activeSlide.querySelector(`.${styles.imgWrapper}`);
|
|
1703
|
-
if (!img2 || !container) return;
|
|
1704
|
-
const updateImageSize = () => {
|
|
1705
|
-
if (!img2.naturalWidth || !img2.naturalHeight) return;
|
|
1706
|
-
const imageAspectRatio = img2.naturalWidth / img2.naturalHeight;
|
|
1707
|
-
const containerWidth = container.clientWidth;
|
|
1708
|
-
const containerHeight = container.clientHeight;
|
|
1709
|
-
const containerAspectRatio = containerWidth / containerHeight;
|
|
1710
|
-
if (imageAspectRatio > containerAspectRatio) {
|
|
1711
|
-
img2.style.width = "100%";
|
|
1712
|
-
img2.style.height = "";
|
|
1713
|
-
} else {
|
|
1714
|
-
img2.style.height = "100%";
|
|
1715
|
-
img2.style.width = "";
|
|
1716
|
-
}
|
|
1717
|
-
};
|
|
1718
|
-
if (img2.complete) {
|
|
1719
|
-
updateImageSize();
|
|
1720
|
-
} else {
|
|
1721
|
-
img2.onload = updateImageSize;
|
|
1722
|
-
}
|
|
1723
|
-
resizeObserverRef.current = new ResizeObserver(() => {
|
|
1724
|
-
updateImageSize();
|
|
1725
|
-
});
|
|
1726
|
-
resizeObserverRef.current.observe(container);
|
|
1727
|
-
resizeObserverRef.current.observe(img2);
|
|
1728
|
-
}, 0);
|
|
1729
|
-
return () => {
|
|
1730
|
-
clearTimeout(timeoutId);
|
|
1731
|
-
if (resizeObserverRef.current) {
|
|
1732
|
-
resizeObserverRef.current.disconnect();
|
|
1733
|
-
resizeObserverRef.current = null;
|
|
1734
|
-
}
|
|
1735
|
-
};
|
|
1736
|
-
}, [isOpen, currentIndex, content]);
|
|
1737
1731
|
const handleArrowClick = (dir) => {
|
|
1738
1732
|
var _a;
|
|
1739
1733
|
(_a = lightboxRef.current) == null ? void 0 : _a.go(dir);
|
|
@@ -1800,6 +1794,7 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1800
1794
|
style: { ...isEditor && { backgroundColor: area.color, backdropFilter: `blur(${area.blur}px)` } },
|
|
1801
1795
|
onClick: handleBackdropClick,
|
|
1802
1796
|
onTouchEnd: handleBackdropClick,
|
|
1797
|
+
onTouchStart: handleBackdropClick,
|
|
1803
1798
|
children: /* @__PURE__ */ jsxs(
|
|
1804
1799
|
"div",
|
|
1805
1800
|
{
|
|
@@ -1853,6 +1848,7 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1853
1848
|
children: /* @__PURE__ */ jsx(
|
|
1854
1849
|
"img",
|
|
1855
1850
|
{
|
|
1851
|
+
ref: imageRef,
|
|
1856
1852
|
className: cn(styles.imageStyle, {
|
|
1857
1853
|
[styles.contain]: item.image.objectFit === "contain",
|
|
1858
1854
|
[styles.cover]: item.image.objectFit === "cover",
|
|
@@ -1867,9 +1863,10 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1867
1863
|
}
|
|
1868
1864
|
) }, index);
|
|
1869
1865
|
})
|
|
1870
|
-
}
|
|
1866
|
+
},
|
|
1867
|
+
splideKey
|
|
1871
1868
|
),
|
|
1872
|
-
controls.isActive && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1869
|
+
controls.isActive && controls.arrowsImgUrl && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1873
1870
|
/* @__PURE__ */ jsx(
|
|
1874
1871
|
"div",
|
|
1875
1872
|
{
|
|
@@ -1951,10 +1948,33 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1951
1948
|
className: styles.caption,
|
|
1952
1949
|
style: {
|
|
1953
1950
|
...getPositionStyles(caption2.alignment, caption2.offset, isEditor),
|
|
1954
|
-
|
|
1951
|
+
fontFamily: fontSettings.fontFamily,
|
|
1952
|
+
fontWeight: fontSettings.fontWeight,
|
|
1953
|
+
fontStyle: fontSettings.fontStyle,
|
|
1954
|
+
width: widthSettings.sizing === "auto" ? "max-content" : scalingValue(widthSettings.width, isEditor),
|
|
1955
|
+
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
1956
|
+
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
1957
|
+
textAlign,
|
|
1958
|
+
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
1959
|
+
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
1960
|
+
textTransform: textAppearance.textTransform ?? "none",
|
|
1961
|
+
textDecoration: textAppearance.textDecoration ?? "none",
|
|
1962
|
+
fontVariant: textAppearance.fontVariant ?? "normal",
|
|
1963
|
+
color,
|
|
1964
|
+
transitionDuration: slider.duration ? `${Math.round(parseInt(slider.duration) / 2)}ms` : "500ms"
|
|
1955
1965
|
},
|
|
1956
1966
|
onClick: (e) => e.stopPropagation(),
|
|
1957
|
-
children: /* @__PURE__ */ jsx(
|
|
1967
|
+
children: /* @__PURE__ */ jsx(
|
|
1968
|
+
"div",
|
|
1969
|
+
{
|
|
1970
|
+
"data-styles": "caption",
|
|
1971
|
+
className: styles.captionTextInner,
|
|
1972
|
+
style: {
|
|
1973
|
+
position: "relative"
|
|
1974
|
+
},
|
|
1975
|
+
children: /* @__PURE__ */ jsx(RichTextRenderer, { content: content[currentIndex].imageCaption })
|
|
1976
|
+
}
|
|
1977
|
+
)
|
|
1958
1978
|
}
|
|
1959
1979
|
),
|
|
1960
1980
|
thumbnail.isActive && /* @__PURE__ */ jsx(
|
|
@@ -1999,11 +2019,9 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1999
2019
|
{
|
|
2000
2020
|
src: item.image.url,
|
|
2001
2021
|
alt: item.image.name ?? "",
|
|
2002
|
-
className: styles.thumbImage,
|
|
2003
2022
|
style: {
|
|
2004
2023
|
objectFit: thumbnail.fit === "cover" ? "cover" : "contain",
|
|
2005
|
-
...thumbnail.fit === "fit"
|
|
2006
|
-
...thumbnail.fit === "fit" && slider.direction === "vert" ? { height: "fit-content" } : {},
|
|
2024
|
+
...thumbnail.fit === "fit" ? { maxWidth: "100%", maxHeight: "100%", objectFit: "contain" } : {},
|
|
2007
2025
|
...thumbnail.fit === "cover" && slider.direction === "horiz" ? { width: "100%", height: "100%" } : {}
|
|
2008
2026
|
}
|
|
2009
2027
|
}
|
|
@@ -2032,8 +2050,8 @@ const LightboxComponent = {
|
|
|
2032
2050
|
url: "https://cdn.cntrl.site/projects/01GJ2SPDSH73MC92WW7ZA2CWBY/articles-assets/01KA24CHYZXJBZ0Q714B05A7VD.mp4"
|
|
2033
2051
|
},
|
|
2034
2052
|
defaultSize: {
|
|
2035
|
-
width:
|
|
2036
|
-
height:
|
|
2053
|
+
width: 440,
|
|
2054
|
+
height: 550
|
|
2037
2055
|
},
|
|
2038
2056
|
schema: {
|
|
2039
2057
|
type: "object",
|
|
@@ -2728,47 +2746,27 @@ const LightboxComponent = {
|
|
|
2728
2746
|
name: "properties.lightboxBlock.properties.appear.properties.direction.display.visible",
|
|
2729
2747
|
value: false
|
|
2730
2748
|
}
|
|
2731
|
-
},
|
|
2732
|
-
{
|
|
2733
|
-
if: {
|
|
2734
|
-
name: "lightboxBlock.triggers.type",
|
|
2735
|
-
value: "click"
|
|
2736
|
-
},
|
|
2737
|
-
then: {
|
|
2738
|
-
name: "properties.lightboxBlock.properties.slider.properties.duration.display.visible",
|
|
2739
|
-
value: true
|
|
2740
|
-
}
|
|
2741
|
-
},
|
|
2742
|
-
{
|
|
2743
|
-
if: {
|
|
2744
|
-
name: "lightboxBlock.triggers.type",
|
|
2745
|
-
value: "click"
|
|
2746
|
-
},
|
|
2747
|
-
then: {
|
|
2748
|
-
name: "properties.lightboxBlock.properties.slider.properties.switch.display.visible",
|
|
2749
|
-
value: true
|
|
2750
|
-
}
|
|
2751
|
-
},
|
|
2752
|
-
{
|
|
2753
|
-
if: {
|
|
2754
|
-
name: "lightboxBlock.triggers.type",
|
|
2755
|
-
value: "drag"
|
|
2756
|
-
},
|
|
2757
|
-
then: {
|
|
2758
|
-
name: "properties.lightboxBlock.properties.slider.properties.duration.display.visible",
|
|
2759
|
-
value: false
|
|
2760
|
-
}
|
|
2761
|
-
},
|
|
2762
|
-
{
|
|
2763
|
-
if: {
|
|
2764
|
-
name: "lightboxBlock.triggers.type",
|
|
2765
|
-
value: "drag"
|
|
2766
|
-
},
|
|
2767
|
-
then: {
|
|
2768
|
-
name: "properties.lightboxBlock.properties.slider.properties.switch.display.visible",
|
|
2769
|
-
value: false
|
|
2770
|
-
}
|
|
2771
2749
|
}
|
|
2750
|
+
// {
|
|
2751
|
+
// if: {
|
|
2752
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2753
|
+
// value: 'click'
|
|
2754
|
+
// },
|
|
2755
|
+
// then: {
|
|
2756
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2757
|
+
// value: true
|
|
2758
|
+
// }
|
|
2759
|
+
// },
|
|
2760
|
+
// {
|
|
2761
|
+
// if: {
|
|
2762
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2763
|
+
// value: 'drag'
|
|
2764
|
+
// },
|
|
2765
|
+
// then: {
|
|
2766
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2767
|
+
// value: false
|
|
2768
|
+
// }
|
|
2769
|
+
// }
|
|
2772
2770
|
]
|
|
2773
2771
|
},
|
|
2774
2772
|
content: {
|