컴포넌트 92

Avatar (아바타)

Va.Avatar — 사용자 표현 아바타 컴포넌트사용자를 아이콘, 이니셜, 또는 이미지로 표현하는 아바타 컴포넌트입니다. 원형/사각형 모양, 활성 상태 표시, 뱃지 오버레이 기능을 내장하며 SNS/협업 UI에 최적화되어 있습니다. 클래스 정보Va.Avatar extends Va.ComponenttagName: 'avatar' (실제 렌더링은 )isContainer: false파일: va_avatar.js (별도 모듈)기본 사용법이미지 아바타 (프로필 사진):{ tagName: 'avatar', image: './assets/img/user.jpg', size: 'medium'}이니셜 아바타 (사진 없을 때):{ tagName: 'avatar', initial: 'HG', ..

I (아이콘)

Va.I — 아이콘 표시 컴포넌트VanillaFront 아이콘을 표시하는 전용 컴포넌트입니다. HTML 태그로 렌더링되며, ico_xxx 클래스로 정의된 mask-image 방식 아이콘을 편리하게 배치합니다. Va.Component를 직접 상속합니다.클래스 정보Va.I extends Va.ComponenttagName: 'i'isContainer: true기본 사용법{ tagName: 'i', icon: 'ico_add'}또는 코드로:let icon = new Va.I({ icon: 'ico_edit_fill' });parent.append(icon);VanillaFront 아이콘 시스템VanillaFront는 CSS mask-image 방식의 SVG 아이콘 시스템을 사용합니다:각 아이콘은 ..

Image (이미지)

Va.Image — 이미지 표시 컴포넌트 태그를 감싸 shape, bordered, shadow, 로드 실패 대체 이미지 등의 실전 옵션을 제공하는 이미지 컴포넌트입니다. Va.Component를 직접 상속하며 va-image 클래스가 부여됩니다. 클래스 정보Va.Image extends Va.ComponenttagName: 'image' (실제 렌더링은 )isContainer: false기본 사용법{ tagName: 'image', src: './assets/img/logo.png', style: { width: '200px', height: 'auto' }}또는 코드로:let image = new Va.Image({ src: './assets/img/photo.jpg', b..

StickyDiv (스틱키디비전)

Va.StickyDiv — 스크롤 시 고정되는 Sticky 컨테이너스크롤해도 화면 특정 위치에 고정되는(sticky) 컨테이너입니다. CSS position: sticky를 자동 적용하며, position 속성으로 top/bottom/left/right 중 고정 위치를 지정할 수 있습니다.클래스 정보Va.StickyDiv extends Va.ComponenttagName: 'stickyDiv' (실제 렌더링은 )isContainer: trueVa.Div가 아니라 Va.Component를 직접 상속하지만, CSS 클래스는 va-div sticky가 부여되어 Div 계열 스타일을 재사용합니다.기본 사용법{ tagName: 'stickyDiv', position: 'top', style: { ..

GridDiv (그리드 디비전)

Va.GridDiv — CSS Grid 기반 격자 레이아웃 컨테이너CSS Grid를 이용해 셀 단위 격자 레이아웃을 만드는 컨테이너입니다. Va.Component를 직접 상속받으며 display: grid가 자동 적용되어, 실제 데이터 그리드(Va.Grid)와는 다른 목적의 정적 격자 레이아웃(카드 나열, 폼 격자 배치, 스프레드시트 스타일 표 등)에 사용됩니다.클래스 정보Va.GridDiv extends Va.ComponenttagName: 'gridDiv' (실제 렌더링은 )isContainer: trueisEnableRoot: true파일: va_griddiv.js (별도 모듈)짝을 이루는 3형제va_griddiv.js 하나에 세 컴포넌트가 함께 정의되어 있으며, 함께 사용하는 것이 표준 패턴입니다..

SearchPanel (조회패널)

Va.SearchPanel — 조회 조건 전용 패널 컨테이너목록/그리드 화면 상단의 "조회 조건 입력 영역"을 위한 전용 패널입니다. Va.Semantic을 상속받아 태그로 렌더링되며, va-search-panel 클래스가 부여되어 테두리·상단 강조선·hover 그림자 등 검색 폼 전용 시각 스타일이 자동 적용됩니다.클래스 정보Va.SearchPanel extends Va.Semantic extends Va.ComponenttagName: 'searchPanel' (실제 렌더링은 )isContainer: true기본 사용법{ tagName: 'searchPanel', layout: 'ds-flex fd-row ai-center gap-s', tags: [ { tagName:..

TitleBar (타이틀바)

Va.TitleBar — 제목과 액션을 함께 놓는 상단 바 컨테이너제목 텍스트와 액션 버튼을 한 줄에 나란히 배치하는 상단 바 전용 컨테이너입니다. Va.Div를 상속받으며 va-title-bar 클래스가 부여되어 flex row 레이아웃 + 타이틀 바 전용 padding이 자동 적용됩니다.클래스 정보Va.TitleBar extends Va.Div extends Va.ComponenttagName: 'titleBar' (실제 렌더링은 )isContainer: true기본 사용법{ tagName: 'titleBar', tags: [ { tagName: 'title', innerHTML: '사용자 목록' }, { tagName: 'div', style: { flex: 1 ..

SubTitle (서브타이틀)

Va.SubTitle — Title 아래의 보조 제목 컴포넌트Title 아래에 오는 보조/부제목을 표시하는 전용 컨테이너입니다. Va.Div를 상속받으며 va-sub-title 클래스가 부여되어 테마별 보조 제목 스타일(작은 폰트, 옅은 색상 등)이 자동 적용됩니다. 클래스 정보Va.SubTitle extends Va.Div extends Va.ComponenttagName: 'subTitle' (실제 렌더링은 )isContainer: true기본 사용법{ tagName: 'subTitle', innerHTML: '2026년 3월 기준'}또는 코드로:let subTitle = new Va.SubTitle({ text: '(선택 사항)'});parent.append(subTitle);Tit..

Title (타이틀)

Va.Title — 페이지·섹션의 표준 타이틀 컴포넌트화면이나 섹션의 대표 제목을 표시하는 전용 타이틀 컨테이너입니다. Va.Div를 상속받으며 va-title 클래스가 부여되어 테마별 타이틀 전용 스타일(폰트 크기, 두께, 여백 등)이 자동 적용됩니다.클래스 정보Va.Title extends Va.Div extends Va.ComponenttagName: 'title' (실제 렌더링은 )isContainer: true기본 사용법{ tagName: 'title', innerHTML: '사용자 관리'}또는 코드로:let title = new Va.Title({ text: '오늘의 리포트'});parent.append(title);H1 / Header와 다른 점시맨틱 태그와의 차이점은 다음과..

ActionBar (액션바)

Va.ActionBar — 액션 버튼 모음 툴바 컨테이너저장, 취소, 삭제 등 액션 버튼들을 나란히 배치하는 툴바 전용 컨테이너입니다. Va.Div를 상속받으며 va-action-bar 클래스가 부여되어 툴바 전용 스타일(정렬, 여백, 구분선 등)이 자동 적용됩니다.클래스 정보Va.ActionBar extends Va.Div extends Va.ComponenttagName: 'actionBar' (실제 렌더링은 )isContainer: true기본 사용법{ tagName: 'actionBar', layout: 'ds-flex fd-row ai-center gap-s', tags: [ { tagName: 'button', text: '저장', appearance: 'prima..