이러한 스타일링 옵션은
ThunderPhoneWidget React 컴포넌트와 ThunderPhone.mount() CDN 메서드로 렌더링되는 사전 구축 위젯에 적용됩니다. 완전히 사용자 지정된 UI가 필요하면 대신 헤드리스 훅을 사용합니다.테마
theme prop은 위젯의 색상 구성을 제어합니다. 위젯 루트에 tp--light 또는 tp--dark 클래스를 적용합니다.
두 테마 모두 배경 흐림 효과와 은은한 투명도를 적용한 글래스모피즘 바 디자인을 사용합니다.
CSS 사용자 지정 속성
위젯은 개별 클래스를 수정하지 않고 색상을 변경할 수 있도록 재정의 가능한 CSS 사용자 지정 속성(변수)을 제공합니다. 이러한 속성은.tp-widget 루트에 적용되는 테마 클래스(.tp--light 또는 .tp--dark)로 정의됩니다.
사용자 지정 속성 재정의
primaryColor prop을 통해 강조 색상을 설정합니다.
.tp-widget.tp--light / .tp-widget.tp--dark)를 사용하십시오.
CSS 클래스
모든 위젯 클래스에는 기존 스타일과의 충돌을 방지하기 위해tp- 접두사가 붙습니다.
예시
Props를 통한 사용자 지정 강조 색상
위젯에 브랜드를 적용하는 가장 간단한 방법입니다.CSS를 통한 사용자 지정 색상
전체 색상을 제어하려면 사용자 지정 속성을 재정의합니다. 강조 색상은 CSS가 아니라primaryColor prop에서 가져온다는 점을 기억하세요.
사용자 지정 크기
바, 버튼, 텍스트 크기를 조정하여 위젯을 더 크거나 작게 만듭니다.텍스트 레이블 숨기기
위젯의 모든 텍스트는.tp-meta에 있습니다. 파형과 버튼만 남기려면 전체를 숨깁니다.
유휴 레이블은
.tp-status가 아니라 .tp-name/.tp-sub에 있습니다. .tp-status만 숨겨도 위젯이 유휴 상태일 때 제목은 계속 표시됩니다.테마별 재정의
테마 클래스를 사용하여 특정 테마를 대상으로 지정합니다.className을 사용한 범위 지정
React 컴포넌트를 사용할 때className prop을 전달하여 특정 위젯 인스턴스에 재정의 범위를 지정합니다.
primaryColor prop을 통해 고유한 강조 색상을 지정합니다(CSS는 --tp-accent를 재정의할 수 없습니다. 인라인으로 설정되기 때문입니다).
완전히 사용자 지정된 UI
CSS 재정의만으로 충분하지 않다면 헤드리스 훅을 사용하여 완전히 제어할 수 있습니다. 모든 HTML과 스타일링은 직접 제공하고,useThunderPhone이 음성 세션을 처리합니다. 이 훅은 파형과 같은 오디오 반응형 시각화를 구축할 수 있도록 audioLevelRef도 제공합니다.