@fynd-design-engineering/fynd-one-v2 2.2.2 → 2.2.4

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.
@@ -1 +1 @@
1
- "use strict";(()=>{var t="form_success_tracking",n=10*60*1e3;function s(){let e=new URLSearchParams(window.location.search).get("form_name");return e?decodeURIComponent(e):null}function i(r){try{let e=sessionStorage.getItem(t);if(!e)return!1;let o=JSON.parse(e);return Date.now()-o.timestamp>n?(sessionStorage.removeItem(t),!1):o.formName===r}catch(e){return console.error("Error checking form success tracking:",e),sessionStorage.removeItem(t),!1}}function a(r){try{let e={timestamp:Date.now(),formName:r};sessionStorage.setItem(t,JSON.stringify(e))}catch(e){console.error("Error storing form success tracking data:",e)}}document.addEventListener("DOMContentLoaded",function(){let r=s();if(!r){console.log("No form name found in URL parameters");return}if(i(r)){console.log(`Form success for "${r}" already tracked in this session`);return}window.posthog&&window.getTrackingPropertiesWithForm?(window.posthog.capture("fynd_form_success",window.getTrackingPropertiesWithForm(r)),a(r),console.log(`Form success tracked for "${r}"`)):console.warn("PostHog or tracking functions not available")});})();
1
+ "use strict";(()=>{var t="form_success_tracking",n=10*60*500;function s(){let e=new URLSearchParams(window.location.search).get("form_name");return e?decodeURIComponent(e):null}function i(r){try{let e=sessionStorage.getItem(t);if(!e)return!1;let o=JSON.parse(e);return Date.now()-o.timestamp>n?(sessionStorage.removeItem(t),!1):o.formName===r}catch(e){return console.error("Error checking form success tracking:",e),sessionStorage.removeItem(t),!1}}function a(r){try{let e={timestamp:Date.now(),formName:r};sessionStorage.setItem(t,JSON.stringify(e))}catch(e){console.error("Error storing form success tracking data:",e)}}document.addEventListener("DOMContentLoaded",function(){let r=s();if(!r){console.log("No form name found in URL parameters");return}if(i(r)){console.log(`Form success for "${r}" already tracked in this session`);return}window.posthog&&window.getTrackingPropertiesWithForm?(window.posthog.capture("fynd_form_success",window.getTrackingPropertiesWithForm(r)),a(r),console.log(`Form success tracked for "${r}"`)):console.warn("PostHog or tracking functions not available")});})();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../bin/live-reload.js", "../../src/analytics/form-success.ts"],
4
- "sourcesContent": ["// Only enable live reload when running on localhost\nif (\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"127.0.0.1\"\n) {\n new EventSource(`${SERVE_ORIGIN}/esbuild`).addEventListener(\"change\", () =>\n location.reload()\n );\n} else {\n console.log(\"Live reload disabled: not running on localhost\");\n}\n", "// Type definitions (if not already defined elsewhere)\ninterface TrackingProperties {\n source_page: string;\n fynd_product: string;\n interface: string;\n device_type: string;\n utm_source: string;\n utm_medium: string;\n utm_campaign: string;\n referrer: string;\n}\n\ninterface TrackingPropertiesWithForm extends TrackingProperties {\n form_name: string;\n}\n\ninterface PostHog {\n capture: (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm) => void;\n}\n\n// Global declarations (if not already defined elsewhere)\ndeclare global {\n interface Window {\n getTrackingPropertiesWithForm: (formName: string) => TrackingPropertiesWithForm;\n posthog: PostHog;\n }\n}\n\n// This export statement makes the file a module and allows global declarations to work\nexport { };\n\n// Session storage key for tracking form success events\nconst FORM_SUCCESS_STORAGE_KEY = 'form_success_tracking';\nconst SESSION_DURATION_MS = 10 * 60 * 1000; // 10 minutes in milliseconds\n\ninterface FormSuccessData {\n timestamp: number;\n formName: string;\n}\n\nfunction getFormName(): string | null {\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n const formName: string | null = urlParams.get(\"form_name\");\n return formName ? decodeURIComponent(formName) : null;\n}\n\nfunction hasFormSuccessBeenTracked(formName: string): boolean {\n try {\n const storedData: string | null = sessionStorage.getItem(FORM_SUCCESS_STORAGE_KEY);\n\n if (!storedData) {\n return false;\n }\n\n const parsedData: FormSuccessData = JSON.parse(storedData);\n const currentTime: number = Date.now();\n const timeDifference: number = currentTime - parsedData.timestamp;\n\n // Check if the session has expired (more than 10 minutes)\n if (timeDifference > SESSION_DURATION_MS) {\n // Session expired, remove old data\n sessionStorage.removeItem(FORM_SUCCESS_STORAGE_KEY);\n return false;\n }\n\n // Check if the same form success was already tracked in this session\n return parsedData.formName === formName;\n } catch (error) {\n console.error('Error checking form success tracking:', error);\n // If there's an error, clear the storage and allow tracking\n sessionStorage.removeItem(FORM_SUCCESS_STORAGE_KEY);\n return false;\n }\n}\n\nfunction markFormSuccessAsTracked(formName: string): void {\n try {\n const trackingData: FormSuccessData = {\n timestamp: Date.now(),\n formName: formName\n };\n\n sessionStorage.setItem(FORM_SUCCESS_STORAGE_KEY, JSON.stringify(trackingData));\n } catch (error) {\n console.error('Error storing form success tracking data:', error);\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const currentFormName: string | null = getFormName();\n\n if (!currentFormName) {\n console.log('No form name found in URL parameters');\n return;\n }\n\n // Check if form success has already been tracked for this form in the current session\n if (hasFormSuccessBeenTracked(currentFormName)) {\n console.log(`Form success for \"${currentFormName}\" already tracked in this session`);\n return;\n }\n\n if (window.posthog && window.getTrackingPropertiesWithForm) {\n window.posthog.capture(\n \"fynd_form_success\",\n window.getTrackingPropertiesWithForm(currentFormName)\n );\n\n // Mark this form success as tracked\n markFormSuccessAsTracked(currentFormName);\n console.log(`Form success tracked for \"${currentFormName}\"`);\n } else {\n console.warn(\"PostHog or tracking functions not available\");\n }\n});"],
4
+ "sourcesContent": ["// Only enable live reload when running on localhost\nif (\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"127.0.0.1\"\n) {\n new EventSource(`${SERVE_ORIGIN}/esbuild`).addEventListener(\"change\", () =>\n location.reload()\n );\n} else {\n console.log(\"Live reload disabled: not running on localhost\");\n}\n", "// Type definitions (if not already defined elsewhere)\ninterface TrackingProperties {\n source_page: string;\n fynd_product: string;\n interface: string;\n device_type: string;\n utm_source: string;\n utm_medium: string;\n utm_campaign: string;\n referrer: string;\n}\n\ninterface TrackingPropertiesWithForm extends TrackingProperties {\n form_name: string;\n}\n\ninterface PostHog {\n capture: (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm) => void;\n}\n\n// Global declarations (if not already defined elsewhere)\ndeclare global {\n interface Window {\n getTrackingPropertiesWithForm: (formName: string) => TrackingPropertiesWithForm;\n posthog: PostHog;\n }\n}\n\n// This export statement makes the file a module and allows global declarations to work\nexport { };\n\n// Session storage key for tracking form success events\nconst FORM_SUCCESS_STORAGE_KEY = 'form_success_tracking';\nconst SESSION_DURATION_MS = 10 * 60 * 500;\n\ninterface FormSuccessData {\n timestamp: number;\n formName: string;\n}\n\nfunction getFormName(): string | null {\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n const formName: string | null = urlParams.get(\"form_name\");\n return formName ? decodeURIComponent(formName) : null;\n}\n\nfunction hasFormSuccessBeenTracked(formName: string): boolean {\n try {\n const storedData: string | null = sessionStorage.getItem(FORM_SUCCESS_STORAGE_KEY);\n\n if (!storedData) {\n return false;\n }\n\n const parsedData: FormSuccessData = JSON.parse(storedData);\n const currentTime: number = Date.now();\n const timeDifference: number = currentTime - parsedData.timestamp;\n\n // Check if the session has expired (more than 10 minutes)\n if (timeDifference > SESSION_DURATION_MS) {\n // Session expired, remove old data\n sessionStorage.removeItem(FORM_SUCCESS_STORAGE_KEY);\n return false;\n }\n\n // Check if the same form success was already tracked in this session\n return parsedData.formName === formName;\n } catch (error) {\n console.error('Error checking form success tracking:', error);\n // If there's an error, clear the storage and allow tracking\n sessionStorage.removeItem(FORM_SUCCESS_STORAGE_KEY);\n return false;\n }\n}\n\nfunction markFormSuccessAsTracked(formName: string): void {\n try {\n const trackingData: FormSuccessData = {\n timestamp: Date.now(),\n formName: formName\n };\n\n sessionStorage.setItem(FORM_SUCCESS_STORAGE_KEY, JSON.stringify(trackingData));\n } catch (error) {\n console.error('Error storing form success tracking data:', error);\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const currentFormName: string | null = getFormName();\n\n if (!currentFormName) {\n console.log('No form name found in URL parameters');\n return;\n }\n\n // Check if form success has already been tracked for this form in the current session\n if (hasFormSuccessBeenTracked(currentFormName)) {\n console.log(`Form success for \"${currentFormName}\" already tracked in this session`);\n return;\n }\n\n if (window.posthog && window.getTrackingPropertiesWithForm) {\n window.posthog.capture(\n \"fynd_form_success\",\n window.getTrackingPropertiesWithForm(currentFormName)\n );\n\n // Mark this form success as tracked\n markFormSuccessAsTracked(currentFormName);\n console.log(`Form success tracked for \"${currentFormName}\"`);\n } else {\n console.warn(\"PostHog or tracking functions not available\");\n }\n});"],
5
5
  "mappings": ";;;AACA,MACE,OAAO,SAAS,aAAa,eAC7B,OAAO,SAAS,aAAa,aAC7B;AACA,QAAI,YAAY,GAAG,uBAAY,UAAU,EAAE;AAAA,MAAiB;AAAA,MAAU,MACpE,SAAS,OAAO;AAAA,IAClB;AAAA,EACF,OAAO;AACL,YAAQ,IAAI,gDAAgD;AAAA,EAC9D;;;ACsBA,MAAM,2BAA2B;AACjC,MAAM,sBAAsB,KAAK,KAAK;AAOtC,WAAS,cAA6B;AAClC,UAAM,YAA6B,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC7E,UAAM,WAA0B,UAAU,IAAI,WAAW;AACzD,WAAO,WAAW,mBAAmB,QAAQ,IAAI;AAAA,EACrD;AAEA,WAAS,0BAA0B,UAA2B;AAC1D,QAAI;AACA,YAAM,aAA4B,eAAe,QAAQ,wBAAwB;AAEjF,UAAI,CAAC,YAAY;AACb,eAAO;AAAA,MACX;AAEA,YAAM,aAA8B,KAAK,MAAM,UAAU;AACzD,YAAM,cAAsB,KAAK,IAAI;AACrC,YAAM,iBAAyB,cAAc,WAAW;AAGxD,UAAI,iBAAiB,qBAAqB;AAEtC,uBAAe,WAAW,wBAAwB;AAClD,eAAO;AAAA,MACX;AAGA,aAAO,WAAW,aAAa;AAAA,IACnC,SAAS,OAAO;AACZ,cAAQ,MAAM,yCAAyC,KAAK;AAE5D,qBAAe,WAAW,wBAAwB;AAClD,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,WAAS,yBAAyB,UAAwB;AACtD,QAAI;AACA,YAAM,eAAgC;AAAA,QAClC,WAAW,KAAK,IAAI;AAAA,QACpB;AAAA,MACJ;AAEA,qBAAe,QAAQ,0BAA0B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjF,SAAS,OAAO;AACZ,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AAEA,WAAS,iBAAiB,oBAAoB,WAAkB;AAC5D,UAAM,kBAAiC,YAAY;AAEnD,QAAI,CAAC,iBAAiB;AAClB,cAAQ,IAAI,sCAAsC;AAClD;AAAA,IACJ;AAGA,QAAI,0BAA0B,eAAe,GAAG;AAC5C,cAAQ,IAAI,qBAAqB,eAAe,mCAAmC;AACnF;AAAA,IACJ;AAEA,QAAI,OAAO,WAAW,OAAO,+BAA+B;AACxD,aAAO,QAAQ;AAAA,QACX;AAAA,QACA,OAAO,8BAA8B,eAAe;AAAA,MACxD;AAGA,+BAAyB,eAAe;AACxC,cAAQ,IAAI,6BAA6B,eAAe,GAAG;AAAA,IAC/D,OAAO;AACH,cAAQ,KAAK,6CAA6C;AAAA,IAC9D;AAAA,EACJ,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- "use strict";(()=>{var c=()=>{let e=window.location.pathname;return{source_page:e==="/"?e+" Home":e,fynd_product:"fynd.com website",interface:"Webflow",device_type:/Mobile|Android|iPhone|iPad/.test(navigator.userAgent)?"Mobile":"Web",utm_source:new URLSearchParams(window.location.search).get("utm_source")||"",utm_medium:new URLSearchParams(window.location.search).get("utm_medium")||"",utm_campaign:new URLSearchParams(window.location.search).get("utm_campaign")||"",referrer:document.referrer}},a=e=>({...c(),form_name:e}),r=(e,t,i)=>{if(window.posthog&&window.posthog.capture(e,t),window.gtag){let o=i||e;window.gtag("event",o,{event_category:"fynd_engagement",event_label:t.source_page,custom_source_page:t.source_page,custom_fynd_product:t.fynd_product,custom_interface:t.interface,custom_device_type:t.device_type,custom_utm_source:t.utm_source,custom_utm_medium:t.utm_medium,custom_utm_campaign:t.utm_campaign,custom_referrer:t.referrer,..."form_name"in t&&{custom_form_name:t.form_name}})}};window.getTrackingProperties=c;window.getTrackingPropertiesWithForm=a;window.interactedForm="";document.addEventListener("DOMContentLoaded",function(){let e=window.getTrackingProperties();window.posthog&&window.posthog.capture("$pageview",e),window.gtag&&window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,custom_source_page:e.source_page,custom_fynd_product:e.fynd_product,custom_interface:e.interface,custom_device_type:e.device_type,custom_utm_source:e.utm_source,custom_utm_medium:e.utm_medium,custom_utm_campaign:e.utm_campaign,custom_referrer:e.referrer})});window.addEventListener("load",function(){r("fynd_page_loaded",window.getTrackingProperties())});document.addEventListener("DOMContentLoaded",function(){let e=document.querySelectorAll('[data-ph="sign-up"]'),t=document.querySelectorAll('[data-ph="sign-in"]'),i=document.querySelectorAll('[href="#footer-form"]'),o=document.querySelectorAll('[data-ph="book-a-demo"]');e.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_sign_up",window.getTrackingProperties())})}),t.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_sign_in",window.getTrackingProperties())})}),i.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_scroll_to_form",window.getTrackingProperties())})}),o.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_book_a_demo",window.getTrackingProperties())})})});document.addEventListener("DOMContentLoaded",function(){let e=document.querySelectorAll("[data-posthog-trigger]");console.log("%cposthog/custom-events.js:58 formFields","color: #007acc;",e);let t=new Set;e.forEach(i=>{i.addEventListener("change",function(){let o=this.closest("form");if(o){if(t.has(o))return null;t.add(o);let n=o.getAttribute("data-name");return window.interactedForm=n||"",n?(console.log("form started"),r("fynd_form_started",window.getTrackingPropertiesWithForm(n)),n):(console.warn("No data-name attribute found on parent form"),null)}else return console.warn("No parent form found"),null})})});})();
