fix: Use slot.parentElement instead of :scope selector for ShadowRoot
The :scope selector may not work correctly when querying from a ShadowRoot. Use slot.parentElement to reliably find the container div to replace. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
42b29ff9d7
commit
9e32b5a457
|
|
@ -270,7 +270,8 @@ export class FolkCalendar extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,8 @@ export class FolkChat extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,8 @@ export class FolkEmbed extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,8 @@ export class FolkGoogleItem extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our card
|
// Replace the container div (slot's parent) with our card
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
const cardEl = wrapper.querySelector(".card");
|
const cardEl = wrapper.querySelector(".card");
|
||||||
if (containerDiv && cardEl) {
|
if (containerDiv && cardEl) {
|
||||||
containerDiv.replaceWith(cardEl);
|
containerDiv.replaceWith(cardEl);
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,8 @@ export class FolkImageGen extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,8 @@ export class FolkMap extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,8 @@ export class FolkMarkdown extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -367,7 +367,8 @@ export class FolkObsNote extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -196,7 +196,8 @@ export class FolkPiano extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our piano container
|
// Replace the container div (slot's parent) with our piano container
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
const pianoContainer = wrapper.querySelector(".piano-container");
|
const pianoContainer = wrapper.querySelector(".piano-container");
|
||||||
if (containerDiv && pianoContainer) {
|
if (containerDiv && pianoContainer) {
|
||||||
containerDiv.replaceWith(pianoContainer);
|
containerDiv.replaceWith(pianoContainer);
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,8 @@ export class FolkPrompt extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,8 @@ export class FolkSlide extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our slide container
|
// Replace the container div (slot's parent) with our slide container
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
const slideContainer = wrapper.querySelector(".slide-container");
|
const slideContainer = wrapper.querySelector(".slide-container");
|
||||||
if (containerDiv && slideContainer) {
|
if (containerDiv && slideContainer) {
|
||||||
containerDiv.replaceWith(slideContainer);
|
containerDiv.replaceWith(slideContainer);
|
||||||
|
|
|
||||||
|
|
@ -350,7 +350,8 @@ export class FolkTranscription extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -326,7 +326,8 @@ export class FolkVideoChat extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -360,7 +360,8 @@ export class FolkVideoGen extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -341,7 +341,8 @@ export class FolkWorkflowBlock extends FolkShape {
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Replace the container div (slot's parent) with our wrapper
|
// Replace the container div (slot's parent) with our wrapper
|
||||||
const containerDiv = root.querySelector(":scope > div");
|
const slot = root.querySelector("slot");
|
||||||
|
const containerDiv = slot?.parentElement as HTMLElement;
|
||||||
if (containerDiv) {
|
if (containerDiv) {
|
||||||
containerDiv.replaceWith(wrapper);
|
containerDiv.replaceWith(wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue