@digital-b2c/coreui-kit 0.3.7 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +78 -44
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +16 -34
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +79 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +14 -13
package/dist/index.cjs
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
var clsx3 = require('clsx');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React52 = require('react');
|
|
6
|
+
var gsap = require('gsap');
|
|
7
|
+
var ScrollTrigger = require('gsap/ScrollTrigger');
|
|
8
|
+
var react = require('@gsap/react');
|
|
6
9
|
|
|
7
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
11
|
|
|
@@ -571,9 +574,10 @@ function resolveCompoundSlots(children, slots) {
|
|
|
571
574
|
|
|
572
575
|
// src/components/Card/Card.module.scss
|
|
573
576
|
var Card_module_default = {
|
|
574
|
-
card: "Card_module_card"
|
|
577
|
+
card: "Card_module_card",
|
|
578
|
+
logo: "Card_module_logo"
|
|
575
579
|
};
|
|
576
|
-
var Card = ({ className, title, subtitle, cta, icon, children }) => {
|
|
580
|
+
var Card = ({ className, title, subtitle, cta, icon, logo, children }) => {
|
|
577
581
|
var _a, _b;
|
|
578
582
|
const slots = resolveCompoundSlots(children, {
|
|
579
583
|
title: CardTitle,
|
|
@@ -582,10 +586,10 @@ var Card = ({ className, title, subtitle, cta, icon, children }) => {
|
|
|
582
586
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
583
587
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
584
588
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx3__default.default(Card_module_default.card, className), children: [
|
|
585
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon }),
|
|
589
|
+
logo ? /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Card_module_default.logo }, logo)) : icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon, className: Card_module_default.logo }),
|
|
586
590
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.content, children: [
|
|
587
591
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "h4", children: titleNode }),
|
|
588
|
-
subtitleNode &&
|
|
592
|
+
subtitleNode && subtitleNode
|
|
589
593
|
] }),
|
|
590
594
|
cta && /* @__PURE__ */ jsxRuntime.jsx(
|
|
591
595
|
Button,
|
|
@@ -853,40 +857,11 @@ var ContactModuleTitle = ({ children }) => {
|
|
|
853
857
|
var ContactModuleSubtitle = ({ children }) => {
|
|
854
858
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
855
859
|
};
|
|
856
|
-
function useIntersectionObserver({
|
|
857
|
-
animateOnce = false,
|
|
858
|
-
options = {}
|
|
859
|
-
} = {}) {
|
|
860
|
-
const observeRef = React52.useRef(null);
|
|
861
|
-
const [isVisible, setIsVisible] = React52.useState(false);
|
|
862
|
-
if (typeof IntersectionObserver === "undefined") {
|
|
863
|
-
console.warn("IntersectionObserver is not supported in this browser.");
|
|
864
|
-
return { observeRef, isVisible: true };
|
|
865
|
-
}
|
|
866
|
-
React52.useEffect(() => {
|
|
867
|
-
const currentRef = observeRef.current;
|
|
868
|
-
if (!currentRef) return;
|
|
869
|
-
const observer = new IntersectionObserver((entries) => {
|
|
870
|
-
const entry = entries[0];
|
|
871
|
-
if (!entry) return;
|
|
872
|
-
setIsVisible(entry.isIntersecting);
|
|
873
|
-
if (entry.isIntersecting && animateOnce) {
|
|
874
|
-
observer.disconnect();
|
|
875
|
-
}
|
|
876
|
-
}, options);
|
|
877
|
-
observer.observe(currentRef);
|
|
878
|
-
return () => {
|
|
879
|
-
observer.disconnect();
|
|
880
|
-
};
|
|
881
|
-
}, [observeRef, animateOnce, options]);
|
|
882
|
-
return { observeRef, isVisible };
|
|
883
|
-
}
|
|
884
860
|
|
|
885
861
|
// src/widgets/ContactModule/ContactModule.module.scss
|
|
886
862
|
var ContactModule_module_default = {
|
|
887
863
|
"contact-module": "ContactModule_module_contact-module",
|
|
888
864
|
blur: "ContactModule_module_blur",
|
|
889
|
-
"blur--hidden": "ContactModule_module_blur--hidden",
|
|
890
865
|
container: "ContactModule_module_container",
|
|
891
866
|
wrapper: "ContactModule_module_wrapper",
|
|
892
867
|
content: "ContactModule_module_content",
|
|
@@ -896,6 +871,9 @@ var ContactModule_module_default = {
|
|
|
896
871
|
image: "ContactModule_module_image",
|
|
897
872
|
cta: "ContactModule_module_cta"
|
|
898
873
|
};
|
|
874
|
+
if (typeof window !== "undefined") {
|
|
875
|
+
gsap.gsap.registerPlugin(ScrollTrigger.ScrollTrigger, react.useGSAP);
|
|
876
|
+
}
|
|
899
877
|
var ContactModule = ({
|
|
900
878
|
className,
|
|
901
879
|
children,
|
|
@@ -907,24 +885,51 @@ var ContactModule = ({
|
|
|
907
885
|
animateBlur = true
|
|
908
886
|
}) => {
|
|
909
887
|
var _a, _b;
|
|
910
|
-
const
|
|
911
|
-
|
|
912
|
-
options: { threshold: 0.8 }
|
|
913
|
-
});
|
|
888
|
+
const containerRef = React52.useRef(null);
|
|
889
|
+
const blurRef = React52.useRef(null);
|
|
914
890
|
const slots = resolveCompoundSlots(children, {
|
|
915
891
|
title: ContactModuleTitle,
|
|
916
892
|
subtitle: ContactModuleSubtitle
|
|
917
893
|
});
|
|
918
894
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
919
895
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
920
|
-
|
|
921
|
-
|
|
896
|
+
react.useGSAP(
|
|
897
|
+
() => {
|
|
898
|
+
if (!blurred || !animateBlur) return;
|
|
899
|
+
const revealProxy = { percentage: 0 };
|
|
900
|
+
gsap.gsap.to(revealProxy, {
|
|
901
|
+
percentage: 150,
|
|
902
|
+
scrollTrigger: {
|
|
903
|
+
trigger: containerRef.current,
|
|
904
|
+
start: "top+=90% bottom",
|
|
905
|
+
once: true
|
|
906
|
+
},
|
|
907
|
+
duration: 2,
|
|
908
|
+
ease: "power2.inOut",
|
|
909
|
+
onUpdate: () => {
|
|
910
|
+
if (blurRef.current) {
|
|
911
|
+
const mask = `radial-gradient(circle at center, transparent ${revealProxy.percentage - 30}%, black ${revealProxy.percentage}%)`;
|
|
912
|
+
blurRef.current.style.maskImage = mask;
|
|
913
|
+
blurRef.current.style.webkitMaskImage = mask;
|
|
914
|
+
}
|
|
915
|
+
},
|
|
916
|
+
onComplete: () => {
|
|
917
|
+
if (blurRef.current) blurRef.current.style.display = "none";
|
|
918
|
+
}
|
|
919
|
+
});
|
|
920
|
+
},
|
|
921
|
+
{ scope: containerRef, dependencies: [blurred, animateBlur] }
|
|
922
|
+
);
|
|
923
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: clsx3__default.default(ContactModule_module_default["contact-module"], className), children: [
|
|
924
|
+
blurred && /* @__PURE__ */ jsxRuntime.jsx(
|
|
922
925
|
"div",
|
|
923
926
|
{
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
927
|
+
ref: blurRef,
|
|
928
|
+
className: ContactModule_module_default.blur,
|
|
929
|
+
style: {
|
|
930
|
+
maskImage: "radial-gradient(circle at center, transparent -30%, black 0%)",
|
|
931
|
+
WebkitMaskImage: "radial-gradient(circle at center, transparent -30%, black 0%)"
|
|
932
|
+
}
|
|
928
933
|
}
|
|
929
934
|
),
|
|
930
935
|
/* @__PURE__ */ jsxRuntime.jsxs(Container, { className: ContactModule_module_default.container, children: [
|
|
@@ -983,7 +988,8 @@ var HeroBanner_module_default = {
|
|
|
983
988
|
brandsStrip: "HeroBanner_module_brandsStrip",
|
|
984
989
|
backgroundImage: "HeroBanner_module_backgroundImage",
|
|
985
990
|
scrollDown: "HeroBanner_module_scrollDown",
|
|
986
|
-
arrow: "HeroBanner_module_arrow"
|
|
991
|
+
arrow: "HeroBanner_module_arrow",
|
|
992
|
+
mainHeroBanner: "HeroBanner_module_mainHeroBanner"
|
|
987
993
|
};
|
|
988
994
|
var HeroBanner = ({
|
|
989
995
|
className,
|
|
@@ -1332,6 +1338,34 @@ var Teaser5050WithCta2 = Object.assign(Teaser5050WithCta, {
|
|
|
1332
1338
|
Title: Teaser5050WithCtaTitle,
|
|
1333
1339
|
Subtitle: Teaser5050WithCtaSubtitle
|
|
1334
1340
|
});
|
|
1341
|
+
function useIntersectionObserver({
|
|
1342
|
+
animateOnce = false,
|
|
1343
|
+
options = {}
|
|
1344
|
+
} = {}) {
|
|
1345
|
+
const observeRef = React52.useRef(null);
|
|
1346
|
+
const [isVisible, setIsVisible] = React52.useState(false);
|
|
1347
|
+
if (typeof IntersectionObserver === "undefined") {
|
|
1348
|
+
console.warn("IntersectionObserver is not supported in this browser.");
|
|
1349
|
+
return { observeRef, isVisible: true };
|
|
1350
|
+
}
|
|
1351
|
+
React52.useEffect(() => {
|
|
1352
|
+
const currentRef = observeRef.current;
|
|
1353
|
+
if (!currentRef) return;
|
|
1354
|
+
const observer = new IntersectionObserver((entries) => {
|
|
1355
|
+
const entry = entries[0];
|
|
1356
|
+
if (!entry) return;
|
|
1357
|
+
setIsVisible(entry.isIntersecting);
|
|
1358
|
+
if (entry.isIntersecting && animateOnce) {
|
|
1359
|
+
observer.disconnect();
|
|
1360
|
+
}
|
|
1361
|
+
}, options);
|
|
1362
|
+
observer.observe(currentRef);
|
|
1363
|
+
return () => {
|
|
1364
|
+
observer.disconnect();
|
|
1365
|
+
};
|
|
1366
|
+
}, [observeRef, animateOnce, options]);
|
|
1367
|
+
return { observeRef, isVisible };
|
|
1368
|
+
}
|
|
1335
1369
|
|
|
1336
1370
|
exports.Anchor = Anchor;
|
|
1337
1371
|
exports.BrandsStrip = BrandsStrip;
|