{"version":3,"file":"5723.0e281cf29b101b30e623.js","mappings":"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","sources":["webpack:///../node_modules/@locator/runtime/dist/adapters/vue/vueAdapter.js","webpack:///../node_modules/@locator/runtime/dist/components/ComponentOutline.js","webpack:///../node_modules/@locator/runtime/dist/components/Outline.js","webpack:///../node_modules/@locator/runtime/dist/components/MaybeOutline.js","webpack:///../node_modules/@locator/runtime/dist/components/SimpleNodeOutline.js","webpack:///../node_modules/@locator/runtime/dist/components/LogoIcon.js","webpack:///../node_modules/@locator/runtime/dist/components/OpenSettingsButton.js","webpack:///../node_modules/@locator/runtime/dist/components/BannerHeader.js","webpack:///../node_modules/@locator/runtime/dist/components/IntroInfo.js","webpack:///../node_modules/@locator/runtime/dist/components/OptionsCloseButton.js","webpack:///../node_modules/@locator/runtime/dist/components/EditorLinkForm.js","webpack:///../node_modules/@locator/runtime/dist/components/ProjectLinkForm.js","webpack:///../node_modules/@locator/runtime/dist/components/TransformLinkForm.js","webpack:///../node_modules/@locator/runtime/dist/components/LinkHrefTarget.js","webpack:///../node_modules/@locator/runtime/dist/components/LinkOptions.js","webpack:///../node_modules/@locator/runtime/dist/components/Options.js","webpack:///../node_modules/@locator/runtime/dist/components/LinkThatWorksWithOption.js","webpack:///../node_modules/@locator/runtime/dist/components/NoLinkDialog.js","webpack:///../node_modules/@locator/runtime/dist/components/WelcomeScreen.js","webpack:///../node_modules/@locator/runtime/dist/components/TreeNodeElementView.js","webpack:///../node_modules/@locator/runtime/dist/components/TreeView.js","webpack:///../node_modules/@locator/runtime/dist/components/DisableConfirmation.js","webpack:///../node_modules/@locator/runtime/dist/components/Runtime.js","webpack:///../node_modules/@locator/runtime/dist/consts.js"],"sourcesContent":["import { goUpByTheTree } from \"../goUpByTheTree\";\nimport { HtmlElementTreeNode } from \"../HtmlElementTreeNode\";\nimport { getVueComponentBoundingBox } from \"./getVNodeBoundingBox\";\nexport function getElementInfo(found) {\n const parentComponent = found.__vueParentComponent;\n\n if (parentComponent) {\n if (!parentComponent.type) {\n return null;\n }\n\n const componentBBox = getVueComponentBoundingBox(parentComponent);\n const {\n __file,\n __name\n } = parentComponent.type;\n\n if (__file && __name) {\n return {\n thisElement: {\n box: found.getBoundingClientRect(),\n label: found.nodeName.toLowerCase(),\n link: {\n column: 1,\n line: 1,\n filePath: __file,\n projectPath: \"\"\n }\n },\n htmlElement: found,\n parentElements: [],\n componentBox: componentBBox || found.getBoundingClientRect(),\n componentsLabels: [{\n label: __name,\n link: {\n column: 1,\n line: 1,\n filePath: __file,\n projectPath: \"\"\n }\n }]\n };\n }\n }\n\n return null;\n}\nexport class VueTreeNodeElement extends HtmlElementTreeNode {\n getSource() {\n const element = this.element;\n const parentComponent = element.__vueParentComponent;\n\n if (parentComponent && parentComponent.type) {\n const {\n __file\n } = parentComponent.type;\n\n if (__file) {\n return {\n fileName: __file,\n lineNumber: 1,\n columnNumber: 1\n };\n }\n }\n\n return null;\n }\n\n getComponent() {\n return null;\n } // getComponent(): TreeNodeComponent | null {\n // const element = this.element as VueElement;\n // const parentComponent = element.__vueParentComponent;\n // if (parentComponent && parentComponent.type) {\n // const { __name } = parentComponent.type;\n // if (__name) {\n // return {\n // label: __name,\n // definitionLink: this.getSource() || undefined,\n // };\n // }\n // }\n // return null;\n // }\n\n\n}\n\nfunction getTree(element) {\n const originalRoot = new VueTreeNodeElement(element);\n return goUpByTheTree(originalRoot);\n}\n\nconst vueAdapter = {\n getElementInfo,\n getTree\n};\nexport default vueAdapter;","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { style as _$style } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 6),\n _tmpl$2 = /*#__PURE__*/_$template(``, 2),\n _tmpl$3 = /*#__PURE__*/_$template(`
`, 2);\n\nimport { For } from \"solid-js\";\nimport { baseColor, HREF_TARGET, PADDING } from \"../consts\";\nimport { trackClickStats } from \"../functions/trackClickStats\";\nimport { goTo } from \"../functions/goTo\";\nimport { buildLink } from \"../functions/buildLink\";\nimport { useOptions } from \"../functions/optionsStore\";\nexport function ComponentOutline(props) {\n const options = useOptions();\n\n const isInside = () => props.bbox.height >= window.innerHeight - 40;\n\n const isBelow = () => props.bbox.y < 30 && !isInside();\n\n const left = () => Math.max(props.bbox.x - PADDING, 0);\n\n const top = () => Math.max(props.bbox.y - PADDING, 0);\n\n const cutFromTop = () => props.bbox.y < 0 ? -(props.bbox.y - PADDING) : 0;\n\n const cutFromLeft = () => props.bbox.x < 0 ? -(props.bbox.x - PADDING) : 0;\n\n const width = () => Math.min(props.bbox.width - cutFromLeft() + PADDING * 2, window.innerWidth);\n\n const height = () => Math.min(props.bbox.height - cutFromTop() + PADDING * 2, window.innerHeight);\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n\n _el$.style.setProperty(\"position\", \"fixed\");\n\n _el$.style.setProperty(\"border\", \"2px solid \" + baseColor);\n\n _$insert(_el$3, _$createComponent(For, {\n get each() {\n return props.labels;\n },\n\n children: label => {\n const link = label.link ? buildLink(label.link, props.targets, options) : null;\n const labelClass = \"cursor-pointer bg-red-500 block text-white text-xs font-bold text-center px-1 py-0.5 rounded whitespace-nowrap pointer-events-auto hover:bg-red-600\";\n const labelStyles = {\n \"line-height\": \"18px\"\n };\n return link ? (() => {\n const _el$4 = _tmpl$2.cloneNode(true);\n\n _el$4.$$click = () => {\n trackClickStats();\n goTo(link, options);\n };\n\n _$style(_el$4, labelStyles);\n\n _$setAttribute(_el$4, \"href\", link);\n\n _$insert(_el$4, () => label.label);\n\n _$effect(() => _$setAttribute(_el$4, \"target\", options.getOptions().hrefTarget || HREF_TARGET));\n\n return _el$4;\n })() : (() => {\n const _el$5 = _tmpl$3.cloneNode(true);\n\n _$style(_el$5, labelStyles);\n\n _$insert(_el$5, () => label.label);\n\n return _el$5;\n })();\n }\n }));\n\n _$effect(_p$ => {\n const _v$ = left() + \"px\",\n _v$2 = top() + \"px\",\n _v$3 = width() + \"px\",\n _v$4 = height() + \"px\",\n _v$5 = left() === 0 || top() === 0 ? \"0\" : \"8px\",\n _v$6 = left() + width() === window.innerWidth || top() === 0 ? \"0\" : \"8px\",\n _v$7 = left() === 0 || top() + height() === window.innerHeight ? \"0\" : \"8px\",\n _v$8 = left() + width() === window.innerWidth || top() + height() === window.innerHeight ? \"0\" : \"8px\",\n _v$9 = {\n position: \"absolute\",\n display: \"flex\",\n \"justify-content\": \"center\",\n bottom: isBelow() ? isInside() ? \"2px\" : \"-28px\" : undefined,\n top: isBelow() ? undefined : isInside() ? \"2px\" : \"-28px\",\n left: \"0px\",\n width: \"100%\",\n \"pointer-events\": \"auto\",\n cursor: \"pointer\",\n ...(isBelow() ? {\n \"border-bottom-left-radius\": \"100%\",\n \"border-bottom-right-radius\": \"100%\"\n } : {\n \"border-top-left-radius\": \"100%\",\n \"border-top-right-radius\": \"100%\"\n })\n },\n _v$10 = isBelow() ? \"10px 10px 2px 10px\" : \"2px 10px 10px 10px\";\n\n _v$ !== _p$._v$ && _el$.style.setProperty(\"left\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$.style.setProperty(\"width\", _p$._v$3 = _v$3);\n _v$4 !== _p$._v$4 && _el$.style.setProperty(\"height\", _p$._v$4 = _v$4);\n _v$5 !== _p$._v$5 && _el$.style.setProperty(\"border-top-left-radius\", _p$._v$5 = _v$5);\n _v$6 !== _p$._v$6 && _el$.style.setProperty(\"border-top-right-radius\", _p$._v$6 = _v$6);\n _v$7 !== _p$._v$7 && _el$.style.setProperty(\"border-bottom-left-radius\", _p$._v$7 = _v$7);\n _v$8 !== _p$._v$8 && _el$.style.setProperty(\"border-bottom-right-radius\", _p$._v$8 = _v$8);\n _p$._v$9 = _$style(_el$2, _v$9, _p$._v$9);\n _v$10 !== _p$._v$10 && _el$3.style.setProperty(\"padding\", _p$._v$10 = _v$10);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined,\n _v$3: undefined,\n _v$4: undefined,\n _v$5: undefined,\n _v$6: undefined,\n _v$7: undefined,\n _v$8: undefined,\n _v$9: undefined,\n _v$10: undefined\n });\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 10);\n\nimport { ComponentOutline } from \"./ComponentOutline\";\nexport function Outline(props) {\n const box = () => props.element.thisElement.box;\n\n return [(() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.firstChild;\n\n _el$2.style.setProperty(\"background-color\", \"rgba(222, 0, 0, 0.3)\");\n\n _el$2.style.setProperty(\"text-shadow\", \"-1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff\");\n\n _el$2.style.setProperty(\"text-overflow\", \"ellipsis\");\n\n _el$3.$$click = () => {\n props.showTreeFromElement(props.element.htmlElement);\n };\n\n _el$3.style.setProperty(\"text-shadow\", \"none\");\n\n _el$3.style.setProperty(\"pointer-events\", \"auto\");\n\n _el$3.style.setProperty(\"cursor\", \"pointer\");\n\n _el$4.style.setProperty(\"width\", \"16px\");\n\n _el$4.style.setProperty(\"height\", \"16\\xE9x\");\n\n _$insert(_el$2, () => props.element.thisElement.label, null);\n\n _$effect(_p$ => {\n const _v$ = box().x + \"px\",\n _v$2 = box().y + \"px\",\n _v$3 = box().width + \"px\",\n _v$4 = box().height + \"px\";\n\n _v$ !== _p$._v$ && _el$2.style.setProperty(\"left\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$2.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$2.style.setProperty(\"width\", _p$._v$3 = _v$3);\n _v$4 !== _p$._v$4 && _el$2.style.setProperty(\"height\", _p$._v$4 = _v$4);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined,\n _v$3: undefined,\n _v$4: undefined\n });\n\n return _el$;\n })(), _$createComponent(ComponentOutline, {\n get labels() {\n return props.element.componentsLabels;\n },\n\n get bbox() {\n return props.element.componentBox;\n },\n\n get element() {\n return props.element.htmlElement;\n },\n\n get showTreeFromElement() {\n return props.showTreeFromElement;\n },\n\n get targets() {\n return props.targets;\n }\n\n })];\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
No source found
`, 4);\n\nimport { createMemo } from \"solid-js\";\nimport { getElementInfo } from \"../adapters/getElementInfo\";\nimport { Outline } from \"./Outline\";\nexport function MaybeOutline(props) {\n const elInfo = createMemo(() => getElementInfo(props.currentElement, props.adapterId));\n\n const box = () => props.currentElement.getBoundingClientRect();\n\n return _$memo((() => {\n const _c$ = _$memo(() => !!elInfo(), true);\n\n return () => _c$() ? _$createComponent(Outline, {\n get element() {\n return elInfo();\n },\n\n get showTreeFromElement() {\n return props.showTreeFromElement;\n },\n\n get targets() {\n return props.targets;\n }\n\n }) : (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild;\n\n _el$2.style.setProperty(\"position\", \"absolute\");\n\n _el$2.style.setProperty(\"background-color\", \"rgba(222, 0, 0, 0.3)\");\n\n _el$2.style.setProperty(\"border\", \"1px solid rgba(222, 0, 0, 0.5)\");\n\n _el$2.style.setProperty(\"border-radius\", \"2px\");\n\n _el$2.style.setProperty(\"font-size\", \"12px\");\n\n _el$2.style.setProperty(\"font-weight\", \"bold\");\n\n _el$2.style.setProperty(\"text-shadow\", \"-1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff\");\n\n _el$2.style.setProperty(\"text-overflow\", \"ellipsis\");\n\n _$effect(_p$ => {\n const _v$ = box().x + \"px\",\n _v$2 = box().y + \"px\",\n _v$3 = box().width + \"px\",\n _v$4 = box().height + \"px\";\n\n _v$ !== _p$._v$ && _el$2.style.setProperty(\"left\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$2.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$2.style.setProperty(\"width\", _p$._v$3 = _v$3);\n _v$4 !== _p$._v$4 && _el$2.style.setProperty(\"height\", _p$._v$4 = _v$4);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined,\n _v$3: undefined,\n _v$4: undefined\n });\n\n return _el$;\n })();\n })());\n}","import { template as _$template } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 2);\n\nexport function SimpleNodeOutline(props) {\n const offset = () => props.node.type === \"component\" ? 2 : 0;\n\n const box = () => props.node.getBox();\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => !!box(), true);\n\n return () => _c$() ? (() => {\n const _el$2 = _tmpl$.cloneNode(true);\n\n _el$2.style.setProperty(\"position\", \"fixed\");\n\n _$effect(_p$ => {\n const _v$ = box().x - offset() + \"px\",\n _v$2 = box().y - offset() + \"px\",\n _v$3 = box().width + offset() * 2 + \"px\",\n _v$4 = box().height + offset() * 2 + \"px\",\n _v$5 = props.node.type === \"component\" ? \"2px solid rgba(200,0,0,1)\" : \"1px solid rgba(200,0,0,1)\",\n _v$6 = props.node.type === \"component\" ? \"5px\" : \"3px\",\n _v$7 = props.node.type === \"component\" ? 1000 : 10;\n\n _v$ !== _p$._v$ && _el$2.style.setProperty(\"left\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$2.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$2.style.setProperty(\"width\", _p$._v$3 = _v$3);\n _v$4 !== _p$._v$4 && _el$2.style.setProperty(\"height\", _p$._v$4 = _v$4);\n _v$5 !== _p$._v$5 && _el$2.style.setProperty(\"border\", _p$._v$5 = _v$5);\n _v$6 !== _p$._v$6 && _el$2.style.setProperty(\"border-radius\", _p$._v$6 = _v$6);\n _v$7 !== _p$._v$7 && _el$2.style.setProperty(\"z-index\", _p$._v$7 = _v$7);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined,\n _v$3: undefined,\n _v$4: undefined,\n _v$5: undefined,\n _v$6: undefined,\n _v$7: undefined\n });\n\n return _el$2;\n })() : null;\n })());\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(``, 28);\n\nimport { mergeProps } from \"solid-js\";\nexport default function LogoIcon(_props) {\n const props = mergeProps({\n width: 90\n }, _props);\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild;\n\n _el$.$$click = e => {\n e.preventDefault();\n window.open(\"https://www.locatorjs.com\", \"_blank\");\n };\n\n _$effect(_p$ => {\n const _v$ = props.width + \"px\",\n _v$2 = props.width / 276 * 66 + \"px\";\n\n _v$ !== _p$._v$ && _el$2.style.setProperty(\"width\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$2.style.setProperty(\"height\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined\n });\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(``, 2);\n\nexport function OpenSettingsButton(props) {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _el$.addEventListener(\"click\", () => {\n props.onClick();\n });\n\n _$insert(_el$, () => props.title || \"Settings\");\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 2);\n\nimport LogoIcon from \"./LogoIcon\";\nimport { isExtension } from \"../functions/isExtension\";\nimport { OpenSettingsButton } from \"./OpenSettingsButton\";\nexport default function BannerHeader(props) {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _$insert(_el$, _$createComponent(LogoIcon, {}), null);\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => !!props.openOptions, true);\n\n return () => _c$() ? _$createComponent(OpenSettingsButton, {\n onClick: () => {\n props.openOptions();\n },\n\n get title() {\n return isExtension() ? \"Project settings\" : \"Settings\";\n }\n\n }) : null;\n })(), null);\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Go to component code with +
click
What is Locator?Stop showing this popup
`, 13),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 2);\n\nimport { modifiersTitles } from \"@locator/shared\";\nimport { createEffect, createSignal, For } from \"solid-js\";\nimport { bannerClasses } from \"../functions/bannerClasses\";\nimport BannerHeader from \"./BannerHeader\";\nimport { getMouseModifiers } from \"../functions/isCombinationModifiersPressed\";\nimport { useOptions } from \"../functions/optionsStore\";\nexport function IntroInfo(props) {\n const options = useOptions();\n const [showIntro, setShowIntro] = createSignal(true);\n setTimeout(() => {\n setShowIntro(false);\n }, 5000);\n createEffect(() => {\n if (props.hide && showIntro()) {\n setShowIntro(false);\n }\n });\n\n const modifiers = () => getMouseModifiers();\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$6 = _el$3.nextSibling,\n _el$5 = _el$6.nextSibling,\n _el$7 = _el$2.nextSibling,\n _el$8 = _el$7.firstChild,\n _el$9 = _el$8.nextSibling;\n\n _$insert(_el$, _$createComponent(BannerHeader, {\n get openOptions() {\n return props.openOptions;\n },\n\n get adapter() {\n return props.adapter;\n }\n\n }), _el$2);\n\n _$insert(_el$2, _$createComponent(For, {\n get each() {\n return Object.keys(modifiers());\n },\n\n children: (key, i) => {\n return [_$memo(() => i() === 0 ? \"\" : \" + \"), (() => {\n const _el$10 = _tmpl$2.cloneNode(true);\n\n _$insert(_el$10, () => modifiersTitles[key]);\n\n return _el$10;\n })()];\n }\n }), _el$6);\n\n _el$9.$$click = () => {\n options.setOptions({\n showIntro: false\n });\n };\n\n _$effect(_p$ => {\n const _v$ = bannerClasses(),\n _v$2 = showIntro() ? \"12px\" : \"-120px\";\n\n _v$ !== _p$._v$ && _$className(_el$, _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$.style.setProperty(\"bottom\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined\n });\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(``, 6);\n\nexport function OptionsCloseButton(props) {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild;\n\n _el$.$$click = () => props.onClick();\n\n _el$2.style.setProperty(\"width\", \"20px\");\n\n _el$2.style.setProperty(\"height\", \"20px\");\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Editor / Link template
Change your editor for this project. For less common editors, you can change the link template.
`, 10),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 7),\n _tmpl$3 = /*#__PURE__*/_$template(`
`, 5),\n _tmpl$4 = /*#__PURE__*/_$template(`
`, 3);\n\nimport { For } from \"solid-js\";\nexport function EditorLinkForm(props) {\n const defaultTarget = () => Object.entries(props.targets)[0][0];\n\n const selectedTarget = () => props.selectedTarget || \"\";\n\n function selectCustom() {\n props.selectTarget((props.targets[selectedTarget()] ? props.targets[selectedTarget()]?.url : selectedTarget()) || \"\");\n }\n\n const isCustom = () => !props.targets[selectedTarget()];\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$2.nextSibling;\n\n _el$4.$$click = () => {\n if (props.selectedTarget === undefined) {\n props.selectTarget(defaultTarget());\n } else {\n props.selectTarget(undefined);\n }\n };\n\n _$insert(_el$4, () => props.selectedTarget === undefined ? \"edit\" : \"clear\");\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => props.selectedTarget !== undefined, true);\n\n return () => _c$() ? [(() => {\n const _el$6 = _tmpl$2.cloneNode(true),\n _el$7 = _el$6.firstChild,\n _el$8 = _el$7.firstChild;\n\n _$insert(_el$6, _$createComponent(For, {\n get each() {\n return Object.entries(props.targets);\n },\n\n children: ([key, target]) => (() => {\n const _el$9 = _tmpl$3.cloneNode(true),\n _el$10 = _el$9.firstChild,\n _el$11 = _el$10.nextSibling;\n\n _el$10.$$click = () => {\n props.selectTarget(key);\n };\n\n _$setAttribute(_el$10, \"id\", key);\n\n _$setAttribute(_el$11, \"for\", key);\n\n _$insert(_el$11, () => target.label);\n\n _$effect(() => _el$10.checked = key === selectedTarget());\n\n return _el$9;\n })()\n }), _el$7);\n\n _el$8.$$click = () => {\n selectCustom();\n };\n\n _$effect(() => _el$8.checked = isCustom());\n\n return _el$6;\n })(), _$memo((() => {\n const _c$2 = _$memo(() => !!isCustom(), true);\n\n return () => _c$2() && (() => {\n const _el$12 = _tmpl$4.cloneNode(true),\n _el$13 = _el$12.firstChild;\n\n _el$13.$$input = e => {\n props.selectTarget(e.currentTarget.value);\n };\n\n _el$13.$$click = () => {\n if (props.targets[selectedTarget()]) {\n selectCustom();\n }\n };\n\n _$effect(() => _$className(_el$13, \"shadow-sm focus:ring-indigo-500 focus:border-indigo-500 block w-full sm:text-sm border-slate-300 rounded-md \" + (props.targets[selectedTarget()] ? \"text-slate-400\" : \"text-slate-800\")));\n\n _$effect(() => _el$13.value = props.targets[selectedTarget()] ? props.targets[selectedTarget()]?.url : selectedTarget());\n\n return _el$12;\n })();\n })())] : null;\n })(), null);\n\n return _el$;\n })();\n} // function ExpandableOption(props: {\n// label: string;\n// }) {\n// return
\n//
\n// }\n\n_$delegateEvents([\"click\", \"input\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Project path (prefix)
If your framework generates relative paths, you can add a prefix to it to make absolute paths.
`, 10),\n _tmpl$2 = /*#__PURE__*/_$template(`
Run pwd or echo %cd% to get the current path
`, 9);\n\nconst exampleProjectPath = `/Users/MyName/MyProject`; //`C://my-projects/my-project`;\n\nexport function ProjectLinkForm(props) {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$2.nextSibling;\n\n _el$4.$$click = () => {\n if (props.value === undefined) {\n props.onChange(\"\");\n } else {\n props.onChange(undefined);\n }\n };\n\n _$insert(_el$4, () => props.value === undefined ? \"edit\" : \"clear\");\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => props.value !== undefined, true);\n\n return () => _c$() ? (() => {\n const _el$6 = _tmpl$2.cloneNode(true),\n _el$7 = _el$6.firstChild;\n\n _el$7.$$input = e => {\n props.onChange(e.currentTarget.value);\n };\n\n _$effect(() => _el$7.value = props.value);\n\n return _el$6;\n })() : [];\n })(), null);\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\", \"input\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Transform final link
In case you need to change something in the final generated link you can find and replace parts with Regex
`, 10),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 14),\n _tmpl$3 = /*#__PURE__*/_$template(`
Regex is not valid!
`, 2);\n\nconst defaultValue = {\n from: \"\",\n to: \"\"\n};\nexport function TransformLinkForm(props) {\n const isInvalid = () => {\n if (!props.value || !props.value.from) {\n return false;\n }\n\n try {\n new RegExp(`${props.value.from}`);\n } catch (x) {\n return true;\n }\n\n return false;\n };\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$2.nextSibling;\n\n _el$4.$$click = () => {\n if (props.value === undefined) {\n props.onChange(defaultValue);\n } else {\n props.onChange(undefined);\n }\n };\n\n _$insert(_el$4, () => props.value === undefined ? \"edit\" : \"clear\");\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => props.value !== undefined, true);\n\n return () => _c$() ? (() => {\n const _el$6 = _tmpl$2.cloneNode(true),\n _el$7 = _el$6.firstChild,\n _el$8 = _el$7.firstChild,\n _el$9 = _el$8.firstChild,\n _el$10 = _el$9.nextSibling,\n _el$11 = _el$8.nextSibling,\n _el$12 = _el$11.firstChild,\n _el$13 = _el$12.nextSibling;\n\n _el$10.$$input = e => {\n props.onChange({ ...(props.value || defaultValue),\n from: e.currentTarget.value\n });\n };\n\n _el$13.$$input = e => {\n props.onChange({ ...(props.value || defaultValue),\n to: e.currentTarget.value\n });\n };\n\n _$insert(_el$6, (() => {\n const _c$2 = _$memo(() => !!isInvalid(), true);\n\n return () => _c$2() ? _tmpl$3.cloneNode(true) : null;\n })(), null);\n\n _$effect(() => _el$10.value = props.value.from);\n\n _$effect(() => _el$13.value = props.value.to);\n\n return _el$6;\n })() : null;\n })(), null);\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\", \"input\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Link Href Target
`, 8),\n _tmpl$2 = /*#__PURE__*/_$template(`
Hot-reloading On some stacks (e.g. Create React App) gets broken when you use _blank as the target. You can change the target to _self to fix this.
Some browsers open unnecessary tabs when you use _blank.
`, 3),\n _tmpl$3 = /*#__PURE__*/_$template(`
`, 2),\n _tmpl$4 = /*#__PURE__*/_$template(`
`, 5);\n\nimport { For } from \"solid-js\";\nimport { HREF_TARGET } from \"../consts\";\nconst hrefTargets = [\"_blank\", \"_self\"];\nexport function LinkHrefTarget(props) {\n const selectedTarget = () => props.value || \"\";\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling;\n\n _el$4.$$click = () => {\n if (props.value === undefined) {\n props.onChange(HREF_TARGET);\n } else {\n props.onChange(undefined);\n }\n };\n\n _$insert(_el$4, () => props.value === undefined ? \"edit\" : \"clear\");\n\n _$insert(_el$, (() => {\n const _c$ = _$memo(() => props.value !== undefined, true);\n\n return () => _c$() ? [_tmpl$2.cloneNode(true), (() => {\n const _el$6 = _tmpl$3.cloneNode(true);\n\n _$insert(_el$6, _$createComponent(For, {\n get each() {\n return Object.entries(hrefTargets);\n },\n\n children: ([key, target]) => (() => {\n const _el$7 = _tmpl$4.cloneNode(true),\n _el$8 = _el$7.firstChild,\n _el$9 = _el$8.nextSibling;\n\n _el$8.$$click = () => {\n props.onChange(key);\n };\n\n _$setAttribute(_el$8, \"id\", key);\n\n _$setAttribute(_el$9, \"for\", key);\n\n _$insert(_el$9, target);\n\n _$effect(() => _el$8.checked = key === selectedTarget());\n\n return _el$7;\n })()\n }));\n\n return _el$6;\n })()] : null;\n })(), null);\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 8),\n _tmpl$2 = /*#__PURE__*/_$template(``, 2);\n\nimport { buildLink } from \"../functions/buildLink\";\nimport { EditorLinkForm } from \"./EditorLinkForm\";\nimport { ProjectLinkForm } from \"./ProjectLinkForm\";\nimport { useOptions } from \"../functions/optionsStore\";\nimport { TransformLinkForm } from \"./TransformLinkForm\";\nimport { HREF_TARGET } from \"../consts\";\nimport { LinkHrefTarget } from \"./LinkHrefTarget\";\nexport function LinkOptions(props) {\n const options = useOptions();\n\n function selectedTarget() {\n return options.getOptions().templateOrTemplateId;\n }\n\n function selectTarget(val) {\n options.setOptions({\n templateOrTemplateId: val\n });\n }\n\n const currentLink = () => props.linkProps ? buildLink(props.linkProps, props.targets, options, selectedTarget()) : undefined;\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.firstChild;\n\n _$insert(_el$, _$createComponent(ProjectLinkForm, {\n get value() {\n return options.getOptions().projectPath;\n },\n\n onChange: function (newValue) {\n options.setOptions({\n projectPath: newValue\n });\n }\n }), _el$2);\n\n _$insert(_el$, _$createComponent(TransformLinkForm, {\n get value() {\n return options.getOptions().replacePath;\n },\n\n onChange: newValue => {\n options.setOptions({\n replacePath: newValue\n });\n }\n }), _el$2);\n\n _$insert(_el$, _$createComponent(EditorLinkForm, {\n get targets() {\n return props.targets;\n },\n\n get selectedTarget() {\n return selectedTarget();\n },\n\n selectTarget: selectTarget\n }), _el$2);\n\n _$insert(_el$, _$createComponent(LinkHrefTarget, {\n get value() {\n return options.getOptions().hrefTarget;\n },\n\n onChange: newValue => {\n options.setOptions({\n hrefTarget: newValue\n });\n }\n }), _el$2);\n\n _$insert(_el$3, (() => {\n const _c$ = _$memo(() => !!currentLink(), true);\n\n return () => _c$() ? (() => {\n const _el$5 = _tmpl$2.cloneNode(true);\n\n _$insert(_el$5, currentLink);\n\n _$effect(_p$ => {\n const _v$ = currentLink(),\n _v$2 = options.getOptions().hrefTarget || HREF_TARGET;\n\n _v$ !== _p$._v$ && _$setAttribute(_el$5, \"href\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _$setAttribute(_el$5, \"target\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined\n });\n\n return _el$5;\n })() : \"To test the link, try to hover over some element.\";\n })(), null);\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 16);\n\nimport { cleanOptions } from \"@locator/shared\";\nimport { createMemo } from \"solid-js\";\nimport { bannerClasses } from \"../functions/bannerClasses\";\nimport { isExtension } from \"../functions/isExtension\";\nimport LogoIcon from \"./LogoIcon\";\nimport { OptionsCloseButton } from \"./OptionsCloseButton\";\nimport { useOptions } from \"../functions/optionsStore\";\nimport { LinkOptions } from \"./LinkOptions\";\nimport { getElementInfo } from \"../adapters/getElementInfo\";\nexport function Options(props) {\n const options = useOptions();\n const elLinkProps = createMemo(() => props.currentElement ? getElementInfo(props.currentElement, props.adapterId)?.thisElement.link || null : null);\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$4.firstChild,\n _el$6 = _el$5.nextSibling,\n _el$7 = _el$6.firstChild;\n\n _$insert(_el$3, _$createComponent(LogoIcon, {}), null);\n\n _$insert(_el$3, _$createComponent(OptionsCloseButton, {\n onClick: () => props.onClose()\n }), null);\n\n _$insert(_el$2, _$createComponent(LinkOptions, {\n get linkProps() {\n return elLinkProps();\n },\n\n get adapterId() {\n return props.adapterId;\n },\n\n get targets() {\n return props.targets;\n }\n\n }), _el$4);\n\n _el$5.$$click = () => {\n cleanOptions();\n props.onClose();\n };\n\n _el$6.$$click = () => {\n if (isExtension()) {\n options.setOptions({\n disabled: true\n });\n props.onClose();\n } else {\n props.showDisableDialog();\n }\n };\n\n _el$7.style.setProperty(\"width\", \"16px\");\n\n _el$7.style.setProperty(\"height\", \"16px\");\n\n _$effect(() => _$className(_el$, bannerClasses() + \" w-[560px] max-w-full overflow-hidden\"));\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(``, 2);\n\nexport function LinkThatWorksWithOption(props) {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _el$.$$click = e => {\n e.preventDefault();\n window.open(props.href, \"_blank\");\n };\n\n _$insert(_el$, () => props.children);\n\n _$effect(() => _$setAttribute(_el$, \"href\", props.href));\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
No source info found for this element!