1
+ "use strict";(()=>{var a=()=>{let e=window.location.pathname;return{source_page:e==="/"?e+" Home":e,fynd_product:"fynd.com website",interface:"Webflow",device_type:/Mobile|Android|iPhone|iPad/.test(navigator.userAgent)?"Mobile":"Web",utm_source:new URLSearchParams(window.location.search).get("utm_source")||"",utm_medium:new URLSearchParams(window.location.search).get("utm_medium")||"",utm_campaign:new URLSearchParams(window.location.search).get("utm_campaign")||"",referrer:document.referrer}},m=e=>({...a(),form_name:e}),r=(e,t,i)=>{if(window.posthog&&window.posthog.capture(e,t),window.gtag){let o=i||e;window.gtag("event",o,{event_category:"fynd_engagement",event_label:t.source_page,custom_source_page:t.source_page,custom_fynd_product:t.fynd_product,custom_interface:t.interface,custom_device_type:t.device_type,custom_utm_source:t.utm_source,custom_utm_medium:t.utm_medium,custom_utm_campaign:t.utm_campaign,custom_referrer:t.referrer,..."form_name"in t&&{custom_form_name:t.form_name}})}};window.getTrackingProperties=a;window.getTrackingPropertiesWithForm=m;window.interactedForm="";function d(e){let t=e.closest("form");return t&&t.getAttribute("data-name")||null}document.addEventListener("DOMContentLoaded",function(){let e=window.getTrackingProperties();window.posthog&&window.posthog.capture("$pageview",e),window.gtag&&window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,custom_source_page:e.source_page,custom_fynd_product:e.fynd_product,custom_interface:e.interface,custom_device_type:e.device_type,custom_utm_source:e.utm_source,custom_utm_medium:e.utm_medium,custom_utm_campaign:e.utm_campaign,custom_referrer:e.referrer})});window.addEventListener("load",function(){r("fynd_page_loaded",window.getTrackingProperties())});document.addEventListener("DOMContentLoaded",function(){let e=document.querySelectorAll('[data-ph="sign-up"]'),t=document.querySelectorAll('[data-ph="sign-in"]'),i=document.querySelectorAll('[href="#footer-form"]'),o=document.querySelectorAll('[data-ph="book-a-demo"]');document.querySelectorAll('[type="submit"]').forEach(n=>{n.addEventListener("click",function(){let s=d(this);setTimeout(()=>{(window.validationPassed=!0)&&r("fynd_form_submitted",window.getTrackingPropertiesWithForm(s||""))},100)})}),e.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_sign_up",window.getTrackingProperties())})}),t.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_sign_in",window.getTrackingProperties())})}),i.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_scroll_to_form",window.getTrackingProperties())})}),o.forEach(n=>{n.addEventListener("click",function(){r("fynd_clicked_book_a_demo",window.getTrackingProperties())})})});document.addEventListener("DOMContentLoaded",function(){let e=document.querySelectorAll("[data-posthog-trigger]");console.log("%cposthog/custom-events.js:58 formFields","color: #007acc;",e);let t=new Set;e.forEach(i=>{i.addEventListener("change",function(){let o=this.closest("form");if(o){if(t.has(o))return null;t.add(o);let c=o.getAttribute("data-name");return window.interactedForm=c||"",c?(console.log("form started"),r("fynd_form_started",window.getTrackingPropertiesWithForm(c)),c):(console.warn("No data-name attribute found on parent form"),null)}else return console.warn("No parent form found"),null})})});})();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../bin/live-reload.js", "../../src/analytics/main.ts"],
4
- "sourcesContent": ["// Only enable live reload when running on localhost\nif (\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"127.0.0.1\"\n) {\n new EventSource(`${SERVE_ORIGIN}/esbuild`).addEventListener(\"change\", () =>\n location.reload()\n );\n} else {\n console.log(\"Live reload disabled: not running on localhost\");\n}\n", "// Type definitions\ninterface TrackingProperties {\n source_page: string;\n fynd_product: string;\n interface: string;\n device_type: string;\n utm_source: string;\n utm_medium: string;\n utm_campaign: string;\n referrer: string;\n}\n\ninterface TrackingPropertiesWithForm extends TrackingProperties {\n form_name: string;\n}\n\n// PostHog interface\ninterface PostHog {\n capture: (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm) => void;\n}\n\n// Google Analytics gtag interface\ndeclare function gtag(command: string, targetId: string, config?: any): void;\n\n// Extend Window interface to include custom properties\ndeclare global {\n interface Window {\n getTrackingProperties: () => TrackingProperties;\n getTrackingPropertiesWithForm: (formName: string) => TrackingPropertiesWithForm;\n interactedForm: string;\n posthog: PostHog;\n gtag: typeof gtag;\n }\n}\n\n// This export statement is needed to make this file a module\n// and allow the global declarations to work properly\nexport { };\n\n// Default tracking properties function\nconst getTrackingProperties = (): TrackingProperties => {\n const pathname: string = window.location.pathname;\n\n return {\n source_page: pathname === \"/\" ? pathname + \" Home\" : pathname,\n fynd_product: \"fynd.com website\",\n interface: \"Webflow\",\n device_type: /Mobile|Android|iPhone|iPad/.test(navigator.userAgent)\n ? \"Mobile\"\n : \"Web\",\n utm_source:\n new URLSearchParams(window.location.search).get(\"utm_source\") || \"\",\n utm_medium:\n new URLSearchParams(window.location.search).get(\"utm_medium\") || \"\",\n utm_campaign:\n new URLSearchParams(window.location.search).get(\"utm_campaign\") || \"\",\n referrer: document.referrer,\n };\n};\n\n// Function to get tracking properties with form name\nconst getTrackingPropertiesWithForm = (formName: string): TrackingPropertiesWithForm => {\n return {\n ...getTrackingProperties(),\n form_name: formName,\n };\n};\n\n// Helper function to send events to both PostHog and GA4\nconst trackEvent = (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm, gaEventName?: string) => {\n // PostHog tracking\n if (window.posthog) {\n window.posthog.capture(eventName, properties);\n }\n\n // Google Analytics tracking\n if (window.gtag) {\n const gtagEventName = gaEventName || eventName;\n window.gtag('event', gtagEventName, {\n event_category: 'fynd_engagement',\n event_label: properties.source_page,\n custom_source_page: properties.source_page,\n custom_fynd_product: properties.fynd_product,\n custom_interface: properties.interface,\n custom_device_type: properties.device_type,\n custom_utm_source: properties.utm_source,\n custom_utm_medium: properties.utm_medium,\n custom_utm_campaign: properties.utm_campaign,\n custom_referrer: properties.referrer,\n // Add form_name if it exists in properties\n ...(('form_name' in properties) && { custom_form_name: properties.form_name })\n });\n }\n};\n\n// Assign functions to window object\nwindow.getTrackingProperties = getTrackingProperties;\nwindow.getTrackingPropertiesWithForm = getTrackingPropertiesWithForm;\nwindow.interactedForm = \"\";\n\n// Getting parent form name by passing field element\nfunction getParentFormName(fieldElement: Element): string | null {\n const parentForm = fieldElement.closest(\"form\") as HTMLFormElement | null;\n if (parentForm) {\n const formName = parentForm.getAttribute(\"data-name\");\n return formName || null;\n }\n return null;\n}\n\n// Initialize PostHog pageview and GA4 page_view\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const trackingProps = window.getTrackingProperties();\n\n // PostHog pageview\n if (window.posthog) {\n window.posthog.capture(\"$pageview\", trackingProps);\n }\n\n // Google Analytics page_view (GA4 automatically tracks page_view, but we can send custom parameters)\n if (window.gtag) {\n window.gtag('event', 'page_view', {\n page_title: document.title,\n page_location: window.location.href,\n custom_source_page: trackingProps.source_page,\n custom_fynd_product: trackingProps.fynd_product,\n custom_interface: trackingProps.interface,\n custom_device_type: trackingProps.device_type,\n custom_utm_source: trackingProps.utm_source,\n custom_utm_medium: trackingProps.utm_medium,\n custom_utm_campaign: trackingProps.utm_campaign,\n custom_referrer: trackingProps.referrer\n });\n }\n});\n\n// Track page load event\nwindow.addEventListener(\"load\", function (): void {\n trackEvent(\"fynd_page_loaded\", window.getTrackingProperties());\n});\n\n// Button click tracking for sign up, sign in, scroll to form and book a demo buttons\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const signUpButtons = document.querySelectorAll('[data-ph=\"sign-up\"]') as NodeListOf<Element>;\n const signInButtons = document.querySelectorAll('[data-ph=\"sign-in\"]') as NodeListOf<Element>;\n const scrollToFormButtons = document.querySelectorAll(\n '[href=\"#footer-form\"]'\n ) as NodeListOf<Element>;\n const bookADemoButtons = document.querySelectorAll('[data-ph=\"book-a-demo\"]') as NodeListOf<Element>;\n\n signUpButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_sign_up\", window.getTrackingProperties());\n });\n });\n\n signInButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_sign_in\", window.getTrackingProperties());\n });\n });\n\n scrollToFormButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_scroll_to_form\", window.getTrackingProperties());\n });\n });\n\n bookADemoButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_book_a_demo\", window.getTrackingProperties());\n });\n });\n});\n\n// Track form interactions\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n // Select all form fields with data-posthog-trigger attribute\n const formFields = document.querySelectorAll(\"[data-posthog-trigger]\") as NodeListOf<Element>;\n console.log(\n \"%cposthog/custom-events.js:58 formFields\",\n \"color: #007acc;\",\n formFields\n );\n\n // Keep track of forms that have already been processed\n const processedForms = new Set<HTMLFormElement>();\n\n formFields.forEach((field: Element) => {\n field.addEventListener(\"change\", function (this: Element): string | null {\n // Find the parent form element\n const parentForm = this.closest(\"form\") as HTMLFormElement | null;\n\n if (parentForm) {\n // Check if this form has already been processed\n if (processedForms.has(parentForm)) {\n // console.log(\"Form already processed, skipping...\");\n return null;\n }\n\n // Mark this form as processed\n processedForms.add(parentForm);\n\n // Get the data-name attribute value from the parent form\n const formName = parentForm.getAttribute(\"data-name\");\n window.interactedForm = formName || \"\";\n\n if (formName) {\n console.log(\"form started\");\n trackEvent(\n \"fynd_form_started\",\n window.getTrackingPropertiesWithForm(formName)\n );\n return formName;\n } else {\n console.warn(\"No data-name attribute found on parent form\");\n return null;\n }\n } else {\n console.warn(\"No parent form found\");\n return null;\n }\n });\n });\n});"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Only enable live reload when running on localhost\nif (\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"127.0.0.1\"\n) {\n new EventSource(`${SERVE_ORIGIN}/esbuild`).addEventListener(\"change\", () =>\n location.reload()\n );\n} else {\n console.log(\"Live reload disabled: not running on localhost\");\n}\n", "// Type definitions\ninterface TrackingProperties {\n source_page: string;\n fynd_product: string;\n interface: string;\n device_type: string;\n utm_source: string;\n utm_medium: string;\n utm_campaign: string;\n referrer: string;\n}\n\ninterface TrackingPropertiesWithForm extends TrackingProperties {\n form_name: string;\n}\n\n// PostHog interface\ninterface PostHog {\n capture: (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm) => void;\n}\n\n// Google Analytics gtag interface\ndeclare function gtag(command: string, targetId: string, config?: any): void;\n\n// Extend Window interface to include custom properties\ndeclare global {\n interface Window {\n getTrackingProperties: () => TrackingProperties;\n getTrackingPropertiesWithForm: (formName: string) => TrackingPropertiesWithForm;\n interactedForm: string;\n validationPassed?: boolean;\n posthog: PostHog;\n gtag: typeof gtag;\n }\n}\n\n// This export statement is needed to make this file a module\n// and allow the global declarations to work properly\nexport { };\n\n// Default tracking properties function\nconst getTrackingProperties = (): TrackingProperties => {\n const pathname: string = window.location.pathname;\n\n return {\n source_page: pathname === \"/\" ? pathname + \" Home\" : pathname,\n fynd_product: \"fynd.com website\",\n interface: \"Webflow\",\n device_type: /Mobile|Android|iPhone|iPad/.test(navigator.userAgent)\n ? \"Mobile\"\n : \"Web\",\n utm_source:\n new URLSearchParams(window.location.search).get(\"utm_source\") || \"\",\n utm_medium:\n new URLSearchParams(window.location.search).get(\"utm_medium\") || \"\",\n utm_campaign:\n new URLSearchParams(window.location.search).get(\"utm_campaign\") || \"\",\n referrer: document.referrer,\n };\n};\n\n// Function to get tracking properties with form name\nconst getTrackingPropertiesWithForm = (formName: string): TrackingPropertiesWithForm => {\n return {\n ...getTrackingProperties(),\n form_name: formName,\n };\n};\n\n// Helper function to send events to both PostHog and GA4\nconst trackEvent = (eventName: string, properties: TrackingProperties | TrackingPropertiesWithForm, gaEventName?: string) => {\n // PostHog tracking\n if (window.posthog) {\n window.posthog.capture(eventName, properties);\n }\n\n // Google Analytics tracking\n if (window.gtag) {\n const gtagEventName = gaEventName || eventName;\n window.gtag('event', gtagEventName, {\n event_category: 'fynd_engagement',\n event_label: properties.source_page,\n custom_source_page: properties.source_page,\n custom_fynd_product: properties.fynd_product,\n custom_interface: properties.interface,\n custom_device_type: properties.device_type,\n custom_utm_source: properties.utm_source,\n custom_utm_medium: properties.utm_medium,\n custom_utm_campaign: properties.utm_campaign,\n custom_referrer: properties.referrer,\n // Add form_name if it exists in properties\n ...(('form_name' in properties) && { custom_form_name: properties.form_name })\n });\n }\n};\n\n// Assign functions to window object\nwindow.getTrackingProperties = getTrackingProperties;\nwindow.getTrackingPropertiesWithForm = getTrackingPropertiesWithForm;\nwindow.interactedForm = \"\";\n\n// Getting parent form name by passing field element\nfunction getParentFormName(fieldElement: Element): string | null {\n const parentForm = fieldElement.closest(\"form\") as HTMLFormElement | null;\n if (parentForm) {\n const formName = parentForm.getAttribute(\"data-name\");\n return formName || null;\n }\n return null;\n}\n\n// Initialize PostHog pageview and GA4 page_view\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const trackingProps = window.getTrackingProperties();\n\n // PostHog pageview\n if (window.posthog) {\n window.posthog.capture(\"$pageview\", trackingProps);\n }\n\n // Google Analytics page_view (GA4 automatically tracks page_view, but we can send custom parameters)\n if (window.gtag) {\n window.gtag('event', 'page_view', {\n page_title: document.title,\n page_location: window.location.href,\n custom_source_page: trackingProps.source_page,\n custom_fynd_product: trackingProps.fynd_product,\n custom_interface: trackingProps.interface,\n custom_device_type: trackingProps.device_type,\n custom_utm_source: trackingProps.utm_source,\n custom_utm_medium: trackingProps.utm_medium,\n custom_utm_campaign: trackingProps.utm_campaign,\n custom_referrer: trackingProps.referrer\n });\n }\n});\n\n// Track page load event\nwindow.addEventListener(\"load\", function (): void {\n trackEvent(\"fynd_page_loaded\", window.getTrackingProperties());\n});\n\n// Button click tracking for sign up, sign in, scroll to form and book a demo buttons\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n const signUpButtons = document.querySelectorAll('[data-ph=\"sign-up\"]') as NodeListOf<Element>;\n const signInButtons = document.querySelectorAll('[data-ph=\"sign-in\"]') as NodeListOf<Element>;\n const scrollToFormButtons = document.querySelectorAll(\n '[href=\"#footer-form\"]'\n ) as NodeListOf<Element>;\n const bookADemoButtons = document.querySelectorAll('[data-ph=\"book-a-demo\"]') as NodeListOf<Element>;\n const submitButtons = document.querySelectorAll('[type=\"submit\"]') as NodeListOf<Element>;\n\n submitButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (this: HTMLElement): void {\n const formName = getParentFormName(this);\n setTimeout(() => {\n if (window.validationPassed = true) {\n // If validation passed, track the submit event\n trackEvent(\"fynd_form_submitted\", window.getTrackingPropertiesWithForm(formName || \"\"));\n }\n }, 100);\n });\n });\n\n signUpButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_sign_up\", window.getTrackingProperties());\n });\n });\n\n signInButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_sign_in\", window.getTrackingProperties());\n });\n });\n\n scrollToFormButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_scroll_to_form\", window.getTrackingProperties());\n });\n });\n\n bookADemoButtons.forEach((button: Element) => {\n button.addEventListener(\"click\", function (): void {\n trackEvent(\"fynd_clicked_book_a_demo\", window.getTrackingProperties());\n });\n });\n});\n\n// Track form interactions\ndocument.addEventListener(\"DOMContentLoaded\", function (): void {\n // Select all form fields with data-posthog-trigger attribute\n const formFields = document.querySelectorAll(\"[data-posthog-trigger]\") as NodeListOf<Element>;\n console.log(\n \"%cposthog/custom-events.js:58 formFields\",\n \"color: #007acc;\",\n formFields\n );\n\n // Keep track of forms that have already been processed\n const processedForms = new Set<HTMLFormElement>();\n\n formFields.forEach((field: Element) => {\n field.addEventListener(\"change\", function (this: Element): string | null {\n // Find the parent form element\n const parentForm = this.closest(\"form\") as HTMLFormElement | null;\n\n if (parentForm) {\n // Check if this form has already been processed\n if (processedForms.has(parentForm)) {\n // console.log(\"Form already processed, skipping...\");\n return null;\n }\n\n // Mark this form as processed\n processedForms.add(parentForm);\n\n // Get the data-name attribute value from the parent form\n const formName = parentForm.getAttribute(\"data-name\");\n window.interactedForm = formName || \"\";\n\n if (formName) {\n console.log(\"form started\");\n trackEvent(\n \"fynd_form_started\",\n window.getTrackingPropertiesWithForm(formName)\n );\n return formName;\n } else {\n console.warn(\"No data-name attribute found on parent form\");\n return null;\n }\n } else {\n console.warn(\"No parent form found\");\n return null;\n }\n });\n });\n});"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1 @@
1
+ "use strict";(()=>{function o(){let e=sessionStorage.getItem("pageLoaded");(!e||e==="false")&&(sessionStorage.setItem("pageLoaded","true"),window.location.reload())}document.addEventListener("DOMContentLoaded",o);})();
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../bin/live-reload.js", "../../src/quick-fix/reload.ts"],
4
+ "sourcesContent": ["// Only enable live reload when running on localhost\nif (\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"127.0.0.1\"\n) {\n new EventSource(`${SERVE_ORIGIN}/esbuild`).addEventListener(\"change\", () =>\n location.reload()\n );\n} else {\n console.log(\"Live reload disabled: not running on localhost\");\n}\n", "function handleOneTimeReload(): void {\n const loaded = sessionStorage.getItem('pageLoaded');\n\n if (!loaded || loaded === 'false') {\n sessionStorage.setItem('pageLoaded', 'true');\n window.location.reload();\n }\n}\ndocument.addEventListener('DOMContentLoaded', handleOneTimeReload);"],
5
+ "mappings": ";;;AACA,MACE,OAAO,SAAS,aAAa,eAC7B,OAAO,SAAS,aAAa,aAC7B;AACA,QAAI,YAAY,GAAG,uBAAY,UAAU,EAAE;AAAA,MAAiB;AAAA,MAAU,MACpE,SAAS,OAAO;AAAA,IAClB;AAAA,EACF,OAAO;AACL,YAAQ,IAAI,gDAAgD;AAAA,EAC9D;;;ACVA,WAAS,sBAA4B;AACjC,UAAM,SAAS,eAAe,QAAQ,YAAY;AAElD,QAAI,CAAC,UAAU,WAAW,SAAS;AAC/B,qBAAe,QAAQ,cAAc,MAAM;AAC3C,aAAO,SAAS,OAAO;AAAA,IAC3B;AAAA,EACJ;AACA,WAAS,iBAAiB,oBAAoB,mBAAmB;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fynd-design-engineering/fynd-one-v2",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "Updated CDN for fynd.com",
5
5
  "homepage": "https://github.com/Fynd-Design-Engineering/Fynd-Utils/blob/main/README.md",
6
6
  "license": "ISC",