@fynd-design-engineering/fynd-bloom 0.0.1 → 0.0.3

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.js CHANGED
@@ -1 +1 @@
1
- "use strict";(()=>{"scrollRestoration"in history&&(history.scrollRestoration="manual");var v=()=>{window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0};window.addEventListener("load",()=>{v()});window.addEventListener("pageshow",t=>{t.persisted&&v()});var u=!1;document.addEventListener("DOMContentLoaded",()=>{let t=document.querySelectorAll("[data-anchor-trigger]"),s=document.querySelectorAll("[data-page-anchor]"),n=()=>window.innerWidth>992?120:52,o=e=>{t.forEach(r=>{let c=r.getAttribute("data-anchor-trigger");r.setAttribute("data-current-anchor",c===e?"true":"false")})},i=()=>{let e=n(),r=[];s.forEach(l=>{let g=l.getBoundingClientRect();g.top-e<=0&&g.bottom>e&&r.push(l)});let c=r.map(l=>l.getAttribute("data-page-anchor")).filter(l=>l!==null);c.length>0&&o(c[0])};t.forEach(e=>{e.addEventListener("click",()=>{let r=e.getAttribute("data-anchor-trigger");if(!r)return;let c=document.querySelector(`[data-page-anchor="${r}"]`);if(!c)return;let l=n(),g=c.getBoundingClientRect().top+window.scrollY-l;window.scrollTo({top:g,behavior:"auto"}),u&&(d(),u=!1),o(r),i()})}),window.addEventListener("scroll",i);let m=992,p=()=>window.innerWidth<m;function f(){let e=document.getElementById("menu-toggle");e&&(e.checked=!0)}function E(){let e=document.getElementById("menu-toggle");e&&(e.checked=!1)}function a(){if(!p())return;let e=document.querySelector("[data-menu-content]");e&&(e.style.display="block",f())}function d(){let e=document.querySelector("[data-menu-content]");e&&(e.style.display="none",E())}d(),u=!1;let y=document.querySelector("[data-menu-toggle]");y&&y.addEventListener("click",()=>{u=!u,u?a():d()}),i()});document.querySelectorAll("[large-card]").forEach(t=>{if(t.classList.contains("w-condition-invisible"))return;let s=t.parentElement;s&&s.setAttribute("col-span","2")});document.addEventListener("DOMContentLoaded",()=>{let t=document.querySelector("[bloom-element='video-1']"),s=document.querySelector("[bloom-element='video-poster-1']"),n=document.querySelector("[bloom-element='video-2']"),o=document.querySelector("[bloom-element='content']");if(!t||!s||!n||!o){console.warn("Required elements missing");return}v(),document.body.classList.add("scroll-locked"),o.style.transition="none",o.style.transform="translateY(100vh)",o.getBoundingClientRect(),o.style.transition="transform 0.8s ease";let i=!1,m=!1,p=()=>{if(i)return;i=!0;let a=t.play();a&&a.then(()=>{s.style.display="none"}).catch(()=>{})};t.readyState>=HTMLMediaElement.HAVE_METADATA?p():t.addEventListener("loadedmetadata",p,{once:!0}),t.addEventListener("ended",()=>{t.pause(),t.currentTime=t.duration,n.style.display="block"});let f=a=>{if(m)return;a.preventDefault(),m=!0,window.removeEventListener("wheel",f);let d=n.play();d&&d.catch(()=>{})};window.addEventListener("wheel",f,{passive:!1}),n.addEventListener("ended",()=>{n.pause(),n.currentTime=n.duration,E()});let E=()=>{requestAnimationFrame(()=>{o.style.transform="translateY(0)"}),setTimeout(()=>{document.body.classList.remove("scroll-locked")},900)}});})();
1
+ "use strict";(()=>{var T=!1;"scrollRestoration"in history&&(history.scrollRestoration="manual");var E=()=>{window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0};window.addEventListener("load",()=>{E()});window.addEventListener("pageshow",i=>{i.persisted&&E()});var u=!1;document.addEventListener("DOMContentLoaded",()=>{let i=document.querySelectorAll("[data-anchor-trigger]"),n=document.querySelectorAll("[data-page-anchor]"),m=()=>window.innerWidth>992?120:52,r=e=>{i.forEach(o=>{let t=o.getAttribute("data-anchor-trigger");o.setAttribute("data-current-anchor",t===e?"true":"false")})},s=()=>{let e=m(),o=[];n.forEach(l=>{let g=l.getBoundingClientRect();g.top-e<=0&&g.bottom>e&&o.push(l)});let t=o.map(l=>l.getAttribute("data-page-anchor")).filter(l=>l!==null);t.length>0&&r(t[0])};i.forEach(e=>{e.addEventListener("click",()=>{let o=e.getAttribute("data-anchor-trigger");if(!o)return;let t=document.querySelector(`[data-page-anchor="${o}"]`);if(!t)return;let l=m(),g=t.getBoundingClientRect().top+window.scrollY-l;window.scrollTo({top:g,behavior:"auto"}),u&&(d(),u=!1),r(o),s()})}),window.addEventListener("scroll",s);let c=992,y=()=>window.innerWidth<c;function p(){let e=document.getElementById("menu-toggle");e&&(e.checked=!0)}function a(){let e=document.getElementById("menu-toggle");e&&(e.checked=!1)}function v(){if(!y())return;let e=document.querySelector("[data-menu-content]");e&&(e.style.display="block",p())}function d(){let e=document.querySelector("[data-menu-content]");e&&(e.style.display="none",a())}d(),u=!1;let f=document.querySelector("[data-menu-toggle]");f&&f.addEventListener("click",()=>{u=!u,u?v():d()}),s()});document.querySelectorAll("[large-card]").forEach(i=>{if(i.classList.contains("w-condition-invisible"))return;let n=i.parentElement;n&&n.setAttribute("col-span","2")});document.addEventListener("DOMContentLoaded",()=>{let i=window.innerWidth>992?1500:2500,n=document.querySelector("[bloom-element='video-1']"),m=document.querySelector("[bloom-element='video-poster-1']"),r=document.querySelector("[bloom-element='video-2']"),s=document.querySelector("[bloom-element='video-3']"),c=document.querySelector("[bloom-element='content']");if(!n||!m||!r||!c||!s){console.warn("Required elements missing");return}let y=document.querySelector("[bloom-element='navigation']"),p=document.querySelector("[bloom-element='footer']"),a=document.querySelector("[bloom-element='scroll-indicator']");a&&setTimeout(()=>{a.style.opacity="1"},1600),E(),document.body.classList.add("scroll-locked"),c.style.transition="none",c.style.transform="translateY(100vh)",c.getBoundingClientRect(),c.style.transition="transform 0.8s ease";let v=!1,d=!1;s&&(s.loop=!0,s.style.display="none");let f=()=>{if(v)return;v=!0;let t=n.play();t&&t.then(()=>{m.style.display="none"}).catch(()=>{})};n.readyState>=HTMLMediaElement.HAVE_METADATA?f():n.addEventListener("loadedmetadata",f,{once:!0}),n.addEventListener("ended",()=>{n.pause(),n.currentTime=n.duration,T=!0,r.style.display="block"});let e=t=>{if(!T||d)return;t.preventDefault(),d=!0,window.removeEventListener("wheel",e),a&&(a.style.opacity="0");let l=r.play();l&&l.catch(()=>{}),setTimeout(()=>{o()},i)};window.addEventListener("wheel",e,{passive:!1}),r.addEventListener("ended",()=>{r.pause(),r.currentTime=r.duration,s.style.display="block";let t=s.play();t&&t.catch(()=>{})});let o=()=>{requestAnimationFrame(()=>{c.style.transform="translateY(0)",y&&(y.style.transform="translateY(0)"),p&&(p.style.transform="translateY(0)")}),setTimeout(()=>{document.body.classList.remove("scroll-locked")},500)}});})();
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["// =======================================\n// GLOBAL SCROLL RESET (CRITICAL, TOP ONLY)\n// =======================================\n\n// Disable browser automatic scroll restoration\nif (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\";\n}\n\nconst forceScrollTop = (): void => {\n window.scrollTo(0, 0);\n document.documentElement.scrollTop = 0;\n document.body.scrollTop = 0;\n};\n\n// After full page load (catches late restores)\nwindow.addEventListener(\"load\", () => {\n forceScrollTop();\n});\n\n// Handle back/forward cache restores (Safari, Firefox)\nwindow.addEventListener(\"pageshow\", (event: PageTransitionEvent) => {\n if (event.persisted) {\n forceScrollTop();\n }\n});\n\n\n// =======================================\n// Smooth scrolling, anchor highlighting,\n// and mobile menu handling\n// =======================================\n\nlet mobileMenuOpen = false;\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n /* -----------------------------\n Anchor scrolling & highlighting\n ----------------------------- */\n\n const triggers = document.querySelectorAll<HTMLElement>(\"[data-anchor-trigger]\");\n const anchors = document.querySelectorAll<HTMLElement>(\"[data-page-anchor]\");\n\n const getScrollTopSpacer = (): number =>\n window.innerWidth > 992 ? 120 : 52;\n\n const updateCurrentAnchor = (value: string): void => {\n triggers.forEach(trigger => {\n const triggerValue = trigger.getAttribute(\"data-anchor-trigger\");\n trigger.setAttribute(\n \"data-current-anchor\",\n triggerValue === value ? \"true\" : \"false\"\n );\n });\n };\n\n const logVisiblePageAnchor = (): void => {\n const scrollTopSpacer = getScrollTopSpacer();\n const visibleAnchors: HTMLElement[] = [];\n\n anchors.forEach(anchor => {\n const rect = anchor.getBoundingClientRect();\n const adjustedTop = rect.top - scrollTopSpacer;\n\n if (adjustedTop <= 0 && rect.bottom > scrollTopSpacer) {\n visibleAnchors.push(anchor);\n }\n });\n\n const values = visibleAnchors\n .map(a => a.getAttribute(\"data-page-anchor\"))\n .filter((v): v is string => v !== null);\n\n if (values.length > 0) {\n updateCurrentAnchor(values[0]);\n }\n };\n\n triggers.forEach(trigger => {\n trigger.addEventListener(\"click\", () => {\n const value = trigger.getAttribute(\"data-anchor-trigger\");\n if (!value) return;\n\n const target = document.querySelector<HTMLElement>(\n `[data-page-anchor=\"${value}\"]`\n );\n if (!target) return;\n\n const scrollTopSpacer = getScrollTopSpacer();\n const targetTop =\n target.getBoundingClientRect().top + window.scrollY - scrollTopSpacer;\n\n window.scrollTo({ top: targetTop, behavior: \"auto\" });\n\n if (mobileMenuOpen) {\n menuClose();\n mobileMenuOpen = false;\n }\n\n updateCurrentAnchor(value);\n logVisiblePageAnchor();\n });\n });\n\n window.addEventListener(\"scroll\", logVisiblePageAnchor);\n\n /* -----------------------------\n Mobile menu toggle\n ----------------------------- */\n\n const MOBILE_BREAKPOINT = 992;\n\n const isMobileScreen = (): boolean =>\n window.innerWidth < MOBILE_BREAKPOINT;\n\n function openMenuAnimation(): void {\n const checkbox = document.getElementById(\"menu-toggle\") as HTMLInputElement | null;\n if (!checkbox) return;\n checkbox.checked = true;\n }\n\n function closeMenuAnimation(): void {\n const checkbox = document.getElementById(\"menu-toggle\") as HTMLInputElement | null;\n if (!checkbox) return;\n checkbox.checked = false;\n }\n\n function menuOpen(): void {\n if (!isMobileScreen()) return;\n\n const menu = document.querySelector<HTMLElement>(\"[data-menu-content]\");\n if (!menu) return;\n\n menu.style.display = \"block\";\n openMenuAnimation();\n }\n\n function menuClose(): void {\n const menu = document.querySelector<HTMLElement>(\"[data-menu-content]\");\n if (!menu) return;\n\n menu.style.display = \"none\";\n closeMenuAnimation();\n }\n\n menuClose();\n mobileMenuOpen = false;\n\n const toggle = document.querySelector<HTMLElement>(\"[data-menu-toggle]\");\n if (toggle) {\n toggle.addEventListener(\"click\", () => {\n mobileMenuOpen = !mobileMenuOpen;\n mobileMenuOpen ? menuOpen() : menuClose();\n });\n }\n\n logVisiblePageAnchor();\n});\n\n\n/* -----------------------------\n Adjust grid column span for large cards\n----------------------------- */\n\ndocument\n .querySelectorAll<HTMLElement>(\"[large-card]\")\n .forEach(card => {\n if (card.classList.contains(\"w-condition-invisible\")) return;\n\n const parent = card.parentElement;\n if (!parent) return;\n\n parent.setAttribute(\"col-span\", \"2\");\n });\n\n\n/* -----------------------------\n Video autoplay and poster handling\n----------------------------- */\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const video1 = document.querySelector(\n \"[bloom-element='video-1']\"\n ) as HTMLVideoElement | null;\n\n const poster1 = document.querySelector(\n \"[bloom-element='video-poster-1']\"\n ) as HTMLImageElement | null;\n\n const video2 = document.querySelector(\n \"[bloom-element='video-2']\"\n ) as HTMLVideoElement | null;\n\n const content = document.querySelector(\n \"[bloom-element='content']\"\n ) as HTMLElement | null;\n\n if (!video1 || !poster1 || !video2 || !content) {\n console.warn(\"Required elements missing\");\n return;\n }\n\n /* ---------- HARD RESET ---------- */\n\n forceScrollTop();\n\n document.body.classList.add(\"scroll-locked\");\n\n content.style.transition = \"none\";\n content.style.transform = \"translateY(100vh)\";\n content.getBoundingClientRect();\n content.style.transition = \"transform 0.8s ease\";\n\n let video1Played = false;\n let video2Triggered = false;\n\n /* ---------- VIDEO 1 ---------- */\n\n const playVideo1Once = () => {\n if (video1Played) return;\n video1Played = true;\n\n const playPromise = video1.play();\n if (playPromise) {\n playPromise\n .then(() => {\n poster1.style.display = \"none\";\n })\n .catch(() => { });\n }\n };\n\n if (video1.readyState >= HTMLMediaElement.HAVE_METADATA) {\n playVideo1Once();\n } else {\n video1.addEventListener(\"loadedmetadata\", playVideo1Once, { once: true });\n }\n\n video1.addEventListener(\"ended\", () => {\n video1.pause();\n video1.currentTime = video1.duration;\n video2.style.display = \"block\";\n });\n\n /* ---------- VIDEO 2 (SCROLL-INTENT GATED) ---------- */\n\n const onFirstScrollIntent = (event: WheelEvent) => {\n if (video2Triggered) return;\n\n event.preventDefault();\n video2Triggered = true;\n window.removeEventListener(\"wheel\", onFirstScrollIntent);\n\n const playPromise = video2.play();\n if (playPromise) {\n playPromise.catch(() => { });\n }\n };\n\n window.addEventListener(\"wheel\", onFirstScrollIntent, { passive: false });\n\n video2.addEventListener(\"ended\", () => {\n video2.pause();\n video2.currentTime = video2.duration;\n\n revealContent();\n });\n\n /* ---------- CONTENT REVEAL ---------- */\n\n const revealContent = () => {\n requestAnimationFrame(() => {\n content.style.transform = \"translateY(0)\";\n });\n\n setTimeout(() => {\n document.body.classList.remove(\"scroll-locked\");\n }, 900);\n };\n});"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// =======================================\n// GLOBAL SCROLL RESET (CRITICAL, TOP ONLY)\n// =======================================\nlet video1Finished = false;\n// Disable browser automatic scroll restoration\nif (\"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\";\n}\n\nconst forceScrollTop = (): void => {\n window.scrollTo(0, 0);\n document.documentElement.scrollTop = 0;\n document.body.scrollTop = 0;\n};\n\n// After full page load (catches late restores)\nwindow.addEventListener(\"load\", () => {\n forceScrollTop();\n});\n\n// Handle back/forward cache restores (Safari, Firefox)\nwindow.addEventListener(\"pageshow\", (event: PageTransitionEvent) => {\n if (event.persisted) {\n forceScrollTop();\n }\n});\n\n\n// =======================================\n// Smooth scrolling, anchor highlighting,\n// and mobile menu handling\n// =======================================\n\nlet mobileMenuOpen = false;\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n /* -----------------------------\n Anchor scrolling & highlighting\n ----------------------------- */\n\n const triggers = document.querySelectorAll<HTMLElement>(\"[data-anchor-trigger]\");\n const anchors = document.querySelectorAll<HTMLElement>(\"[data-page-anchor]\");\n\n const getScrollTopSpacer = (): number =>\n window.innerWidth > 992 ? 120 : 52;\n\n const updateCurrentAnchor = (value: string): void => {\n triggers.forEach(trigger => {\n const triggerValue = trigger.getAttribute(\"data-anchor-trigger\");\n trigger.setAttribute(\n \"data-current-anchor\",\n triggerValue === value ? \"true\" : \"false\"\n );\n });\n };\n\n const logVisiblePageAnchor = (): void => {\n const scrollTopSpacer = getScrollTopSpacer();\n const visibleAnchors: HTMLElement[] = [];\n\n anchors.forEach(anchor => {\n const rect = anchor.getBoundingClientRect();\n const adjustedTop = rect.top - scrollTopSpacer;\n\n if (adjustedTop <= 0 && rect.bottom > scrollTopSpacer) {\n visibleAnchors.push(anchor);\n }\n });\n\n const values = visibleAnchors\n .map(a => a.getAttribute(\"data-page-anchor\"))\n .filter((v): v is string => v !== null);\n\n if (values.length > 0) {\n updateCurrentAnchor(values[0]);\n }\n };\n\n triggers.forEach(trigger => {\n trigger.addEventListener(\"click\", () => {\n const value = trigger.getAttribute(\"data-anchor-trigger\");\n if (!value) return;\n\n const target = document.querySelector<HTMLElement>(\n `[data-page-anchor=\"${value}\"]`\n );\n if (!target) return;\n\n const scrollTopSpacer = getScrollTopSpacer();\n const targetTop =\n target.getBoundingClientRect().top + window.scrollY - scrollTopSpacer;\n\n window.scrollTo({ top: targetTop, behavior: \"auto\" });\n\n if (mobileMenuOpen) {\n menuClose();\n mobileMenuOpen = false;\n }\n\n updateCurrentAnchor(value);\n logVisiblePageAnchor();\n });\n });\n\n window.addEventListener(\"scroll\", logVisiblePageAnchor);\n\n /* -----------------------------\n Mobile menu toggle\n ----------------------------- */\n\n const MOBILE_BREAKPOINT = 992;\n\n const isMobileScreen = (): boolean =>\n window.innerWidth < MOBILE_BREAKPOINT;\n\n function openMenuAnimation(): void {\n const checkbox = document.getElementById(\"menu-toggle\") as HTMLInputElement | null;\n if (!checkbox) return;\n checkbox.checked = true;\n }\n\n function closeMenuAnimation(): void {\n const checkbox = document.getElementById(\"menu-toggle\") as HTMLInputElement | null;\n if (!checkbox) return;\n checkbox.checked = false;\n }\n\n function menuOpen(): void {\n if (!isMobileScreen()) return;\n\n const menu = document.querySelector<HTMLElement>(\"[data-menu-content]\");\n if (!menu) return;\n\n menu.style.display = \"block\";\n openMenuAnimation();\n }\n\n function menuClose(): void {\n const menu = document.querySelector<HTMLElement>(\"[data-menu-content]\");\n if (!menu) return;\n\n menu.style.display = \"none\";\n closeMenuAnimation();\n }\n\n menuClose();\n mobileMenuOpen = false;\n\n const toggle = document.querySelector<HTMLElement>(\"[data-menu-toggle]\");\n if (toggle) {\n toggle.addEventListener(\"click\", () => {\n mobileMenuOpen = !mobileMenuOpen;\n mobileMenuOpen ? menuOpen() : menuClose();\n });\n }\n\n logVisiblePageAnchor();\n});\n\n\n/* -----------------------------\n Adjust grid column span for large cards\n----------------------------- */\n\ndocument\n .querySelectorAll<HTMLElement>(\"[large-card]\")\n .forEach(card => {\n if (card.classList.contains(\"w-condition-invisible\")) return;\n\n const parent = card.parentElement;\n if (!parent) return;\n\n parent.setAttribute(\"col-span\", \"2\");\n });\n\n\n/* -----------------------------\n Video autoplay and poster handling\n----------------------------- */\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n\n let revealContentDelay = (window.innerWidth > 992) ? 1500 : 2500;\n\n const video1 = document.querySelector(\n \"[bloom-element='video-1']\"\n ) as HTMLVideoElement | null;\n\n const poster1 = document.querySelector(\n \"[bloom-element='video-poster-1']\"\n ) as HTMLImageElement | null;\n\n const video2 = document.querySelector(\n \"[bloom-element='video-2']\"\n ) as HTMLVideoElement | null;\n\n const video3 = document.querySelector(\n \"[bloom-element='video-3']\"\n ) as HTMLVideoElement | null;\n\n const content = document.querySelector(\n \"[bloom-element='content']\"\n ) as HTMLElement | null;\n\n if (!video1 || !poster1 || !video2 || !content || !video3) {\n console.warn(\"Required elements missing\");\n return;\n }\n const navigation = document.querySelector(\n \"[bloom-element='navigation']\"\n ) as HTMLElement | null;\n\n const footer = document.querySelector(\n \"[bloom-element='footer']\"\n ) as HTMLElement | null;\n const scrollIndicator = document.querySelector(\"[bloom-element='scroll-indicator']\") as HTMLElement | null;\n if (scrollIndicator) {\n setTimeout(() => {\n scrollIndicator.style.opacity = \"1\";\n }, 1600);\n }\n\n /* ---------- HARD RESET ---------- */\n\n forceScrollTop();\n\n document.body.classList.add(\"scroll-locked\");\n\n content.style.transition = \"none\";\n content.style.transform = \"translateY(100vh)\";\n content.getBoundingClientRect();\n content.style.transition = \"transform 0.8s ease\";\n\n let video1Played = false;\n let video2Triggered = false;\n\n if (video3) {\n video3.loop = true;\n video3.style.display = \"none\";\n }\n\n /* ---------- VIDEO 1 ---------- */\n\n const playVideo1Once = () => {\n if (video1Played) return;\n video1Played = true;\n\n const playPromise = video1.play();\n if (playPromise) {\n playPromise\n .then(() => {\n poster1.style.display = \"none\";\n })\n .catch(() => { });\n }\n };\n\n if (video1.readyState >= HTMLMediaElement.HAVE_METADATA) {\n playVideo1Once();\n } else {\n video1.addEventListener(\"loadedmetadata\", playVideo1Once, { once: true });\n }\n\n video1.addEventListener(\"ended\", () => {\n video1.pause();\n video1.currentTime = video1.duration;\n video1Finished = true;\n video2.style.display = \"block\";\n });\n\n /* ---------- VIDEO 2 (SCROLL-INTENT GATED) ---------- */\n\n const onFirstScrollIntent = (event: WheelEvent) => {\n if (!video1Finished) return;\n if (video2Triggered) return;\n\n event.preventDefault();\n video2Triggered = true;\n window.removeEventListener(\"wheel\", onFirstScrollIntent);\n if (scrollIndicator) {\n scrollIndicator.style.opacity = \"0\"\n }\n const playPromise = video2.play();\n if (playPromise) {\n playPromise.catch(() => { });\n }\n\n setTimeout(() => {\n revealContent();\n }, revealContentDelay);\n };\n\n window.addEventListener(\"wheel\", onFirstScrollIntent, { passive: false });\n\n video2.addEventListener(\"ended\", () => {\n video2.pause();\n video2.currentTime = video2.duration;\n\n video3.style.display = \"block\";\n\n const playPromise = video3.play();\n if (playPromise) {\n playPromise.catch(() => { });\n }\n });\n\n /* ---------- CONTENT REVEAL ---------- */\n\n const revealContent = () => {\n requestAnimationFrame(() => {\n content.style.transform = \"translateY(0)\";\n\n if (navigation) {\n navigation.style.transform = \"translateY(0)\";\n }\n\n if (footer) {\n footer.style.transform = \"translateY(0)\";\n }\n });\n\n setTimeout(() => {\n document.body.classList.remove(\"scroll-locked\");\n }, 500);\n };\n});"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- [data-current-anchor=true]{backdrop-filter:blur(6px);background-color:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff6b}@media screen and (max-width: 991px){[data-current-anchor=true]{box-shadow:none;background-color:#ffffff24;justify-content:flex-start;align-items:center;width:100%;height:auto}}[col-span="2"]{grid-area:span 1 / span 2 / span 1 / span 2}@media screen and (max-width: 991px){[col-span="2"]{grid-column:span 2 / span 2}}@media screen and (max-width: 767px){[col-span="2"]{grid-column:span 1 / span 1}}[bloom-element=video-1]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}[bloom-element=video-poster-1]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}[bloom-element=video-2]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:none}.scroll-locked{overflow:hidden}[bloom-element=content]{transform:translateY(100vh);transition:transform .8s ease}.reveal{transform:translateY(0)}
1
+ strong{font-weight:600}[bloom-card]{transition:transform .3s ease}[bloom-card]:hover{transform:scale(1.02)}[data-current-anchor=true]{backdrop-filter:blur(6px);background-color:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff6b}@media screen and (max-width: 991px){[data-current-anchor=true]{box-shadow:none;background-color:#ffffff24;justify-content:flex-start;align-items:center;width:100%;height:auto}}[col-span="2"]{grid-area:span 1 / span 2 / span 1 / span 2}@media screen and (max-width: 991px){[col-span="2"]{grid-column:span 2 / span 2}}@media screen and (max-width: 767px){[col-span="2"]{grid-column:span 1 / span 1}}[bloom-element=video-1]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}[bloom-element=video-poster-1]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}[bloom-element=video-2],[bloom-element=video-3]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:none}.scroll-locked{overflow:hidden}[bloom-element=content]{transform:translateY(100vh);transition:transform .4s ease}[bloom-element=navigation]{transform:translateY(-100px);transition:transform .4s ease}[bloom-element=footer]{transform:translateY(100px);transition:transform .4s ease}[bloom-element=scroll-indicator]{opacity:0;transition:opacity .3s ease}.reveal{transform:translateY(0)}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/styles.css"],
4
- "sourcesContent": ["[data-current-anchor=\"true\"] {\n backdrop-filter: blur(6px);\n background-color: #ffffff38;\n box-shadow: inset 0 0 0 1px #ffffff6b;\n}\n@media screen and (max-width: 991px) {\n [data-current-anchor=\"true\"]{\n box-shadow: none;\n background-color: #ffffff24;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: auto;\n }\n}\n\n[col-span=\"2\"] {\n grid-area: span 1 / span 2 / span 1 / span 2;\n}\n@media screen and (max-width: 991px) {\n [col-span=\"2\"] {\n grid-column: span 2 / span 2;\n }\n}\n@media screen and (max-width: 767px) {\n[col-span=\"2\"]{\n grid-column: span 1 / span 1;\n }\n}\n\n[bloom-element=\"video-1\"]{\nposition: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n\n}\n[bloom-element=\"video-poster-1\"]{\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 2;\n}\n[bloom-element=\"video-2\"]{\nposition: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\ndisplay: none;\n}\n\n.scroll-locked{\n overflow: hidden;\n}\n\n[bloom-element=\"content\"]{\n transform: translate(0, 100vh);\n transition: transform 0.8s ease;\n}\n.reveal {\n transform: translateY(0);\n}"],
5
- "mappings": ";AAAA,CAAC;AACG,mBAAiB,KAAK;AACtB,oBAAkB;AAClB,cAAY,MAAM,EAAE,EAAE,EAAE,IAAI;AAChC;AACA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC1B,GAAC;AACG,gBAAY;AACZ,sBAAkB;AAClB,qBAAiB;AACjB,iBAAa;AACb,WAAO;AACP,YAAQ;AACZ;AACJ;AAEA,CAAC;AACG,aAAW,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK;AAC/C;AACA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC1B,GAAC;AACG,iBAAa,KAAK,EAAE,EAAE,KAAK;AAC/B;AACJ;AACA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC9B,GAAC;AACO,iBAAa,KAAK,EAAE,EAAE,KAAK;AAC/B;AACJ;AAEA,CAAC;AACD,YAAU;AACR,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AAEX;AACA,CAAC;AACC,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACX;AACA,CAAC;AACD,YAAU;AACR,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACX,WAAS;AACT;AAEA,CAAC;AACG,YAAU;AACd;AAEA,CAAC;AACO,aAAW,UAAU,CAAC,EAAE;AACxB,cAAY,UAAU,KAAK;AACnC;AACA,CAAC;AACC,aAAW,WAAW;AACxB;",
4
+ "sourcesContent": ["strong {\n\n font-weight: 600;\n}\n\n[bloom-card] {\n transition: transform 300ms ease;\n}\n\n[bloom-card]:hover {\n transform: scale(1.02);\n}\n\n[data-current-anchor=\"true\"] {\n backdrop-filter: blur(6px);\n background-color: #ffffff38;\n box-shadow: inset 0 0 0 1px #ffffff6b;\n}\n\n@media screen and (max-width: 991px) {\n [data-current-anchor=\"true\"] {\n box-shadow: none;\n background-color: #ffffff24;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: auto;\n }\n}\n\n[col-span=\"2\"] {\n grid-area: span 1 / span 2 / span 1 / span 2;\n}\n\n@media screen and (max-width: 991px) {\n [col-span=\"2\"] {\n grid-column: span 2 / span 2;\n }\n}\n\n@media screen and (max-width: 767px) {\n [col-span=\"2\"] {\n grid-column: span 1 / span 1;\n }\n}\n\n[bloom-element=\"video-1\"] {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n\n}\n\n[bloom-element=\"video-poster-1\"] {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 2;\n}\n\n[bloom-element=\"video-2\"] {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n display: none;\n}\n\n[bloom-element=\"video-3\"] {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n display: none;\n}\n\n.scroll-locked {\n overflow: hidden;\n}\n\n[bloom-element=\"content\"] {\n transform: translate(0, 100vh);\n transition: transform 0.4s ease;\n}\n\n[bloom-element=\"navigation\"] {\n transform: translate(0, -100px);\n transition: transform 0.4s ease;\n}\n\n[bloom-element=\"footer\"] {\n transform: translate(0, 100px);\n transition: transform 0.4s ease;\n}\n\n[bloom-element=\"scroll-indicator\"] {\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.reveal {\n transform: translateY(0);\n}"],
5
+ "mappings": ";AAAA;AAEE,eAAa;AACf;AAEA,CAAC;AACC,cAAY,UAAU,MAAM;AAC9B;AAEA,CAAC,WAAW;AACV,aAAW,MAAM;AACnB;AAEA,CAAC;AACC,mBAAiB,KAAK;AACtB,oBAAkB;AAClB,cAAY,MAAM,EAAE,EAAE,EAAE,IAAI;AAC9B;AAEA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC5B,GAAC;AACC,gBAAY;AACZ,sBAAkB;AAClB,qBAAiB;AACjB,iBAAa;AACb,WAAO;AACP,YAAQ;AACV;AACF;AAEA,CAAC;AACC,aAAW,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK;AAC7C;AAEA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC5B,GAAC;AACC,iBAAa,KAAK,EAAE,EAAE,KAAK;AAC7B;AACF;AAEA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC5B,GAAC;AACC,iBAAa,KAAK,EAAE,EAAE,KAAK;AAC7B;AACF;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AAEX;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACT,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACT,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACZ;AAEA,CAAC;AACC,aAAW,UAAU,CAAC,EAAE;AACxB,cAAY,UAAU,KAAK;AAC7B;AAEA,CAAC;AACC,aAAW,UAAU,CAAC,EAAE;AACxB,cAAY,UAAU,KAAK;AAC7B;AAEA,CAAC;AACC,aAAW,UAAU,CAAC,EAAE;AACxB,cAAY,UAAU,KAAK;AAC7B;AAEA,CAAC;AACC,WAAS;AACT,cAAY,QAAQ,KAAK;AAC3B;AAEA,CAAC;AACC,aAAW,WAAW;AACxB;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fynd-design-engineering/fynd-bloom",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Bloom edition static javascript library",
5
5
  "license": "MIT",
6
6
  "keywords": [],