0.4.0 마이그레이션 가이드
0.4.0 마이그레이션 가이드
섹션 제목: “0.4.0 마이그레이션 가이드”0.4.0에서 이 저장소의 서드파티가 아닌 공개 심볼 전부에 LH 접두사를 통일적으로 부여하여, plus 저장소의
docs/project/development-guide.md에 있는 패밀리 명명 규칙에 맞췄습니다(배경은 명명 규칙을 참고).
전부 식별자 수준의 기계적 치환이며, 동작은 변하지 않고 내보내기 경로도 변하지 않습니다. 각 UI 라이브러리(plus / vue2 / uniapp)는 이미 개명을 동기화했습니다; 독립 사용자는 아래 매핑에 따라 import를 수정하세요.
타입 / 인터페이스: LhXxx
섹션 제목: “타입 / 인터페이스: LhXxx”| 이전 | 새 | 소속 |
|---|---|---|
ThemePreset |
LhThemePreset |
theme |
ThemePresetName |
LhThemePresetName |
theme |
ThemeVars |
LhThemeVars |
theme |
SxProps |
LhSxProps |
core/shared/sx |
DOMRectLike |
LhDOMRectLike |
core/shared/popper |
ComputePositionOptions |
LhComputePositionOptions |
core/shared/popper |
PopperPosition |
LhPopperPosition |
core/shared/popper |
PtAttrs |
LhPtAttrs |
core/shared/pt |
SanitizeNumberOptions |
LhSanitizeNumberOptions |
core/shared/sanitize |
VirtualRange |
LhVirtualRange |
core/shared/virtual |
AxisRange |
LhAxisRange |
core/shared |
LocalePath |
LhLocalePath |
locales |
Leaves |
LhLeaves |
types/locale |
LocaleOptions |
LhLocaleOptions |
types/locale |
상수: LH_<모듈>_<개념>
섹션 제목: “상수: LH_<모듈>_<개념>”| 이전 | 새 | 소속 |
|---|---|---|
DEFAULT_THEME |
LH_THEME_DEFAULT |
core/config |
DEFAULT_DRAWER_DIRECTION |
LH_DRAWER_DIRECTION_DEFAULT |
core/drawer |
DEFAULT_DRAWER_SIZE |
LH_DRAWER_SIZE_DEFAULT |
core/drawer |
DEFAULT_DROPDOWN_PLACEMENT |
LH_DROPDOWN_PLACEMENT_DEFAULT |
core/dropdown |
DROPDOWN_TRIGGERS |
LH_DROPDOWN_TRIGGERS |
core/dropdown |
DEFAULT_POPCONFIRM_TYPE |
LH_POPCONFIRM_TYPE_DEFAULT |
core/popconfirm |
DEFAULT_POPCONFIRM_PLACEMENT |
LH_POPCONFIRM_PLACEMENT_DEFAULT |
core/popconfirm |
POPOVER_TRIGGERS |
LH_POPOVER_TRIGGERS |
core/popover |
DEFAULT_POPOVER_PLACEMENT |
LH_POPOVER_PLACEMENT_DEFAULT |
core/popover |
THEME_PRESETS |
LH_THEME_PRESETS |
theme |
PRESET_THEME_STYLE_ID |
LH_PRESET_THEME_STYLE_ID |
theme |
주의: 기본값 상수는 LH_<모듈>_<개념>_DEFAULT(DEFAULT가 뒤)이지,
LH_DEFAULT_<...>가 아닙니다.
테마 프리셋 객체: 소문자 → LhXxx
섹션 제목: “테마 프리셋 객체: 소문자 → LhXxx”| 이전 | 새 |
|---|---|
cerblue |
LhCerblue |
songhua |
LhSonghua |
zhusha |
LhZhusha |
shuimo |
LhShuimo |
golden |
LhGolden |
변경 없음(예외)
섹션 제목: “변경 없음(예외)”아래 심볼은 원래 이름을 유지하며, 마이그레이션 시 건드리지 마세요:
| 심볼 | 이유 |
|---|---|
zhCN / enUS |
표준 locale 명명이자, 세 UI 라이브러리의 공개 API로서 재내보내기됨 |
프리셋 이름의 문자열 값(name: 'cerblue' 등) |
사용자가 ConfigProvider의 theme에 작성하는 설정값이며, 바꾸면 모든 하위 설정이 망가짐 |
함수명(getThemeVars / sxToStyle 등) |
이번에는 상수 / 타입 / 인터페이스 / 클래스만 수렴함 |
// ✅ 마이그레이션 후import { LH_THEME_PRESETS, LhCerblue, getThemeVars } from '@lh-ui/share/theme'import type { LhThemePreset, LhSxProps } from '@lh-ui/share/core/shared/sx'
const preset: LhThemePreset = LhCerbluegetThemeVars('cerblue') // 문자열 값은 변하지 않음일괄 치환 예시
섹션 제목: “일괄 치환 예시”// beforeimport { THEME_PRESETS, PRESET_THEME_STYLE_ID } from '@lh-ui/share/theme'import type { SxProps, ThemeVars } from '@lh-ui/share'
// afterimport { LH_THEME_PRESETS, LH_PRESET_THEME_STYLE_ID } from '@lh-ui/share/theme'import type { LhSxProps, LhThemeVars } from '@lh-ui/share'이번 릴리스의 다른 내용
섹션 제목: “이번 릴리스의 다른 내용”개명 외에, 0.4.0에는 다음과 같은 대기 중인 체인지셋이 포함되어 있습니다:
- 로컬 연동과 스타일 거버넌스(minor) —— 패밀리 구성 alias 메커니즘,
verify:styles의 6개 항목 검증 정착 - 3개 저장소 감사 수정(minor)
- 높이 토큰 전문 작업(minor) ——
--lh-control-height-*토큰을 새로 만들어 컨트롤의 바깥 높이를 통일, 시각적 파괴적 변화: 아래 “컨트롤 높이 변화” 참고 - divider 세로 지원 문구(minor) —— 세로 구분선의 기본 슬롯 문구를 지원하고,
aria-orientation="vertical"이 이제 접근 가능해짐 - GUI 회귀 결함 묶음(patch) —— Form 필수 문구의 우선순위(사용자 정의
message가 더 이상 합성 규칙에 삼켜지지 않음), 어두운 주색 프리셋의 명도 올리기(水墨 (수묵) 등 프리셋의 주요 버튼이 어두운색에서 더 이상 거의 보이지 않음) 등 - date-picker 순환 의존성 철거(patch) ——
formatDate/parseDate를core/shared/date로 내리고,logic ↔ adapter의 이진 순환을 단방향으로 해체 - divider 테두리 스타일과 단위 테스트(patch)
- 폼 컨트롤 가운데 정렬 수정(patch)
- steps 제목 줄바꿈과 말줄임(patch)
- hairline 표시 규칙 폐지(patch) —— uniapp v3 px 직접 출력으로, 새로 추가하는 1px 테두리에는 더 이상
/* hairline */표시가 필요 없음(기존 65곳의 표시는 일반 주석으로 보존) - 문서 사이트(minor) —— 지금 읽고 있는 이 사이트
컨트롤 높이 변화(시각적 파괴)
섹션 제목: “컨트롤 높이 변화(시각적 파괴)”--lh-control-height-{mini,small,medium,large,x-large} 토큰을 새로 만들었고(의미는 컨트롤의
바깥 높이 border-box), 모든 폼 컨트롤이 이 토큰을 참조하도록 바꾸었습니다. 이전에는 대부분의 컨트롤이 box-sizing: border-box를 선언하지 않았는데,
바깥 높이 기준으로 통일한 후 아래 컨트롤들의 실제 렌더링 높이가 낮아졌습니다:
| 컨트롤 | 변화 |
|---|---|
| input | padding에서 파생되던 것을 고정 높이로 변경: mini 28→20, small 32→24, medium 39→32, large 50→40 |
| 기타 폼 컨트롤 | 같은 높이 단계 그룹으로 통일, 같은 폼 안에 섞여도 수직 중심과 베이스라인이 정렬됨 |
이것은 시각 수준의 파괴입니다(DOM 구조와 API는 변하지 않음). 프로젝트에 옛 픽셀값에 대한 스냅샷 테스트나 고정 높이 레이아웃이 있다면 회귀 확인이 필요합니다.
Copyright © 2024-2026 FengMo WenXue