JS Design System v0.6

Divider

콘텐츠 그룹을 나눕니다. 여백과 배경 차이로 구획이 되면 쓰지 않고, 꼭 필요한 곳에만 아주 연하게.

1. Default

영역을 나누는 기본 가로 구분선입니다.

기본 설정


고급 설정

2. Horizontal

hr.divider. 강조는 .strong, 임시 구분은 .dashed.

기본 설정


고급 설정


감사 로그


3. With Label

구분 의미가 필요할 때 가운데 라벨.

4. Vertical

툴바에서 버튼 그룹을 나눕니다. 높이 24.

Props

HTML 에서는 클래스와 속성으로, React(@jiran/ds-react)에서는 같은 이름의 prop(variant · size …)으로 변형·상태를 지정합니다.

Prop / ClassType · ValuesDefaultDescription
.dividerhr | div—가로 1px border/default, margin 16 0
.strong / .dashedbooleanfalseborder/strong / 점선
.labeldiv—가운데 라벨 텍스트
.verticalspan—세로 1×24, 좌우 12

Usage

React: @jiran/ds-react 패키지를 설치하고 style.css 를 한 번 import 하면 위 React 탭 코드를 그대로 쓸 수 있습니다(React Package). HTML: assets/style.css 를 연결하고(일부만 필요하면 아래 컴포넌트 CSS 복사), 동작이 필요하면 assets/ds.js 를 함께 넣습니다 — 이 페이지의 프리뷰가 그 스크립트로 동작합니다. 색은 전부 토큰(var(--accent) 등)을 참조하므로 --accent-* 만 제품 컬러로 바꾸면 됩니다.

React @jiran/ds-react

npm i @jiran/ds-react

// main.tsx — 앱 진입점에서 한 번
import "@jiran/ds-react/style.css";

// 컴포넌트
import { Divider } from "@jiran/ds-react";

HTML

<!-- 1) 토큰 + 전체 컴포넌트 스타일 한 번에 연결 -->
<link rel="stylesheet" href="assets/style.css">
<!-- 동작(드롭다운·탭·달력·표 정렬/선택·토스트 등) — 순수 JS 한 파일. React 제품은 불필요 -->
<script src="assets/ds.js" defer></script>

<!-- 2) 또는 아래 "Component CSS" 만 프로젝트 CSS 에 붙이고,
        :root 토큰은 Foundations › Design Token 에서 복사 -->

Component CSS .divider

/* JS Design System v0.6 · .divider · 토큰(var(--*))은 assets/style.css :root 참고 */
.topbar .divider.vertical{height:20px}
.divider{border:0;border-top:1px solid var(--border-default);margin:16px 0;width:100%}
.divider.strong{border-color:var(--border-strong)}
.divider.dashed{border-top-style:dashed}
.divider.label{display:flex;align-items:center;gap:12px;border:0;font-size:12px;color:var(--text-tertiary);white-space:nowrap}
.divider.label::before,.divider.label::after{content:"";flex:1;height:1px;background:var(--border-default)}
.divider.vertical{width:1px;height:24px;border:0;background:var(--border-default);margin:0 12px;display:inline-block;vertical-align:middle;flex:none}