You need one of these:

Setup babel plugin:

`, 26);\n\nimport { LinkThatWorksWithOption } from \"./LinkThatWorksWithOption\";\nimport LogoIcon from \"./LogoIcon\";\nexport function NoLinkDialog() {\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.nextSibling,\n _el$4 = _el$3.firstChild,\n _el$5 = _el$4.nextSibling,\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$9 = _el$5.nextSibling,\n _el$10 = _el$9.nextSibling,\n _el$11 = _el$10.firstChild,\n _el$12 = _el$11.firstChild,\n _el$13 = _el$12.nextSibling,\n _el$14 = _el$13.nextSibling;\n\n _$insert(_el$, _$createComponent(LogoIcon, {}), _el$2);\n\n _$insert(_el$6, _$createComponent(LinkThatWorksWithOption, {\n href: \"https://babeljs.io/docs/en/babel-preset-react\",\n children: \"preset-react plugins\"\n }), null);\n\n _$insert(_el$12, _$createComponent(LinkThatWorksWithOption, {\n href: \"https://www.locatorjs.com/install/react-data-id\",\n children: \"React\"\n }));\n\n _$insert(_el$13, _$createComponent(LinkThatWorksWithOption, {\n href: \"https://www.locatorjs.com/install/preact\",\n children: \"Preact\"\n }));\n\n _$insert(_el$14, _$createComponent(LinkThatWorksWithOption, {\n href: \"https://www.locatorjs.com/install/solidjs\",\n children: \"SolidJS\"\n }));\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`

