Files
Aislo/ui_template/ui_template_context_menu.css
T

73 lines
1.9 KiB
CSS

/* =============================================================================
* 오른쪽 클릭 메뉴 공용 모양 — 지도 · 표 메뉴(`ui_template_context_menu.ts`) · 나무 메뉴(`ui_template_tree.ts`) 한 벌.
* 자리 · z · 최대 높이는 `:where()`(0 점) — 페이지 · 나무 클래스가 덮어씀(지도는 뷰포트 기준 absolute · 나무는 fixed).
* ========================================================================== */
:where(.ui-ctx-menu) {
position: absolute;
z-index: var(--z-dropdown);
max-height: calc(100vh - 8px);
}
.ui-ctx-menu {
display: flex;
flex-direction: column;
min-width: 160px;
padding: var(--spacing-4);
overflow-y: auto;
border: 1px solid var(--color-border);
border-radius: var(--radius-cards);
background: var(--color-surface-raised);
box-shadow: var(--shadow-lg);
}
.ui-ctx-menu[hidden] {
display: none;
}
.ui-ctx-menu__item {
padding: var(--spacing-8) var(--spacing-12);
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-text-body);
font: inherit;
font-size: 13px;
text-align: left;
cursor: pointer;
}
.ui-ctx-menu__item:hover:not(:disabled),
.ui-ctx-menu__item:focus-visible {
background: var(--color-surface-sunken, var(--color-mist-violet));
}
.ui-ctx-menu__item:disabled {
color: var(--color-text-secondary);
cursor: not-allowed;
}
/* 하위 메뉴(아코디언) — 머리글 굵게 · 종류는 들여쓰기 */
.ui-ctx-menu__item.is-group {
font-weight: var(--font-weight-medium);
}
.ui-ctx-menu__sub {
display: flex;
flex-direction: column;
}
.ui-ctx-menu__sub[hidden] {
display: none;
}
.ui-ctx-menu__item.is-sub {
padding-left: var(--spacing-24);
}
/* 구분선(81-3) — 블록별 CSS 가 없으면(`.ss__context-menu-sep` 같은) 이 기본으로 */
.ui-ctx-menu__sep {
margin: var(--spacing-4);
border-top: 1px solid var(--color-border);
}