가이드
테마·스타일

테마·스타일

라이트/다크 테마, 셀·헤더 스타일, CSS 변수 커스터마이징을 설명합니다.

피벗 UI의 색·톤은 Book의 테마로 정하고, 값 셀의 글자색·배경 등은 값 필드 스타일로 지정합니다.
화면 전체 팔레트를 변경하려면 CSS 변수(--rpivot-*)를 오버라이드합니다.

Book 개요는 피벗 북(Book)을, 스타일 CSS 로드는 설치를 참고하세요.

스타일 CSS

테마·기본 레이아웃이 적용되려면 RealPivot2 스타일 시트를 반드시 로드해야 합니다.

import 'realpivot2/style.css';
<link href="../styles/realpivot2-style.css" rel="stylesheet" />

테마 지정

테마는 Book의 general 속성에서 설정합니다. (PivotBookGeneralOptions)

속성설명기본
theme'light' · 'dark' · 'system'미지정 시 시스템(OS) 테마
lightTheme라이트일 때 적용할 data-theme 이름'light'
darkTheme다크일 때 적용할 data-theme 이름'dark'

빌트인 팔레트는 light · dark 입니다. theme'system'이거나 비어 있으면, OS의 다크 모드 여부에 따라 lightTheme 또는 darkTheme가 선택됩니다.

const config = {
  general: {
    theme: 'light', // 'light' | 'dark' | 'system'
  },
  tables: {
    name: 'sales',
    cube: 'sales',
    // fields ...
  },
};

커스텀 팔레트를 사용할 때는 theme에 이름을 직접 지정하지 말고, lightTheme / darkTheme에 CSS에서 정의한 테마 이름을 지정합니다.

general: {
  theme: 'light',
  lightTheme: 'brand',
  // darkTheme: 'brand-dark',
}

API로 바꾸기

const general = control.book.general;
 
general.updateOption('theme', 'dark');
general.updateOption('theme', 'light');
general.updateOption('theme', 'system');
 
// 커스텀 팔레트
general.updateOption('theme', 'light');
general.updateOption('lightTheme', 'brand');

옵션 변경 규칙은 개발 가이드를 참고하세요.

CSS 변수로 커스터마이즈

피벗 루트(.rpivot-root)에 data-theme가 붙고, 그 안의 --rpivot-* 변수가 색·테두리를 결정합니다.
커스텀 테마는 동일 셀렉터로 변수를 덮어쓴 뒤 lightTheme / darkTheme에 그 이름을 지정하면 됩니다.

자주 쓰는 변수는 다음과 같습니다.

변수용도
--rpivot-page-bg-color페이지 배경
--rpivot-header-bg-color / --rpivot-header-color헤더 배경·글자
--rpivot-header-bd-color헤더 테두리
--rpivot-header-total-bg / --rpivot-header-grand-bg소계·총계 헤더
--rpivot-value-cell-bg / --rpivot-value-cell-color값 셀
--rpivot-value-cell-d-bg / --rpivot-value-cell-g-bg소계·총계 값 셀
--rpivot-fieldbar-bg필드 바
--rpivot-select-bg / --rpivot-select-bd선택 영역
--rpivot-book-header-bg북 헤더
--rpivot-pagetab-selected-color선택 페이지 탭
.rpivot-root[data-theme='brand'] {
  --rpivot-page-bg-color: #f7f9fc;
  --rpivot-header-bg-color: #e8eef8;
  --rpivot-header-color: #1a2744;
  --rpivot-value-cell-color: #222;
  --rpivot-pagetab-selected-color: #2563eb;
}
general: {
  theme: 'light',
  lightTheme: 'brand',
}

다크 빌트인은 .rpivot-root[data-theme='dark']에 정의되어 있습니다. 필요하면 같은 방식으로 변수를 덮어쓰세요.

값 필드 스타일

특정 측정값 셀의 글자·배경·굵기 등은 값 필드 옵션으로 지정합니다. (PivotValueFieldOptions)
소계·총계용 속성을 따로 둘 수 있으며, 자세한 예는 소계·총계에도 있습니다.

속성적용 대상
style / className일반 값 셀 (className 미지정 시 소계·총계에도 사용)
totalStyle / totalClass소계 셀
grandStyle / grandTotalClass총계 셀

style 계열은 PivotCellStyle 객체이고, className 계열은 CSS 클래스 이름입니다.
인라인 style이 있으면 클래스보다 우선합니다. totalStyle / grandStyle은 일반 style에 병합된 뒤 적용됩니다.

fields: {
  values: [
    {
      name: '판매수량',
      className: 'qty',
      totalClass: 'qty-total',
      grandTotalClass: 'qty-grand',
      style: { color: 'green' },
      totalStyle: { color: 'darkblue' },
      grandStyle: { color: 'darkblue', backgroundColor: '#f0f8ff' },
    },
  ],
}
.qty {
  font-variant-numeric: tabular-nums;
}
.qty-total {
  font-weight: 600;
}
.qty-grand {
  font-weight: 700;
}

PivotCellStyle 주요 속성

속성설명
color / backgroundColor글자색 · 배경색
bold / italic / underline글꼴 장식
align정렬
icon · iconSet · iconIndex아이콘 표시(셀 오버레이와 연계)

조건에 따라 셀을 강조하려면 값 필드의 highlight 규칙을 사용합니다. 규칙마다 style / className을 둘 수 있습니다.

화면에서 바꾸기

행 바 메뉴의 테마에서 시스템 / 밝게 / 어둡게를 선택할 수 있습니다.
값 필드 다이얼로그에서는 일반·소계·총계별 색·굵기·정렬 등을 편집할 수 있습니다.

See Also