Welcome to Locator!

Before using Locator, let's try links in your project and fix them if needed.
Test link
`, 18);\n\nimport { useOptions } from \"../functions/optionsStore\";\nimport { LinkOptions } from \"./LinkOptions\";\nimport { HREF_TARGET } from \"../consts\";\nimport { buildLink } from \"../functions/buildLink\";\nexport function WelcomeScreen(props) {\n const options = useOptions();\n\n const currentLink = () => props.originalLinkProps ? buildLink(props.originalLinkProps, props.targets, options, options.getOptions().templateOrTemplateId) : undefined;\n\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.nextSibling,\n _el$4 = _el$3.firstChild,\n _el$5 = _el$4.nextSibling,\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.nextSibling;\n\n _$insert(_el$, _$createComponent(LinkOptions, {\n get linkProps() {\n return props.originalLinkProps;\n },\n\n get adapterId() {\n return props.adapterId;\n },\n\n get targets() {\n return props.targets;\n }\n\n }), _el$3);\n\n _el$7.$$click = () => {\n options.setOptions({\n welcomeScreenDismissed: true\n });\n props.onClose();\n };\n\n _$effect(_p$ => {\n const _v$ = currentLink(),\n _v$2 = options.getOptions().hrefTarget || HREF_TARGET;\n\n _v$ !== _p$._v$ && _$setAttribute(_el$6, \"href\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _$setAttribute(_el$6, \"target\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined\n });\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 2),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 2),\n _tmpl$3 = /*#__PURE__*/_$template(`
<>
`, 13),\n _tmpl$4 = /*#__PURE__*/_$template(`
`, 4),\n _tmpl$5 = /*#__PURE__*/_$template(``, 2);\n\nimport { For } from \"solid-js\";\nimport cropPath from \"../functions/cropPath\";\nimport { goToSource } from \"../functions/goTo\";\nimport { useOptions } from \"../functions/optionsStore\";\nexport function TreeNodeElementView(props) {\n const options = useOptions();\n\n function renderChildren() {\n return _$createComponent(For, {\n get each() {\n return props.node.getChildren();\n },\n\n children: child => _$createComponent(TreeNodeElementView, {\n node: child,\n\n get expandedIds() {\n return props.expandedIds;\n },\n\n get highlightedId() {\n return props.highlightedId;\n },\n\n get expandId() {\n return props.expandId;\n },\n\n get parentFilePath() {\n return props.node.getSource()?.fileName;\n },\n\n get targets() {\n return props.targets;\n },\n\n get setHighlightedBoundingBox() {\n return props.setHighlightedBoundingBox;\n },\n\n get parentComponent() {\n return props.node.getComponent();\n }\n\n })\n });\n }\n\n function isDifferentFilePath() {\n return props.node.getSource()?.fileName !== props.parentFilePath;\n }\n\n function isDifferentComponent() {\n return props.node.getComponent && JSON.stringify(props.node.getComponent()) !== JSON.stringify(props.parentComponent);\n } // Assume that library components does not have a source, so show them inlined\n\n\n const preferInlineComponent = () => !props.node.getSource();\n\n function showComponentWrapper() {\n return isDifferentComponent() && !preferInlineComponent();\n }\n\n function showBorder() {\n return showComponentWrapper();\n }\n\n function componentLink() {\n return props.node.getComponent()?.callLink ? (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _el$.$$click = () => {\n const callLink = props.node.getComponent()?.callLink;\n\n if (callLink) {\n goToSource(callLink, props.targets, options);\n }\n };\n\n _$insert(_el$, () => props.node.getComponent()?.label);\n\n return _el$;\n })() : (() => {\n const _el$2 = _tmpl$2.cloneNode(true);\n\n _$insert(_el$2, () => props.node.getComponent()?.label);\n\n return _el$2;\n })();\n }\n\n return (() => {\n const _el$3 = _tmpl$3.cloneNode(true),\n _el$4 = _el$3.firstChild,\n _el$5 = _el$4.firstChild,\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$9 = _el$7.nextSibling,\n _el$8 = _el$9.nextSibling,\n _el$10 = _el$6.nextSibling,\n _el$11 = _el$5.nextSibling;\n\n _el$3.addEventListener(\"mouseleave\", () => {\n props.setHighlightedBoundingBox(null);\n });\n\n _el$3.addEventListener(\"mouseenter\", () => {\n props.setHighlightedBoundingBox(props.node);\n });\n\n _$insert(_el$3, (() => {\n const _c$ = _$memo(() => !!showComponentWrapper(), true);\n\n return () => _c$() && (() => {\n const _el$12 = _tmpl$4.cloneNode(true),\n _el$13 = _el$12.firstChild;\n\n _$insert(_el$12, componentLink, _el$13);\n\n _$insert(_el$13, () => cropPath(props.node.getComponent()?.definitionLink?.fileName || \"\"));\n\n return _el$12;\n })();\n })(), _el$4);\n\n _el$5.$$click = () => {\n const source = props.node.getSource();\n\n if (source) {\n goToSource(source, props.targets, options);\n }\n };\n\n _$insert(_el$6, () => props.node.name, _el$9);\n\n _$insert(_el$6, (() => {\n const _c$2 = _$memo(() => !!preferInlineComponent(), true);\n\n return () => _c$2() && componentLink();\n })(), null);\n\n _$insert(_el$10, (() => {\n const _c$3 = _$memo(() => !!(isDifferentFilePath() && !showComponentWrapper()), true);\n\n return () => _c$3() ? cropPath(props.node.getSource()?.fileName || \"\") : null;\n })());\n\n _$insert(_el$11, (() => {\n const _c$4 = _$memo(() => !!props.expandedIds.has(props.node.uniqueId), true);\n\n return () => _c$4() ? renderChildren() : (() => {\n const _c$5 = _$memo(() => !!props.node.getChildren().length, true);\n\n return () => _c$5() ? (() => {\n const _el$14 = _tmpl$5.cloneNode(true);\n\n _el$14.$$click = () => {\n props.expandId(props.node.uniqueId);\n };\n\n return _el$14;\n })() : \"\";\n })();\n })());\n\n _$effect(_p$ => {\n const _v$ = \"text-xs pl-2 \" + (props.highlightedId === props.node.uniqueId ? \"bg-yellow-100 \" : \" \") + (showBorder() ? \"border border-gray-300 py-2 pr-2 \" : \" \") + (props.node.getSource() ? \"text-black \" : \"text-gray-500 \"),\n _v$2 = showComponentWrapper() ? \"pl-2\" : \"\",\n _v$3 = \"flex justify-between items-center gap-4 \" + (props.node.getSource() ? \" cursor-pointer hover:bg-sky-100\" : \"\");\n\n _v$ !== _p$._v$ && _$className(_el$3, _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _$className(_el$4, _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _$className(_el$5, _p$._v$3 = _v$3);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined,\n _v$3: undefined\n });\n\n return _el$3;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 6),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 2),\n _tmpl$3 = /*#__PURE__*/_$template(`
`, 4);\n\nimport { TreeNodeElementView } from \"./TreeNodeElementView\";\nimport { createEffect, createSignal } from \"solid-js\";\nimport { computePosition, flip, shift, offset } from \"@floating-ui/dom\";\nexport function TreeView(props) {\n let contentRef;\n const [pos, setPos] = createSignal();\n createEffect(() => {\n if (contentRef) {\n const originalBox = props.treeState.originalNode.getBox();\n computePosition({\n getBoundingClientRect: () => {\n return {\n top: originalBox?.y || 0,\n left: originalBox?.x || 0,\n width: 16,\n height: 16\n };\n }\n }, contentRef, {\n placement: \"left-start\",\n middleware: [offset(10), shift(), flip()]\n }).then(({\n x,\n y\n }) => {\n setPos({\n x,\n y\n });\n });\n }\n });\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n\n _el$.$$click = e => {\n if (e.currentTarget === e.target) {\n props.close();\n }\n };\n\n _el$.style.setProperty(\"position\", \"fixed\");\n\n _el$.style.setProperty(\"top\", \"0\");\n\n _el$.style.setProperty(\"left\", \"0\");\n\n _el$.style.setProperty(\"width\", \"100vw\");\n\n _el$.style.setProperty(\"height\", \"100vh\");\n\n _el$.style.setProperty(\"pointer-events\", \"auto\");\n\n _el$.style.setProperty(\"background-color\", \"rgba(0,0,0,0.1)\");\n\n _el$.style.setProperty(\"z-index\", \"1001\");\n\n const _ref$ = contentRef;\n typeof _ref$ === \"function\" ? _ref$(_el$2) : contentRef = _el$2;\n\n _el$2.style.setProperty(\"position\", \"absolute\");\n\n _el$3.style.setProperty(\"max-height\", \"calc(100vh - 16px)\");\n\n _$insert(_el$3, (() => {\n const _c$ = _$memo(() => !!props.treeState, true);\n\n return () => _c$() ? (() => {\n const _el$4 = _tmpl$2.cloneNode(true);\n\n _$insert(_el$4, (() => {\n const _c$2 = _$memo(() => !!props.treeState?.root.getParent(), true);\n\n return () => _c$2() ? (() => {\n const _el$5 = _tmpl$3.cloneNode(true),\n _el$6 = _el$5.firstChild;\n\n _el$6.$$click = () => {\n const state = props.treeState;\n const parent = state.root.getParent();\n\n if (parent) {\n state.expandedIds.add(parent.uniqueId);\n props.setTreeState({ ...state,\n root: parent\n });\n }\n };\n\n return _el$5;\n })() : null;\n })(), null);\n\n _$insert(_el$4, _$createComponent(TreeNodeElementView, {\n get node() {\n return props.treeState.root;\n },\n\n get expandedIds() {\n return props.treeState.expandedIds;\n },\n\n get highlightedId() {\n return props.treeState.highlightedId;\n },\n\n expandId: id => {\n const state = props.treeState;\n state.expandedIds.add(id);\n props.setTreeState(state);\n },\n\n get targets() {\n return props.targets;\n },\n\n get setHighlightedBoundingBox() {\n return props.setHighlightedNode;\n },\n\n parentComponent: null\n }), null);\n\n return _el$4;\n })() : \"no tree\";\n })());\n\n _$effect(_p$ => {\n const _v$ = `${pos()?.y || 0}px`,\n _v$2 = `${pos()?.x || 0}px`;\n _v$ !== _p$._v$ && _el$2.style.setProperty(\"top\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$2.style.setProperty(\"left\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: undefined,\n _v$2: undefined\n });\n\n return _el$;\n })();\n}\n\n_$delegateEvents([\"click\"]);","import { template as _$template } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
Disable Locator
You will be able to enable Locator again by running \\`enableLocator()\\` in DevTools console.
`, 12);\n\nimport { bannerClasses } from \"../functions/bannerClasses\";\nimport { useOptions } from \"../functions/optionsStore\";\nimport LogoIcon from \"./LogoIcon\";\nimport { OptionsCloseButton } from \"./OptionsCloseButton\";\nexport function DisableConfirmation(props) {\n const options = useOptions();\n return (() => {\n const _el$ = _tmpl$.cloneNode(true),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.nextSibling,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$4.nextSibling,\n _el$6 = _el$5.firstChild;\n\n _$insert(_el$2, _$createComponent(LogoIcon, {}), null);\n\n _$insert(_el$2, _$createComponent(OptionsCloseButton, {\n onClick: () => props.onClose()\n }), null);\n\n _el$6.addEventListener(\"click\", () => {\n options.setOptions({\n disabled: true\n });\n });\n\n _$effect(() => _$className(_el$, bannerClasses() + \" w-96\"));\n\n return _el$;\n })();\n}","import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { className as _$className } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\n\nconst _tmpl$ = /*#__PURE__*/_$template(`
`, 2),\n _tmpl$2 = /*#__PURE__*/_$template(`
`, 2);\n\nimport { detectSvelte } from \"@locator/shared\";\nimport { batch, createEffect, createSignal, onCleanup, Show } from \"solid-js\";\nimport { render } from \"solid-js/web\";\nimport { isCombinationModifiersPressed } from \"../functions/isCombinationModifiersPressed\";\nimport { trackClickStats } from \"../functions/trackClickStats\";\nimport { MaybeOutline } from \"./MaybeOutline\";\nimport { SimpleNodeOutline } from \"./SimpleNodeOutline\";\nimport { IntroInfo } from \"./IntroInfo\";\nimport { Options } from \"./Options\";\nimport { bannerClasses } from \"../functions/bannerClasses\";\nimport BannerHeader from \"./BannerHeader\";\nimport { isExtension } from \"../functions/isExtension\";\nimport { NoLinkDialog } from \"./NoLinkDialog\";\nimport { WelcomeScreen } from \"./WelcomeScreen\";\nimport { isLocatorsOwnElement } from \"../functions/isLocatorsOwnElement\";\nimport { goToLinkProps } from \"../functions/goTo\";\nimport { getElementInfo } from \"../adapters/getElementInfo\";\nimport { getTree } from \"../adapters/getTree\";\nimport { TreeView } from \"./TreeView\";\nimport { OptionsProvider, useOptions } from \"../functions/optionsStore\";\nimport { DisableConfirmation } from \"./DisableConfirmation\";\n\nfunction Runtime(props) {\n const [uiMode, setUiMode] = createSignal([\"off\"]);\n const [holdingModKey, setHoldingModKey] = createSignal(false);\n const [currentElement, setCurrentElement] = createSignal(null);\n const [dialog, setDialog] = createSignal(null);\n const [highlightedNode, setHighlightedNode] = createSignal(null);\n const options = useOptions();\n createEffect(() => {\n if (holdingModKey() && currentElement()) {\n document.body.classList.add(\"locatorjs-active-pointer\");\n } else {\n document.body.classList.remove(\"locatorjs-active-pointer\");\n }\n });\n\n function keyUpListener(e) {\n // if (e.code === \"KeyO\" && isCombinationModifiersPressed(e)) {\n // if (uiMode()[0] === \"tree\") {\n // setUiMode([\"off\"]);\n // } else {\n // setUiMode([\"tree\"]);\n // }\n // }\n setHoldingModKey(isCombinationModifiersPressed(e));\n }\n\n function keyDownListener(e) {\n setHoldingModKey(isCombinationModifiersPressed(e));\n }\n\n function mouseOverListener(e) {\n setHoldingModKey(isCombinationModifiersPressed(e));\n const target = e.target;\n\n if (target && target instanceof HTMLElement) {\n // Ignore LocatorJS elements\n if (isLocatorsOwnElement(target)) {\n return;\n }\n\n batch(() => {\n setCurrentElement(target); // TODO: this is for highlighting elements in the tree, but need to move it to the adapter\n // if (solidMode()[0] === \"tree\" || solidMode()[0] === \"treeFromElement\") {\n // const fiber = findFiberByHtmlElement(target, false);\n // if (fiber) {\n // const id = fiberToSimple(fiber, []);\n // setHighlightedNode(id);\n // }\n // }\n }); // const found =\n // target.closest(\"[data-locatorjs-id]\") ||\n // searchDevtoolsRenderersForClosestTarget(target);\n // if (found && found instanceof HTMLElement) {\n // setCurrentElement(found);\n // }\n }\n }\n\n function clickListener(e) {\n if (!isCombinationModifiersPressed(e) && uiMode()[0] !== \"options\") {\n return;\n }\n\n const target = e.target;\n\n if (target && target instanceof HTMLElement) {\n if (isLocatorsOwnElement(target)) {\n return;\n }\n\n const elInfo = getElementInfo(target, props.adapterId);\n\n if (elInfo) {\n const linkProps = elInfo.thisElement.link;\n\n if (linkProps) {\n e.preventDefault();\n e.stopPropagation();\n trackClickStats();\n\n if ((!isExtension() || detectSvelte()) && !options.getOptions().welcomeScreenDismissed) {\n setDialog([\"choose-editor\", linkProps]);\n } else {\n // const link = buidLink(linkProps, props.targets);\n goToLinkProps(linkProps, props.targets, options);\n }\n } else {\n console.error(\"[LocatorJS]: Could not find link: Element info: \", elInfo);\n setDialog([\"no-link\"]);\n }\n } else {\n console.error(\"[LocatorJS]: Could not find element info. Element: \", target);\n setDialog([\"no-link\"]);\n }\n }\n }\n\n function scrollListener() {\n setCurrentElement(null);\n }\n\n document.addEventListener(\"mouseover\", mouseOverListener, {\n capture: true\n });\n document.addEventListener(\"keydown\", keyDownListener);\n document.addEventListener(\"keyup\", keyUpListener);\n document.addEventListener(\"click\", clickListener, {\n capture: true\n });\n document.addEventListener(\"scroll\", scrollListener);\n onCleanup(() => {\n document.removeEventListener(\"keyup\", keyUpListener);\n document.removeEventListener(\"keydown\", keyDownListener);\n document.removeEventListener(\"mouseover\", mouseOverListener, {\n capture: true\n });\n document.removeEventListener(\"click\", clickListener, {\n capture: true\n });\n document.removeEventListener(\"scroll\", scrollListener);\n });\n\n function showTreeFromElement(element) {\n const newState = getTree(element);\n\n if (newState) {\n setUiMode([\"tree\", newState]);\n }\n }\n\n function openOptions() {\n setUiMode([\"options\"]);\n }\n\n return [_$memo((() => {\n const _c$ = _$memo(() => uiMode()[0] === \"tree\", true);\n\n return () => _c$() ? _$createComponent(TreeView, {\n get treeState() {\n return uiMode()[1];\n },\n\n close: () => setUiMode([\"off\"]),\n setTreeState: newState => setUiMode([\"tree\", newState]),\n\n get adapterId() {\n return props.adapterId;\n },\n\n get targets() {\n return props.targets;\n },\n\n setHighlightedNode: setHighlightedNode\n }) : null;\n })()), _$memo((() => {\n const _c$2 = _$memo(() => !!((holdingModKey() || uiMode()[0] === \"options\") && currentElement()), true);\n\n return () => _c$2() ? _$createComponent(MaybeOutline, {\n get currentElement() {\n return currentElement();\n },\n\n showTreeFromElement: showTreeFromElement,\n\n get adapterId() {\n return props.adapterId;\n },\n\n get targets() {\n return props.targets;\n }\n\n }) : null;\n })()), _$memo((() => {\n const _c$3 = _$memo(() => !!holdingModKey(), true);\n\n return () => _c$3() ? (() => {\n const _el$ = _tmpl$.cloneNode(true);\n\n _$insert(_el$, _$createComponent(BannerHeader, {\n openOptions: openOptions,\n\n get adapter() {\n return props.adapterId;\n }\n\n }));\n\n _$effect(() => _$className(_el$, bannerClasses()));\n\n return _el$;\n })() : null;\n })()), _$memo((() => {\n const _c$4 = _$memo(() => !!highlightedNode(), true);\n\n return () => _c$4() ? _$createComponent(SimpleNodeOutline, {\n get node() {\n return highlightedNode();\n }\n\n }) : null;\n })()), _$memo((() => {\n const _c$5 = _$memo(() => !!(!isExtension() && options.getOptions().showIntro !== false), true);\n\n return () => _c$5() ? _$createComponent(IntroInfo, {\n openOptions: openOptions,\n\n get hide() {\n return !!holdingModKey() || uiMode()[0] !== \"off\";\n },\n\n get adapter() {\n return props.adapterId;\n }\n\n }) : null;\n })()), _$memo((() => {\n const _c$6 = _$memo(() => uiMode()[0] === \"options\", true);\n\n return () => _c$6() ? _$createComponent(Options, {\n get adapterId() {\n return props.adapterId;\n },\n\n get targets() {\n return props.targets;\n },\n\n onClose: () => {\n setUiMode([\"off\"]);\n },\n showDisableDialog: () => {\n setUiMode([\"disable-confirmation\"]);\n },\n\n get currentElement() {\n return currentElement();\n }\n\n }) : null;\n })()), _$memo((() => {\n const _c$7 = _$memo(() => uiMode()[0] === \"disable-confirmation\", true);\n\n return () => _c$7() ? _$createComponent(DisableConfirmation, {\n onClose: () => {\n setUiMode([\"off\"]);\n }\n }) : null;\n })()), _$memo((() => {\n const _c$8 = _$memo(() => !!dialog(), true);\n\n return () => _c$8() && (() => {\n const _el$2 = _tmpl$2.cloneNode(true);\n\n _el$2.$$click = e => {\n if (e.currentTarget === e.target) {\n setDialog(null);\n }\n };\n\n _$insert(_el$2, (() => {\n const _c$9 = _$memo(() => dialog()[0] === \"no-link\", true);\n\n return () => _c$9() && _$createComponent(NoLinkDialog, {});\n })(), null);\n\n _$insert(_el$2, (() => {\n const _c$10 = _$memo(() => dialog()[0] === \"choose-editor\", true);\n\n return () => _c$10() && _$createComponent(WelcomeScreen, {\n get targets() {\n return props.targets;\n },\n\n get originalLinkProps() {\n return dialog()[1];\n },\n\n onClose: () => {\n setDialog(null);\n }\n });\n })(), null);\n\n return _el$2;\n })();\n })())];\n}\n\nfunction RuntimeWrapper(props) {\n const options = useOptions();\n\n const isDisabled = () => options.getOptions().disabled || false;\n\n createEffect(() => {\n if (isDisabled() && isExtension()) {\n document.head.dataset.locatorDisabled = \"disabled\";\n } else {\n delete document.head.dataset.locatorDisabled;\n }\n });\n return _$createComponent(Show, {\n get when() {\n return !isDisabled();\n },\n\n get children() {\n return _$createComponent(Runtime, props);\n }\n\n });\n}\n\nexport function initRender(solidLayer, adapter, targets) {\n render(() => _$createComponent(OptionsProvider, {\n get children() {\n return _$createComponent(RuntimeWrapper, {\n get targets() {\n return Object.fromEntries(Object.entries(targets).map(([key, t]) => {\n return [key, typeof t == \"string\" ? {\n url: t,\n label: key\n } : t];\n }));\n },\n\n adapterId: adapter\n });\n }\n\n }), solidLayer);\n}\n\n_$delegateEvents([\"click\"]);","export const HREF_TARGET = \"_self\";\nexport const PADDING = 6;\nexport const baseColor = \"#e90139\";\nexport const hoverColor = \"#C70139\";\nexport const fontFamily = \"Helvetica, sans-serif, Arial\";"],"names":["VueTreeNodeElement","getSource","parentComponent","this","element","__vueParentComponent","type","__file","fileName","lineNumber","columnNumber","getComponent","vueAdapter","getElementInfo","found","componentBBox","__name","thisElement","box","getBoundingClientRect","label","nodeName","toLowerCase","link","column","line","filePath","projectPath","htmlElement","parentElements","componentBox","componentsLabels","getTree","originalRoot","_tmpl$","_tmpl$2","_tmpl$3","ComponentOutline","props","options","isInside","bbox","height","window","innerHeight","isBelow","y","left","Math","max","x","top","width","min","innerWidth","_el$","cloneNode","_el$2","firstChild","_el$3","style","setProperty","each","labels","children","buildLink","targets","labelStyles","_el$4","$$click","trackClickStats","goTo","getOptions","hrefTarget","_el$5","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","_v$8","_v$9","position","display","bottom","undefined","cursor","_v$10","Outline","showTreeFromElement","MaybeOutline","elInfo","currentElement","adapterId","_c$","SimpleNodeOutline","offset","node","getBox","LogoIcon","_props","e","preventDefault","open","OpenSettingsButton","addEventListener","onClick","title","BannerHeader","openOptions","isExtension","IntroInfo","showIntro","setShowIntro","setTimeout","hide","_el$6","nextSibling","_el$9","adapter","Object","keys","key","i","_el$10","setOptions","bannerClasses","OptionsCloseButton","_tmpl$4","EditorLinkForm","selectedTarget","selectCustom","selectTarget","url","isCustom","entries","_el$7","_el$8","target","_el$11","checked","_c$2","_el$12","_el$13","$$input","currentTarget","value","ProjectLinkForm","onChange","defaultValue","from","to","TransformLinkForm","RegExp","isInvalid","hrefTargets","LinkHrefTarget","LinkOptions","templateOrTemplateId","val","currentLink","linkProps","newValue","replacePath","Options","elLinkProps","onClose","disabled","showDisableDialog","LinkThatWorksWithOption","href","NoLinkDialog","_el$14","WelcomeScreen","originalLinkProps","welcomeScreenDismissed","_tmpl$5","TreeNodeElementView","preferInlineComponent","showComponentWrapper","JSON","stringify","componentLink","callLink","setHighlightedBoundingBox","cropPath","definitionLink","source","name","_c$3","parentFilePath","_c$4","expandedIds","has","uniqueId","getChildren","child","highlightedId","expandId","_c$5","length","TreeView","contentRef","pos","setPos","originalBox","treeState","originalNode","placement","middleware","then","close","root","getParent","state","parent","add","setTreeState","id","setHighlightedNode","DisableConfirmation","Runtime","uiMode","setUiMode","holdingModKey","setHoldingModKey","setCurrentElement","dialog","setDialog","highlightedNode","keyUpListener","isCombinationModifiersPressed","keyDownListener","mouseOverListener","HTMLElement","isLocatorsOwnElement","clickListener","stopPropagation","console","error","scrollListener","newState","document","body","classList","remove","capture","removeEventListener","_c$6","_c$7","_c$8","_c$9","_c$10","RuntimeWrapper","isDisabled","head","dataset","locatorDisabled","when","initRender","solidLayer","fromEntries","map","t","HREF_TARGET","PADDING","baseColor","fontFamily"],"sourceRoot":""}