{"version":3,"mappings":"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","names":["globModules","nodes","WithCallback","callback","children","once","useRef","useLayoutEffect","getReactRoot","el","root","ReactDOM","renderElement","node","resolve","reactModule","Component","nodeList","modules","__vitePreload","modules$1","isStorybook","body","create","PUBLIC_PATH","svgXHR","options","url","baseUrl","_ajax","_fullPath","div","domready","svgxhr"],"sources":["../../FrontEnd/PDP-FE/src/scripts/glob-modules.ts","../../FrontEnd/PDP-FE/src/scripts/helpers/react-18-shim.tsx","../../FrontEnd/PDP-FE/src/scripts/modules.tsx","../../FrontEnd/PDP-FE/src/scripts/index.ts","../../FrontEnd/PDP-FE/config.ts","../../FrontEnd/PDP-FE/src/scripts/helpers/svgxhr.ts","../../FrontEnd/PDP-FE/main.js"],"sourcesContent":["import type { Organism } from '@verndale/core';\n\nconst globModules: Organism[] = [];\n\nexport default globModules;\n","import React, { FC, ReactElement, useLayoutEffect, useRef } from 'react';\nimport ReactDOM, { Root as ReactRoot } from 'react-dom/client';\n\nconst nodes = new Map();\n\nconst WithCallback: FC<{ callback: () => void; children: ReactElement }> = ({\n callback,\n children\n}) => {\n const once = useRef<() => void>();\n useLayoutEffect(() => {\n if (once.current === callback) return;\n once.current = callback;\n callback();\n }, [callback]);\n\n return children;\n};\n\nconst getReactRoot = async (el: Element): Promise => {\n let root = nodes.get(el);\n\n if (!root) {\n root = ReactDOM.createRoot(el);\n nodes.set(el, root);\n }\n\n return root;\n};\n\nexport const renderElement = async (node: ReactElement, el: Element) => {\n // Create Root Element conditionally for new React 18 Root Api\n const root = await getReactRoot(el);\n\n return new Promise(resolve => {\n root?.render( resolve(null)}>{node});\n });\n};\n","import React from 'react';\nimport type { Organism } from '@verndale/core';\nimport globModules from './glob-modules';\nimport { renderElement } from './helpers/react-18-shim';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst reactModule = (Component: any, nodeList: NodeListOf) => {\n return nodeList.forEach(node => {\n renderElement(, node);\n });\n};\n\nconst modules: Organism[] = [\n {\n name: 'Accordion',\n loader: () => import('./modules/accordion')\n },\n {\n name: 'MockApi',\n styles: () => import('../scss/modules/mock-api.scss'),\n loader: () => import('./modules/mockApi'),\n render: reactModule\n },\n {\n name: 'MediaGallery',\n loader: () => import('./modules/media-gallery')\n },\n {\n name: 'Lightbox',\n loader: () => import('./modules/lightbox')\n },\n {\n name: 'RecommendedSlider',\n loader: () => import('./modules/recommended-slider')\n },\n {\n name: 'BoatDetailsModal',\n loader: () => import('./modules/boat-details-modal')\n },\n {\n name: 'ResourcesBlock',\n loader: () => import('./modules/resources-block')\n },\n {\n name: 'TagsRow',\n loader: () => import('./modules/tags-row')\n },\n {\n name: 'FormsBlock',\n loader: () => import('./modules/forms-block')\n },\n {\n name: 'StickyNav',\n loader: () => import('./modules/sticky-nav')\n },\n {\n name: 'LoanCalculator',\n loader: () => import('./modules/loan-calculator')\n },\n {\n name: 'FormsBlockBtn',\n loader: () => import('./modules/forms-block-btn')\n }\n];\n\nexport default [...globModules, ...modules];\n","import 'focus-visible';\nimport create from '@verndale/core';\nimport modules from './modules';\n\nconst isStorybook = !!document.getElementById('storybook-root');\nconst body = document.querySelector('body') as HTMLBodyElement;\nif (!document.getElementById('storybook-docs')) {\n body.dataset.modulesLoaded = 'false';\n}\n\ndocument.addEventListener(\n 'DOMContentLoaded',\n async () => {\n if (body.dataset.modulesLoaded || isStorybook) {\n create(modules).then(() => {\n body.dataset.modulesLoaded = 'true';\n });\n }\n },\n false\n);\n","// Public path\n// if set, make sure it ends with /\n// e.g. 'assets/'\nexport const PUBLIC_PATH = 'Areas/MM/Content/';\n","type SvgXHRProps = {\n filename: string;\n};\n\nconst svgXHR = (options: SvgXHRProps) => {\n let url: string | undefined = undefined;\n let baseUrl: string | undefined = undefined;\n\n options && options.filename ? (url = options.filename) : null;\n\n if (!url) return;\n let _ajax = new XMLHttpRequest();\n\n if (typeof XMLHttpRequest !== 'undefined') {\n _ajax = new XMLHttpRequest();\n }\n\n if (typeof baseUrl === 'undefined') {\n if (typeof baseUrl !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n baseUrl = (window as any).baseUrl;\n } else {\n baseUrl =\n window.location.protocol +\n '//' +\n window.location.hostname +\n (window.location.port ? ':' + window.location.port : '');\n }\n }\n\n const _fullPath = (baseUrl + '/' + url).replace(/([^:]\\/)\\/+/g, '$1');\n _ajax.open('GET', _fullPath, true);\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _ajax.onprogress = function () {};\n _ajax.onload = function () {\n if (_ajax.status < 200 || _ajax.status >= 300) {\n return;\n }\n\n if (!_ajax.responseText || _ajax.responseText.substr(0, 5) !== ' {\n document.body.insertBefore(div, document.body.childNodes[0]);\n });\n };\n _ajax.send();\n};\n\nconst domready = (callback: () => void) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n callback();\n } else {\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\nexport default svgXHR;\n","import 'vite/modulepreload-polyfill';\nimport './src/scripts/index';\nimport { PUBLIC_PATH } from './config';\nimport svgxhr from './src/scripts/helpers/svgxhr';\nimport.meta.glob('./src/static/images/**/*');\n\nsvgxhr({ filename: `/${PUBLIC_PATH}images/svgsheet.svg` });\n"],"file":"Areas/MM/Content/scripts/main.bundle.js"}