{"version":3,"file":"component---src-pages-index-tsx-d6e080a71aaf2e4a5d12.js","mappings":"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","sources":["webpack://ipf/./src/components/Animations/AppearContainer.tsx","webpack://ipf/./src/components/LinkArrowBtn.tsx","webpack://ipf/./src/components/ScrollAvailable.tsx","webpack://ipf/./src/components/Styled/Containerts.ts","webpack://ipf/./src/components/Main/Collection.tsx","webpack://ipf/./src/components/Main/Configurator.tsx","webpack://ipf/./src/components/Collage.tsx","webpack://ipf/./node_modules/@popmotion/easing/dist/easing.es.js","webpack://ipf/./src/helpers/ratioCalc.ts","webpack://ipf/./src/components/Main/history/animated/desktop/index.tsx","webpack://ipf/./src/hooks/useCssVariableValue.ts","webpack://ipf/./src/components/Main/history/animated/mobile/index.tsx","webpack://ipf/./src/components/Main/History.tsx","webpack://ipf/./src/components/Main/Manufacturing.tsx","webpack://ipf/./src/components/Main/RingsCollection.tsx","webpack://ipf/./src/components/Slider.tsx","webpack://ipf/./src/hooks/usePageReload.ts","webpack://ipf/./src/hooks/useRemovePreloader.ts","webpack://ipf/./src/pages/index.tsx","webpack://ipf/./src/routes.ts","webpack://ipf/./assets/link.inline.svg"],"sourcesContent":["import { SystemStyleObject } from \"@styled-system/css\";\nimport { motion, useTransform, useViewportScroll } from \"framer-motion\";\nimport React from \"react\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport useWindowSize from \"../../hooks/useWindowSize\";\nimport MotionBox from \"../Box/MotionBox\";\n\ntype Props = {\n wrapperCmp?: React.FC;\n children: React.ReactNode;\n triggerOffset?: number;\n sx?: SystemStyleObject;\n [x: string]: any;\n};\n\nconst Appear = ({\n wrapperCmp = undefined,\n children,\n triggerOffset = 50,\n ...rest\n}: Props) => {\n const [offset, setOffset] = React.useState<number>(0);\n const { height } = useWindowSize();\n const { scrollY } = useViewportScroll();\n\n const opacity = useTransform(\n scrollY,\n [offset - height * 0.75, offset - height * 0.5 + triggerOffset],\n [0, 1]\n );\n\n const verticalPosition = useTransform(\n scrollY,\n [offset - height, offset - height * 0.5 + triggerOffset],\n [height * 0.1, 0]\n );\n\n const wrapperRef = React.useCallback((node: HTMLElement | null) => {\n if (node !== null && !isMobileOnly) {\n const parent = node.offsetParent as HTMLElement;\n if (parent) {\n setOffset(node.offsetTop + parent.offsetTop);\n } else {\n setOffset(node.offsetTop);\n }\n } else {\n setOffset(0);\n }\n }, []);\n\n const Wrapper = wrapperCmp ? motion(wrapperCmp) : MotionBox;\n\n return (\n <Wrapper\n ref={wrapperRef}\n style={{\n opacity: opacity as any,\n y: verticalPosition as any,\n }}\n {...rest}\n >\n {children}\n </Wrapper>\n );\n};\n\nexport default React.memo(Appear);\n","import { SystemStyleObject } from \"@styled-system/css\";\nimport { Link } from \"gatsby\";\nimport React from \"react\";\nimport Arrow from \"../../assets/link.inline.svg\";\nimport { get } from \"../constants/theme\";\nimport { clampBuilder } from \"../helpers/sizeCalc\";\nimport { Routes } from \"../routes\";\nimport Box from \"./Box/Box\";\n\ntype Props = {\n to: Routes | string;\n title: string;\n as: React.ComponentType<any> | keyof HTMLElementTagNameMap;\n sx?: SystemStyleObject;\n disabled?: boolean;\n};\n\nconst LinkArrowBtn = ({ to, title, as, sx, disabled = false }: Props) => {\n const handleClick = React.useCallback(\n (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) e.preventDefault();\n },\n [disabled]\n );\n return (\n <Box\n onClick={handleClick}\n as={Link}\n to={to}\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n cursor: \"pointer\",\n marginTop: \"80px\",\n marginBottom: \"80px\",\n userSelect: \"none\",\n transition: \"opacity .3s linear\",\n gap: \".75rem\",\n opacity: disabled ? 0.5 : 1,\n \":hover\": {\n opacity: 0.75,\n },\n ...sx,\n }}\n >\n <Box as={Arrow} />\n <Box\n as=\"span\"\n sx={{\n fontWeight: 400,\n fontFamily: \"custom_42264\",\n fontSize: [\n clampBuilder(320, 599, 1.3125, 2.375),\n clampBuilder(599, 1680, 1.125, 2.25),\n clampBuilder(599, 1680, 1.125, 2.25),\n clampBuilder(599, 1680, 1.125, 2.25),\n clampBuilder(599, 1680, 1.125, 2.25),\n\n //\"36px\",\n //\"18px\",\n ],\n lineHeight: \"32px\",\n textTransform: \"uppercase\",\n color: get(\"palette.text.link_btn\"),\n paddingTop: \"0.2em\",\n }}\n >\n {title}\n </Box>\n </Box>\n );\n};\n\nexport default React.memo(LinkArrowBtn);\n","import { useTransform, useViewportScroll } from \"framer-motion\";\nimport { InputRange } from \"framer-motion/types/value/use-transform\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport React from \"react\";\nimport MotionBox from \"./Box/MotionBox\";\n\ninterface Props {\n inputRange: InputRange;\n outputRange: number[];\n colorsIputRange: InputRange;\n colorsOutputRange: string[];\n}\n\nconst ScrollAvailable = ({\n inputRange,\n outputRange,\n colorsIputRange,\n colorsOutputRange,\n}: Props) => {\n const { text } = useStaticQuery(graphql`\n query ScrollQuery {\n translationsJson {\n components {\n scroll {\n text\n }\n }\n }\n }\n `).translationsJson.components.scroll;\n const { scrollY } = useViewportScroll();\n const opacity = useTransform(scrollY, inputRange, outputRange);\n\n const color = useTransform(scrollY, colorsIputRange, colorsOutputRange);\n return (\n <MotionBox\n sx={{\n position: \"fixed\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n bottom: \"5%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n userSelect: \"none\",\n zIndex: 100,\n }}\n style={{\n // @ts-expect-error\n opacity: opacity,\n }}\n >\n <MotionBox\n sx={{\n position: \"relative\",\n width: \"21px\",\n height: \"32px\",\n borderRadius: \"16px\",\n borderWidth: \"1.5px\",\n borderStyle: \"solid\",\n marginBottom: \"8px\",\n }}\n style={{ borderColor: color as any }}\n >\n <MotionBox\n sx={{\n position: \"absolute\",\n width: \"4px\",\n height: \"4px\",\n top: \"5.67px\",\n left: \"50%\",\n transform: \"translateX(-50%) rotate(45deg)\",\n }}\n style={{ background: color as any }}\n />\n </MotionBox>\n <MotionBox\n sx={{\n textAlign: \"center\",\n fontWeight: 400,\n fontSize: \"12px\",\n fontFamily: \"custom_42266\",\n }}\n style={{ color: color as any }}\n >\n {text}\n </MotionBox>\n </MotionBox>\n );\n};\n\nexport default React.memo(ScrollAvailable);\n","import css from \"@styled-system/css\";\nimport styled from \"styled-components\";\nimport { SxProp } from \"../../constants/sx\";\nimport { clampBuilder } from \"../../helpers/sizeCalc\";\n\nexport const SectionWrapper = styled(\"div\")<SxProp>`\n align-self: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n font-weight: 400;\n font-family: custom_42264;\n text-align: center;\n\n @media screen and (max-width: 768px) {\n text-align: left;\n }\n\n ${(props) => props.sx && css({ ...props.sx })};\n`;\n\nexport const SectionWrapper2 = styled(\"div\")<SxProp>`\n display: flex;\n flex-direction: column;\n justify-content: \"space-between\";\n align-items: \"center\";\n min-height: ${clampBuilder(599, 1680, 14.4375, 31.625)};\n padding: ${clampBuilder(599, 1680, 7, 12.8125)} 0; //205px; // 112px\n\n & > h1,\n p {\n margin-left: 0//${clampBuilder(599, 1680, 7.1875, 15.94)}; //255px; // 115px\n }\n\n @media screen and (max-width: 768px) {\n min-height: clampBuilder(320, 599, 14.5625, 29.5625);\n & > h1,\n p {\n margin-left: 0; //255px; // 115px\n }\n }\n\n ${(props) => props.sx && css({ ...props.sx })};\n`;\n","import React from \"react\";\nimport { graphql, Link, useStaticQuery } from \"gatsby\";\nimport Box from \"../Box/Box\";\nimport { CollectionQuery } from \"../../types/pages/main\";\nimport { get } from \"../../constants/theme\";\nimport { Paragraph, Subtitle, Title } from \"../Styled/Text\";\nimport LinkArrowBtn from \"../LinkArrowBtn\";\nimport { Routes } from \"../../routes\";\nimport { SectionWrapper2 } from \"../Styled/Containerts\";\nimport { clampBuilder } from \"../../helpers/sizeCalc\";\nimport Appear from \"../Animations/AppearContainer\";\n\ninterface Props {}\nconst Collection = (\n _: Props,\n ref: React.ForwardedRef<HTMLDivElement | null>\n) => {\n const { description, link, subtitle, title } =\n useStaticQuery<CollectionQuery>(graphql`\n query MainCollectionQuery {\n translationsJson {\n pages {\n main {\n sections {\n collection {\n description\n link\n title\n subtitle\n }\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.sections.collection;\n\n return (\n <Box sx={{ position: \"relative\", zIndex: 7 }} ref={ref}>\n <SectionWrapper2\n sx={{\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n alignItems: [\"center\"],\n justifyContent: \"center\",\n textAlign: \"center\",\n background: get(\"palette.background.gold\"),\n \"& > h1,p\": {\n marginLeft: 0,\n },\n }}\n >\n <Appear wrapperCmp={Subtitle} triggerOffset={50}>\n {subtitle}\n </Appear>\n\n <Appear wrapperCmp={Title} triggerOffset={50} variant=\"section\">\n {title.split(\" \")[0]}\n <br />\n {title.split(\" \").pop()}\n </Appear>\n\n <Appear\n wrapperCmp={Paragraph}\n triggerOffset={50}\n sx={{\n width: [\n \"unset\",\n \"unset\",\n clampBuilder(599, 1680, 19, 40),\n clampBuilder(599, 1680, 19, 40),\n ],\n color: get(\"palette.text.brown\"),\n marginBottom: [\n clampBuilder(320, 599, 3.375, 6.6875),\n clampBuilder(320, 599, 3.375, 6.6875),\n clampBuilder(599, 1680, 1.75, 4.875),\n clampBuilder(599, 1680, 1.75, 4.875),\n ],\n }}\n >\n {description}\n </Appear>\n\n <Appear wrapperCmp={Box}>\n <LinkArrowBtn to={Routes.COLLECTION} title={link} as={Link} />\n </Appear>\n </SectionWrapper2>\n </Box>\n );\n};\n\nexport default React.memo(React.forwardRef<HTMLDivElement, Props>(Collection));\n","import { graphql, useStaticQuery } from \"gatsby\";\nimport React from \"react\";\nimport { get } from \"../../constants/theme\";\nimport Box from \"../Box/Box\";\nimport { SectionWrapper2 } from \"../Styled/Containerts\";\nimport { Subtitle, Title } from \"../Styled/Text\";\nimport Appear from \"../Animations/AppearContainer\";\nimport { MainConfiguratorQuery } from \"../../types/pages/main\";\nimport ConfiguratorIframeBox from \"../Styled/ConfiguratorIframe\";\n\ninterface Props {\n iframeHeight?: number | undefined;\n}\nconst Configurator = ({ iframeHeight }: Props) => {\n const [isIframeVisible, setIsIframeVisible] = React.useState<\n \"iframe-not-visible\" | \"iframe-visible\"\n >(\"iframe-not-visible\");\n\n const { subtitle, title, locale } =\n useStaticQuery<MainConfiguratorQuery>(graphql`\n query MainConfiguratorQuery {\n translationsJson {\n pages {\n main {\n sections {\n configurator {\n subtitle\n title\n locale\n }\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.sections.configurator;\n\n const handleIframeInterViewport = React.useCallback(() => {\n setIsIframeVisible(\"iframe-visible\");\n }, []);\n\n return (\n <>\n <Box\n sx={{\n minHeight: \"calc(100vh - var(--vh-offset,0px))\",\n position: \"relative\",\n WebkitOverflowScrolling: \"touch\",\n zIndex: 7,\n }}\n >\n <SectionWrapper2\n sx={{\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n alignItems: [\"center\"],\n justifyContent: \"center\",\n textAlign: \"center\",\n background: get(\"palette.background.gold\"),\n \"& > h1,p\": {\n marginLeft: 0,\n },\n }}\n >\n <Appear wrapperCmp={Subtitle}>{subtitle}</Appear>\n {title.map((t, i) => (\n <Appear wrapperCmp={Title} key={i} variant=\"section\">\n {t}\n </Appear>\n ))}\n </SectionWrapper2>\n <ConfiguratorIframeBox\n key={isIframeVisible}\n viewport={{ once: true }}\n onViewportEnter={handleIframeInterViewport}\n $iframeHeight={iframeHeight}\n sx={{\n background: get(\"palette.background.gold\"),\n }}\n src={`https://angry-sinoussi-400096.netlify.app/?locale=${\n locale ? locale : \"en_EN\"\n }`}\n />\n </Box>\n </>\n );\n};\n\nexport default React.memo(Configurator);\n","import css, { SystemStyleObject } from \"@styled-system/css\";\nimport { useTransform, useViewportScroll } from \"framer-motion\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport styled from \"styled-components\";\nimport { variant } from \"styled-system\";\nimport { SxProp } from \"../constants/sx\";\nimport { get } from \"../constants/theme\";\nimport { clampBuilder } from \"../helpers/sizeCalc\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport Box from \"./Box/Box\";\nimport MotionBox from \"./Box/MotionBox\";\n\nconst CollageImageWrapper = styled(MotionBox)<\n SxProp & { variant: \"big\" | \"small\" }\n>`\n ${(p) =>\n variant({\n variants: {\n big: {\n top: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: [\n \"clamp(16rem, -0.1290rem + 80.6452vw, 30.0625rem)\",\n \"clamp(16rem, -0.1290rem + 80.6452vw, 30.0625rem)\",\n \"clamp(30rem, 10.1557rem + 53.0065vw, 65.8125rem)\",\n \"clamp(30rem, 10.1557rem + 53.0065vw, 65.8125rem)\",\n ],\n height: [\n \"clamp(10.375rem, -0.3060rem + 53.4050vw, 19.6875rem)\",\n \"clamp(10.375rem, -0.3060rem + 53.4050vw, 19.6875rem)\",\n \"clamp(19.8125rem, 6.8947rem + 34.5051vw, 43.125rem)\",\n \"clamp(19.8125rem, 6.8947rem + 34.5051vw, 43.125rem)\",\n ],\n },\n small: {\n width: [\n \"clamp(8rem, -0.0287rem + 40.1434vw, 15rem)\",\n \"clamp(8rem, -0.0287rem + 40.1434vw, 15rem)\",\n \"clamp(15rem, 7.9004rem + 18.9639vw, 27.8125rem)\",\n \"clamp(15rem, 7.9004rem + 18.9639vw, 27.8125rem)\",\n ],\n height: [\n \"clamp(11.375rem, -0.0228rem + 56.9892vw, 21.3125rem)\",\n \"clamp(11.375rem, -0.0228rem + 56.9892vw, 21.3125rem)\",\n \"clamp(18.125rem, 6.1422rem + 32.0074vw, 39.75rem)\",\n \"clamp(18.125rem, 6.1422rem + 32.0074vw, 39.75rem)\",\n ],\n top: 0,\n right: 0,\n transform: `translateY(50%)`,\n },\n },\n })}\n position: absolute;\n display: flex;\n flex-direction: column;\n\n ${(p) => p.sx && css({ ...p.sx })}\n`;\ntype Props = {\n firstImage: {\n image: IGatsbyImageData;\n alt: string;\n description: string;\n };\n secondImage: {\n image: IGatsbyImageData;\n alt: string;\n description: string;\n };\n sx: SystemStyleObject;\n};\n\nconst Collage = ({ firstImage, secondImage, sx }: Props) => {\n const { height } = useWindowSize();\n const [smallImgOffset, setSmallImgOffset] = React.useState<number>(0);\n\n const collageRef = React.useCallback((node: HTMLDivElement | null) => {\n if (node !== null) {\n setSmallImgOffset(node.offsetTop);\n }\n }, []);\n\n const { scrollY } = useViewportScroll();\n\n const translateY = useTransform(\n scrollY,\n [smallImgOffset - height + 230, smallImgOffset - height + height * 0.75],\n [\"60%\", \"40%\"]\n );\n\n return (\n <Box\n sx={{\n padding: \"0 5%\",\n minHeight: [clampBuilder(599, 1680, 30.4375, 63)],\n ...sx,\n }}\n >\n <Box ref={collageRef} sx={{ position: \"relative\", width: \"100%\" }}>\n <CollageImageWrapper variant=\"big\" sx={{}}>\n <Box as={GatsbyImage} image={firstImage.image} alt={firstImage.alt} />\n <Box\n as=\"span\"\n sx={{\n display: [\"none\", \"none\", \"block\", \"block\"],\n marginTop: \"1rem\",\n color: get(\"palette.text.grey_gold\"),\n fontFamily: \"custom_42266\",\n fontWeight: 400,\n fontSize: \"16px\",\n }}\n >\n {firstImage.description}\n </Box>\n <CollageImageWrapper\n style={{\n y: !isMobileOnly ? translateY : \"40%\",\n }}\n sx={{ right: [\"-5%\", \"-10%\", \"-15%\", \"-15%\"] }}\n variant=\"small\"\n >\n <Box\n as={GatsbyImage}\n image={secondImage.image}\n alt={secondImage.alt}\n />\n <Box\n as=\"span\"\n sx={{\n display: [\"none\", \"none\", \"block\", \"block\"],\n marginTop: \"1rem\",\n color: get(\"palette.text.grey_gold\"),\n fontFamily: \"custom_42266\",\n fontWeight: 400,\n fontSize: \"16px\",\n }}\n >\n {secondImage.description}\n </Box>\n </CollageImageWrapper>\n </CollageImageWrapper>\n </Box>\n </Box>\n );\n};\n\nexport default React.memo(Collage);\n","var DEFAULT_OVERSHOOT_STRENGTH = 1.525;\n\nvar reversed = function reversed(easing) {\n return function (p) {\n return 1 - easing(1 - p);\n };\n};\n\nvar mirrored = function mirrored(easing) {\n return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n };\n};\n\nvar createReversedEasing = reversed;\nvar createMirroredEasing = mirrored;\n\nvar createExpoIn = function createExpoIn(power) {\n return function (p) {\n return Math.pow(p, power);\n };\n};\n\nvar createBackIn = function createBackIn(power) {\n return function (p) {\n return p * p * ((power + 1) * p - power);\n };\n};\n\nvar createAnticipateEasing = function createAnticipateEasing(power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1 ? 0.5 * backEasing(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\n\nvar linear = function linear(p) {\n return p;\n};\n\nvar easeIn = /*#__PURE__*/createExpoIn(2);\nvar easeOut = /*#__PURE__*/reversed(easeIn);\nvar easeInOut = /*#__PURE__*/mirrored(easeIn);\n\nvar circIn = function circIn(p) {\n return 1 - Math.sin(Math.acos(p));\n};\n\nvar circOut = /*#__PURE__*/reversed(circIn);\nvar circInOut = /*#__PURE__*/mirrored(circOut);\nvar backIn = /*#__PURE__*/createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = /*#__PURE__*/reversed(backIn);\nvar backInOut = /*#__PURE__*/mirrored(backIn);\nvar anticipate = /*#__PURE__*/createAnticipateEasing(DEFAULT_OVERSHOOT_STRENGTH);\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\n\nvar bounceOut = function bounceOut(p) {\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD ? 7.5625 * p2 : p < BOUNCE_SECOND_THRESHOLD ? 9.075 * p2 - 9.9 * p + 3.4 : p < BOUNCE_THIRD_THRESHOLD ? ca * p2 - cb * p + cc : 10.8 * p * p - 20.52 * p + 10.72;\n};\n\nvar bounceIn = function bounceIn(p) {\n return 1.0 - bounceOut(1.0 - p);\n};\n\nvar bounceInOut = function bounceInOut(p) {\n return p < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\n\nvar NEWTON_ITERATIONS = 8;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar K_SPLINE_TABLE_SIZE = 11;\nvar K_SAMPLE_STEP_SIZE = 1.0 / (K_SPLINE_TABLE_SIZE - 1.0);\nvar FLOAT_32_SUPPORTED = typeof Float32Array !== 'undefined';\n\nvar a = function a(a1, a2) {\n return 1.0 - 3.0 * a2 + 3.0 * a1;\n};\n\nvar b = function b(a1, a2) {\n return 3.0 * a2 - 6.0 * a1;\n};\n\nvar c = function c(a1) {\n return 3.0 * a1;\n};\n\nvar getSlope = function getSlope(t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\n\nvar calcBezier = function calcBezier(t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\n\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n var sampleValues = FLOAT_32_SUPPORTED ? new Float32Array(K_SPLINE_TABLE_SIZE) : new Array(K_SPLINE_TABLE_SIZE);\n\n var binarySubdivide = function binarySubdivide(aX, aA, aB) {\n var i = 0;\n var currentX;\n var currentT;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n };\n\n var newtonRaphsonIterate = function newtonRaphsonIterate(aX, aGuessT) {\n var i = 0;\n var currentSlope = 0;\n var currentX;\n\n for (; i < NEWTON_ITERATIONS; ++i) {\n currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n };\n\n var calcSampleValues = function calcSampleValues() {\n for (var i = 0; i < K_SPLINE_TABLE_SIZE; ++i) {\n sampleValues[i] = calcBezier(i * K_SAMPLE_STEP_SIZE, mX1, mX2);\n }\n };\n\n var getTForX = function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = K_SPLINE_TABLE_SIZE - 1;\n var dist = 0.0;\n var guessForT = 0.0;\n var initialSlope = 0.0;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += K_SAMPLE_STEP_SIZE;\n }\n\n --currentSample;\n dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n guessForT = intervalStart + dist * K_SAMPLE_STEP_SIZE;\n initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + K_SAMPLE_STEP_SIZE);\n }\n };\n\n calcSampleValues();\n\n var resolver = function resolver(aX) {\n var returnValue;\n\n if (mX1 === mY1 && mX2 === mY2) {\n returnValue = aX;\n } else if (aX === 0) {\n returnValue = 0;\n } else if (aX === 1) {\n returnValue = 1;\n } else {\n returnValue = calcBezier(getTForX(aX), mY1, mY2);\n }\n\n return returnValue;\n };\n\n return resolver;\n}\n\nexport { reversed, mirrored, createReversedEasing, createMirroredEasing, createExpoIn, createBackIn, createAnticipateEasing, linear, easeIn, easeOut, easeInOut, circIn, circOut, circInOut, backIn, backOut, backInOut, anticipate, bounceOut, bounceIn, bounceInOut, cubicBezier };","type ImageOriginal = {\n width: number;\n height: number;\n};\n\nexport const ratioCalc = ({ width, height }: ImageOriginal) => {\n if (height > width) return width / height;\n return height / width;\n};\n","import { easeInOut, linear } from \"@popmotion/easing\";\nimport {\n AnimatePresence,\n useTransform,\n useViewportScroll,\n} from \"framer-motion\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport { ratioCalc } from \"../../../../../helpers/ratioCalc\";\nimport useWindowSize from \"../../../../../hooks/useWindowSize\";\nimport Box from \"../../../../Box/Box\";\nimport MotionBox from \"../../../../Box/MotionBox\";\n\ntype Props = {\n imgAlt: string;\n img: IGatsbyImageData;\n imgContainerSize: {\n width: number;\n height: number;\n };\n imgOriginalSize: {\n width: number;\n height: number;\n };\n};\n\nconst HistoryAnimatedCmp = ({\n img,\n imgAlt,\n imgOriginalSize,\n imgContainerSize,\n}: Props) => {\n const [isFixed, setIsFixed] = React.useState<boolean>(false);\n const { height, width } = useWindowSize();\n const { scrollY } = useViewportScroll();\n const [offset, setOffset] = React.useState<number>(0);\n\n const imgRef = React.useCallback((node: any | null) => {\n if (node !== null) {\n setOffset(node.offsetTop);\n }\n }, []);\n\n const marginTop = useTransform(\n scrollY,\n [offset - height / 2 + imgContainerSize.height / 2, offset],\n [0, 0]\n );\n\n const top = useTransform(scrollY, [offset, offset + 500], [0, height / 2]);\n const marginTopFixed = useTransform(\n scrollY,\n [offset, offset + 500],\n [0, -imgContainerSize.height / 2]\n );\n\n const translateX = useTransform(\n scrollY,\n [offset, offset + 500],\n [0, ((width - width * 0.05) / 6 + imgContainerSize.width) / 2]\n );\n\n const translateY = useTransform(scrollY, [offset, offset + 500], [0, 0], {\n ease: linear,\n });\n\n const scale = useTransform(\n scrollY,\n [offset, offset + 500, offset + 1150, offset + 1300],\n [\n 1,\n height / imgContainerSize.height,\n height / imgContainerSize.height,\n (height * 0.9) / imgContainerSize.height,\n ],\n { ease: easeInOut }\n );\n\n const zIndex = useTransform(\n scrollY,\n [\n offset - height,\n offset - imgOriginalSize.height / 2,\n offset,\n offset + 1349,\n offset + 1350,\n ],\n [-1, 2, 2, 2, -1]\n );\n\n const opacity = useTransform(\n scrollY,\n [offset - height - 1, offset - height, offset + 1200, offset + 1350],\n [0, 1, 1, 0]\n );\n\n React.useEffect(() => {\n const scrollSub = scrollY.onChange((v) => {\n if (v >= offset) {\n setIsFixed(true);\n } else {\n isFixed && setIsFixed(false);\n }\n });\n return () => {\n scrollSub();\n };\n }, [scrollY, height, isFixed, offset]);\n\n const checkOffset = React.useCallback(\n (v) => {\n const newOffset = v.target.parentNode.offsetTop;\n if (newOffset !== offset) setOffset(newOffset);\n },\n [offset]\n );\n\n return (\n <AnimatePresence exitBeforeEnter>\n <MotionBox\n onViewportEnter={checkOffset}\n ref={imgRef}\n exit={{ transition: { duration: 1 } }}\n layout\n transition={{ layout: { duration: 0.3, ease: \"linear\" } }}\n sx={{\n height: imgContainerSize.height,\n width: imgContainerSize.width,\n }}\n style={{\n top: top as any,\n opacity: opacity as any,\n x: translateX as any,\n y: isFixed ? 0 : translateY,\n scale: scale as any,\n position: isFixed ? \"fixed\" : \"unset\",\n zIndex: zIndex as any,\n willChange: \"auto\",\n marginTop: isFixed ? (marginTopFixed as any) : (marginTop as any),\n }}\n >\n <Box\n sx={{\n height: \"100%\",\n width: \"100%\",\n aspectRatio: `${ratioCalc({\n width: imgOriginalSize.width,\n height: imgOriginalSize.height,\n })}`,\n objectFit: \"contain\",\n }}\n imgStyle={{ objectFit: \"contain\" }}\n as={GatsbyImage}\n alt={imgAlt}\n image={img}\n loading=\"eager\"\n />\n </MotionBox>\n </AnimatePresence>\n );\n};\n\nexport default React.memo(HistoryAnimatedCmp);\n","import React from \"react\";\n\nconst useCssVariableValue = (variableName: string) => {\n const [value, setValue] = React.useState<string | undefined>(undefined);\n\n const getVarValue = React.useCallback(() => {\n var style = getComputedStyle(document.body);\n setValue(style.getPropertyValue(variableName));\n }, [variableName]);\n\n React.useEffect(() => {\n getVarValue();\n }, [getVarValue]);\n\n return value;\n};\n\nexport default useCssVariableValue;\n","import { easeInOut } from \"@popmotion/easing\";\nimport {\n AnimatePresence,\n useTransform,\n useViewportScroll,\n} from \"framer-motion\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport { ratioCalc } from \"../../../../../helpers/ratioCalc\";\nimport useCssVariableValue from \"../../../../../hooks/useCssVariableValue\";\nimport useWindowSize from \"../../../../../hooks/useWindowSize\";\nimport Box from \"../../../../Box/Box\";\nimport MotionBox from \"../../../../Box/MotionBox\";\n\ntype Props = {\n imgAlt: string;\n img: IGatsbyImageData;\n imgOriginalSize: {\n width: number;\n height: number;\n };\n};\nconst HistoryAnimatedCmp = ({ img, imgAlt, imgOriginalSize }: Props) => {\n const { width, height } = useWindowSize();\n const { scrollY } = useViewportScroll();\n const [isFixed, setIsFixed] = React.useState<boolean>(false);\n const [offset, setOffset] = React.useState<number>(0);\n const isIosOffsetValue = useCssVariableValue(\"--vh-offset\");\n const iosOffsetValue = React.useMemo(() => {\n if (isIosOffsetValue) {\n if (/^\\d+px$/.test(isIosOffsetValue)) {\n return Number(isIosOffsetValue.slice(0, isIosOffsetValue.length - 2));\n } else {\n return 0;\n }\n } else {\n return 0;\n }\n }, [isIosOffsetValue]);\n\n const imgRef = React.useCallback((node: any | null) => {\n if (node !== null) {\n setOffset(node.offsetTop);\n setImgContainerSize({\n width: node.clientWidth,\n height: node.clientHeight,\n });\n }\n }, []);\n\n const [imgContainerSize, setImgContainerSize] = React.useState<{\n width: number;\n height: number;\n }>({ width: 0, height: 0 });\n\n const marginTop = useTransform(\n scrollY,\n [offset - (height - imgContainerSize.height) / 2, offset + 250],\n [0, 0 + Math.round(imgContainerSize.height)]\n );\n\n const marginTopFixed = useTransform(\n scrollY,\n [offset, offset + 250],\n [-imgContainerSize.height / 2, -imgContainerSize.height / 2]\n );\n\n const scale = useTransform(\n scrollY,\n [\n offset - (height - imgContainerSize.height) / 2,\n offset + 250,\n offset + 1150,\n offset + 1300,\n ],\n [\n 1,\n height / imgContainerSize.height,\n height / imgContainerSize.height,\n (0.85 * height) / imgContainerSize.height,\n ],\n { ease: easeInOut }\n );\n\n const zIndex = useTransform(\n scrollY,\n [offset - imgOriginalSize.height / 2, offset + 1349, offset + 1350],\n [2, 2, -1]\n );\n\n const opacity = useTransform(\n scrollY,\n [\n offset - height - 1 - iosOffsetValue,\n offset - height - iosOffsetValue,\n offset + 1300,\n offset + 1350,\n ],\n [0, 1, 1, 0]\n );\n\n React.useEffect(() => {\n const scrollSub = scrollY.onChange((v) => {\n if (v >= offset - (height - imgContainerSize.height) / 2) {\n setIsFixed(true);\n } else {\n isFixed && setIsFixed(false);\n }\n });\n return () => {\n scrollSub();\n };\n }, [scrollY, height, isFixed, offset, imgContainerSize.height]);\n\n const checkOffset = React.useCallback(\n (v) => {\n const newOffset = v.target.parentNode.offsetTop;\n if (newOffset !== offset) setOffset(newOffset);\n },\n [offset]\n );\n\n return (\n <AnimatePresence exitBeforeEnter>\n <MotionBox\n ref={imgRef as any}\n onViewportEnter={checkOffset}\n exit={{ transition: { duration: 1 } }}\n layout=\"size\"\n key=\"jasperVase\"\n layoutId=\"vase\"\n sx={{\n height: 374,\n width: 261,\n aspectRatio: `${ratioCalc({\n width: imgOriginalSize.width,\n height: imgOriginalSize.height,\n })}`,\n }}\n style={{\n top: isFixed\n ? `${height / 2}px`\n : \"calc(0px + var(--vh-offset, 0px))\",\n opacity: opacity as any,\n scale: scale as any,\n position: isFixed ? \"fixed\" : \"unset\",\n zIndex: zIndex as any,\n willChange: \"auto\",\n left: `${width / 2}px`,\n\n marginTop: isFixed ? (marginTopFixed as any) : (marginTop as any),\n marginRight: isFixed ? \"0\" : \"auto\",\n marginLeft: isFixed ? `-${imgContainerSize.width / 2}px` : \"auto\",\n marginBottom: 0,\n }}\n >\n <Box\n sx={{\n height: \"100%\",\n width: \"100%\",\n aspectRatio: `${ratioCalc({\n width: imgOriginalSize.width,\n height: imgOriginalSize.height,\n })}`,\n objectFit: \"contain\",\n }}\n imgStyle={{ objectFit: \"contain\" }}\n as={GatsbyImage}\n alt={imgAlt}\n image={img}\n loading=\"eager\"\n />\n </MotionBox>\n </AnimatePresence>\n );\n};\n\nexport default React.memo(HistoryAnimatedCmp);\n","import { useTransform, useViewportScroll } from \"framer-motion\";\nimport { graphql, Link, useStaticQuery } from \"gatsby\";\nimport { GatsbyImage } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport { clampBuilder } from \"../../helpers/sizeCalc\";\nimport useWindowSize from \"../../hooks/useWindowSize\";\nimport { Routes } from \"../../routes\";\nimport { HistorySectionQuery } from \"../../types/pages/main\";\nimport Box from \"../Box/Box\";\nimport MotionBox from \"../Box/MotionBox\";\nimport Collage from \"../Collage\";\nimport LinkArrowBtn from \"../LinkArrowBtn\";\nimport { SectionWrapper2 } from \"../Styled/Containerts\";\nimport { Paragraph, Paragraph2, Subtitle, Title } from \"../Styled/Text\";\nimport AppearAnimationContainer from \"../Animations/AppearContainer\";\nimport { get } from \"../../constants/theme\";\nimport VaseDesktop from \"./history/animated/desktop\";\nimport VaseMobile from \"./history/animated/mobile\";\n\ninterface Props {\n setVaseEnding: (offset: number) => void;\n}\n\nconst History = (\n { setVaseEnding }: Props,\n ref: React.ForwardedRef<HTMLDivElement | null>\n) => {\n const [isBgCover, setIsBgCover] = React.useState<boolean>(false);\n const [imgContainerSize, setImgContainerSize] = React.useState<{\n width: number;\n height: number;\n }>({ width: 0, height: 0 });\n\n const [timelinePosition, setTimelinePosition] = React.useState<{\n start: number;\n end: number;\n }>({ start: 0, end: 0 });\n const [offset, setOffset] = React.useState<number>(0);\n const { scrollY } = useViewportScroll();\n const { width, height } = useWindowSize();\n\n const lastPostImageContainerRef = React.useCallback(\n (node: any | null) => {\n if (node !== null) {\n setOffset(node.offsetTop);\n setVaseEnding(node.offsetTop + 1350);\n setImgContainerSize({\n width: node.clientWidth,\n height: node.clientHeight,\n });\n }\n },\n [setVaseEnding]\n );\n\n const timelineStart = React.useCallback((node: HTMLElement | null) => {\n if (node !== null) {\n setTimelinePosition((prev) => ({\n ...prev,\n start: node.offsetTop + 50,\n }));\n }\n }, []);\n\n const timelineEnd = React.useCallback((node: HTMLElement | null) => {\n if (node !== null) {\n setTimelinePosition((prev) => ({\n ...prev,\n end: node.offsetTop,\n }));\n }\n }, []);\n\n const ringOpacity = useTransform(\n scrollY,\n [\n width < 768 ? offset + 250 : offset + 750,\n offset + 900,\n offset + 1100,\n offset + 1250,\n ],\n [0, 1, 1, 0]\n );\n\n const ringYTranslate = useTransform(\n scrollY,\n [width < 768 ? offset + 250 : offset + 700, offset + 850],\n [\"0%\", `${-147.5}px`]\n );\n\n const zIndex = useTransform(\n scrollY,\n [offset, offset + 1300, offset + 1350],\n [2, 2, -1]\n );\n\n const zIndexBg = useTransform(\n scrollY,\n [offset, offset + 1300, offset + 1600],\n [1, 1, -1]\n );\n\n const bgOpacity = useTransform(scrollY, [offset, offset + 500], [0, 1]);\n\n React.useEffect(() => {\n const sub = scrollY.onChange((v) => {\n if (width < 768) {\n if (v > offset) {\n setIsBgCover(true);\n } else {\n setIsBgCover(false);\n }\n } else {\n if (v > offset + 200) {\n setIsBgCover(true);\n } else {\n setIsBgCover(false);\n }\n }\n });\n\n return () => {\n sub();\n };\n }, [scrollY, offset, imgContainerSize, height, width]);\n\n const { title, subtitle, description, header } =\n useStaticQuery<HistorySectionQuery>(graphql`\n query HistorySectionQuery {\n translationsJson {\n pages {\n main {\n sections {\n history {\n subtitle\n title\n description\n header {\n title\n posts {\n title\n imageAlt\n description\n image {\n childImageSharp {\n gatsbyImageData\n original {\n width\n height\n }\n }\n }\n }\n link\n images {\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n imageAlt\n }\n }\n }\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.sections.history;\n\n return (\n <Box sx={{ zIndex: 5 }}>\n <SectionWrapper2\n sx={{ zIndex: 2, display: \"flex\", justifyContent: \"center\" }}\n >\n <AppearAnimationContainer wrapperCmp={Subtitle}>\n {subtitle}\n </AppearAnimationContainer>\n <AppearAnimationContainer\n wrapperCmp={Title}\n variant=\"section\"\n sx={{ textAlign: \"center\" }}\n >\n {title}\n </AppearAnimationContainer>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n <AppearAnimationContainer\n wrapperCmp={Paragraph2}\n variant=\"normal\"\n sx={{\n width: [\n \"100%\",\n \"100%\",\n clampBuilder(599, 1680, 19.1875, 39.625),\n clampBuilder(599, 1680, 19.1875, 39.625),\n ],\n textAlign: \"center\",\n padding: \"0\",\n }}\n >\n {description}\n </AppearAnimationContainer>\n </Box>\n </SectionWrapper2>\n <Box\n ref={timelineStart}\n sx={{\n width: 0,\n height: 0,\n background: \"transparent\",\n opacity: 0,\n visibility: \"hidden\",\n }}\n />\n <AppearAnimationContainer\n wrapperCmp={Title}\n sx={{\n width: \"100%\",\n textAlign: \"center\",\n marginBottom: [\n clampBuilder(320, 599, 2.75, 3),\n clampBuilder(320, 599, 2.75, 3),\n clampBuilder(599, 1680, 3.75, 9.6875),\n clampBuilder(599, 1680, 3.75, 9.6875),\n ],\n }}\n variant=\"fancy\"\n >\n {header.title}\n <br />\n 1721\n </AppearAnimationContainer>\n\n {width >= 768 && (\n <Box\n sx={{\n display: \"flex\",\n flexDirection: [\n \"column-reverse\",\n \"column-reverse\",\n \"column\",\n \"column\",\n ],\n marginBottom: [\n clampBuilder(320, 599, 3.375, 6.6875),\n clampBuilder(320, 599, 3.375, 6.6875),\n 0,\n 0,\n ],\n }}\n >\n <Collage\n sx={{ zIndex: 2 }}\n firstImage={{\n image: header.images[0].image.childImageSharp.gatsbyImageData,\n alt: header.images[0].imageAlt,\n description: header.images[0].imageAlt,\n }}\n secondImage={{\n image: header.images[1].image.childImageSharp.gatsbyImageData,\n alt: header.images[1].imageAlt,\n description: header.images[1].imageAlt,\n }}\n />\n <Box\n sx={{\n display: \"flex\",\n flexDirection: [\"column\", \"column\", \"row\", \"row\"],\n justifyContent: \"space-between\",\n marginBottom: [\n clampBuilder(320, 599, 3.375, 6.6875),\n clampBuilder(320, 599, 3.375, 6.6875),\n 0,\n 0,\n ],\n }}\n ></Box>\n </Box>\n )}\n\n <Box\n sx={{\n display: \"grid\",\n gridTemplateColumns: \"repeat(12, 1fr)\",\n alignItems: \"center\",\n flexDirection: [\"column\", \"column\", \"row\", \"row\"],\n justifyContent: \"space-between\",\n minHeight: [\n clampBuilder(599, 1680, 17.5, 31.8125),\n clampBuilder(599, 1680, 17.5, 31.8125),\n ],\n width: \"100%\",\n padding: \"0 2.5%\",\n \"& > :nth-child(1n)\": {\n flex: 1,\n },\n marginBottom: \"2rem\",\n }}\n >\n <AppearAnimationContainer\n wrapperCmp={Box}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gridColumnStart: [1, 2, 2, 2],\n gridColumnEnd: [13, 6, 6, 6],\n gridRowStart: [1, 1, 1, 1],\n }}\n >\n <Box\n sx={{\n maxWidth: [\n clampBuilder(320, 599, 4.625, 8.875),\n clampBuilder(320, 599, 4.625, 8.875),\n clampBuilder(599, 1680, 3.4375, 7.625),\n clampBuilder(599, 1680, 3.4375, 7.625),\n ],\n maxHeight: [\n clampBuilder(320, 599, 6.875, 13),\n clampBuilder(320, 599, 6.875, 13),\n clampBuilder(599, 1680, 5.625, 11.5625),\n clampBuilder(599, 1680, 5.625, 11.5625),\n ],\n marginBottom: [\"2rem\"],\n }}\n //sx={{ height: \"84px\", width: \"58px\" }}\n //sx={{ height: \"185px\", width: \"122px\" }}\n as={GatsbyImage}\n image={header.posts[0].image.childImageSharp.gatsbyImageData}\n alt=\"\"\n loading=\"eager\"\n />\n </AppearAnimationContainer>\n\n <Box\n sx={{\n display: \"flex\",\n gridColumnStart: [1, 2, 2, 2],\n gridColumnEnd: [13, 6, 6, 6],\n gridRowStart: [2, 2, 2, 2],\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontWeight: 400,\n fontFamily: \"custom_42264\",\n color: get(\"palette.text.brown\"),\n textAlign: [\"left\", \"left\", \"center\", \"center\"],\n fontSize: \"1.5vmax\",\n width: \"100%\",\n marginTop: [0, 0, 0, 0],\n marginBottom: [\"20px\", 0, 0, 0],\n }}\n >\n <AppearAnimationContainer\n wrapperCmp={Title}\n sx={{\n alignSelf: \"center\",\n\n textAlign: \"center\",\n }}\n variant=\"paragraph\"\n >\n {header.posts[0].title}\n </AppearAnimationContainer>\n <AppearAnimationContainer\n wrapperCmp={Paragraph}\n sx={{\n textAlign: \"center\",\n\n alignSelf: \"center\",\n width: \"100%\",\n }}\n >\n {header.posts[0].description}\n </AppearAnimationContainer>\n </Box>\n <Box\n sx={{\n marginBottom: \"20px\",\n gridColumnStart: [1, 8, 8, 8],\n gridColumnEnd: [13, 12, 12, 12],\n gridRowStart: [3, 3, 3, 3],\n }}\n ></Box>\n </Box>\n\n {width < 768 && (\n <Box\n sx={{\n display: \"flex\",\n flexDirection: [\n \"column-reverse\",\n \"column-reverse\",\n \"column\",\n \"column\",\n ],\n }}\n >\n <Collage\n sx={{ zIndex: 2 }}\n firstImage={{\n image: header.images[0].image.childImageSharp.gatsbyImageData,\n alt: header.images[0].imageAlt,\n description: header.images[0].imageAlt,\n }}\n secondImage={{\n image: header.images[1].image.childImageSharp.gatsbyImageData,\n alt: header.images[1].imageAlt,\n description: header.images[1].imageAlt,\n }}\n />\n <Box\n sx={{\n display: \"flex\",\n flexDirection: [\"column\", \"column\", \"row\", \"row\"],\n justifyContent: \"space-between\",\n marginBottom: [\n clampBuilder(320, 599, 3.375, 6.6875),\n clampBuilder(320, 599, 3.375, 6.6875),\n 0,\n 0,\n ],\n }}\n ></Box>\n </Box>\n )}\n\n <Box\n sx={{\n display: \"grid\",\n alignItems: \"flex-start\",\n gridTemplateColumns: \"repeat(12, 1fr)\",\n flexDirection: [\"column\", \"column\", \"row\", \"row\"],\n justifyContent: \"space-between\",\n minHeight: [\n clampBuilder(599, 1680, 17.5, 31.8125),\n clampBuilder(599, 1680, 17.5, 31.8125),\n ],\n width: \"100%\",\n padding: \"0 2.5%\",\n \"& > :nth-child(1n)\": {\n flex: 1,\n },\n }}\n >\n <Box\n ref={lastPostImageContainerRef as any}\n sx={{\n marginBottom: [0, 0, 0, 0],\n gridColumnStart: [1, 2, 2, 2],\n gridColumnEnd: [13, 6, 6, 6],\n width: \"100%\",\n height: \"100%\",\n position: \"relative\",\n }}\n >\n {width < 768 ? (\n <VaseMobile\n imgOriginalSize={{\n width: header.posts[1].image.childImageSharp.original.width,\n height: header.posts[1].image.childImageSharp.original.height,\n }}\n img={header.posts[1].image.childImageSharp.gatsbyImageData}\n imgAlt={header.posts[1].imageAlt}\n />\n ) : (\n <VaseDesktop\n imgContainerSize={{\n width: imgContainerSize.width,\n height: imgContainerSize.height,\n }}\n imgOriginalSize={{\n width: header.posts[1].image.childImageSharp.original.width,\n height: header.posts[1].image.childImageSharp.original.height,\n }}\n img={header.posts[1].image.childImageSharp.gatsbyImageData}\n imgAlt={header.posts[1].imageAlt}\n />\n )}\n </Box>\n <Box\n sx={{\n display: \"flex\",\n gridColumnStart: [1, 8, 8, 8],\n gridColumnEnd: [13, 12, 12, 12],\n gridRowStart: [1, 1, 1, 1],\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontWeight: 400,\n fontFamily: \"custom_42264\",\n color: get(\"palette.text.brown\"),\n textAlign: [\"center\", \"center\", \"center\", \"center\"],\n fontSize: \"1.5vmax\",\n width: \"100%\",\n marginTop: [\"80px\", 0, 0, 0],\n marginBottom: [\"20px\", 0, 0, 0],\n }}\n >\n <AppearAnimationContainer\n wrapperCmp={Title}\n sx={{\n alignSelf: \"center\",\n textAlign: \"center\",\n }}\n variant=\"paragraph\"\n >\n {header.posts[1].title}\n </AppearAnimationContainer>\n <AppearAnimationContainer\n wrapperCmp={Paragraph}\n sx={{\n textAlign: \"center\",\n alignSelf: \"center\",\n width: \"100%\",\n marginBottom: \"2rem\",\n }}\n >\n {header.posts[1].description}\n </AppearAnimationContainer>\n <AppearAnimationContainer\n triggerOffset={-100}\n sx={{ justifyContent: [\"left\"] }}\n >\n <LinkArrowBtn title={header.link} to={Routes.HISTORY} as={Link} />\n </AppearAnimationContainer>\n </Box>\n </Box>\n <Box\n ref={timelineEnd}\n sx={{\n width: 0,\n height: 0,\n background: \"transparent\",\n opacity: 0,\n visibility: \"hidden\",\n }}\n />\n <Box ref={ref} sx={{ minHeight: \"1300px\" }} />\n\n <Box\n sx={{\n position: \"absolute\",\n top: timelinePosition.start,\n left: \"50%\",\n minHeight: `${\n timelinePosition.end - timelinePosition.start + height * 0.5\n }px`,\n width: \"0.5px\",\n background: get(\"palette.text.dark_gold\"),\n zIndex: 1,\n marginTop: [\n clampBuilder(320, 599, 2.75, 3),\n clampBuilder(320, 599, 2.75, 3),\n clampBuilder(599, 1680, 3.75, 9.6875),\n clampBuilder(599, 1680, 3.75, 9.6875),\n ],\n display: [\"none\", \"none\", \"none\", \"block\"],\n // transform: `translateY(-${height * 0.05}px)`,\n }}\n >\n <Box\n sx={{\n left: \"50%\",\n position: \"absolute\",\n width: \"6px\",\n height: \"6px\",\n transform: \"rotate(45deg)\",\n background: get(\"palette.text.dark_gold\"),\n marginLeft: \"-3px\",\n }}\n />\n </Box>\n <MotionBox\n sx={{\n position: \"fixed\",\n top: `${height / 2}px`,\n left: \"50%\",\n width: 295,\n height: 295,\n borderRadius: \"50%\",\n border: \"1px solid white\",\n background: \"transparent\",\n transform: \"translateX(-50%)\",\n }}\n style={{\n opacity: ringOpacity as any,\n scale: width < 768 ? 0.75 : 1,\n x: \"-50%\",\n zIndex: zIndex as any,\n marginTop: ringYTranslate as any,\n }}\n >\n <MotionBox\n sx={{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"75%\",\n height: \"75%\",\n borderRadius: \"50%\",\n border: \"1px solid white\",\n transform: \"translateX(-50%) translateY(-50%)\",\n }}\n />\n </MotionBox>\n {isBgCover && (\n <MotionBox\n sx={{\n position: \"fixed\",\n left: 0,\n top: 0,\n height: \"100%\",\n width: width,\n background: get(\"palette.background.gold\"),\n }}\n style={{ opacity: bgOpacity as any, zIndex: zIndexBg as any }}\n />\n )}\n </Box>\n );\n};\n\nexport default React.memo(React.forwardRef<HTMLDivElement, Props>(History));\n","import { graphql, useStaticQuery } from \"gatsby\";\nimport { GatsbyImage } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport { get } from \"../../constants/theme\";\nimport { clampBuilder } from \"../../helpers/sizeCalc\";\nimport { ManufacturingQuery } from \"../../types/pages/main\";\nimport Appear from \"../Animations/AppearContainer\";\nimport Box from \"../Box/Box\";\nimport { SectionWrapper2 } from \"../Styled/Containerts\";\nimport { Paragraph, Subtitle, Title } from \"../Styled/Text\";\nimport GridSection from \"../GridSection\";\nimport Wrapper from \"../Wrapper\";\n\n\ntype Props = {};\n\nconst Manufacturing = (props: Props) => {\n const { subtitle, title, description, header, footer, sections } =\n useStaticQuery<ManufacturingQuery>(graphql`\n query ManafacturingQuery {\n translationsJson {\n pages {\n main {\n sections {\n manufacturing {\n description\n footer {\n description\n image {\n id\n name\n childImageSharp {\n gatsbyImageData\n }\n }\n imageAlt\n title\n }\n header {\n imageAlt\n image {\n id\n name\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n sections {\n description\n imageAlt\n title\n image {\n id\n name\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n subtitle\n title\n }\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.sections.manufacturing;\n\n return (\n <>\n <Box\n sx={{\n background: get(\"palette.background.primary\"),\n }}\n >\n <SectionWrapper2 sx={{ width: \"100%\" }}>\n <Appear wrapperCmp={Subtitle}>{subtitle}</Appear>\n <Appear\n wrapperCmp={Title}\n sx={{ textAlign: [\"center\", \"center\", \"center\", \"center\"] }}\n variant=\"section\"\n >\n {title.split(\" \")[0]}\n <br />\n {title.split(\" \").pop()}\n </Appear>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n }}>\n <Appear\n wrapperCmp={Paragraph}\n sx={{\n width: [\n \"unset\",\n \"unset\",\n clampBuilder(599, 1680, 19, 40),\n clampBuilder(599, 1680, 19, 40),\n ],\n textAlign: [\"center\", \"center\", \"center\", \"center\"],\n color: get(\"palette.text.brown\"),\n }}\n >\n {description}\n </Appear>\n </Box>\n </SectionWrapper2>\n <Box\n sx={{\n display: \"flex\",\n position: \"relative\",\n flexDirection: \"column\",\n alignItems: \"center\",\n zIndex: 5,\n }}\n >\n <Box\n sx={{\n width: [\n clampBuilder(320, 599, 16.125, 31),\n clampBuilder(320, 599, 16.125, 31),\n clampBuilder(599, 1680, 30.125, 65.75),\n clampBuilder(599, 1680, 30.125, 65.75),\n ],\n height: [\n clampBuilder(320, 599, 10.6875, 20.375),\n clampBuilder(320, 599, 10.6875, 20.375),\n clampBuilder(599, 1680, 20, 43.125), // 496 326 // 258 171\n clampBuilder(599, 1680, 20, 43.125),\n ],\n marginLeft: [\n 0,\n 0,\n 0,\n 0,\n ],\n marginBottom: [\n clampBuilder(599, 1680, 7, 12.8125),\n clampBuilder(599, 1680, 7, 12.8125),\n ],\n }}\n >\n <Box\n sx={{ width: \"100%\", height: \"100%\" }}\n as={GatsbyImage} // 1052 690 // 482 320\n image={header.image.childImageSharp.gatsbyImageData}\n alt={header.imageAlt}\n loading=\"eager\"\n />\n </Box>\n </Box>\n <Box\n sx={{\n paddingBottom: [0, 0, \"10rem\", \"10rem\"],\n }}\n >\n <Wrapper>\n <GridSection\n firstChildrenType=\"textBox\"\n secondChildrenType=\"imageBox\"\n >\n <>\n <Title\n sx={{\n alignSelf: \"center\",\n\n textAlign: \"center\",\n width: \"100%\",\n }}\n variant=\"paragraph\"\n >\n {sections[0].title}\n </Title>\n <Paragraph\n sx={{\n textAlign: \"center\",\n\n alignSelf: \"center\",\n width: \"100%\",\n }}\n >\n {sections[0].description}\n </Paragraph>\n </>\n <>\n <Box\n as={GatsbyImage}\n sx={{}}\n alt={sections[0].imageAlt}\n image={sections[0].image.childImageSharp.gatsbyImageData}\n />\n </>\n </GridSection>\n\n <GridSection\n firstChildrenType=\"imageBox\"\n secondChildrenType=\"textBox\"\n >\n <>\n <Box\n as={GatsbyImage}\n sx={{marginBottom: 0}}\n alt={sections[1].imageAlt}\n image={sections[1].image.childImageSharp.gatsbyImageData}\n />\n </>\n <>\n <Title\n sx={{\n alignSelf: \"center\",\n\n textAlign: \"center\",\n width: \"100%\",\n }}\n variant=\"paragraph\"\n >\n {sections[1].title}\n </Title>\n <Paragraph\n sx={{\n textAlign: \"center\",\n\n alignSelf: \"center\",\n //width: \"100%\",\n }}\n >\n {sections[1].description}\n </Paragraph>\n </>\n </GridSection>\n </Wrapper>\n </Box>\n </Box>\n </>\n );\n};\n\nexport default React.memo(Manufacturing);\n","import { SystemStyleObject } from \"@styled-system/css\";\nimport { MotionValue, useTransform, useViewportScroll } from \"framer-motion\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { GatsbyImage } from \"gatsby-plugin-image\";\nimport { Paragraph } from \"../Styled/Text\";\nimport React from \"react\";\nimport useWindowSize from \"../../hooks/useWindowSize\";\nimport { PresentationQuery } from \"../../types/pages/main\";\nimport Box from \"../Box/Box\";\nimport MotionBox from \"../Box/MotionBox\";\n\ninterface AnimationProps {\n isLeading?: boolean;\n offset: number;\n image: any;\n title: string;\n scrollY: MotionValue<number>;\n elmViewportPosition: {\n start: number;\n end: number;\n };\n sx?: SystemStyleObject;\n}\n\nconst Ring = React.memo(\n React.forwardRef(\n (\n {\n scrollY,\n elmViewportPosition,\n image,\n title,\n sx,\n offset,\n isLeading = false,\n }: AnimationProps,\n ref: any\n ) => {\n const { height, width } = useWindowSize();\n\n const zIndex = useTransform(scrollY, [offset, offset + 1], [-1, 6]);\n\n const scale = useTransform(\n scrollY,\n isLeading\n ? [elmViewportPosition.start - 150, elmViewportPosition.end + 100]\n : [offset - 50, offset],\n isLeading\n ? [width < 768 ? 0.65 : 1, width < 768 ? 1 : 1.05]\n : [width < 768 ? 0.75 : 1, width < 768 ? 1 : 1.05]\n );\n\n const opacity = useTransform(\n scrollY,\n isLeading\n ? [\n elmViewportPosition.start + 50,\n elmViewportPosition.start + 100,\n elmViewportPosition.end + 200,\n elmViewportPosition.end + 414,\n ]\n : [\n elmViewportPosition.start - 10,\n elmViewportPosition.start + 75,\n elmViewportPosition.end + 75,\n ],\n\n isLeading ? [0, 1, 1, 0] : [0, 1, 0]\n );\n\n return (\n <MotionBox\n ref={ref}\n style={{\n opacity: opacity as any,\n scale: scale as any,\n translateX: \"-50%\",\n // translateY: `-2055px`,\n zIndex: zIndex as any,\n }}\n sx={{\n position: \"fixed\",\n width: \"297px\",\n height: \"297px\",\n left: \"50%\",\n top: `${height / 2}px`,\n marginTop: \"-148.5px\",\n ...sx,\n }}\n >\n <Box as={GatsbyImage} image={image} alt=\"\" loading=\"eager\" />\n <Paragraph\n sx={{\n textAlign: \"center\",\n textTransform: \"uppercase\",\n paddingTop: \"30px\",\n }}\n >\n {title}\n </Paragraph>\n </MotionBox>\n );\n }\n )\n);\n\ninterface WatchProps extends AnimationProps {\n position: \"middle\" | \"left\" | \"right\";\n}\n\nconst Watch = React.memo(\n React.forwardRef<HTMLElement, WatchProps>(\n (\n { scrollY, elmViewportPosition, image, title, sx, position }: WatchProps,\n ref: React.ForwardedRef<HTMLElement | null>\n ) => {\n const { height } = useWindowSize();\n const [marg, setMarg] = React.useState<number>(0);\n const [scrollDiff, setScrollDiff] = React.useState<number>(0);\n\n const opacity = useTransform(\n scrollY,\n [elmViewportPosition.start, elmViewportPosition.end + 200],\n [0, 1]\n );\n\n const watchHeight = useTransform(\n scrollY,\n [\n elmViewportPosition.start - 200,\n elmViewportPosition.start,\n elmViewportPosition.end + 200,\n ],\n [0, 609, 467]\n );\n\n const width = useTransform(\n scrollY,\n [\n elmViewportPosition.start - 200,\n elmViewportPosition.start,\n elmViewportPosition.end + 200,\n ],\n [0, 382.65, 293]\n );\n\n const marginTop = useTransform(\n scrollY,\n [\n elmViewportPosition.start,\n elmViewportPosition.end + 200,\n elmViewportPosition.end + 297,\n ],\n [-marg / 2, -marg / 2, scrollDiff]\n );\n\n const { left, right, transform } = React.useMemo(() => {\n switch (position) {\n case \"right\":\n return { right: \"10%\", transform: undefined };\n case \"left\":\n return { left: \"10%\", transform: undefined };\n case \"middle\":\n return { left: \"50%\", transform: \"translateX(-50%)\" };\n }\n }, [position]);\n\n React.useEffect(() => {\n const heighSub = watchHeight.onChange((v) => {\n setMarg(v);\n });\n const unsubcribe = scrollY.onChange((v) => {\n setScrollDiff(elmViewportPosition.end - v);\n });\n return () => {\n unsubcribe();\n heighSub();\n };\n }, [scrollY, elmViewportPosition.end, watchHeight]);\n\n return (\n <MotionBox\n ref={ref as any}\n style={{\n opacity: opacity as any,\n width: width as any,\n height: watchHeight as any,\n marginTop: marginTop as any,\n }}\n sx={{\n position: \"fixed\",\n top: `${height / 2}px`,\n left: left,\n right: right,\n transform: `${transform ? transform : \"\"}`,\n ...sx,\n }}\n >\n <Box as={GatsbyImage} image={image} alt=\"\" loading=\"eager\" />\n <Paragraph\n sx={{\n textAlign: \"center\",\n textTransform: \"uppercase\",\n paddingTop: \"30px\",\n }}\n >\n {title}\n </Paragraph>\n </MotionBox>\n );\n }\n )\n);\n\ninterface Props {\n vaseEnding: number;\n}\n\nconst RingsCollection = (\n { vaseEnding }: Props,\n ref: React.ForwardedRef<(HTMLDivElement | SVGElement) | null>\n) => {\n const { scrollY } = useViewportScroll();\n const [offset, setOffset] = React.useState<number>(0);\n const { height, width } = useWindowSize();\n\n // const containerRef = React.useCallback(\n // (node: HTMLDivElement | null) => {\n // if (node !== null) {\n // }\n // },\n // [vaseEnding]\n // );\n\n React.useEffect(() => {\n setOffset(vaseEnding - 350);\n }, [vaseEnding, width, height]);\n\n const bg = useTransform(\n scrollY,\n [offset, offset + 594],\n [\"#fff\", \"rgb(248,245,240)\"]\n );\n\n const { presentation, watches } = useStaticQuery<PresentationQuery>(graphql`\n query PresentationQuery {\n translationsJson {\n pages {\n main {\n sections {\n presentation {\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n order\n }\n watches {\n left {\n title\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n imageAlt\n }\n middle {\n title\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n imageAlt\n }\n right {\n title\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n imageAlt\n }\n }\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.sections;\n\n return (\n <MotionBox ref={ref as any} style={{ background: bg as any }}>\n <MotionBox\n sx={{\n height:\n width < 768\n ? `${\n 297 * (presentation.length + 1) + 594 + height + 297 - 350\n }px`\n : `${\n 297 * (presentation.length + 1) + 594 + height + 297 - height\n }px`,\n minHeight:\n width < 768\n ? `${\n 297 * (presentation.length + 1) + 594 + height + 297 - 350\n }px`\n : `${\n 297 * (presentation.length + 1) + 594 + height + 297 - height\n }px`,\n width: \"100%\",\n }}\n >\n {presentation.map((n, i) => (\n <Ring\n isLeading={i === 0}\n offset={offset}\n key={i}\n image={n.image.childImageSharp.gatsbyImageData}\n scrollY={scrollY}\n elmViewportPosition={{\n start: i === 0 ? offset - 297 * i : offset + 297 * i + 594,\n end:\n i === 0 ? offset + 594 * (i + 1) : offset + 297 * (i + 1) + 594,\n }}\n title={\"\"}\n />\n ))}\n <Box>\n <Watch\n offset={offset}\n position=\"left\"\n sx={{ display: [\"none\", \"none\", \"none\", \"block\"] }}\n image={watches.left.image.childImageSharp.gatsbyImageData}\n scrollY={scrollY}\n elmViewportPosition={{\n start: offset + 297 * presentation.length + 594,\n end:\n width < 768\n ? offset + 297 * (presentation.length + 1) + 594\n : offset + 297 * (presentation.length + 1) + 750,\n }}\n title={watches.left.title}\n />\n <Watch\n offset={offset}\n position=\"middle\"\n image={watches.middle.image.childImageSharp.gatsbyImageData}\n scrollY={scrollY}\n elmViewportPosition={{\n start: offset + 297 * presentation.length + 445.5,\n end:\n width < 768\n ? offset + 297 * (presentation.length + 1) + 594\n : offset + 297 * (presentation.length + 1) + 750,\n }}\n sx={{}}\n title={watches.middle.title}\n />\n <Watch\n offset={offset}\n position=\"right\"\n sx={{ display: [\"none\", \"none\", \"none\", \"block\"] }}\n image={watches.right.image.childImageSharp.gatsbyImageData}\n scrollY={scrollY}\n elmViewportPosition={{\n start: offset + 297 * presentation.length + 594,\n end:\n width < 768\n ? offset + 297 * (presentation.length + 1) + 594\n : offset + 297 * (presentation.length + 1) + 750,\n }}\n title={watches.right.title}\n />\n </Box>\n </MotionBox>\n </MotionBox>\n );\n};\n\nexport default React.memo(\n React.forwardRef<HTMLDivElement | SVGElement, Props>(RingsCollection)\n);\n","import { useTransform, useViewportScroll } from \"framer-motion\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { IGatsbyImageData } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport { clampBuilder } from \"../helpers/sizeCalc\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport { SliderQuery } from \"../types/pages/main\";\nimport Box from \"./Box/Box\";\nimport MotionBox from \"./Box/MotionBox\";\nimport GatsbyImageWithArtDirection from \"./GatsbyImageWithArtDirection\";\nimport { Paragraph2, Title } from \"./Styled/Text\";\n\nconst animation = keyframes`\n 0% {\n opacity: 0.0;\n }\n 8% {\n opacity: 1.0;\n }\n 33.33% {\n opacity: 1.0;\n transform: scale(1.1);\n }\n 41.33% {\n opacity: 0.0;\n }\n 100% {\n opacity: 0.0; \n transform: scale(1);\n }\n`;\n\nconst SliderImage = styled(\"div\")<{ order: number }>`\n position: absolute;\n top: 0;\n left: 0;\n min-width: 100vw;\n min-height: calc(100vh - var(--vh-offset, 0px));\n opacity: ${(p) => (p.order === 0 ? 1 : 0)};\n background-position: 50% 50%;\n background-size: cover;\n animation: ${animation} 24s ${(p) => 24 * 0.33 * p.order}s infinite linear;\n`;\n\ntype Props = {\n images: Array<{\n id: string;\n desktopImage: IGatsbyImageData;\n mobileImage: IGatsbyImageData;\n alt: string;\n }>;\n isPreloaderActive: boolean;\n};\nconst Slider = ({ images, isPreloaderActive }: Props) => {\n const { height } = useWindowSize();\n const { title, description } = useStaticQuery<SliderQuery>(graphql`\n query MainPageHeaderQuery {\n translationsJson {\n pages {\n main {\n slider {\n title\n description\n }\n }\n }\n }\n }\n `).translationsJson.pages.main.slider;\n\n const { scrollY } = useViewportScroll();\n const scale = useTransform(scrollY, [0, height], [1, 0.85]);\n\n // const images = React.useMemo(() => {\n // if (width <= 599) {\n // return [\"/dhbi89.jpg\", \"/dijo8shj.jpg\", \"/odkpjhc7.jpg\"];\n // } else {\n // return [\"/32435268.jpg\", \"/d45ae176.jpg\", \"/053bb9d2.jpg\"];\n // }\n // }, [width]);\n\n return (\n <Box\n sx={{\n position: \"relative\",\n overflow: \"hidden\",\n minHeight: \"calc(100vh - var(--vh-offset,0px))\",\n maxHeight: \"calc(100vh - var(--vh-offset,0px))\",\n width: \"100%\",\n }}\n >\n {/* <Box\n sx={{\n width: 0,\n height: 0,\n zIndex: -1000,\n position: \"absolute\",\n top: 0,\n left: 0,\n opacity: 0,\n visibility: \"hidden\",\n }}\n >\n {[\n \"/dhbi89.jpg\",\n \"/dijo8shj.jpg\",\n \"/odkpjhc7.jpg\",\n \"/32435268.jpg\",\n \"/d45ae176.jpg\",\n \"/053bb9d2.jpg\",\n ].map((image, i) => (\n <img key={i} src={image} alt={\"\"} />\n ))}\n </Box> */}\n <Box\n sx={{\n position: \"absolute\",\n zIndex: 5,\n color: `#fff`,\n width: \"90%\",\n top: [\"25%\", \"25%\", \"50%\", \"50%\"],\n left: \"50%\",\n transform: \"translateY(-50%) translateX(-50%)\",\n textAlign: [\"center\", \"center\", \"left\", \"left\"],\n }}\n >\n {title.map((sentence, i) => (\n <MotionBox\n sx={\n i === title.length - 1\n ? {\n marginBottom: [\n 0,\n 0,\n clampBuilder(599, 1680, 2.4375, 4.275),\n clampBuilder(599, 1680, 2.4375, 4.275),\n ], //103 39\n }\n : {}\n }\n key={i}\n initial={{ y: \"100%\", opacity: 0 }}\n animate={{\n y: isPreloaderActive ? \"100%\" : 0,\n opacity: isPreloaderActive ? 0 : 1,\n transition: {\n duration: 2,\n ease: \"easeOut\",\n delay: 0.25 * i,\n },\n }}\n style={{ scale: scale as any }}\n >\n <Title\n variant=\"hero\"\n sx={{ color: \"inherit\", textAlign: \"inherit\" }}\n >\n {sentence}\n </Title>\n </MotionBox>\n ))}\n <MotionBox\n sx={{ display: [\"none\", \"none\", \"block\", \"block\"] }}\n initial={{ y: \"100%\", opacity: 0 }}\n animate={{\n y: isPreloaderActive ? \"100%\" : 0,\n opacity: isPreloaderActive ? 0 : 1,\n transition: {\n duration: 2,\n ease: \"easeOut\",\n delay: 0.25 * (title.length + 1),\n },\n }}\n style={{ scale: scale as any }}\n >\n <Paragraph2\n variant=\"hero\"\n sx={{\n color: \"#fff\",\n opacity: 1,\n textAlign: [\"left\"],\n display: [\"none\", \"none\", \"block\", \"block\"],\n }}\n >\n {description}\n </Paragraph2>\n </MotionBox>\n </Box>\n\n {images.map((image, i) => (\n <SliderImage key={image.id} order={i}>\n <GatsbyImageWithArtDirection\n {...image}\n sx={{ position: \"absolute\", left: 0, right: 0, top: 0, bottom: 0 }}\n />\n </SliderImage>\n ))}\n </Box>\n );\n};\n\nexport default React.memo(Slider);\n","import React from \"react\";\nimport { isMobile } from \"react-device-detect\";\n\nfunction usePageReload() {\n const refreshPage = React.useCallback(() => {\n !isMobile && window.location.reload();\n }, []);\n React.useEffect(() => {\n window.addEventListener(\"resize\", refreshPage);\n\n return () => {\n window.removeEventListener(\"resize\", refreshPage);\n };\n }, [refreshPage]);\n}\n\nexport default usePageReload;\n","import React from \"react\";\nimport { useLocation } from \"@reach/router\";\n\nfunction useRemovePreloader(el: HTMLElement | undefined) {\n const isMounted = React.useRef<boolean>();\n const removeTimeout = React.useRef<NodeJS.Timeout>();\n const isPreloaderWasActiveBefore = React.useRef<boolean>(false);\n const preloaderContent = React.useRef<Element[]>([]);\n const { pathname } = useLocation();\n const [isPreloaderActive, setIsPreloaderActive] =\n React.useState<boolean>(true);\n\n const handleAddPreloader = React.useCallback(() => {\n isPreloaderWasActiveBefore.current = true;\n el && el.classList.add(\"preloading\");\n document.body.classList.add(\"preloader_active\");\n preloaderContent.current.forEach((c, i) => {\n setTimeout(() => {\n c.classList.add(\"slideUp\");\n }, 550 * i);\n });\n }, [el]);\n\n const handleRemovePreloader = React.useCallback(() => {\n removeTimeout.current = setTimeout(() => {\n if (el && el.classList.contains(\"preloading\")) {\n el && el.classList.remove(\"preloading\");\n }\n document.body.classList.remove(\"preloader_active\");\n document.body.classList.remove(\"preloader_ready\");\n preloaderContent.current.forEach((c) => c.classList.remove(\"slideUp\"));\n isMounted.current && setIsPreloaderActive(false);\n }, 3100);\n }, [el]);\n\n React.useLayoutEffect(() => {\n const contentContainer = document.querySelector(\".preloader_content\");\n if (contentContainer) {\n preloaderContent.current = Array.from(contentContainer.children);\n }\n }, []);\n\n React.useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n React.useEffect(() => {\n if (pathname === \"/\" && !isPreloaderWasActiveBefore.current) {\n isMounted.current && handleAddPreloader();\n }\n\n isMounted.current && handleRemovePreloader();\n\n return () => {\n if (removeTimeout.current) window.clearTimeout(removeTimeout.current);\n };\n }, [pathname, handleAddPreloader, handleRemovePreloader, isPreloaderActive]);\n\n return { isPreloaderActive };\n}\n\nexport default useRemovePreloader;\n","import { graphql, PageProps } from \"gatsby\";\nimport * as React from \"react\";\nimport Box from \"../components/Box/Box\";\nimport Collection from \"../components/Main/Collection\";\nimport Configurator from \"../components/Main/Configurator\";\nimport History from \"../components/Main/History\";\nimport Manufacturing from \"../components/Main/Manufacturing\";\nimport RingsCollection from \"../components/Main/RingsCollection\";\nimport ScrollAvailable from \"../components/ScrollAvailable\";\nimport Seo from \"../components/Seo\";\nimport Slider from \"../components/Slider\";\nimport useListenIframe from \"../hooks/useListenIframe\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport { MainPageQuery } from \"../types/pages/main\";\nimport usePageReload from \"../hooks/usePageReload\";\nimport useRemovePreloader from \"../hooks/useRemovePreloader\";\nimport Layout from \"../components/Layout/Layout\";\nimport OrderCheckout from \"../components/OrderCheckout/OrderCheckout\";\nimport useAnalytics from \"../hooks/useAnalytics\";\n\ninterface Props extends PageProps {\n data: MainPageQuery;\n}\n\nconst IndexPage = ({ data, location }: Props) => {\n const mainRef = React.useRef<HTMLElement>();\n usePageReload();\n const { isPreloaderActive } = useRemovePreloader(mainRef.current as any);\n const [vaseEnding, setVaseEnding] = React.useState<number>(0);\n\n const { height } = useWindowSize();\n const { reachGoal } = useAnalytics();\n\n const [sectionsOffsets, setSectionsOffsets] = React.useState({\n rings: 0,\n collection: 0,\n });\n\n const { state, closeSubmission, isSubmitting, iframeHeight } =\n useListenIframe();\n\n React.useEffect(() => {\n if (isSubmitting) {\n reachGoal(\"send_design\");\n }\n }, [isSubmitting, reachGoal]);\n\n const handleCloseModal = React.useCallback(() => {\n closeSubmission();\n }, [closeSubmission]);\n\n const ringsRef = React.useCallback((node: HTMLDivElement | null) => {\n if (node !== null) {\n setSectionsOffsets((prev) => ({\n ...prev,\n rings: node.offsetTop,\n }));\n }\n }, []);\n\n const collectionRef = React.useCallback((node: HTMLDivElement | null) => {\n if (node !== null) {\n setSectionsOffsets((prev) => ({\n ...prev,\n collection: node.offsetTop,\n }));\n }\n }, []);\n\n return (\n <>\n <Seo\n title={data.translationsJson.pages.main.seo.title}\n description={data.translationsJson.pages.main.seo.description}\n keywords={data.translationsJson.pages.main.seo.keywords}\n pathname={location.pathname}\n metaImage={\n data.translationsJson.pages.main.seo.image.childImageSharp\n .gatsbyImageData\n }\n />\n <Layout pathname={location.pathname}>\n <Box\n ref={mainRef as any}\n className=\"preloading\"\n id=\"main\"\n as=\"main\"\n sx={{ position: \"relative\", zIndex: 0 }}\n >\n <Slider\n images={[\n {\n id: data.sliderDesktopImages.nodes[0].id,\n desktopImage:\n data.sliderDesktopImages.nodes[0].childImageSharp\n .gatsbyImageData,\n mobileImage:\n data.sliderMobileImages.nodes[0].childImageSharp\n .gatsbyImageData,\n alt: \"\",\n },\n {\n id: data.sliderDesktopImages.nodes[1].id,\n desktopImage:\n data.sliderDesktopImages.nodes[1].childImageSharp\n .gatsbyImageData,\n mobileImage:\n data.sliderMobileImages.nodes[1].childImageSharp\n .gatsbyImageData,\n alt: \"\",\n },\n {\n id: data.sliderDesktopImages.nodes[2].id,\n desktopImage:\n data.sliderDesktopImages.nodes[2].childImageSharp\n .gatsbyImageData,\n mobileImage:\n data.sliderMobileImages.nodes[2].childImageSharp\n .gatsbyImageData,\n alt: \"\",\n },\n ]}\n isPreloaderActive={isPreloaderActive}\n />\n <History setVaseEnding={setVaseEnding} />\n <RingsCollection vaseEnding={vaseEnding} ref={ringsRef as any} />\n <Collection ref={collectionRef} />\n <Manufacturing />\n <Configurator iframeHeight={iframeHeight} />\n {state && isSubmitting && (\n <OrderCheckout order={state} endSubmission={handleCloseModal} />\n )}\n <ScrollAvailable\n inputRange={[\n 0,\n 80,\n vaseEnding,\n vaseEnding + height * 0.05,\n sectionsOffsets.collection - height - 297,\n sectionsOffsets.collection - height,\n ]}\n outputRange={[1, 0, 0, 1, 1, 0]}\n colorsIputRange={[\n 0,\n 80,\n sectionsOffsets.rings + 594,\n sectionsOffsets.rings + 594,\n sectionsOffsets.collection,\n sectionsOffsets.collection,\n ]}\n colorsOutputRange={[\n \"#fff\",\n \"#fff\",\n \"rgb(205,195,178)\",\n \"rgb(205,195,178)\",\n \"rgb(205,195,178)\",\n \"rgb(205,195,178)\",\n ]}\n />\n </Box>\n </Layout>\n </>\n );\n};\n\nexport default React.memo(IndexPage);\n\nexport const mainPageQuery = graphql`\n query MainPageQuery {\n sliderMobileImages: allFile(\n filter: { relativeDirectory: { eq: \"pages/main/slider/mobile\" } }\n sort: { order: ASC, fields: name }\n limit: 3\n ) {\n nodes {\n id\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED, layout: FULL_WIDTH)\n }\n }\n }\n sliderDesktopImages: allFile(\n filter: { relativeDirectory: { eq: \"pages/main/slider/desktop\" } }\n sort: { order: ASC, fields: name }\n limit: 3\n ) {\n nodes {\n id\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED, layout: FULL_WIDTH)\n }\n }\n }\n translationsJson {\n pages {\n main {\n seo {\n title\n description\n keywords\n image {\n childImageSharp {\n gatsbyImageData(layout: FULL_WIDTH)\n }\n }\n }\n }\n }\n }\n }\n`;\n","export enum Routes {\n // MAIN = \"/\",\n HISTORY = \"/history\",\n // PRESS = \"/press\",\n CONFIGURATOR = \"/configurator\",\n COLLECTION = \"/collection\",\n CONTACTS = \"/contacts\",\n PROJECTS = \"/projects\",\n SHOPS = \"/shops\",\n // IMPERIAL_PARTNERSHIP = \"/imperial_partnership\",\n}\n\nexport interface IRoute {\n id: number;\n key:\n | \"projects\"\n | \"history\"\n | \"contacts\"\n | \"configurator\"\n | \"collection\"\n | \"shops\";\n // | \"press\";\n // | \"imperial partnership\";\n path: Routes;\n disabled: boolean;\n}\n\nexport const routes: IRoute[] = [\n {\n id: 0,\n key: \"history\",\n path: Routes.HISTORY,\n disabled: false,\n },\n {\n id: 1,\n key: \"collection\",\n path: Routes.COLLECTION,\n disabled: false,\n },\n {\n id: 2,\n key: \"configurator\",\n path: Routes.CONFIGURATOR,\n disabled: true,\n },\n {\n id: 3,\n key: \"projects\",\n path: Routes.PROJECTS,\n disabled: true,\n },\n // {\n // id: 4,\n // key: \"press\",\n // path: Routes.PRESS,\n // disabled: true,\n // },\n {\n id: 4,\n key: \"shops\",\n path: Routes.SHOPS,\n disabled: false,\n },\n {\n id: 5,\n key: \"contacts\",\n path: Routes.CONTACTS,\n disabled: false,\n },\n];\n","var React = require('react');\n\nfunction LinkInline (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"title\",{\"key\":0},\"Group 37 (3)\"),React.createElement(\"g\",{\"id\":\"Page-1\",\"stroke\":\"none\",\"strokeWidth\":\"1\",\"fill\":\"none\",\"fillRule\":\"evenodd\",\"key\":1},React.createElement(\"g\",{\"id\":\"Group-37-(3)\"},[React.createElement(\"rect\",{\"id\":\"Rectangle\",\"fill\":\"#D8D8D8\",\"opacity\":\"0\",\"x\":\"0\",\"y\":\"0\",\"width\":\"52\",\"height\":\"52\",\"key\":0}),React.createElement(\"circle\",{\"id\":\"Oval\",\"stroke\":\"#BBAB91\",\"cx\":\"26\",\"cy\":\"26\",\"r\":\"24.5\",\"key\":1}),React.createElement(\"path\",{\"d\":\"M27.8627,33.8367 C27.8627,29.1481 34.9676,25.9999 34.9676,25.9999 C34.9676,25.9999 27.8627,22.9174 27.8627,18.1901\",\"id\":\"Path\",\"stroke\":\"#BBAB91\",\"key\":2}),React.createElement(\"line\",{\"x1\":\"34.9676\",\"y1\":\"26\",\"x2\":\"15.5833\",\"y2\":\"26\",\"id\":\"Path\",\"stroke\":\"#BBAB91\",\"key\":3})]))]);\n}\n\nLinkInline.defaultProps = {\"width\":\"52px\",\"height\":\"52px\",\"viewBox\":\"0 0 52 52\",\"version\":\"1.1\"};\n\nmodule.exports = LinkInline;\n\nLinkInline.default = LinkInline;\n"],"names":["Appear","wrapperCmp","undefined","children","triggerOffset","rest","React","offset","setOffset","height","useWindowSize","scrollY","useViewportScroll","opacity","useTransform","verticalPosition","wrapperRef","node","isMobileOnly","parent","offsetParent","offsetTop","Wrapper","motion","MotionBox","ref","style","y","LinkArrowBtn","to","title","sx","as","disabled","handleClick","e","preventDefault","Box","onClick","Link","display","justifyContent","alignItems","cursor","marginTop","marginBottom","userSelect","transition","gap","Arrow","fontWeight","fontFamily","fontSize","clampBuilder","lineHeight","textTransform","color","get","paddingTop","ScrollAvailable","inputRange","outputRange","colorsIputRange","colorsOutputRange","text","useStaticQuery","translationsJson","components","scroll","position","flexDirection","bottom","left","transform","zIndex","width","borderRadius","borderWidth","borderStyle","borderColor","top","background","textAlign","styled","withConfig","_templateObject","props","css","SectionWrapper2","_templateObject2","Collection","_","pages","main","sections","collection","description","link","subtitle","marginLeft","Subtitle","Title","variant","split","pop","Paragraph","Routes","Configurator","iframeHeight","isIframeVisible","setIsIframeVisible","configurator","locale","handleIframeInterViewport","minHeight","WebkitOverflowScrolling","map","t","i","key","ConfiguratorIframeBox","viewport","once","onViewportEnter","$iframeHeight","src","CollageImageWrapper","p","variants","big","small","right","Collage","firstImage","secondImage","smallImgOffset","setSmallImgOffset","collageRef","translateY","padding","GatsbyImage","image","alt","mirrored","easing","createExpoIn","power","Math","pow","linear","easeIn","easeInOut","ratioCalc","HistoryAnimatedCmp","img","imgAlt","imgOriginalSize","imgContainerSize","isFixed","setIsFixed","imgRef","marginTopFixed","translateX","ease","scale","scrollSub","onChange","v","checkOffset","newOffset","target","parentNode","AnimatePresence","exitBeforeEnter","exit","duration","layout","x","willChange","aspectRatio","objectFit","imgStyle","loading","variableName","value","setValue","getVarValue","getComputedStyle","document","body","getPropertyValue","isIosOffsetValue","useCssVariableValue","iosOffsetValue","test","Number","slice","length","setImgContainerSize","clientWidth","clientHeight","round","layoutId","marginRight","History","setVaseEnding","isBgCover","setIsBgCover","start","end","timelinePosition","setTimelinePosition","lastPostImageContainerRef","timelineStart","prev","timelineEnd","ringOpacity","ringYTranslate","zIndexBg","bgOpacity","sub","history","header","AppearAnimationContainer","Paragraph2","visibility","images","childImageSharp","gatsbyImageData","imageAlt","gridTemplateColumns","flex","gridColumnStart","gridColumnEnd","gridRowStart","maxWidth","maxHeight","posts","alignSelf","VaseMobile","original","VaseDesktop","border","Manufacturing","manufacturing","footer","paddingBottom","GridSection","firstChildrenType","secondChildrenType","Ring","elmViewportPosition","isLeading","Watch","marg","setMarg","scrollDiff","setScrollDiff","watchHeight","heighSub","unsubcribe","RingsCollection","vaseEnding","bg","presentation","watches","n","middle","animation","keyframes","SliderImage","order","Slider","isPreloaderActive","slider","overflow","sentence","initial","animate","delay","id","GatsbyImageWithArtDirection","refreshPage","isMobile","window","location","reload","addEventListener","removeEventListener","el","isMounted","removeTimeout","isPreloaderWasActiveBefore","preloaderContent","pathname","useLocation","setIsPreloaderActive","handleAddPreloader","current","classList","add","forEach","c","setTimeout","handleRemovePreloader","contains","remove","contentContainer","querySelector","Array","from","clearTimeout","IndexPage","data","mainRef","usePageReload","useRemovePreloader","reachGoal","useAnalytics","rings","sectionsOffsets","setSectionsOffsets","useListenIframe","state","closeSubmission","isSubmitting","handleCloseModal","ringsRef","collectionRef","Seo","seo","keywords","metaImage","Layout","className","sliderDesktopImages","nodes","desktopImage","mobileImage","sliderMobileImages","OrderCheckout","endSubmission","HISTORY","COLLECTION","CONFIGURATOR","PROJECTS","SHOPS","CONTACTS","LinkInline","createElement","defaultProps","module","exports","default"],"sourceRoot":""}