chore(tokens): sync Figma tokens#281
Draft
github-actions[bot] wants to merge 33 commits into
Draft
Conversation
* fix(build): preserve css imports in sideEffects * fix(build): preserve css side effects in template * chore(changeset): add css sideEffects fix note * chore(changeset): fix package list and description
* refactor(flex): align story options with constants - replace hardcoded story options with Flex constants - keep Storybook controls aligned with the current contract values - reduce the risk of drift between implementation and story definitions * test(flex): strengthen contract coverage - align tests with the current Flex contract in side - use constants as the source of truth for direction, align, justify, and wrap cases - add coverage for normal values, asChild behavior, style overrides, ref forwarding, and common consumer usage patterns - verify the Flex test suite passes at the package level * test(flex): translate test descriptions to english --------- Co-authored-by: KYBee <kybee@KYBeeui-Macmini.local>
* feat: primitive token * fix: ci error * docs: update spacing primitive token * docs: update radius primitive token
* fix(tooltip): add aria-label for screen readers * refactor(tooltip): migrate styles to vanilla-extract recipe * test(tooltip): improve accessibility test coverage * refactor(tooltip): use enum instead of string literal * fix(tooltip): resolve type import error * test(tooltip): translate test descriptions to English * chore(tooltip): remove export and add changeset
* chore(chip): normalize package.json structure * chore(packages): align package.json across workspace * chore(tooling): add package.json consistency checker * chore(packages): add clean script to template and accordion * docs(claude): document package consistency policy * fix(tooling): tighten allowlist fieldPath matching * fix(tooling): harden policy allowlist validation * feat(tooling): police sideEffects field in package policy * fix(ci): mark consistency install step as non-blocking * chore: drop per-package storybook scripts * chore(tooling): promote test to hard rule, drop optionalScripts * fix(tooling): allow publishConfig hard rules to be allowlisted * docs(claude): sync package policy with enforced rules * chore(deps): sync lockfile with workspace catalogs * chore(tooling): namespace lint scripts (lint:biome, lint:package)
…as strategy (#258) * feat(tokens): update primitive token JSON with extended scale Add missing color shades (gray.950, status colors), expanded radius, spacing, and typography scales to align with semantic token requirements. Confidence: high Scope-risk: narrow * feat(tokens): add semantic token JSON draft in DTCG format Introduce dark-mode semantic tokens for color, spacing, radius, and typography. All values reference primitive aliases only — no raw hex or px values. Each token includes two usage-scenario descriptions. Light-mode tokens are deferred (tokens/semantic/light/ has .gitkeep only). Confidence: high Scope-risk: narrow * feat(tokens): redesign CSS contract to match semantic token structure Rewrite vars contract to reflect semantic layers (color.background.*, color.foreground.*, color.accent.*, spacing.component.*, spacing.layout.*, radius.component.*, radius.layout.*). Extract darkBaseColor shared object and define four brand theme variants (default, 1st–4th). Constraint: dark mode is the default; light mode is deferred Rejected: per-theme contract files | increases maintenance surface Confidence: high Scope-risk: broad * feat(button): migrate styles to new semantic vars paths Update all token references to match the redesigned CSS contract: color.primary → color.accent.default, spacing.sm/lg → spacing.component.*, radius.md → radius.component.md, focus ring wired to color.border.focus. Confidence: high Scope-risk: narrow * chore(tokens): mark unused TS primitive exports as deprecated Add @deprecated JSDoc to opacity, zIndex, borderWidth/borderStyle, shadows, spacing, breakpoints, grid, and responsiveStyle. These TS source files will be removed alongside all other TS primitives once the JSON token pipeline is complete and components have migrated to vars.*. Directive: do not add new consumers of these exports Confidence: high Scope-risk: narrow * chore: changeset * feat(tokens): add brand primitive and update accent semantic alias - Add color.brand.{default,hover,subtle} to primitive/color.json with current cohort values (#ffb24d, #d9963f, #3b2005) - Update semantic accent.* to reference {color.brand.*} instead of blue to reflect actual brand color brand primitive acts as the single update point per cohort; semantic tokens and components require no changes on rebranding. * feat(tokens): add brandColor and update defaultTheme accent to orange - Export brandColor const from colors.ts (mirrors primitive brand.*) - Import brandColor in themes.css.ts and apply to defaultTheme accent replacing hardcoded blue values Note: colors.ts and themes.css.ts are deprecated and will be removed once the Style Dictionary pipeline is in place. * fix(theme): correct assignInlineVars contract mapping in ThemeProvider assignInlineVars(vars.color, theme) was passing ThemeColor { primary, secondary, background, text, gradient } to a contract that expects { accent, foreground, border, status, ... }, causing a TypeScript error and no-op CSS variable assignment. Fix by scoping to vars.color.accent and mapping ThemeColor fields: - primary → accent.default - secondary → accent.hover - background → accent.subtle * docs(tokens): add semantic token proposal with rebrand strategy - Document semantic token structure (color, spacing, radius, typography) - Add rebranding flow section explaining brand primitive alias pattern: update color.brand.* in primitive/color.json only on cohort change - Note W3C Design Token format compatibility with Token Studio v2 and Style Dictionary v4 for upcoming Figma pipeline integration * fix(tokens): remove duplicate named exports from themes.css.ts theme1st–theme4th were exported from both colors.ts (ThemeColor objects) and themes.css.ts (createGlobalTheme return values), causing TS2308 ambiguous re-export errors in src/index.ts. createGlobalTheme calls are CSS side effects; their return values are not consumed by any external code, so export keywords are removed. * Release (#256) Co-authored-by: KYBee <kybee@KYBeeui-Macmini.local> Co-authored-by: Jinho Yeom <81306489+Yeom-JinHo@users.noreply.github.com> Co-authored-by: 이원주 <101818687+3o14@users.noreply.github.com> Co-authored-by: YOUNGBEEN, KIM <62539910+KYBee@users.noreply.github.com> Co-authored-by: 오소현 <53892427+osohyun0224@users.noreply.github.com> Co-authored-by: Minji Jeon <105787441+minji0214@users.noreply.github.com> * chore: update changeset BC * docs: update semantic-proposal docs * docs: modify semantic proposal muted token * fix: modify spacing, radius themes * chore: update deprecated annotation --------- Co-authored-by: Evan <clcl6084@gmail.com> Co-authored-by: KYBee <kybee@KYBeeui-Macmini.local> Co-authored-by: Jinho Yeom <81306489+Yeom-JinHo@users.noreply.github.com> Co-authored-by: YOUNGBEEN, KIM <62539910+KYBee@users.noreply.github.com> Co-authored-by: 오소현 <53892427+osohyun0224@users.noreply.github.com> Co-authored-by: Minji Jeon <105787441+minji0214@users.noreply.github.com>
…e tokens (#261) * feat: style dictionary pipeline * fix(tokens): adopt W3C DTCG format for primitives and fix token-names publish export * fix: restore broken pnpm-lock.yaml after merge conflict resolution
…ation (#270) * chore: formatting * feat(tokens): setup design token transformation pipeline and CI automation * ci: commit transformed tokens
…259) * refactor(tooltip): rename useTooltip.tsx to useTooltip.ts * perf(tooltip): throttle scroll/resize position update with rAF * feat(tooltip): support keyboard focus for hover trigger * refactor(tooltip): replace trigger prop with MUI-style listener controls * fix(tooltip): remove redundant isVisible condition in portal className * refactor(tooltip): remove redundant code and improve WCAG compliance - Remove always-true visible class from portal (portal only renders when isVisible=true) - Remove associated CSS opacity/transform/transition/pointerEvents overrides - Remove redundant position:fixed from inline styles (already in CSS base) - Remove redundant --tooltip-bg-color JS fallback (CSS already has var fallback) - Conditionally apply tabIndex=0 only when focus listener is active (WCAG 2.4.7) - Apply styles.button class only when asChild=false (WCAG 1.4.3) * chore: downgrade esbuild to ~0.24.0 to fix Storybook manager build esbuild 0.27 changed its behavior to refuse transforming syntax for old browser targets (es2020, chrome87). Storybook 8.5 manager build uses these hardcoded targets and breaks with 0.27. Downgrade to 0.24 as a temporary fix until Storybook is upgraded to support esbuild 0.27. * Revert "chore: downgrade esbuild to ~0.24.0 to fix Storybook manager build" This reverts commit e3e8a95. * refactor(tooltip): remove disableFocusListener prop Focus listener is always required for keyboard accessibility (WCAG 2.1.1). Removing this prop enforces accessible defaults and simplifies the API. * feat(tooltip): add fade-in animation on mount Uses @Keyframes instead of CSS transition to correctly animate on DOM insertion. Respects prefers-reduced-motion for accessibility (WCAG 2.3.3). * fix(tooltip): prevent focus event from interfering with click-controlled open state On first click, the browser fires focus before click, causing onFocus→requestOpen to set open=true before the onClick toggle sets it back to false. Fixed by tracking mousedown state so focus triggered by mouse click is ignored (keyboard focus still works). * chore: add changeset for tooltip API refactor * refactor(tooltip): restore disableFocusListener, remove hardcoded tabIndex, spread rest props - Restore disableFocusListener prop for click-only controlled mode support - Remove hardcoded tabIndex={0} to respect consumer element focusability - Spread ...rest onto wrapper so consumers can pass tabIndex, role, aria-* etc. - Merge className from rest with internal styles via clsx * test(tooltip): add missing coverage for mouseUp, scroll/resize, invalid placement * refactor(tooltip): apply PR review feedback - Change changeset from minor to major (trigger prop removal is breaking change) - Compose user event handlers with internal handlers via composeHandlers helper - Make placement and gap optional in useTooltip with default values * fix(tooltip): guard setInternalOpen with isControlled check in controlled mode Co-Authored-By: MinjiJeon <jinnyjeon@sweetspot.co.kr> --------- Co-authored-by: MinjiJeon <jinnyjeon@sweetspot.co.kr>
warning color 조정(orange계열>yellow), border_focus 컬러 조정(brand_default로), black 컬러 조정(#000000), background base> default로 네이밍 변경(foreground와 통일) brand, accent컬러에서 pressed 토큰 추가, subtle은 유지
🦋 Changeset detectedLatest commit: 7aab08f The changes in this PR will be included in the next version bump. 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 |
Member
|
현재 dev 작업이 main에 머지되어야 해서 우선 draft로 전환해두었습니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Figma Token Sync
Tokens Studio에서 자동으로 생성된 PR입니다.
파이프라인
tokens/figma-syncPushReview checklist
validate잡 Step Summary에서 CSS diff 확인