--- {"id":"settings-panel","title":"설정 그룹·변경 저장","category":"컴포넌트","order":71.15,"summary":"저장형 설정에서 저장된 값과 미저장 초안을 구분합니다.","status":"문서용 동작 예제 · 운영 이식 미검증","references":[]} --- # 설정 그룹·변경 저장 ## 목적과 사용 저장형 설정에서 저장된 값과 미저장 초안을 구분합니다. WickedHost 제품군의 업무 패턴입니다. TeamWicked 자체 체계에는 노출하지 않습니다. ## 구성과 변형 - 변경 없음 - 미저장 - 취소 - 저장 완료 보여 주는 형태는 해당 제품 토큰으로 구성한 문서용 예제입니다. 별도 원본 연결 표시가 없으면 운영 컴포넌트를 그대로 복제했다는 의미가 아닙니다. ## 동작 규칙 - STP-01 MUST: 즉시 적용처럼 보이는 스위치로 저장형 설정을 위장하지 않습니다. - STP-02 MUST: 미저장 변경이 있을 때 저장·취소 행동을 함께 제공합니다. - STP-03 MUST: 서버 검증 실패 시 초안을 삭제하지 않습니다. - STP-04 MUST: 관계없는 설정을 같은 저장 동작에 묶지 않습니다. ## 접근성 컨트롤은 보이는 목적과 같은 접근 가능한 이름을 가집니다. 키보드로 진입·조작·이탈할 수 있어야 하며 오류와 현재 상태를 텍스트로 설명합니다. [접근성 기준](accessibility.md)과 [읽기 전용·권한](disabled-readonly.md)을 함께 적용합니다. ## 콘텐츠 예시 예제 이름·주소·금액은 실제 고객 데이터가 아닙니다. example.test, 개발 서버, 예제 계정처럼 목적이 분명한 가상 자료를 사용합니다. 실제 권한·저장·전송이 완료되었다고 오해할 문구는 사용하지 않습니다. ## 우리 구현과 연결 web/expanded-specimens.tsx의 실행 코드와 이 페이지의 구현 코드 탭이 같은 함수를 사용합니다. 공통 요소는 web/primitives.tsx, 스타일은 web/expanded-specimens.css에서 관리합니다. WickedHost의 [제품 구현 지도](product-panel.md)를 연결하되 실제 패널·청구·서버 API는 호출하지 않습니다. ## 상태와 검증 체크 변경·취소·저장·다시 변경하면서 dirty 상태와 안내를 확인합니다. 라이트·다크 / desktop·mobile / 키보드 / 빈 값·긴 값 / 권한·실패 / 데이터 변경 요청 없음에 대한 증거를 기록합니다. 제품의 실제 업무 성공이나 전체 WCAG 준수 여부는 별도 검증입니다.