{"version":3,"sources":["webpack://web/./Scripts/react/react-mount/components.tsx","webpack://web/./Scripts/react/react-mount/ReactMount.tsx","webpack://web/./Scripts/react/react-mount/index.tsx"],"names":["TestMount","lazy","then","c","default","PayBill","DefaultPaymentMethod","AddAHead","GetAQuote","PaymentMethodSelector","PayBillConfirmation","AddProductToProductFeedModal","ModifyAStyle","SubmitASketch","SubmitACadDesign","SubmitAWaxOrResinModel","Resubmit","ResubmitWithOracleAlert","StullerPayPdpCallout","StullerPayFinancingTerms","StullerPayCheckoutIneligibleModal","StullerPayCheckoutOracleDownModal","ShipDateStatus","ShipCompleteOptionSelector","StullerPayDashboard","PdpToolbar","PdpImageSection","CadCamProjectTracker","PdpCisBadgeContainer","PasswordSetLinkExpired","ShippingDocumentsModal","MarketplaceProfile","UseNewPageBanner","withSuspense","component","Component","props","_jsx","Suspense","Object","fallback","LoadingIndicator","loading","position","children","components","ReactMountPortal","memo","target","name","createPortal","node","document","querySelector","render","BrowserRouter","ApolloProvider","client","useState","portals","setPortals","useMutationObserver","removeTargets","portal","body","contains","push","length","ps","filter","p","some","t","useStullerEventListener","event","detail","_a","newP","index","findIndex","console","error","map","i"],"mappings":"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","file":"react-mount.256e2efff9688be00b24.react.bundle.js","sourcesContent":["import { LoadingIndicator } from '@web/shared-ui-components'\nimport { lazy, ReactElement, Suspense } from 'react'\nconst TestMount = lazy(async () => await import('./TestMount').then(c => ({ default: c.TestMount })))\nconst PayBill = lazy(async () => await import('@web/receivables-pay-bill').then(c => ({ default: c.PayBill })))\nconst DefaultPaymentMethod = lazy(async () => await import('@web/payment-methods').then(c => ({ default: c.DefaultPaymentMethod })))\nconst AddAHead = lazy(async () => await import('@web/products').then(c => ({ default: c.AddAHead })))\nconst GetAQuote = lazy(async () => await import('@web/quote').then(c => ({ default: c.GetAQuote })))\nconst PaymentMethodSelector = lazy(async () => await import('@web/payment-methods').then(c => ({ default: c.PaymentMethodSelector })))\nconst PayBillConfirmation = lazy(async () => await import('@web/receivables-pay-bill').then(c => ({ default: c.PayBillConfirmation })))\nconst AddProductToProductFeedModal = lazy(async () => await import('@web/products').then(c => ({ default: c.AddProductToProductFeedModal })))\nconst ModifyAStyle = lazy(async () => await import('@web/cadcam-modify-a-style').then(c => ({ default: c.ModifyAStyle })))\nconst SubmitASketch = lazy(async () => await import('@web/cadcam-submit-a-sketch').then(c => ({ default: c.SubmitASketch })))\nconst SubmitACadDesign = lazy(async () => await import('@web/cadcam-submit-a-cad-design').then(c => ({ default: c.SubmitACadDesign })))\nconst SubmitAWaxOrResinModel = lazy(async () => await import('libs/cadcam/feature/submit-a-wax-or-resin-model').then(c => ({ default: c.SubmitAWaxOrResinModel })))\nconst Resubmit = lazy(async () => await import('@web/cadcam-resubmit').then(c => ({ default: c.Resubmit })))\nconst ResubmitWithOracleAlert = lazy(async () => await import('@web/cadcam-resubmit').then(c => ({ default: c.ResubmitWithOracleAlert })))\nconst StullerPayPdpCallout = lazy(async () => (await import('@web/payment-methods').then(c => ({ default: c.StullerPayPdpCallout }))))\nconst StullerPayFinancingTerms = lazy(async () => (await import('@web/payment-methods').then(c => ({ default: c.StullerPayFinancingTerms }))))\nconst StullerPayCheckoutIneligibleModal = lazy(async () => (await import('@web/payment-methods').then(c => ({ default: c.StullerPayCheckoutIneligibleModal }))))\nconst StullerPayCheckoutOracleDownModal = lazy(async () => (await import('@web/payment-methods').then(c => ({ default: c.StullerPayCheckoutOracleDownModal }))))\nconst ShipDateStatus = lazy(async () => (await import('@web/shipments').then(c => ({ default: c.ShipDateStatus }))))\nconst ShipCompleteOptionSelector = lazy(async () => (await import('@web/shipment-methods').then(c => ({ default: c.ShipCompleteOptionSelector }))))\nconst StullerPayDashboard = lazy(async () => (await import('libs/receivables/feature/stullerpay-dashboard').then(c => ({ default: c.StullerPayDashboard }))))\nconst PdpToolbar = lazy(async () => (await import('@web/pdp').then(c => ({ default: c.PdpToolbar }))))\nconst PdpImageSection = lazy(async () => (await import('@web/pdp').then(c => ({ default: c.PdpImageSection }))))\nconst CadCamProjectTracker = lazy(async () => (await import('@web/cadcam-project-details').then(c => ({ default: c.CadCamProjectTracker }))))\nconst PdpCisBadgeContainer = lazy(async () => (await import('@web/pdp').then(c => ({ default: c.PdpCisBadgeContainer }))))\nconst PasswordSetLinkExpired = lazy(async () => (await import('@web/users').then(c => ({ default: c.PasswordSetLinkExpired }))))\nconst ShippingDocumentsModal = lazy(async () => (await import('@web/cadcam-project-details').then(c => ({ default: c.ShippingDocumentsModal }))))\nconst MarketplaceProfile = lazy(async () => await import('@web/marketplace-solutions-profile').then(c => ({ default: c.MarketplaceProfile })))\nconst UseNewPageBanner = lazy(async () => await import('@web/piloting').then(c => ({ default: c.UseNewPageBanner })))\n\n/**\n * HOC to add Suspense w/ loading indicator for each component\n */\nfunction withSuspense (component): (props: any) => ReactElement {\n const Component = component\n\n return (props) => (\n }>\n \n \n )\n}\n\n/**\n * React components that can be used for react mount\n */\nconst components = {\n TestMount: withSuspense(TestMount),\n DefaultPaymentMethod: withSuspense(DefaultPaymentMethod),\n PayBill: withSuspense(PayBill),\n AddAHead: withSuspense(AddAHead),\n GetAQuote: withSuspense(GetAQuote),\n PaymentMethodSelector: withSuspense(PaymentMethodSelector),\n PayBillConfirmation: withSuspense(PayBillConfirmation),\n AddProductToProductFeedModal: withSuspense(AddProductToProductFeedModal),\n ModifyAStyle: withSuspense(ModifyAStyle),\n SubmitASketch: withSuspense(SubmitASketch),\n SubmitACadDesign: withSuspense(SubmitACadDesign),\n SubmitAWaxOrResinModel: withSuspense(SubmitAWaxOrResinModel),\n Resubmit: withSuspense(Resubmit),\n ResubmitWithOracleAlert: withSuspense(ResubmitWithOracleAlert),\n StullerPayPdpCallout: withSuspense(StullerPayPdpCallout),\n StullerPayFinancingTerms: withSuspense(StullerPayFinancingTerms),\n StullerPayCheckoutIneligibleModal: withSuspense(StullerPayCheckoutIneligibleModal),\n StullerPayCheckoutOracleDownModal: withSuspense(StullerPayCheckoutOracleDownModal),\n ShipDateStatus: withSuspense(ShipDateStatus),\n ShipCompleteOptionSelector: withSuspense(ShipCompleteOptionSelector),\n StullerPayDashboard: withSuspense(StullerPayDashboard),\n PdpToolbar: withSuspense(PdpToolbar),\n PdpImageSection: withSuspense(PdpImageSection),\n CadCamProjectTracker: withSuspense(CadCamProjectTracker),\n PdpCisBadgeContainer: withSuspense(PdpCisBadgeContainer),\n PasswordSetLinkExpired: withSuspense(PasswordSetLinkExpired),\n ShippingDocumentsModal: withSuspense(ShippingDocumentsModal),\n MarketplaceProfile: withSuspense(MarketplaceProfile),\n UseNewPageBanner: withSuspense(UseNewPageBanner)\n}\n\nexport {\n components\n}\n","import { memo, ReactElement, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { useStullerEventListener, StullerEvents } from '@web/shared-util-stuller-events'\nimport { useMutationObserver } from '@web/shared-util-hooks'\nimport { components } from './components'\n\n/**\n * An individual React mount via `createPortal`\n */\nconst ReactMountPortal = memo(({ target, name, props }: StullerEvents['react-mount']): ReactElement => {\n const Component = components[name]\n\n return createPortal(, target)\n})\n\n/**\n * Listens for Stuller events to mount React components to elements\n */\nfunction ReactMount (): ReactElement {\n const [portals, setPortals] = useState>([])\n\n // Watch for changes to the DOM to remove portals when the elements are removed\n useMutationObserver(() => {\n const removeTargets: HTMLElement[] = []\n for (const portal of portals) {\n if (!document.body.contains(portal.target)) {\n removeTargets.push(portal.target)\n }\n }\n\n if (removeTargets.length > 0) {\n setPortals(ps => ps.filter(p => !removeTargets.some(t => t === p.target)))\n }\n })\n\n // Wait for events to add new mounts\n useStullerEventListener('react-mount', event => {\n const { target, name } = event.detail ?? {}\n\n if (event.detail == null || target == null || !document.body.contains(target)) {\n console.error('react-mount target not found for', name)\n return\n }\n\n if (name == null || components[name] == null) {\n console.error('react-mount component name not found')\n return\n }\n\n // If info sent looks good, add/replace new React mount\n setPortals(ps => {\n const newP = [...ps]\n\n if (event.detail != null) {\n const index = ps.findIndex(p => p.target === target)\n\n if (index > -1) {\n newP[index] = event.detail\n } else {\n newP.push(event.detail)\n }\n }\n\n return newP\n })\n })\n\n return (\n <>\n {portals.map((p, i) => )}\n \n )\n}\n\nexport {\n ReactMount\n}\n","import { ReactElement, ReactNode } from 'react'\nimport { render } from 'react-dom'\nimport { BrowserRouter } from 'react-router-dom'\nimport { client, ApolloProvider } from '@web/shared-data-access-apollo'\nimport { ReactMount } from './ReactMount'\n\ninterface AppProps {\n /**\n * Children of element\n */\n children: ReactNode\n}\n\n/**\n * React entry for components\n */\nfunction App ({ children }: AppProps): ReactElement {\n return (\n \n \n {children}\n \n \n )\n}\n\n// Start the react components app\nconst node = document.querySelector('#react-mount-react-container')\n\nrender(, node)\n"],"sourceRoot":""}