TC/플러그인 아키텍처: 클래스에 대한 제어권을 더 가져야 할까요?

최근 Locations 플러그인에서 작은 컴포넌트를 .gjs로 이동했습니다. 이 컴포넌트는 웹사이트와 사용자 프로필의 locations 아웃렛에 위치(Location)의 대체 형식을 추가합니다. 동시에 플러그인 코드에 의해 대체되는 중복된 위치 정보는 숨겨줍니다.

이전에 작성된 코드의 가치를 최신 기준에 맞춰 다시 평가해 보았습니다.

현재 플러그인 아웃렛을 사용하는 것은 좋은 방법이지만, 아웃렛 위의 감싸는 div의 부모 클래스에도 영향을 줄 수 있는 기능이 있어야 하지 않을까요?

현재 이 경우, 자매 요소의 중복된 정보를 숨기기 위해 DOM을 직접 조작하고 있습니다:

DOM 조작보다는 컴포넌트를 명시적으로 수정하는 방식으로 변경하는 것이 더 좋겠습니다.

아마 제가 놓친 부분이 있을 수 있습니다.

이러한 API가 코어와 플러그인/테마 측면에서 어떻게 작동할지 상상하는지 개요를 작성해 주시겠어요?

우리가 이미 가지고 있는 비슷한 기능은 {{body-class "blah"}} 헬퍼입니다. 이 헬퍼를 어떤 아웃렛에 넣어도 <body> 태그에 “blah” 클래스가 적용됩니다.

또 다른 아이디어는 더 고급 CSS 선택자를 사용하는 것입니다. 예를 들어, Discourse의 대상 브라우저는 모두 현재 :has()를 지원합니다.

(단, 사용할 때 성능을 고려하는 것이 중요합니다)

아, 제가 방법을 모르고 있었군요 :sweat_smile:

네, has 옵션보다는 그걸 선호합니다.

오, 이 경우 제게 도움이 될 것 같네요. 정말 유용하네요! 한번 시도해 보겠습니다!

참고로, 해당 작업이 잘 적용된 것 같습니다:

David님, 감사합니다!