Skip to content

release: version packages (alpha)#1495

Open
github-actions[bot] wants to merge 1 commit intolynxfrom
changeset-release/lynx
Open

release: version packages (alpha)#1495
github-actions[bot] wants to merge 1 commit intolynxfrom
changeset-release/lynx

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 21, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to lynx, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

lynx is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on lynx.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@seed-design/lynx-react@0.2.0-alpha.1

Minor Changes

  • d0ea7fe: BottomSheet 컴포넌트 추가 (@lynx-js/lynx-ui-sheet 래핑)

    • 공개 컴포넌트: BottomSheetRoot, BottomSheetTrigger, BottomSheetBackdrop, BottomSheetContent, BottomSheetHandle, BottomSheetHeader, BottomSheetTitle, BottomSheetDescription, BottomSheetBody, BottomSheetFooter
    • 공개 API는 웹과 동일하게 open/defaultOpen/onOpenChange를 노출하고 내부에서 lynx-ui-sheet의 show/defaultShow/onShowChange로 매핑
    • createSlotRecipeContext 유틸을 Lynx 버전으로 포팅해 packages/lynx-react/src/utils/create-slot-recipe-context.tsx 신규 — 이후 복합 슬롯 컴포넌트의 공통 기반
    • BottomSheetCloseButton은 Tier B로 분리 (SVG 지원 후 추가 예정)
    • lazyMount/unmountOnExit는 미지원 — forceMount로 대체
    • @lynx-js/lynx-ui-sheet peerDependency 추가
  • 2194ead: @seed-design/lynx-react 내부 구조 정리 + 런타임 버그 수정

    Public API 변경 (Breaking)

    • createRecipeContext export 제거 — 내부 실사용 0건. 단일 slot 컴포넌트 포팅 시 필요하면 재도입.
    • createCompoundContext export 제거 — Switch 단독 사용이라 inline React.createContext + null-check throw 패턴으로 교체. lynx-ui 의 13 개 compound 패키지가 동일 inline 패턴.
    • dynamicStyle export + ./dynamic-style subpath export 제거 — 모노레포 전체에서 실사용 0건. Skeleton / Scrollable 로드맵 컴포넌트 도입 시점에 CSS 변수 주입 방식 재검토.

    런타임 버그 수정

    • ActionButtonwithProvider("view", "root") / withContext("text", "text") 로 intrinsic string 을 인자로 넘기고 있어 BackgroundSnapshot not found: view 런타임 에러를 유발하던 기존 버그 수정. ActionButtonRoot / ActionButtonTextSlot 을 파일-내 forwardRef + 리터럴 <view> / <text> JSX 로 재작성. PR feat(lynx-react): add BottomSheet component #1489 가 BottomSheet 에만 적용한 fix 를 ActionButton 에도 동일하게 적용.

    내부 정리

    • useControllableState, usePressTap 훅을 src/utils/src/hooks/ 로 이동 (public export 이름 변경 없음, 상대 경로만 이동).
    • AGENTS.md 에 "Native tag literal JSX constraint" 섹션 추가 — 허용/금지 패턴 표, PR feat(lynx-react): add BottomSheet component #1489 (withContext("view") 실패) + PR refactor(lynx-react): align utils with lynx-ui, move hooks to src/hooks/ #1503 spike (createSlotRecipeContext 공통 유틸 파일 안의 factory 도 실패) 실증 근거, Lynx 엔진 레벨 근본 원인(ConvertStringTagToEnumTag enum 변환 실패) 정리. 핵심 발견: Lynx 컴파일러는 리터럴 <view> / <text> JSX 를 파일 단위로 정적 분석하기 때문에, 리터럴 JSX 가 렌더 대상 컴포넌트 파일과 동일한 파일 안에 있어야 한다 — 공통 유틸 파일의 helper 로 추출 불가.

    Spike 실패 기록

    이번 PR 에서 createSlotRecipeContext 반환 객체에 withViewContext(slot) / withTextContext(slot) 헬퍼를 추가해 BottomSheet 의 로컬 createViewSlot/createTextSlot factory 를 대체하려 시도했으나, 런타임 BackgroundSnapshot not found: view 에러로 revert. 구조는 BottomSheet 의 기존 factory 와 동일 (1-layer forwardRef + 리터럴 <view>) 이지만 선언 파일이 달라 Lynx 컴파일러의 파일-스코프 정적 분석을 통과하지 못함. BottomSheet 의 기존 createViewSlot / createTextSlot factory 는 그대로 유지.

  • d410a4c: Add recipe/slot-recipe context utilities and refactor ActionButton to use them.

    • createRecipeContext: single-slot recipe context with withContext HOC.
    • createSlotRecipeContext: multi-slot recipe context with withRootProvider / withProvider / withContext for wrapping React function components, plus withViewContext / withTextContext factories that emit literal <view> / <text> JSX for native intrinsic slots (required to pass the Lynx compiler's BackgroundSnapshot static analysis).
    • Export NativeSlotProps type for compound components extending native slot props.
    • Internal splitMultipleVariantsProps utility for compound components that host multiple recipes (first consumer: TagGroup in a follow-up PR).
    • ActionButton refactored internally to compose via withProvider("view", "root") + withContext("text", "text"). Public API unchanged.
  • ada0152: Lynx 플랫폼용 Switch 컴포넌트 추가

    • SwitchRoot, SwitchControl, SwitchThumb, SwitchLabel export
    • useControllableStateusePressTap primitive 인라인 조합으로 구현 (별도 useSwitch 훅 없음)
    • 웹 대비 제외: SwitchHiddenInput, name/value/required/invalid, focus/focusVisible (Lynx 런타임 미지원)
    • active (pressed) 모디파이어는 switchmark recipe CSS에 pressed 상태 추가 시 활성화 예정
  • 70054ea: TagGroup 컴포넌트 추가 + qvism preset 웹/Lynx 분리

    • @seed-design/lynx-react: TagGroupRoot, TagGroupItem, TagGroupItemLabel 지원. Root에서 size/weight/tone을 Context로 Item에 전파, children 사이에 separator 자동 삽입 (기본 " · ", separator prop으로 커스텀 가능). 웹 대비 <span><view>/<text> 렌더, flexShrink·asChild·아이콘 slot 미지원.
    • @seed-design/lynx-css: qvism preset이 @seed-design/qvism-preset (웹) 과 @seed-design/qvism-preset/lynx (Lynx) 로 완전 분리됨. Lynx preset은 @lynx-js/typesCSSProperties 타입으로 recipe 작성 시 미지원 property를 컴파일 타임에 차단. TagGroup recipe를 Lynx flex row 기반으로 재작성.

@seed-design/lynx-css@0.1.1-alpha.1

Patch Changes

  • 4d9b05c: Regenerate Lynx CSS after qvism preset web/Lynx split. packages/lynx-css now uses its own qvism.config.mjs driven by the dedicated Lynx preset entry (@seed-design/qvism-preset/lynx), and no longer depends on the removed targets mechanism in qvism-core.

  • 70054ea: TagGroup 컴포넌트 추가 + qvism preset 웹/Lynx 분리

    • @seed-design/lynx-react: TagGroupRoot, TagGroupItem, TagGroupItemLabel 지원. Root에서 size/weight/tone을 Context로 Item에 전파, children 사이에 separator 자동 삽입 (기본 " · ", separator prop으로 커스텀 가능). 웹 대비 <span><view>/<text> 렌더, flexShrink·asChild·아이콘 slot 미지원.
    • @seed-design/lynx-css: qvism preset이 @seed-design/qvism-preset (웹) 과 @seed-design/qvism-preset/lynx (Lynx) 로 완전 분리됨. Lynx preset은 @lynx-js/typesCSSProperties 타입으로 recipe 작성 시 미지원 property를 컴파일 타임에 차단. TagGroup recipe를 Lynx flex row 기반으로 재작성.
  • ffc6d4f: 등록되지 않은 컴포넌트의 CSS 산출물을 정리했어요. recipes-lynx.ts에 등록된 recipe만 lynx-css 패키지에 남도록 orphan 파일 330개를 제거했습니다.

@github-actions github-actions Bot force-pushed the changeset-release/lynx branch 9 times, most recently from 3de33c6 to ac577ac Compare April 22, 2026 03:17
@github-actions github-actions Bot force-pushed the changeset-release/lynx branch from ac577ac to 62095f1 Compare April 22, 2026 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants