feat(lynx): extract useControllableState/usePressTap into headless packages#1645
feat(lynx): extract useControllableState/usePressTap into headless packages#1645junghyeonsu wants to merge 3 commits into
Conversation
…ckages Move the two hooks out of @seed-design/lynx-react into standalone headless packages so they can be reused and versioned independently: - @seed-design/lynx-use-controllable-state - @seed-design/lynx-use-press-tap lynx-react re-exports them from hooks/index (backwards compatible) and the components (ActionButton/Checkbox/RadioGroup/Switch) import them directly. usePressTap's LynxTouchProps dependency is inlined via @lynx-js/types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 689fe3a The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (12)
💤 Files with no reviewable changes (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthrough두 훅(useControllableState, usePressTap)을 독립 패키지로 분리하고 관련 문서(AGENTS.md), 패키지별 tsconfig 및 Vitest 엔트리를 추가했으며, lynx-react 컴포넌트와 예제의 훅 import를 새 패키지로 갱신했습니다. usePressTap의 타입은 IntrinsicElements 기반으로 조정되었습니다. Changes훅 패키지 추출 및 통합
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add root tsconfig.lynx.json; lynx-react and lynx-headless/* extend it (matches react-headless's tsconfig.headless.json pattern). - Add @seed-design/lynx-vitest-config (private) exposing createLynxVitestConfig; lynx-react and the headless packages consume it instead of duplicating config. - Drop useControllableState/usePressTap re-exports from lynx-react's hooks barrel (matches @seed-design/react not re-exporting util hooks); lynx-spa imports them directly from their packages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
244c067 to
689fe3a
Compare
Summary
Extracts
useControllableStateandusePressTapfrom@seed-design/lynx-reactinto standalone headless packages underpackages/lynx-headless/*, mirroring thereact-headlessconvention. This is the base of a 4-PR Lynx ImageFrame stack.Changes
@seed-design/lynx-use-controllable-state@seed-design/lynx-use-press-tapusePressTap:LynxTouchPropsdependency inlined via@lynx-js/types(decoupled from lynx-react)lynx-react: components (ActionButton/Checkbox/RadioGroup/Switch) import the new packages directly;hooks/index.tsre-exports them so existing@seed-design/lynx-reactimports keep working (non-breaking)workspacesnow includespackages/lynx-headless/*+packages/lynx-headless/AGENTS.mdVerification
Stack (base: dev) — merge in order
🤖 Generated with Claude Code
Summary by CodeRabbit
Refactor
Documentation
Chores