@cntrl-site/components 0.1.5 → 0.1.6-18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 GX Platform
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 GX Platform
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # Control Components
2
-
1
+ # Control Components
2
+
3
3
  This is custom components for control editor and public websites.
@@ -4,7 +4,7 @@ interface SliderProps {
4
4
  styles: SliderStyles;
5
5
  isEditor?: boolean;
6
6
  }
7
- export declare function ControlSlider({ settings, content, styles: sliderStyles, isEditor }: SliderProps): JSX.Element;
7
+ export declare function ControlSlider({ settings, content, styles: sliderStyles, isEditor }: SliderProps): import("react/jsx-runtime").JSX.Element;
8
8
  type SliderItem = {
9
9
  image: {
10
10
  url: string;
@@ -80,6 +80,17 @@ export declare const ControlImageRevealSliderComponent: {
80
80
  visible: boolean;
81
81
  };
82
82
  };
83
+ defaultCursorScale: {
84
+ type: string;
85
+ title: string;
86
+ min: number;
87
+ max: number;
88
+ step: number;
89
+ display: {
90
+ type: string;
91
+ visible: boolean;
92
+ };
93
+ };
83
94
  hoverCursor: {
84
95
  type: string[];
85
96
  title: string;
@@ -88,6 +99,17 @@ export declare const ControlImageRevealSliderComponent: {
88
99
  visible: boolean;
89
100
  };
90
101
  };
102
+ hoverCursorScale: {
103
+ type: string;
104
+ title: string;
105
+ min: number;
106
+ max: number;
107
+ step: number;
108
+ display: {
109
+ type: string;
110
+ visible: boolean;
111
+ };
112
+ };
91
113
  };
92
114
  };
