@fynd-design-engineering/fynd-one-v2 3.4.35 → 3.4.36
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../bin/live-reload.js", "../../src/tracking/fill-form-fields.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", "// formFiller.ts - Auto-fill form fields with user journey data\nimport { UserJourney, TouchPoint } from './types';\n\ntype ProductInterestConfig = {\n optionName: string;\n selectValues: string[];\n};\n\ntype solutionMappingConfig = {\n slug: string;\n selectValues: string[];\n}\n\nconst productInterestConfigs: ProductInterestConfig[] = [\n {\n \"optionName\": \"Building a website\",\n \"selectValues\": [\"Storefront\", \"Commerce\"]\n },\n {\n \"optionName\": \"Supply chain solutions\",\n \"selectValues\": [\"WMS\", \"OMS\", \"TMS\", \"Commerce\"]\n },\n {\n \"optionName\": \"Retail store solutions\",\n \"selectValues\": [\"Store OS\", \"Commerce\"]\n },\n {\n \"optionName\": \"Sell on Marketplaces\",\n \"selectValues\": [\"Konnect\", \"Commerce\"]\n },\n {\n \"optionName\": \"AI solutions\",\n \"selectValues\": [\"Kaily, Workflow builder, AI photoshoot\"]\n },\n {\n \"optionName\": \"Fashion manufacturing solution\",\n \"selectValues\": [\"GaaS\", \"DaaS\"]\n }\n];\n\nconst solutionMappingConfigs: solutionMappingConfig[] = [\n {\n \"slug\": \"/solutions/transport-management-system\",\n \"selectValues\": [\"TMS\"]\n }, {\n \"slug\": \"/solutions/storefront\",\n \"selectValues\": [\"Storefront\"]\n },\n]\n\n/**\n * Fills form input fields with user journey data based on fynd-queryparam-name attributes\n */\nfunction fillFormWithUserJourney(): void {\n try {\n // Get user journey data from session storage\n const journey: UserJourney | null = getUserJourneyData();\n\n const sourceValue = 'Inbound Form';\n const sourceDirectionValue = 'Inbound';\n const contactTypeValue = 'Prospect';\n\n if (!journey || journey.userJourney.length === 0) {\n //console.log('No user journey data available to fill form fields');\n return;\n }\n\n // Get first page (landing page) and last page data\n const firstPage: TouchPoint = journey.userJourney[0];\n let lastPage: TouchPoint = journey.userJourney[journey.userJourney.length - 1];\n\n // If current page is contact-us, use the previous page as last page\n if (journey.userJourney.length > 1 &&\n journey.userJourney[journey.userJourney.length - 1].page === '/contact-us') {\n lastPage = journey.userJourney[journey.userJourney.length - 2];\n }\n\n // Define the mapping of attribute values to data\n const fieldMappings: Record<string, string> = {\n // UTM parameters\n 'utm_source': firstPage.utm.source,\n 'utm_medium': firstPage.utm.medium,\n 'utm_campaign': firstPage.utm.campaign,\n\n //hubspot essential fields\n 'source': sourceValue,\n 'source_direction': sourceDirectionValue,\n 'contact_type': contactTypeValue,\n\n\n // Journey metadata\n 'userjourney': JSON.stringify(journey.userJourney),\n 'device': journey.deviceCategory,\n 'browser': journey.browser,\n\n // Refferer and host\n 'refferer_domain': document.referrer ? new URL(document.referrer).hostname : '',\n 'host_url': window.location.hostname,\n\n //current page URL\n 'current-page-url': window.location.href,\n };\n\n // Find and fill each form field\n Object.entries(fieldMappings).forEach(([attributeValue, data]) => {\n fillFormField(attributeValue, data);\n });\n\n //console.log('Form fields filled with user journey data');\n\n } catch (error: unknown) {\n console.error('Error filling form with user journey data:', error);\n }\n}\n\n/**\n * Helper function to get user journey data from session storage\n */\nfunction getUserJourneyData(): UserJourney | null {\n try {\n const storedData: string | null = localStorage.getItem('userJourney');\n return storedData ? JSON.parse(storedData) as UserJourney : null;\n } catch (error: unknown) {\n console.error('Error getting user journey data:', error);\n return null;\n }\n}\n\n/**\n * Helper function to find and fill a specific form field\n */\nfunction fillFormField(attributeValue: string, data: string): void {\n try {\n const selector = `[fynd-queryparam-name=\"${attributeValue}\"]`;\n const elements = document.querySelectorAll(selector);\n\n if (elements.length > 0) {\n elements.forEach((element: any) => {\n element.value = data;\n\n // Trigger input event\n const inputEvent = new Event('input', { bubbles: true });\n element.dispatchEvent(inputEvent);\n\n // Trigger change event\n const changeEvent = new Event('change', { bubbles: true });\n element.dispatchEvent(changeEvent);\n });\n } else {\n // console.log(`No fields found for attribute [${attributeValue}]`);\n }\n } catch (error) {\n console.error(`Error filling field [${attributeValue}]:`, error);\n }\n}\n\n/**\n * Fill form fields based on a key-value object.\n * Looks for elements with attribute fynd-form-field=\"<key>\"\n */\nfunction fillTestFormFields(data: Record<string, string>): void {\n try {\n Object.entries(data).forEach(([fieldKey, fieldValue]) => {\n const selector = `[fynd-form-field=\"${fieldKey}\"]`;\n const elements = document.querySelectorAll(selector);\n\n if (elements.length > 0) {\n elements.forEach((element: any) => {\n element.value = fieldValue;\n\n // Dispatch input and change so frameworks react properly\n const inputEvent = new Event('input', { bubbles: true });\n element.dispatchEvent(inputEvent);\n\n const changeEvent = new Event('change', { bubbles: true });\n element.dispatchEvent(changeEvent);\n });\n }\n });\n } catch (error) {\n console.error('Error filling test form fields', error);\n }\n}\n\n/**\n * Format an array of strings into\n * \"A; B; C\" style output\n */\nfunction formatSelectValues(values: string[]): string {\n if (!Array.isArray(values)) return '';\n return values.join('; ');\n}\n\n/**\n * Returns true if current page is NOT under /solutions/\n */\nfunction shouldRunProductInterestLogic(): boolean {\n const path = window.location.pathname;\n return !path.startsWith('/solutions/');\n}\n\n/** Fills inputs based on solution mapping if on a /solutions/ page\n */\nfunction applySolutionMapping() {\n const path = window.location.pathname;\n\n const match = solutionMappingConfigs.find(cfg => cfg.slug === path);\n if (!match) return;\n\n const formatted = formatSelectValues(match.selectValues);\n\n const inputs = document.querySelectorAll('[fynd-form-field=\"product-interested-input\"]');\n\n inputs.forEach(el => {\n if (el instanceof HTMLInputElement || el instanceof HTMLSelectElement || el instanceof HTMLTextAreaElement) {\n el.value = formatted;\n } else {\n el.textContent = formatted;\n }\n });\n}\n\n/**\n * Fills all inputs with fynd-form-field=\"product-interested-input\"\n * based on the selected option in the product-interested-select field(s)\n */\nfunction setupProductInterestAutoFill(): void {\n const selectWrapper = '[fynd-wrapper-field=\"product-interested-select\"]';\n\n const selectSelector = '[fynd-form-field=\"product-interested-select\"]';\n const inputSelector = '[fynd-form-field=\"product-interested-input\"]';\n\n const selects = document.querySelectorAll<HTMLSelectElement>(selectSelector);\n const inputs = document.querySelectorAll<HTMLInputElement | HTMLTextAreaElement>(inputSelector);\n\n const selectContainers = document.querySelectorAll<HTMLElement>(selectWrapper);\n\n // If inside /solutions/... hide all these fields\n if (!shouldRunProductInterestLogic()) {\n applySolutionMapping();\n selectContainers.forEach(select => {\n select.style.display = 'none';\n });\n return;\n }\n\n // Outside solutions -> ensure they are visible\n selectContainers.forEach(select => {\n select.style.display = 'flex';\n });\n\n // No selects present, nothing else to do\n if (!selects.length) {\n return;\n }\n\n // Normal behaviour for non-solutions pages\n selects.forEach(select => {\n select.addEventListener('change', () => {\n const selectedValue = select.value;\n\n const config = productInterestConfigs.find(\n item => item.optionName === selectedValue\n );\n\n const valueToFill = config\n ? formatSelectValues(config.selectValues)\n : '';\n\n inputs.forEach(input => {\n input.value = valueToFill;\n\n const inputEvent = new Event('input', { bubbles: true });\n input.dispatchEvent(inputEvent);\n\n const changeEvent = new Event('change', { bubbles: true });\n input.dispatchEvent(changeEvent);\n });\n });\n });\n}\n\n// Execute the function on DOM load with 500ms delay\ndocument.addEventListener('DOMContentLoaded', (): void => {\n setTimeout(() => {\n fillFormWithUserJourney();\n setupProductInterestAutoFill();\n // // For testing purposes, fill other fields as well\n // const testData = {\n // firstName: 'Kobe',\n // lastName: 'Brant',\n // email: 'kobe@example.com',\n // phone: '9999999999',\n // message: 'Hello, this is a test message!',\n // };\n // fillTestFormFields(testData);\n // // End of testing code\n }, 500);\n});\n\n// Also execute immediately if DOM is already loaded\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', (): void => {\n setTimeout(() => {\n fillFormWithUserJourney();\n }, 500);\n });\n} else {\n setTimeout(() => {\n fillFormWithUserJourney();\n }, 500);\n}\n\n// Make function globally accessible\ndeclare global {\n interface Window {\n fillFormWithUserJourney: () => void;\n }\n}\n\n// Attach function to window object for global access\nwindow.fillFormWithUserJourney = fillFormWithUserJourney;\n\n// Export function for module usage\nexport { fillFormWithUserJourney };"],
|
|
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;AAAA,EAEP;;;
|
|
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", "// formFiller.ts - Auto-fill form fields with user journey data\nimport { UserJourney, TouchPoint } from './types';\n\ntype ProductInterestConfig = {\n optionName: string;\n selectValues: string[];\n};\n\ntype solutionMappingConfig = {\n slug: string;\n selectValues: string[];\n}\nconst productInterestConfigs: ProductInterestConfig[] = [\n {\n \"optionName\": \"Building a website\",\n \"selectValues\": [\"Storefront\", \"Commerce\"]\n },\n {\n \"optionName\": \"Supply chain solutions\",\n \"selectValues\": [\"WMS\", \"OMS\", \"TMS\", \"Commerce\"]\n },\n {\n \"optionName\": \"Retail store solutions\",\n \"selectValues\": [\"Store OS\", \"Commerce\"]\n },\n {\n \"optionName\": \"Sell on Marketplaces\",\n \"selectValues\": [\"Konnect\", \"Commerce\"]\n },\n {\n \"optionName\": \"AI solutions\",\n \"selectValues\": [\"Kaily, Workflow builder, AI photoshoot\"]\n },\n {\n \"optionName\": \"Fashion manufacturing solution\",\n \"selectValues\": [\"GaaS\", \"DaaS\"]\n },\n];\nconst solutionMappingConfigs: solutionMappingConfig[] = [\n {\n \"slug\": \"/solutions/transport-management-system\",\n \"selectValues\": [\"TMS\", \"Commerce\"]\n }, {\n \"slug\": \"/solutions/storefront\",\n \"selectValues\": [\"Storefront\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/wms\",\n \"selectValues\": [\"WMS\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/order-management-system\",\n \"selectValues\": [\"OMS\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/order-management-system\",\n \"selectValues\": [\"OMS\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/fynd-quick\",\n \"selectValues\": [\"Quick Commerce\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/b2b-commerce\",\n \"selectValues\": [\"Commerce B2B\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/ai-pim\",\n \"selectValues\": [\"AI PIM\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/konnect-integrations\",\n \"selectValues\": [\"OMS\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/logistics\",\n \"selectValues\": [\"Fynd Logistics\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/returns-management-system\",\n \"selectValues\": [\"StoreOS\"]\n },\n {\n \"slug\": \"/solutions/pos\",\n \"selectValues\": [\"StoreOS\", \"POS\"]\n },\n {\n \"slug\": \"/solutions/endless-aisle\",\n \"selectValues\": [\"StoreOS\", \"Endless Aisle\"]\n },\n {\n \"slug\": \"/solutions/clienteling\",\n \"selectValues\": [\"StoreOS\", \"Clienteling\"]\n },\n {\n \"slug\": \"/solutions/self-checkout\",\n \"selectValues\": [\"StoreOS\", \"Self Checkout Kiosk\"]\n },\n {\n \"slug\": \"/solutions/engage\",\n \"selectValues\": [\"Engage\", \"Commerce\"]\n },\n {\n \"slug\": \"/solutions/forge\",\n \"selectValues\": [\"Forge\"]\n },\n {\n \"slug\": \"/solutions/ai-photoshoots\",\n \"selectValues\": [\"Snap\"]\n },\n {\n \"slug\": \"/solutions/ai-agent-builder\",\n \"selectValues\": [\"Kaily\"]\n },\n {\n \"slug\": \"/solutions/workflow-automation\",\n \"selectValues\": [\"Boltic\"]\n },\n {\n \"slug\": \"/solutions/3d-ar-vr-try-ons\",\n \"selectValues\": [\"GlamAR\"]\n },\n {\n \"slug\": \"/solutions/ai-editing-for-commerce\",\n \"selectValues\": [\"Pixelbin\"]\n },\n {\n \"slug\": \"/solutions/ai-photoshoots\",\n \"selectValues\": [\"Create Design\"]\n },\n\n]\n/**\n * Fills form input fields with user journey data based on fynd-queryparam-name attributes\n */\nfunction fillFormWithUserJourney(): void {\n try {\n // Get user journey data from session storage\n const journey: UserJourney | null = getUserJourneyData();\n\n const sourceValue = 'Inbound Form';\n const sourceDirectionValue = 'Inbound';\n const contactTypeValue = 'Prospect';\n\n if (!journey || journey.userJourney.length === 0) {\n //console.log('No user journey data available to fill form fields');\n return;\n }\n\n // Get first page (landing page) and last page data\n const firstPage: TouchPoint = journey.userJourney[0];\n let lastPage: TouchPoint = journey.userJourney[journey.userJourney.length - 1];\n\n // If current page is contact-us, use the previous page as last page\n if (journey.userJourney.length > 1 &&\n journey.userJourney[journey.userJourney.length - 1].page === '/contact-us') {\n lastPage = journey.userJourney[journey.userJourney.length - 2];\n }\n\n // Define the mapping of attribute values to data\n const fieldMappings: Record<string, string> = {\n // UTM parameters\n 'utm_source': firstPage.utm.source,\n 'utm_medium': firstPage.utm.medium,\n 'utm_campaign': firstPage.utm.campaign,\n\n //hubspot essential fields\n 'source': sourceValue,\n 'source_direction': sourceDirectionValue,\n 'contact_type': contactTypeValue,\n\n\n // Journey metadata\n 'userjourney': JSON.stringify(journey.userJourney),\n 'device': journey.deviceCategory,\n 'browser': journey.browser,\n\n // Refferer and host\n 'refferer_domain': document.referrer ? new URL(document.referrer).hostname : '',\n 'host_url': window.location.hostname,\n\n //current page URL\n 'current-page-url': window.location.href,\n };\n\n // Find and fill each form field\n Object.entries(fieldMappings).forEach(([attributeValue, data]) => {\n fillFormField(attributeValue, data);\n });\n\n //console.log('Form fields filled with user journey data');\n\n } catch (error: unknown) {\n console.error('Error filling form with user journey data:', error);\n }\n}\n\n/**\n * Helper function to get user journey data from session storage\n */\nfunction getUserJourneyData(): UserJourney | null {\n try {\n const storedData: string | null = localStorage.getItem('userJourney');\n return storedData ? JSON.parse(storedData) as UserJourney : null;\n } catch (error: unknown) {\n console.error('Error getting user journey data:', error);\n return null;\n }\n}\n\n/**\n * Helper function to find and fill a specific form field\n */\nfunction fillFormField(attributeValue: string, data: string): void {\n try {\n const selector = `[fynd-queryparam-name=\"${attributeValue}\"]`;\n const elements = document.querySelectorAll(selector);\n\n if (elements.length > 0) {\n elements.forEach((element: any) => {\n element.value = data;\n\n // Trigger input event\n const inputEvent = new Event('input', { bubbles: true });\n element.dispatchEvent(inputEvent);\n\n // Trigger change event\n const changeEvent = new Event('change', { bubbles: true });\n element.dispatchEvent(changeEvent);\n });\n } else {\n // console.log(`No fields found for attribute [${attributeValue}]`);\n }\n } catch (error) {\n console.error(`Error filling field [${attributeValue}]:`, error);\n }\n}\n\n/**\n * Fill form fields based on a key-value object.\n * Looks for elements with attribute fynd-form-field=\"<key>\"\n */\nfunction fillTestFormFields(data: Record<string, string>): void {\n try {\n Object.entries(data).forEach(([fieldKey, fieldValue]) => {\n const selector = `[fynd-form-field=\"${fieldKey}\"]`;\n const elements = document.querySelectorAll(selector);\n\n if (elements.length > 0) {\n elements.forEach((element: any) => {\n element.value = fieldValue;\n\n // Dispatch input and change so frameworks react properly\n const inputEvent = new Event('input', { bubbles: true });\n element.dispatchEvent(inputEvent);\n\n const changeEvent = new Event('change', { bubbles: true });\n element.dispatchEvent(changeEvent);\n });\n }\n });\n } catch (error) {\n console.error('Error filling test form fields', error);\n }\n}\n\n/**\n * Format an array of strings into\n * \"A; B; C\" style output\n */\nfunction formatSelectValues(values: string[]): string {\n if (!Array.isArray(values)) return '';\n return values.join('; ');\n}\n\n/**\n * Returns true if current page is NOT under /solutions/\n */\nfunction shouldRunProductInterestLogic(): boolean {\n const path = window.location.pathname;\n return !path.startsWith('/solutions/');\n}\n\n/** Fills inputs based on solution mapping if on a /solutions/ page\n */\nfunction applySolutionMapping() {\n const path = window.location.pathname;\n\n const match = solutionMappingConfigs.find(cfg => cfg.slug === path);\n if (!match) return;\n\n const formatted = formatSelectValues(match.selectValues);\n\n const inputs = document.querySelectorAll('[fynd-form-field=\"product-interested-input\"]');\n\n inputs.forEach(el => {\n if (el instanceof HTMLInputElement || el instanceof HTMLSelectElement || el instanceof HTMLTextAreaElement) {\n el.value = formatted;\n } else {\n el.textContent = formatted;\n }\n });\n}\n\n/**\n * Fills all inputs with fynd-form-field=\"product-interested-input\"\n * based on the selected option in the product-interested-select field(s)\n */\nfunction setupProductInterestAutoFill(): void {\n const selectWrapper = '[fynd-wrapper-field=\"product-interested-select\"]';\n\n const selectSelector = '[fynd-form-field=\"product-interested-select\"]';\n const inputSelector = '[fynd-form-field=\"product-interested-input\"]';\n\n const selects = document.querySelectorAll<HTMLSelectElement>(selectSelector);\n const inputs = document.querySelectorAll<HTMLInputElement | HTMLTextAreaElement>(inputSelector);\n\n const selectContainers = document.querySelectorAll<HTMLElement>(selectWrapper);\n\n // If inside /solutions/... hide all these fields\n if (!shouldRunProductInterestLogic()) {\n applySolutionMapping();\n selectContainers.forEach(select => {\n select.style.display = 'none';\n });\n return;\n }\n\n // Outside solutions -> ensure they are visible\n selectContainers.forEach(select => {\n select.style.display = 'flex';\n });\n\n // No selects present, nothing else to do\n if (!selects.length) {\n return;\n }\n\n // Normal behaviour for non-solutions pages\n selects.forEach(select => {\n select.addEventListener('change', () => {\n const selectedValue = select.value;\n\n const config = productInterestConfigs.find(\n item => item.optionName === selectedValue\n );\n\n const valueToFill = config\n ? formatSelectValues(config.selectValues)\n : '';\n\n inputs.forEach(input => {\n input.value = valueToFill;\n\n const inputEvent = new Event('input', { bubbles: true });\n input.dispatchEvent(inputEvent);\n\n const changeEvent = new Event('change', { bubbles: true });\n input.dispatchEvent(changeEvent);\n });\n });\n });\n}\n\n// Execute the function on DOM load with 500ms delay\ndocument.addEventListener('DOMContentLoaded', (): void => {\n setTimeout(() => {\n fillFormWithUserJourney();\n setupProductInterestAutoFill();\n // // For testing purposes, fill other fields as well\n // const testData = {\n // firstName: 'Kobe',\n // lastName: 'Brant',\n // email: 'kobe@example.com',\n // phone: '9999999999',\n // message: 'Hello, this is a test message!',\n // };\n // fillTestFormFields(testData);\n // // End of testing code\n }, 500);\n});\n\n// Also execute immediately if DOM is already loaded\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', (): void => {\n setTimeout(() => {\n fillFormWithUserJourney();\n }, 500);\n });\n} else {\n setTimeout(() => {\n fillFormWithUserJourney();\n }, 500);\n}\n\n// Make function globally accessible\ndeclare global {\n interface Window {\n fillFormWithUserJourney: () => void;\n }\n}\n\n// Attach function to window object for global access\nwindow.fillFormWithUserJourney = fillFormWithUserJourney;\n\n// Export function for module usage\nexport { fillFormWithUserJourney };"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED