/opt/canhelp/node_modules/next/dist/esm/client
NameSizeModeActions
app-dir/-0755rm
compat/-0755rm
components/-0755rm
dev/-0755rm
legacy/-0755rm
lib/-0755rm
portal/-0755rm
react-client-callbacks/-0755rm
request/-0755rm
tracing/-0755rm
add-base-path.js4330644editdlrm
add-base-path.js.map9780644editdlrm
add-locale.js5010644editdlrm
add-locale.js.map8990644editdlrm
app-bootstrap.js22100644editdlrm
app-bootstrap.js.map39640644editdlrm
app-build-id.js9850644editdlrm
app-build-id.js.map14180644editdlrm
app-call-server.js6000644editdlrm
app-call-server.js.map10410644editdlrm
app-find-source-map-url.js11240644editdlrm
app-find-source-map-url.js.map20810644editdlrm
app-globals.js3010644editdlrm
app-globals.js.map6000644editdlrm
app-index.js102280644editdlrm
app-index.js.map172380644editdlrm
app-link-gc.js40250644editdlrm
app-link-gc.js.map51460644editdlrm
app-next-dev.js7330644editdlrm
app-next-dev.js.map12640644editdlrm
app-next-turbopack.js8430644editdlrm
app-next-turbopack.js.map16820644editdlrm
app-next.js8560644editdlrm
app-next.js.map12660644editdlrm
app-webpack.js27270644editdlrm
app-webpack.js.map32070644editdlrm
assign-location.js9950644editdlrm
assign-location.js.map15570644editdlrm
detect-domain-locale.js3800644editdlrm
detect-domain-locale.js.map7110644editdlrm
flight-data-helpers.js50880644editdlrm
flight-data-helpers.js.map86570644editdlrm
form-shared.js55520644editdlrm
form-shared.js.map106220644editdlrm
form.js52120644editdlrm
form.js.map83060644editdlrm
get-domain-locale.js9980644editdlrm
get-domain-locale.js.map24510644editdlrm
has-base-path.js2570644editdlrm
has-base-path.js.map5980644editdlrm
head-manager.js49880644editdlrm
head-manager.js.map83200644editdlrm
image-component.js128780644editdlrm
image-component.js.map214460644editdlrm
index.js312570644editdlrm
index.js.map527990644editdlrm
link.js181650644editdlrm
link.js.map343940644editdlrm
next-dev-turbopack.js14170644editdlrm
next-dev-turbopack.js.map30540644editdlrm
next-dev.js6260644editdlrm
next-dev.js.map12300644editdlrm
next-turbopack.js11660644editdlrm
next-turbopack.js.map23970644editdlrm
next.js3830644editdlrm
next.js.map8930644editdlrm
normalize-locale-path.js3390644editdlrm
normalize-locale-path.js.map8720644editdlrm
normalize-trailing-slash.js9350644editdlrm
normalize-trailing-slash.js.map17360644editdlrm
page-bootstrap.js63140644editdlrm
page-bootstrap.js.map90250644editdlrm
page-loader.js68200644editdlrm
page-loader.js.map122200644editdlrm
remove-base-path.js5260644editdlrm
remove-base-path.js.map11380644editdlrm
remove-locale.js6000644editdlrm
remove-locale.js.map13010644editdlrm
request-idle-callback.js6340644editdlrm
request-idle-callback.js.map13920644editdlrm
resolve-href.js48160644editdlrm
resolve-href.js.map79830644editdlrm
route-announcer.js23460644editdlrm
route-announcer.js.map35230644editdlrm
route-loader.js130750644editdlrm
route-loader.js.map230360644editdlrm
route-params.js68150644editdlrm
route-params.js.map108220644editdlrm
router.js58730644editdlrm
router.js.map88450644editdlrm
script.js126190644editdlrm
script.js.map187110644editdlrm
set-attributes-from-props.js18170644editdlrm
set-attributes-from-props.js.map31010644editdlrm
trusted-types.js14100644editdlrm
trusted-types.js.map19560644editdlrm
use-client-disallowed.js4760644editdlrm
use-client-disallowed.js.map7390644editdlrm
use-intersection.js32480644editdlrm
use-intersection.js.map66470644editdlrm
use-merged-ref.js23450644editdlrm
use-merged-ref.js.map35660644editdlrm
web-vitals.js4910644editdlrm
web-vitals.js.map10050644editdlrm
webpack.js18770644editdlrm
webpack.js.map25420644editdlrm
with-router.js7810644editdlrm
with-router.js.map19350644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/client/head-manager.js.map (8320B)
{"version":3,"sources":["../../src/client/head-manager.ts"],"sourcesContent":["import { setAttributesFromProps } from './set-attributes-from-props'\n\nimport type { JSX } from 'react'\n\nfunction reactElementToDOM({ type, props }: JSX.Element): HTMLElement {\n const el: HTMLElement = document.createElement(type)\n setAttributesFromProps(el, props)\n\n const { children, dangerouslySetInnerHTML } = props\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || ''\n } else if (children) {\n el.textContent =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n return el\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag: Element, newTag: Element) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute('nonce')\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute('nonce')) {\n const cloneTag = newTag.cloneNode(true) as typeof newTag\n cloneTag.setAttribute('nonce', '')\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nfunction updateElements(type: string, components: JSX.Element[]) {\n const headEl = document.querySelector('head')\n if (!headEl) return\n\n const oldTags = new Set(headEl.querySelectorAll(`${type}[data-next-head]`))\n\n if (type === 'meta') {\n const metaCharset = headEl.querySelector('meta[charset]')\n if (metaCharset !== null) {\n oldTags.add(metaCharset)\n }\n }\n\n const newTags: Element[] = []\n for (let i = 0; i < components.length; i++) {\n const component = components[i]\n const newTag = reactElementToDOM(component)\n newTag.setAttribute('data-next-head', '')\n\n let isNew = true\n for (const oldTag of oldTags) {\n if (isEqualNode(oldTag, newTag)) {\n oldTags.delete(oldTag)\n isNew = false\n break\n }\n }\n\n if (isNew) {\n newTags.push(newTag)\n }\n }\n\n for (const oldTag of oldTags) {\n oldTag.parentNode?.removeChild(oldTag)\n }\n\n for (const newTag of newTags) {\n // meta[charset] must be first element so special case\n if (\n newTag.tagName.toLowerCase() === 'meta' &&\n newTag.getAttribute('charset') !== null\n ) {\n headEl.prepend(newTag)\n }\n headEl.appendChild(newTag)\n }\n}\n\nexport default function initHeadManager(): {\n mountedInstances: Set\n updateHead: (head: JSX.Element[]) => void\n} {\n return {\n mountedInstances: new Set(),\n updateHead: (head: JSX.Element[]) => {\n const tags: Record = {}\n\n head.forEach((h) => {\n if (\n // If the font tag is loaded only on client navigation\n // it won't be inlined. In this case revert to the original behavior\n h.type === 'link' &&\n h.props['data-optimized-fonts']\n ) {\n if (\n document.querySelector(`style[data-href=\"${h.props['data-href']}\"]`)\n ) {\n return\n } else {\n h.props.href = h.props['data-href']\n h.props['data-href'] = undefined\n }\n }\n\n const components = tags[h.type] || []\n components.push(h)\n tags[h.type] = components\n })\n\n const titleComponent = tags.title ? tags.title[0] : null\n let title = ''\n if (titleComponent) {\n const { children } = titleComponent.props\n title =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n if (title !== document.title) document.title = title\n ;['meta', 'base', 'link', 'style', 'script'].forEach((type) => {\n updateElements(type, tags[type] || [])\n })\n },\n }\n}\n"],"names":["setAttributesFromProps","reactElementToDOM","type","props","el","document","createElement","children","dangerouslySetInnerHTML","innerHTML","__html","textContent","Array","isArray","join","isEqualNode","oldTag","newTag","HTMLElement","nonce","getAttribute","cloneTag","cloneNode","setAttribute","updateElements","components","headEl","querySelector","oldTags","Set","querySelectorAll","metaCharset","add","newTags","i","length","component","isNew","delete","push","parentNode","removeChild","tagName","toLowerCase","prepend","appendChild","initHeadManager","mountedInstances","updateHead","head","tags","forEach","h","href","undefined","titleComponent","title"],"mappings":"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","ignoreList":[0]}