93
115
  position: {
@@ -132,7 +154,9 @@ export declare const ControlImageRevealSliderComponent: {
132
154
  cursor: {
133
155
  cursorType: string;
134
156
  defaultCursor: null;
157
+ defaultCursorScale: number;
135
158
  hoverCursor: null;
159
+ hoverCursorScale: number;
136
160
  };
137
161
  position: {
138
162
  revealPosition: string;
@@ -150,10 +174,15 @@ export declare const ControlImageRevealSliderComponent: {
150
174
  value: boolean;
151
175
  };
152
176
  } | {
153
- if: {
177
+ if: ({
154
178
  name: string;
155
179
  value: string;
156
- }[];
180
+ isNotEqual?: undefined;
181
+ } | {
182
+ name: string;
183
+ value: null;
184
+ isNotEqual: boolean;
185
+ })[];
157
186
  then: {
158
187
  name: string;
159
188
  value: boolean;
@@ -14,7 +14,9 @@ type ImageRevealSliderImageSize = {
14
14
  };
15
15
  type ImageRevealSliderCursor = {
16
16
  cursorType: 'system' | 'custom';
17
+ defaultCursorScale: number;
17
18
  defaultCursor: string | null;
19
+ hoverCursorScale: number;
18
20
  hoverCursor: string | null;
19
21
  };
20
22
  type ImageRevealSliderPosition = {
@@ -34,5 +36,5 @@ type ImageRevealSliderItem = {
34
36
  };
35
37
  link: string;
36
38
  };
37
- export declare function ImageRevealSlider({ settings, content, isEditor }: ImageRevealSliderProps): JSX.Element;
39
+ export declare function ImageRevealSlider({ settings, content, isEditor }: ImageRevealSliderProps): import("react/jsx-runtime").JSX.Element;
38
40
  export {};
@@ -7,7 +7,7 @@ type LightboxGalleryProps = {
7
7
  activeEvent: 'close' | 'open';
8
8
  isEditor?: boolean;
9
9
  };
10
- export declare const LightboxGallery: ({ settings, content, styles, portalId, activeEvent, isEditor }: LightboxGalleryProps) => JSX.Element;
10
+ export declare const LightboxGallery: ({ settings, content, styles, portalId, activeEvent, isEditor }: LightboxGalleryProps) => import("react/jsx-runtime").JSX.Element;
11
11
  type LightboxImage = {
12
12
  image: {
13
13
  url: string;
@@ -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}.LightBox-module__heroImage___sTxNF{width:100%;height:100%;cursor:pointer;object-fit:cover}.LightBox-module__background___rm9ml{position:fixed;z-index:9997;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.LightBox-module__editor___4ACaY{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.LightBox-module__contentStyle___Bgnsq{position:fixed;z-index:9999;top:0;left:0;right:0;bottom:0;overflow:auto;background:transparent;box-sizing:border-box}.LightBox-module__imageStyle___tLIlB{position:relative;display:block;cursor:pointer;background-color:transparent;max-width:100%;max-height:100%;width:auto;height:auto}.LightBox-module__imgWrapper___LuFUp{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.LightBox-module__contain___8-yaS{object-fit:contain;max-width:100%;max-height:100%}.LightBox-module__cover___hNvOG{width:100%;height:100%;object-fit:cover}.LightBox-module__caption___b6L2I{z-index:9999;position:absolute;display:flex}.LightBox-module__captionTextInner___rCGNH{position:relative}.LightBox-module__lightboxSplide___XFuWC.splide,.LightBox-module__lightboxSplide___XFuWC .splide__track{height:100%}.LightBox-module__arrow___iz38X{position:absolute;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background-color:transparent;top:50%;z-index:1;transform:translate(-50%,-50%);padding:0;left:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.LightBox-module__arrow___iz38X.LightBox-module__arrowVertical___Zfz81{left:50%;top:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,-50%)}.LightBox-module__nextArrow___zkAQN{left:unset;right:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(50%,-50%)}.LightBox-module__nextArrow___zkAQN.LightBox-module__arrowVertical___Zfz81{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,50%)}.LightBox-module__arrowInner___p48sW{all:unset;cursor:pointer;width:100%;height:100%}.LightBox-module__arrowInner___p48sW:hover .LightBox-module__arrowIcon___3VaFf path{fill:var(--arrow-hover-color)!important}.LightBox-module__arrowImg___pNV88{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleX(-1)!important}.LightBox-module__arrowVertical___Zfz81.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleY(-1)!important}.LightBox-module__thumbsContainerVertical___wttk5{flex-direction:column;display:flex}.LightBox-module__thumbsContainer___osSma{display:flex;align-items:center;justify-content:center;pointer-events:auto}.LightBox-module__thumbsAlignStart___MO6tY{align-items:flex-start}.LightBox-module__thumbsAlignCenter___Q4sUx{align-items:center}.LightBox-module__thumbsAlignEnd___p4y9R{align-items:flex-end}.LightBox-module__thumbItem___HvnF3{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:transform .1s ease,opacity .1s ease}.LightBox-module__thumbItem___HvnF3:hover{opacity:var(--thumb-hover)!important}.LightBox-module__closeButton___g2khP{all:unset;cursor:pointer;position:absolute;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}@keyframes LightBox-module__lbFadeIn___P8mx0{0%{opacity:0}to{opacity:1}}.LightBox-module__fadeIn___0m5GW{animation-name:LightBox-module__lbFadeIn___P8mx0}@keyframes LightBox-module__lbSlideInLeft___ygsXZ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInRight___w2YKV{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInTop___W7CSQ{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes LightBox-module__lbSlideInBottom___7kiT2{0%{transform:translateY(100%)}to{transform:translateY(0)}}.LightBox-module__slideInLeft___gPYwC{animation-name:LightBox-module__lbSlideInLeft___ygsXZ}.LightBox-module__slideInRight___S-pPp{animation-name:LightBox-module__lbSlideInRight___w2YKV}.LightBox-module__slideInTop___DFdAj{animation-name:LightBox-module__lbSlideInTop___W7CSQ}.LightBox-module__slideInBottom___m27kZ{animation-name:LightBox-module__lbSlideInBottom___7kiT2}@keyframes LightBox-module__lbFadeOut___MhEeN{0%{opacity:1}to{opacity:0}}.LightBox-module__fadeOut___55qBR{animation-name:LightBox-module__lbFadeOut___MhEeN!important}@keyframes LightBox-module__lbSlideOutLeft___xM4sO{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes LightBox-module__lbSlideOutRight___Jppgj{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes LightBox-module__lbSlideOutTop___pvscE{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes LightBox-module__lbSlideOutBottom___oFjPG{0%{transform:translateY(0)}to{transform:translateY(100%)}}.LightBox-module__slideOutLeft___NvU7P{animation-name:LightBox-module__lbSlideOutLeft___xM4sO!important}.LightBox-module__slideOutRight___SK7eC{animation-name:LightBox-module__lbSlideOutRight___Jppgj!important}.LightBox-module__slideOutTop___Vgg0z{animation-name:LightBox-module__lbSlideOutTop___pvscE!important}.LightBox-module__slideOutBottom___nJ0Ef{animation-name:LightBox-module__lbSlideOutBottom___oFjPG!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(.9)!important;transition:opacity var(--splide-speed, .5s) ease,transform var(--splide-speed, .5s) ease!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide.is-active .LightBox-module__scaleSlide___vZriG{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide:not(.is-active) .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}
1
+ .ControlSlider-module__wrapper___sHEkd{position:relative;width:100%;height:100%}.ControlSlider-module__slider___R3i9-{width:100%;height:100%}.ControlSlider-module__sliderItems___1MgPL{display:flex;overflow:hidden;width:100%;height:100%;transition:transform .3s ease-in-out}.ControlSlider-module__sliderItem___QQSkR{width:100%;height:100%;display:flex;position:relative}.ControlSlider-module__sliderImage___9hRl-{width:100%;height:100%;object-fit:cover}.ControlSlider-module__arrow___05ghY{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;top:50%;left:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);z-index:1;transform:translate(-50%,-50%);padding:0;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.ControlSlider-module__arrow___05ghY.ControlSlider-module__arrowVertical___tBfVN{left:50%;top:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,-50%)}.ControlSlider-module__nextArrow___-30Yc{left:unset;right:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(50%,-50%)}.ControlSlider-module__nextArrow___-30Yc.ControlSlider-module__arrowVertical___tBfVN{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * -1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -1.3888888889vw);transform:translate(-50%,50%)}.ControlSlider-module__arrowInner___aEra3{all:unset;cursor:pointer;width:100%;height:100%}.ControlSlider-module__arrowInner___aEra3:hover .ControlSlider-module__arrowIcon___S4ztF path{fill:var(--arrow-hover-color)!important}.ControlSlider-module__arrowImg___2dwJW{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ControlSlider-module__arrowIcon___S4ztF{width:100%;height:100%}.ControlSlider-module__arrowIcon___S4ztF path{transition:fill .15s ease-in-out}.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleX(-1)!important}.ControlSlider-module__arrowVertical___tBfVN.ControlSlider-module__mirror___brd6U{transform:translate(-50%,-50%) scaleY(-1)!important}.ControlSlider-module__pagination___bicLF{position:absolute;z-index:1;border-radius:50%}.ControlSlider-module__paginationInner___bT-P-{display:flex;gap:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);padding-top:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-bottom:calc(var(--is-editor, 0) * .6944444444vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * .6944444444vw);padding-left:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);padding-right:calc(var(--is-editor, 0) * 1.25vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.25vw);border-radius:calc(var(--is-editor, 0) * 2.3611111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.3611111111vw)}.ControlSlider-module__paginationVertical___zYqKw{flex-direction:column}.ControlSlider-module__paginationItem___nTRbk{all:unset;flex-shrink:0;position:relative;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);cursor:pointer}.ControlSlider-module__paginationItem___nTRbk:hover .ControlSlider-module__dot___p1Qun{background-color:var(--pagination-hover-color)!important}.ControlSlider-module__dot___p1Qun{border-radius:50%;scale:.5;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw);height:calc(var(--is-editor, 0) * 1.1111111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.1111111111vw)}.ControlSlider-module__activeDot___LHFaj{transform:scale(2)}.ControlSlider-module__paginationInsideBottom___R3FWn{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__paginationInsideTop___V-qb-{left:50%;transform:translate(-50%);top:0}.ControlSlider-module__paginationOutsideBottom___14w8D{left:50%;transform:translate(-50%);bottom:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideTop___SCLqB{left:50%;transform:translate(-50%);top:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideLeft___yOBRZ{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationInsideRight___Rtt3o{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -2.4305555556vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -2.4305555556vw)}.ControlSlider-module__paginationOutsideLeft___lahaw{top:50%;transform:translateY(-50%);left:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__paginationOutsideRight___EtuQa{top:50%;transform:translateY(-50%);right:calc(var(--is-editor, 0) * -5.4861111111vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * -5.4861111111vw)}.ControlSlider-module__imgWrapper___UjEgB,.ControlSlider-module__wrapperInner___DLAWV{width:100%;height:100%}.ControlSlider-module__captionBlock___dJ6-j{pointer-events:none;position:absolute;top:0;z-index:1;left:0;right:0;bottom:0}.ControlSlider-module__captionTextWrapper___HFlpf{position:relative;width:100%;height:100%}.ControlSlider-module__captionText___uGBVc{pointer-events:none;max-width:100%;transition-property:opacity;transition-timing-function:ease-in-out;position:absolute;display:inline-block;white-space:pre-wrap;overflow-wrap:break-word;opacity:0}.ControlSlider-module__captionText___uGBVc.ControlSlider-module__active___WZK4G{opacity:1}.ControlSlider-module__withPointerEvents___t-18M{pointer-events:auto}.ControlSlider-module__absolute___KxmYB{position:absolute}.ControlSlider-module__topLeftAlignment___zjnGM{top:0;left:0}.ControlSlider-module__topCenterAlignment___gD1xW{top:0;left:50%;transform:translate(-50%)}.ControlSlider-module__topRightAlignment___NMapS{top:0;right:0}.ControlSlider-module__middleLeftAlignment___OnUrY{top:50%;transform:translateY(-50%);left:0}.ControlSlider-module__middleCenterAlignment___Tdkl0{top:50%;transform:translate(-50%,-50%);left:50%}.ControlSlider-module__middleRightAlignment___wEbfX{top:50%;transform:translateY(-50%);right:0}.ControlSlider-module__bottomLeftAlignment___cTP2-{bottom:0;left:0}.ControlSlider-module__bottomCenterAlignment___c54fB{bottom:0;left:50%;transform:translate(-50%)}.ControlSlider-module__bottomRightAlignment___kEwrz{bottom:0;right:0}.ControlSlider-module__clickOverlay___DZA28{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.ControlSlider-module__contain___pLyq7{object-fit:contain}.ControlSlider-module__cover___KdDat{object-fit:cover}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.RichTextRenderer-module__link___BWeZ2{color:inherit;cursor:pointer;pointer-events:auto;transition:color .2s ease}.RichTextRenderer-module__link___BWeZ2:hover{color:var(--link-hover-color)}.SvgImage-module__svg___q3xE-{width:100%;height:100%;color:transparent;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--fill);transition:background-color .2s;-webkit-mask:var(--svg) no-repeat center/contain;mask:var(--svg) no-repeat center/contain}.SvgImage-module__svg___q3xE-:hover{background-color:var(--hover-fill)}.SvgImage-module__img___VsTm-{width:100%;height:100%;object-fit:contain}.ImageRevealSlider-module__imageRevealSlider___UE5Ob{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.ImageRevealSlider-module__image___Qjt-e{width:100%;height:100%;object-fit:cover;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}.ImageRevealSlider-module__link___N-iLG{width:100%;height:100%;display:block}.ImageRevealSlider-module__cursor___2U03d{position:absolute;top:0;left:0;pointer-events:none}.LightBox-module__heroImage___sTxNF{width:100%;height:100%;cursor:pointer;object-fit:cover}.LightBox-module__background___rm9ml{position:fixed;z-index:9997;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.LightBox-module__editor___4ACaY{width:var(--cntrl-article-width)!important;margin-left:auto;margin-right:auto}.LightBox-module__contentStyle___Bgnsq{position:fixed;z-index:9999;top:0;left:0;right:0;bottom:0;overflow:auto;background:transparent;box-sizing:border-box}.LightBox-module__imageStyle___tLIlB{position:relative;display:block;cursor:pointer;background-color:transparent;max-width:100%;max-height:100%;width:auto;height:auto}.LightBox-module__imgWrapper___LuFUp{position:relative;display:flex;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.LightBox-module__contain___8-yaS{object-fit:contain;max-width:100%;max-height:100%}.LightBox-module__cover___hNvOG{width:100%;height:100%;object-fit:cover}.LightBox-module__caption___b6L2I{z-index:9999;position:absolute;display:flex}.LightBox-module__captionTextInner___rCGNH{position:relative}.LightBox-module__lightboxSplide___XFuWC.splide,.LightBox-module__lightboxSplide___XFuWC .splide__track{height:100%}.LightBox-module__arrow___iz38X{position:absolute;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background-color:transparent;top:50%;z-index:1;transform:translate(-50%,-50%);padding:0;left:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}.LightBox-module__arrow___iz38X.LightBox-module__arrowVertical___Zfz81{left:50%;top:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,-50%)}.LightBox-module__nextArrow___zkAQN{left:unset;right:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(50%,-50%)}.LightBox-module__nextArrow___zkAQN.LightBox-module__arrowVertical___Zfz81{left:50%;right:unset;top:unset;bottom:calc(var(--is-editor, 0) * 1.3888888889vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 1.3888888889vw);transform:translate(-50%,50%)}.LightBox-module__arrowInner___p48sW{all:unset;cursor:pointer;width:100%;height:100%}.LightBox-module__arrowInner___p48sW:hover .LightBox-module__arrowIcon___3VaFf path{fill:var(--arrow-hover-color)!important}.LightBox-module__arrowImg___pNV88{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleX(-1)!important}.LightBox-module__arrowVertical___Zfz81.LightBox-module__mirror___pjeXc{transform:translate(-50%,-50%) scaleY(-1)!important}.LightBox-module__thumbsContainerVertical___wttk5{flex-direction:column;display:flex}.LightBox-module__thumbsContainer___osSma{display:flex;align-items:center;justify-content:center;pointer-events:auto}.LightBox-module__thumbsAlignStart___MO6tY{align-items:flex-start}.LightBox-module__thumbsAlignCenter___Q4sUx{align-items:center}.LightBox-module__thumbsAlignEnd___p4y9R{align-items:flex-end}.LightBox-module__thumbItem___HvnF3{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:transform .1s ease,opacity .1s ease}.LightBox-module__thumbItem___HvnF3:hover{opacity:var(--thumb-hover)!important}.LightBox-module__closeButton___g2khP{all:unset;cursor:pointer;position:absolute;width:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw);height:calc(var(--is-editor, 0) * 2.0833333333vw / var(--cntrl-reverse-layout-deviation, 1) + (1 - var(--is-editor, 0)) * 2.0833333333vw)}@keyframes LightBox-module__lbFadeIn___P8mx0{0%{opacity:0}to{opacity:1}}.LightBox-module__fadeIn___0m5GW{animation-name:LightBox-module__lbFadeIn___P8mx0}@keyframes LightBox-module__lbSlideInLeft___ygsXZ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInRight___w2YKV{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes LightBox-module__lbSlideInTop___W7CSQ{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes LightBox-module__lbSlideInBottom___7kiT2{0%{transform:translateY(100%)}to{transform:translateY(0)}}.LightBox-module__slideInLeft___gPYwC{animation-name:LightBox-module__lbSlideInLeft___ygsXZ}.LightBox-module__slideInRight___S-pPp{animation-name:LightBox-module__lbSlideInRight___w2YKV}.LightBox-module__slideInTop___DFdAj{animation-name:LightBox-module__lbSlideInTop___W7CSQ}.LightBox-module__slideInBottom___m27kZ{animation-name:LightBox-module__lbSlideInBottom___7kiT2}@keyframes LightBox-module__lbFadeOut___MhEeN{0%{opacity:1}to{opacity:0}}.LightBox-module__fadeOut___55qBR{animation-name:LightBox-module__lbFadeOut___MhEeN!important}@keyframes LightBox-module__lbSlideOutLeft___xM4sO{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes LightBox-module__lbSlideOutRight___Jppgj{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes LightBox-module__lbSlideOutTop___pvscE{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes LightBox-module__lbSlideOutBottom___oFjPG{0%{transform:translateY(0)}to{transform:translateY(100%)}}.LightBox-module__slideOutLeft___NvU7P{animation-name:LightBox-module__lbSlideOutLeft___xM4sO!important}.LightBox-module__slideOutRight___SK7eC{animation-name:LightBox-module__lbSlideOutRight___Jppgj!important}.LightBox-module__slideOutTop___Vgg0z{animation-name:LightBox-module__lbSlideOutTop___pvscE!important}.LightBox-module__slideOutBottom___nJ0Ef{animation-name:LightBox-module__lbSlideOutBottom___oFjPG!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(.9)!important;transition:opacity var(--splide-speed, .5s) ease,transform var(--splide-speed, .5s) ease!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide.is-active .LightBox-module__scaleSlide___vZriG{opacity:1!important;transform:var(--position-transform, none) scale(1)!important}.LightBox-module__lightboxSplide___XFuWC.splide--fade .splide__slide:not(.is-active) .LightBox-module__scaleSlide___vZriG{opacity:0!important;transform:var(--position-transform, none) scale(1.1)!important}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const reactSplide = require("@splidejs/react-splide");
6
6
  const cn = require("classnames");
7
+ const framerMotion = require("framer-motion");
7
8
  const reactDom = require("react-dom");
8
9
  const wrapper = "ControlSlider-module__wrapper___sHEkd";
9
10
  const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
@@ -1040,13 +1041,16 @@ const ControlSliderComponent = {
1040
1041
  const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
1041
1042
  const image = "ImageRevealSlider-module__image___Qjt-e";
1042
1043
  const link = "ImageRevealSlider-module__link___N-iLG";
1044
+ const cursor = "ImageRevealSlider-module__cursor___2U03d";
1043
1045
  const styles = {
1044
1046
  imageRevealSlider,
1045
1047
  image,
1046
- link
1048
+ link,
1049
+ cursor
1047
1050
  };
1048
1051
  function isMouseOverImage(mouseX, mouseY, placedImages) {
1049
- for (const img2 of placedImages) {
1052
+ for (let i = placedImages.length - 1; i >= 0; i--) {
1053
+ const img2 = placedImages[i];
1050
1054
  const imgEl = new Image();
1051
1055
  imgEl.src = img2.url;
1052
1056
  const imgWidth = img2.width ? Number.parseFloat(img2.width) : imgEl.naturalWidth;
@@ -1054,10 +1058,10 @@ function isMouseOverImage(mouseX, mouseY, placedImages) {
1054
1058
  const halfW = imgWidth / 2;
1055
1059
  const halfH = imgHeight / 2;
1056
1060
  if (mouseX >= img2.x - halfW && mouseX <= img2.x + halfW && mouseY >= img2.y - halfH && mouseY <= img2.y + halfH) {
1057
- return true;
1061
+ return { isOverImage: true, hasLink: img2.link.length > 0 };
1058
1062
  }
1059
1063
  }
1060
- return false;
1064
+ return { isOverImage: false, hasLink: false };
1061
1065
  }
1062
1066
  function getImageSize(url) {
1063
1067
  return new Promise((resolve) => {
@@ -1087,14 +1091,81 @@ async function calculateImageWidthHeight(imgUrl, sizeType, customWidth, randomRa
1087
1091
  return { width, height, finalWidth: `${width}px` };
1088
1092
  }
1089
1093
  function ImageRevealSlider({ settings, content, isEditor }) {
1090
- const divRef = React.useRef(null);
1094
+ const [divRef, setDivRef] = React.useState(null);
1091
1095
  const [placedImages, setPlacedImages] = React.useState([]);
1092
1096
  const [counter, setCounter] = React.useState(0);
1093
1097
  const imageIdCounter = React.useRef(0);
1094
1098
  const defaultImageCount = 1;
1099
+ const cursorX = framerMotion.useMotionValue(0);
1100
+ const cursorY = framerMotion.useMotionValue(0);
1101
+ const defaultScale = 32;
1102
+ const cursorW = framerMotion.useMotionValue(32);
1103
+ const cursorH = framerMotion.useMotionValue(32);
1104
+ const [customCursorImg, setCustomCursorImg] = React.useState("none");
1105
+ React.useEffect(() => {
1106
+ if (!divRef) return;
1107
+ const mouseMove = (e) => {
1108
+ e.stopPropagation();
1109
+ const divRect = divRef.getBoundingClientRect();
1110
+ cursorX.set(e.clientX - cursorW.get() / 2 - divRect.left);
1111
+ cursorY.set(e.clientY - cursorH.get() / 2 - divRect.top);
1112
+ console.log(e);
1113
+ };
1114
+ divRef.addEventListener("mousemove", mouseMove);
1115
+ return () => divRef.removeEventListener("mousemove", mouseMove);
1116
+ }, [cursorX, cursorY, cursorW, cursorH, divRef]);
1095
1117
  const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
1096
1118
  const { revealPosition, visible, target } = settings.position;
1097
- const { cursorType, defaultCursor, hoverCursor } = settings.cursor;
1119
+ const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
1120
+ React.useEffect(() => {
1121
+ const updateCursor = () => {
1122
+ if (cursorType === "system") {
1123
+ setCustomCursorImg("none");
1124
+ cursorW.set(defaultScale);
1125
+ cursorH.set(defaultScale);
1126
+ return;
1127
+ }
1128
+ const elUnderCursor = document.elementFromPoint(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2);
1129
+ if (elUnderCursor && elUnderCursor.closest("a.link")) {
1130
+ setCustomCursorImg("none");
1131
+ cursorW.set(defaultScale);
1132
+ cursorH.set(defaultScale);
1133
+ return;
1134
+ }
1135
+ if (target === "area") {
1136
+ setCustomCursorImg(hoverCursor || "none");
1137
+ cursorW.set(defaultScale * hoverCursorScale || 1);
1138
+ cursorH.set(defaultScale * hoverCursorScale || 1);
1139
+ } else if (isMouseOverImage(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2, placedImages)) {
1140
+ setCustomCursorImg(hoverCursor || "none");
1141
+ cursorW.set(defaultScale * hoverCursorScale || 1);
1142
+ cursorH.set(defaultScale * hoverCursorScale || 1);
1143
+ } else {
1144
+ setCustomCursorImg(defaultCursor || "none");
1145
+ cursorW.set(defaultScale * defaultCursorScale || 1);
1146
+ cursorH.set(defaultScale * defaultCursorScale || 1);
1147
+ }
1148
+ };
1149
+ const unsubscribeX = cursorX.onChange(updateCursor);
1150
+ const unsubscribeY = cursorY.onChange(updateCursor);
1151
+ updateCursor();
1152
+ return () => {
1153
+ unsubscribeX();
1154
+ unsubscribeY();
1155
+ };
1156
+ }, [
1157
+ cursorType,
1158
+ target,
1159
+ hoverCursor,
1160
+ defaultCursor,
1161
+ hoverCursorScale,
1162
+ defaultCursorScale,
1163
+ cursorX,
1164
+ cursorY,
1165
+ cursorW,
1166
+ cursorH,
1167
+ placedImages
1168
+ ]);
1098
1169
  const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
1099
1170
  const { width, height, finalWidth } = await calculateImageWidthHeight(
1100
1171
  imgData.image.url,
@@ -1127,8 +1198,8 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1127
1198
  return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
1128
1199
  }, [content]);
1129
1200
  React.useEffect(() => {
1130
- if (!divRef.current || content.length === 0) return;
1131
- const rect = divRef.current.getBoundingClientRect();
1201
+ if (!divRef || content.length === 0) return;
1202
+ const rect = divRef.getBoundingClientRect();
1132
1203
  const containerWidth = rect.width;
1133
1204
  const containerHeight = rect.height;
1134
1205
  const defaultPlaced = [];
@@ -1142,15 +1213,15 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1142
1213
  setCounter(defaultImageCount % content.length);
1143
1214
  };
1144
1215
  placeImages();
1145
- }, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition]);
1216
+ }, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
1146
1217
  React.useEffect(() => {
1147
1218
  if (visible === "last One") {
1148
1219
  setPlacedImages((prev) => prev.length > 0 ? [prev[prev.length - 1]] : []);
1149
1220
  }
1150
1221
  }, [visible]);
1151
1222
  const handleClick = async (e) => {
1152
- if (!divRef.current) return;
1153
- const rect = divRef.current.getBoundingClientRect();
1223
+ if (!divRef) return;
1224
+ const rect = divRef.getBoundingClientRect();
1154
1225
  const clickX = e.clientX - rect.left;
1155
1226
  const clickY = e.clientY - rect.top;
1156
1227
  if (target === "image" && !isMouseOverImage(clickX, clickY, placedImages)) return;
@@ -1170,46 +1241,63 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1170
1241
  setPlacedImages((prev) => visible === "all" ? [...prev, newImage] : [newImage]);
1171
1242
  setCounter((prev) => prev >= content.length - 1 ? 0 : prev + 1);
1172
1243
  };
1173
- return /* @__PURE__ */ jsxRuntime.jsx(
1244
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1174
1245
  "div",
1175
1246
  {
1176
- ref: divRef,
1247
+ ref: setDivRef,
1177
1248
  onClick: handleClick,
1178
1249
  className: styles.imageRevealSlider,
1179
- style: { cursor: cursorType !== "system" && defaultCursor ? `url(${target === "area" ? hoverCursor : defaultCursor}), auto` : "default" },
1180
- children: placedImages.map((img2) => /* @__PURE__ */ jsxRuntime.jsx(
1181
- "div",
1182
- {
1183
- className: styles.wrapper,
1184
- style: {
1185
- top: `${img2.y}px`,
1186
- left: `${img2.x}px`,
1187
- position: "absolute",
1188
- transform: "translate(-50%, -50%)",
1189
- width: img2.width ?? "auto",
1190
- height: "auto",
1191
- cursor: cursorType !== "system" && hoverCursor ? `url(${hoverCursor}), auto` : "default"
1192
- },
1193
- children: target === "area" && img2.link ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsxRuntime.jsx(
1194
- "img",
1195
- {
1196
- src: img2.url,
1197
- alt: img2.name,
1198
- className: styles.image
1199
- },
1200
- img2.id
1201
- ) }) : /* @__PURE__ */ jsxRuntime.jsx(
1202
- "img",
1203
- {
1204
- src: img2.url,
1205
- alt: img2.name,
1206
- className: styles.image
1250
+ style: { cursor: customCursorImg === "none" ? "default" : "none" },
1251
+ children: [
1252
+ placedImages.map((img2) => /* @__PURE__ */ jsxRuntime.jsx(
1253
+ "div",
1254
+ {
1255
+ className: styles.wrapper,
1256
+ style: {
1257
+ top: `${img2.y}px`,
1258
+ left: `${img2.x}px`,
1259
+ position: "absolute",
1260
+ transform: "translate(-50%, -50%)",
1261
+ width: img2.width ?? "auto",
1262
+ height: "auto",
1263
+ cursor: customCursorImg === "none" ? "default" : "none"
1207
1264
  },
1208
- img2.id
1209
- )
1210
- },
1211
- img2.id
1212
- ))
1265
+ children: target === "area" && img2.link ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsxRuntime.jsx(
1266
+ "img",
1267
+ {
1268
+ src: img2.url,
1269
+ alt: img2.name,
1270
+ className: styles.image
1271
+ },
1272
+ img2.id
1273
+ ) }) : /* @__PURE__ */ jsxRuntime.jsx(
1274
+ "img",
1275
+ {
1276
+ src: img2.url,
1277
+ alt: img2.name,
1278
+ className: styles.image
1279
+ },
1280
+ img2.id
1281
+ )
1282
+ },
1283
+ img2.id
1284
+ )),
1285
+ /* @__PURE__ */ jsxRuntime.jsx(
1286
+ framerMotion.motion.div,
1287
+ {
1288
+ className: styles.cursor,
1289
+ style: {
1290
+ x: cursorX,
1291
+ y: cursorY,
1292
+ width: cursorW.get(),
1293
+ height: cursorH.get(),
1294
+ backgroundImage: `url('${customCursorImg}')`,
1295
+ backgroundSize: "cover",
1296
+ backgroundPosition: "center"
1297
+ }
1298
+ }
1299
+ )
1300
+ ]
1213
1301
  }
1214
1302
  );
1215
1303
  }
@@ -1294,6 +1382,17 @@ const ControlImageRevealSliderComponent = {
1294
1382
  visible: false
1295
1383
  }
1296
1384
  },
1385
+ defaultCursorScale: {
1386
+ type: "number",
1387
+ title: "Scale",
1388
+ min: 1,
1389
+ max: 5,
1390
+ step: 0.1,
1391
+ display: {
1392
+ type: "range-control",
1393
+ visible: false
1394
+ }
1395
+ },
1297
1396
  hoverCursor: {
1298
1397
  type: ["string", "null"],
1299
1398
  title: "Hover",
@@ -1301,6 +1400,17 @@ const ControlImageRevealSliderComponent = {
1301
1400
  type: "settings-image-input",
1302
1401
  visible: false
1303
1402
  }
1403
+ },
1404
+ hoverCursorScale: {
1405
+ type: "number",
1406
+ title: "Scale",
1407
+ min: 1,
1408
+ max: 5,
1409
+ step: 0.1,
1410
+ display: {
1411
+ type: "range-control",
1412
+ visible: false
1413
+ }
1304
1414
  }
1305
1415
  }
1306
1416
  },
@@ -1346,7 +1456,9 @@ const ControlImageRevealSliderComponent = {
1346
1456
  cursor: {
1347
1457
  cursorType: "system",
1348
1458
  defaultCursor: null,
1349
- hoverCursor: null
1459
+ defaultCursorScale: 2,
1460
+ hoverCursor: null,
1461
+ hoverCursorScale: 2
1350
1462
  },
1351
1463
  position: {
1352
1464
  revealPosition: "random",
@@ -1385,6 +1497,17 @@ const ControlImageRevealSliderComponent = {
1385
1497
  value: true
1386
1498
  }
1387
1499
  },
1500
+ {
1501
+ if: [
1502
+ { name: "position.target", value: "image" },
1503
+ { name: "cursor.cursorType", value: "custom" },
1504
+ { name: "cursor.defaultCursor", value: null, isNotEqual: true }
1505
+ ],
1506
+ then: {
1507
+ name: "properties.cursor.properties.defaultCursorScale.display.visible",
1508
+ value: true
1509
+ }
1510
+ },
1388
1511
  {
1389
1512
  if: {
1390
1513
  name: "cursor.cursorType",
@@ -1394,6 +1517,16 @@ const ControlImageRevealSliderComponent = {
1394
1517
  name: "properties.cursor.properties.hoverCursor.display.visible",
1395
1518
  value: true
1396
1519
  }
1520
+ },
1521
+ {
1522
+ if: [
1523
+ { name: "cursor.cursorType", value: "custom" },
1524
+ { name: "cursor.hoverCursor", value: null, isNotEqual: true }
1525
+ ],
1526
+ then: {
1527
+ name: "properties.cursor.properties.hoverCursorScale.display.visible",
1528
+ value: true
1529
+ }
1397
1530
  }
1398
1531
  ]
1399
1532
  },
package/dist/index.mjs CHANGED
@@ -2,6 +2,7 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useEffect, useRef, useMemo, useCallback } from "react";
3
3
  import { Splide, SplideSlide } from "@splidejs/react-splide";
4
4
  import cn from "classnames";
5
+ import { useMotionValue, motion } from "framer-motion";
5
6
  import { createPortal } from "react-dom";
6
7
  const wrapper = "ControlSlider-module__wrapper___sHEkd";
7
8
  const sliderItem = "ControlSlider-module__sliderItem___QQSkR";
@@ -1038,13 +1039,16 @@ const ControlSliderComponent = {
1038
1039
  const imageRevealSlider = "ImageRevealSlider-module__imageRevealSlider___UE5Ob";
1039
1040
  const image = "ImageRevealSlider-module__image___Qjt-e";
1040
1041
  const link = "ImageRevealSlider-module__link___N-iLG";
1042
+ const cursor = "ImageRevealSlider-module__cursor___2U03d";
1041
1043
  const styles = {
1042
1044
  imageRevealSlider,
1043
1045
  image,
1044
- link
1046
+ link,
1047
+ cursor
1045
1048
  };
1046
1049
  function isMouseOverImage(mouseX, mouseY, placedImages) {
1047
- for (const img2 of placedImages) {
1050
+ for (let i = placedImages.length - 1; i >= 0; i--) {
1051
+ const img2 = placedImages[i];
1048
1052
  const imgEl = new Image();
1049
1053
  imgEl.src = img2.url;
1050
1054
  const imgWidth = img2.width ? Number.parseFloat(img2.width) : imgEl.naturalWidth;
@@ -1052,10 +1056,10 @@ function isMouseOverImage(mouseX, mouseY, placedImages) {
1052
1056
  const halfW = imgWidth / 2;
1053
1057
  const halfH = imgHeight / 2;
1054
1058
  if (mouseX >= img2.x - halfW && mouseX <= img2.x + halfW && mouseY >= img2.y - halfH && mouseY <= img2.y + halfH) {
1055
- return true;
1059
+ return { isOverImage: true, hasLink: img2.link.length > 0 };
1056
1060
  }
1057
1061
  }
1058
- return false;
1062
+ return { isOverImage: false, hasLink: false };
1059
1063
  }
1060
1064
  function getImageSize(url) {
1061
1065
  return new Promise((resolve) => {
@@ -1085,14 +1089,81 @@ async function calculateImageWidthHeight(imgUrl, sizeType, customWidth, randomRa
1085
1089
  return { width, height, finalWidth: `${width}px` };
1086
1090
  }
1087
1091
  function ImageRevealSlider({ settings, content, isEditor }) {
1088
- const divRef = useRef(null);
1092
+ const [divRef, setDivRef] = useState(null);
1089
1093
  const [placedImages, setPlacedImages] = useState([]);
1090
1094
  const [counter, setCounter] = useState(0);
1091
1095
  const imageIdCounter = useRef(0);
1092
1096
  const defaultImageCount = 1;
1097
+ const cursorX = useMotionValue(0);
1098
+ const cursorY = useMotionValue(0);
1099
+ const defaultScale = 32;
1100
+ const cursorW = useMotionValue(32);
1101
+ const cursorH = useMotionValue(32);
1102
+ const [customCursorImg, setCustomCursorImg] = useState("none");
1103
+ useEffect(() => {
1104
+ if (!divRef) return;
1105
+ const mouseMove = (e) => {
1106
+ e.stopPropagation();
1107
+ const divRect = divRef.getBoundingClientRect();
1108
+ cursorX.set(e.clientX - cursorW.get() / 2 - divRect.left);
1109
+ cursorY.set(e.clientY - cursorH.get() / 2 - divRect.top);
1110
+ console.log(e);
1111
+ };
1112
+ divRef.addEventListener("mousemove", mouseMove);
1113
+ return () => divRef.removeEventListener("mousemove", mouseMove);
1114
+ }, [cursorX, cursorY, cursorW, cursorH, divRef]);
1093
1115
  const { sizeType, imageWidth: customWidth, randomRangeImageWidth: randomRange } = settings.imageSize;
1094
1116
  const { revealPosition, visible, target } = settings.position;
1095
- const { cursorType, defaultCursor, hoverCursor } = settings.cursor;
1117
+ const { cursorType, defaultCursorScale, defaultCursor, hoverCursorScale, hoverCursor } = settings.cursor;
1118
+ useEffect(() => {
1119
+ const updateCursor = () => {
1120
+ if (cursorType === "system") {
1121
+ setCustomCursorImg("none");
1122
+ cursorW.set(defaultScale);
1123
+ cursorH.set(defaultScale);
1124
+ return;
1125
+ }
1126
+ const elUnderCursor = document.elementFromPoint(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2);
1127
+ if (elUnderCursor && elUnderCursor.closest("a.link")) {
1128
+ setCustomCursorImg("none");
1129
+ cursorW.set(defaultScale);
1130
+ cursorH.set(defaultScale);
1131
+ return;
1132
+ }
1133
+ if (target === "area") {
1134
+ setCustomCursorImg(hoverCursor || "none");
1135
+ cursorW.set(defaultScale * hoverCursorScale || 1);
1136
+ cursorH.set(defaultScale * hoverCursorScale || 1);
1137
+ } else if (isMouseOverImage(cursorX.get() + cursorW.get() / 2, cursorY.get() + cursorH.get() / 2, placedImages)) {
1138
+ setCustomCursorImg(hoverCursor || "none");
1139
+ cursorW.set(defaultScale * hoverCursorScale || 1);
1140
+ cursorH.set(defaultScale * hoverCursorScale || 1);
1141
+ } else {
1142
+ setCustomCursorImg(defaultCursor || "none");
1143
+ cursorW.set(defaultScale * defaultCursorScale || 1);
1144
+ cursorH.set(defaultScale * defaultCursorScale || 1);
1145
+ }
1146
+ };
1147
+ const unsubscribeX = cursorX.onChange(updateCursor);
1148
+ const unsubscribeY = cursorY.onChange(updateCursor);
1149
+ updateCursor();
1150
+ return () => {
1151
+ unsubscribeX();
1152
+ unsubscribeY();
1153
+ };
1154
+ }, [
1155
+ cursorType,
1156
+ target,
1157
+ hoverCursor,
1158
+ defaultCursor,
1159
+ hoverCursorScale,
1160
+ defaultCursorScale,
1161
+ cursorX,
1162
+ cursorY,
1163
+ cursorW,
1164
+ cursorH,
1165
+ placedImages
1166
+ ]);
1096
1167
  const createNewImage = async (imgData, containerWidth, containerHeight, position = {}) => {
1097
1168
  const { width, height, finalWidth } = await calculateImageWidthHeight(
1098
1169
  imgData.image.url,
@@ -1125,8 +1196,8 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1125
1196
  return content.filter((_, i) => i < defaultContentLength).map((c) => c.image.url).join("-");
1126
1197
  }, [content]);
1127
1198
  useEffect(() => {
1128
- if (!divRef.current || content.length === 0) return;
1129
- const rect = divRef.current.getBoundingClientRect();
1199
+ if (!divRef || content.length === 0) return;
1200
+ const rect = divRef.getBoundingClientRect();
1130
1201
  const containerWidth = rect.width;
1131
1202
  const containerHeight = rect.height;
1132
1203
  const defaultPlaced = [];
@@ -1140,15 +1211,15 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1140
1211
  setCounter(defaultImageCount % content.length);
1141
1212
  };
1142
1213
  placeImages();
1143
- }, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition]);
1214
+ }, [defaultContentUrls, sizeType, customWidth, randomRange, revealPosition, divRef]);
1144
1215
  useEffect(() => {
1145
1216
  if (visible === "last One") {
1146
1217
  setPlacedImages((prev) => prev.length > 0 ? [prev[prev.length - 1]] : []);
1147
1218
  }
1148
1219
  }, [visible]);
1149
1220
  const handleClick = async (e) => {
1150
- if (!divRef.current) return;
1151
- const rect = divRef.current.getBoundingClientRect();
1221
+ if (!divRef) return;
1222
+ const rect = divRef.getBoundingClientRect();
1152
1223
  const clickX = e.clientX - rect.left;
1153
1224
  const clickY = e.clientY - rect.top;
1154
1225
  if (target === "image" && !isMouseOverImage(clickX, clickY, placedImages)) return;
@@ -1168,46 +1239,63 @@ function ImageRevealSlider({ settings, content, isEditor }) {
1168
1239
  setPlacedImages((prev) => visible === "all" ? [...prev, newImage] : [newImage]);
1169
1240
  setCounter((prev) => prev >= content.length - 1 ? 0 : prev + 1);
1170
1241
  };
1171
- return /* @__PURE__ */ jsx(
1242
+ return /* @__PURE__ */ jsxs(
1172
1243
  "div",
1173
1244
  {
1174
- ref: divRef,
1245
+ ref: setDivRef,
1175
1246
  onClick: handleClick,
1176
1247
  className: styles.imageRevealSlider,
1177
- style: { cursor: cursorType !== "system" && defaultCursor ? `url(${target === "area" ? hoverCursor : defaultCursor}), auto` : "default" },
1178
- children: placedImages.map((img2) => /* @__PURE__ */ jsx(
1179
- "div",
1180
- {
1181
- className: styles.wrapper,
1182
- style: {
1183
- top: `${img2.y}px`,
1184
- left: `${img2.x}px`,
1185
- position: "absolute",
1186
- transform: "translate(-50%, -50%)",
1187
- width: img2.width ?? "auto",
1188
- height: "auto",
1189
- cursor: cursorType !== "system" && hoverCursor ? `url(${hoverCursor}), auto` : "default"
1190
- },
1191
- children: target === "area" && img2.link ? /* @__PURE__ */ jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsx(
1192
- "img",
1193
- {
1194
- src: img2.url,
1195
- alt: img2.name,
1196
- className: styles.image
1197
- },
1198
- img2.id
1199
- ) }) : /* @__PURE__ */ jsx(
1200
- "img",
1201
- {
1202
- src: img2.url,
1203
- alt: img2.name,
1204
- className: styles.image
1248
+ style: { cursor: customCursorImg === "none" ? "default" : "none" },
1249
+ children: [
1250
+ placedImages.map((img2) => /* @__PURE__ */ jsx(
1251
+ "div",
1252
+ {
1253
+ className: styles.wrapper,
1254
+ style: {
1255
+ top: `${img2.y}px`,
1256
+ left: `${img2.x}px`,
1257
+ position: "absolute",
1258
+ transform: "translate(-50%, -50%)",
1259
+ width: img2.width ?? "auto",
1260
+ height: "auto",
1261
+ cursor: customCursorImg === "none" ? "default" : "none"
1205
1262
  },
1206
- img2.id
1207
- )
1208
- },
1209
- img2.id
1210
- ))
1263
+ children: target === "area" && img2.link ? /* @__PURE__ */ jsx("a", { href: img2.link, target: "_blank", className: styles.link, children: /* @__PURE__ */ jsx(
1264
+ "img",
1265
+ {
1266
+ src: img2.url,
1267
+ alt: img2.name,
1268
+ className: styles.image
1269
+ },
1270
+ img2.id
1271
+ ) }) : /* @__PURE__ */ jsx(
1272
+ "img",
1273
+ {
1274
+ src: img2.url,
1275
+ alt: img2.name,
1276
+ className: styles.image
1277
+ },
1278
+ img2.id
1279
+ )
1280
+ },
1281
+ img2.id
1282
+ )),
1283
+ /* @__PURE__ */ jsx(
1284
+ motion.div,
1285
+ {
1286
+ className: styles.cursor,
1287
+ style: {
1288
+ x: cursorX,
1289
+ y: cursorY,
1290
+ width: cursorW.get(),
1291
+ height: cursorH.get(),
1292
+ backgroundImage: `url('${customCursorImg}')`,
1293
+ backgroundSize: "cover",
1294
+ backgroundPosition: "center"
1295
+ }
1296
+ }
1297
+ )
1298
+ ]
1211
1299
  }
1212
1300
  );
1213
1301
  }
@@ -1292,6 +1380,17 @@ const ControlImageRevealSliderComponent = {
1292
1380
  visible: false
1293
1381
  }
1294
1382
  },
1383
+ defaultCursorScale: {
1384
+ type: "number",
1385
+ title: "Scale",
1386
+ min: 1,
1387
+ max: 5,
1388
+ step: 0.1,
1389
+ display: {
1390
+ type: "range-control",
1391
+ visible: false
1392
+ }
1393
+ },
1295
1394
  hoverCursor: {
1296
1395
  type: ["string", "null"],
1297
1396
  title: "Hover",
@@ -1299,6 +1398,17 @@ const ControlImageRevealSliderComponent = {
1299
1398
  type: "settings-image-input",
1300
1399
  visible: false
1301
1400
  }
1401
+ },
1402
+ hoverCursorScale: {
1403
+ type: "number",
1404
+ title: "Scale",
1405
+ min: 1,
1406
+ max: 5,
1407
+ step: 0.1,
1408
+ display: {
1409
+ type: "range-control",
1410
+ visible: false
1411
+ }
1302
1412
  }
1303
1413
  }
1304
1414
  },
@@ -1344,7 +1454,9 @@ const ControlImageRevealSliderComponent = {
1344
1454
  cursor: {
1345
1455
  cursorType: "system",
1346
1456
  defaultCursor: null,
1347
- hoverCursor: null
1457
+ defaultCursorScale: 2,
1458
+ hoverCursor: null,
1459
+ hoverCursorScale: 2
1348
1460
  },
1349
1461
  position: {
1350
1462
  revealPosition: "random",
@@ -1383,6 +1495,17 @@ const ControlImageRevealSliderComponent = {
1383
1495
  value: true
1384
1496
  }
1385
1497
  },
1498
+ {
1499
+ if: [
1500
+ { name: "position.target", value: "image" },
1501
+ { name: "cursor.cursorType", value: "custom" },
1502
+ { name: "cursor.defaultCursor", value: null, isNotEqual: true }
1503
+ ],
1504
+ then: {
1505
+ name: "properties.cursor.properties.defaultCursorScale.display.visible",
1506
+ value: true
1507
+ }
1508
+ },
1386
1509
  {
1387
1510
  if: {
1388
1511
  name: "cursor.cursorType",
@@ -1392,6 +1515,16 @@ const ControlImageRevealSliderComponent = {
1392
1515
  name: "properties.cursor.properties.hoverCursor.display.visible",
1393
1516
  value: true
1394
1517
  }
1518
+ },
1519
+ {
1520
+ if: [
1521
+ { name: "cursor.cursorType", value: "custom" },
1522
+ { name: "cursor.hoverCursor", value: null, isNotEqual: true }
1523
+ ],
1524
+ then: {
1525
+ name: "properties.cursor.properties.hoverCursorScale.display.visible",
1526
+ value: true
1527
+ }
1395
1528
  }
1396
1529
  ]
1397
1530
  },
@@ -4,8 +4,8 @@ export type Component = {
4
4
  id: string;
5
5
  name: string;
6
6
  defaultSize?: {
7
- width?: number;
8
- height?: number;
7
+ width?: string | number;
8
+ height?: string | number;
9
9
  };
10
10
  schema: any;
11
11
  preview?: {
package/package.json CHANGED
@@ -1,68 +1,69 @@
1
- {
2
- "name": "@cntrl-site/components",
3
- "version": "0.1.5",
4
- "description": "Custom components for control editor and public websites.",
5
- "main": "dist/index.js",
6
- "module": "dist/index.mjs",
7
- "types": "dist/index.d.ts",
8
- "style": "dist/components.css",
9
- "sideEffects": [
10
- "**/*.css"
11
- ],
12
- "exports": {
13
- ".": {
14
- "types": "./dist/index.d.ts",
15
- "import": "./dist/index.mjs",
16
- "require": "./dist/index.js"
17
- },
18
- "./style/components.css": {
19
- "default": "./dist/components.css"
20
- }
21
- },
22
- "scripts": {
23
- "test": "jest",
24
- "dev": "vite development",
25
- "prebuild": "rimraf ./dist",
26
- "build": "vite build",
27
- "prepublishOnly": "cross-env NODE_ENV=production npm run build"
28
- },
29
- "files": [
30
- "dist",
31
- "resources"
32
- ],
33
- "repository": {
34
- "type": "git",
35
- "url": "git+https://github.com/cntrl-site/components.git"
36
- },
37
- "author": "arsen@momdesign.nyc",
38
- "license": "MIT",
39
- "bugs": {
40
- "url": "https://github.com/cntrl-site/components/issues"
41
- },
42
- "homepage": "https://github.com/cntrl-site/components#readme",
43
- "directories": {
44
- "lib": "dist"
45
- },
46
- "dependencies": {
47
- "@antfu/eslint-config": "^3.16.0",
48
- "@splidejs/react-splide": "^0.7.12",
49
- "classnames": "^2.5.1",
50
- "ts-node": "^10.9.1"
51
- },
52
- "devDependencies": {
53
- "@tsconfig/node16": "^1.0.3",
54
- "@tsconfig/recommended": "^1.0.1",
55
- "@types/node": "^18.11.7",
56
- "@types/react": "^18.2.0",
57
- "@types/react-dom": "^18.2.0",
58
- "@vitejs/plugin-react": "^4.3.4",
59
- "cross-env": "^10.1.0",
60
- "react": "^18.2.0",
61
- "react-dom": "^18.2.0",
62
- "rimraf": "^6.0.1",
63
- "sass": "^1.86.3",
64
- "typescript": "^5.2.2",
65
- "vite": "^6.2.5",
66
- "vite-plugin-dts": "^4.5.3"
67
- }
68
- }
1
+ {
2
+ "name": "@cntrl-site/components",
3
+ "version": "0.1.6-18",
4
+ "description": "Custom components for control editor and public websites.",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "style": "dist/components.css",
9
+ "sideEffects": [
10
+ "**/*.css"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "require": "./dist/index.js"
17
+ },
18
+ "./style/components.css": {
19
+ "default": "./dist/components.css"
20
+ }
21
+ },
22
+ "scripts": {
23
+ "test": "jest",
24
+ "dev": "vite development",
25
+ "prebuild": "rimraf ./dist",
26
+ "build": "vite build",
27
+ "prepublishOnly": "cross-env NODE_ENV=production npm run build"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "resources"
32
+ ],
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/cntrl-site/components.git"
36
+ },
37
+ "author": "arsen@momdesign.nyc",
38
+ "license": "MIT",
39
+ "bugs": {
40
+ "url": "https://github.com/cntrl-site/components/issues"
41
+ },
42
+ "homepage": "https://github.com/cntrl-site/components#readme",
43
+ "directories": {
44
+ "lib": "dist"
45
+ },
46
+ "dependencies": {
47
+ "@antfu/eslint-config": "^3.16.0",
48
+ "@splidejs/react-splide": "^0.7.12",
49
+ "classnames": "^2.5.1",
50
+ "framer-motion": "^12.23.27",
51
+ "ts-node": "^10.9.1"
52
+ },
53
+ "devDependencies": {
54
+ "@tsconfig/node16": "^1.0.3",
55
+ "@tsconfig/recommended": "^1.0.1",
56
+ "@types/node": "^18.11.7",
57
+ "@types/react": "^18.2.0",
58
+ "@types/react-dom": "^18.2.0",
59
+ "@vitejs/plugin-react": "^4.3.4",
60
+ "cross-env": "^10.1.0",
61
+ "react": "^18.2.0",
62
+ "react-dom": "^18.2.0",
63
+ "rimraf": "^6.0.1",
64
+ "sass": "^1.86.3",
65
+ "typescript": "^5.2.2",
66
+ "vite": "^6.2.5",
67
+ "vite-plugin-dts": "^4.5.3"
68
+ }
69
+ }