Getting StartedReleases

Core

@vapor-ui/core 패키지의 릴리즈 노트입니다.

@vapor-ui/core

1.0.0

Checkbox / Switch / Radio

  • Breaking Change: Root element changed from HTMLButtonElement to HTMLSpanElement (#453) - Thanks @ZeroChoi2781!

Dialog

  • fix(dialog): correct ReactElement type parameters in DialogPopup props (#438) - Thanks @MaxLee-dev!

    Fixed incorrect type parameters for portalElement and overlayElement in DialogPopup.Props from typeof Component to Component.Props.

Field

  • Breaking Change: validationMode default changed from onBlur to onSubmit (#453) - Thanks @ZeroChoi2781!

  • New Feature: Field.Item: New component added for improved accessibility when using Checkbox, Radio, Switch with Field (#453) - Thanks @ZeroChoi2781!

FloatingBar

  • feat(FloatingBar): export EventDetails type (#437) - Thanks @MaxLee-dev!

    Export ChangeEventDetails type from FloatingBarRoot namespace for docs-extractor compatibility.

Form

  • Breaking Change: onClearErrors prop removed (now auto-handled internally) (#453) - Thanks @ZeroChoi2781!
  • Breaking Change: openOnHover, delay, closeDelay props moved from Menu.Root to Menu.Trigger (#453) - Thanks @ZeroChoi2781!
  • Breaking Change: Link: selected prop renamed to current (for Breadcrumb API consistency) (#453) - Thanks @ZeroChoi2781!

  • Breaking Change: data-selected attribute changed to data-active (#453) - Thanks @ZeroChoi2781!

Popover

  • Breaking Change: openOnHover, delay, closeDelay props moved from Popover.Root to Popover.Trigger (#453) - Thanks @ZeroChoi2781!

Radio Card

  • removed the size prop from the RadioCard component and simplified its styling by removing typography mixins (#442) - Thanks @ZeroChoi2781!

Tabs

  • fix(tabs): correct indicator position when list has padding (#434) - Thanks @MaxLee-dev!

    Fix indicator positioning issue when Tabs.List has padding-inline (horizontal) or padding-block (vertical). The indicator now correctly positions itself by explicitly setting left: 0 (horizontal) or top: 0 (vertical), ensuring it uses only the CSS variables for positioning regardless of padding.

  • Breaking Change: Tabs.Root: loop prop renamed to loopFocus (#453) - Thanks @ZeroChoi2781!

  • Breaking Change: activateOnFocus default changed from true to false (#453) - Thanks @ZeroChoi2781!

  • Breaking Change: data-selected attribute changed to data-active (#453) - Thanks @ZeroChoi2781!

Tooltip

  • Breaking Change: Tooltip.Root: hoverable prop renamed to disableHoverablePopup (logic inverted) (#453) - Thanks @ZeroChoi2781!

  • Breaking Change: delay, closeDelay props moved from Tooltip.Root to Tooltip.Trigger (#453) - Thanks @ZeroChoi2781!

Etc.

  • Migrate to Base UI v1.1.0 (#453) - Thanks @ZeroChoi2781!

  • Updated internal utilities to use official @base-ui/utils package (v0.2.4) (#443) - Thanks @ZeroChoi2781!

  • fix: prevent passing props to Fragment in createRender (#403) - Thanks @MaxLee-dev!

    Fixed React warning Invalid prop 'ref' supplied to 'React.Fragment' by wrapping Fragment returns in a render callback to avoid cloneElement props merging.

Updated Dependencies

  • @vapor-ui/icons@1.0.0

1.0.0-beta.12

Button

  • Update secondary button fill variant text color to use foreground.secondary[200] for improved contrast (#427) - Thanks @MaxLee-dev!

Dialog

Field

  • feat(field): add typography and foreground props to Field.Label (#399) - Thanks @MaxLee-dev!

Floatingbar

Tabs

  • Refactor Tabs component structure for better customization (#429) - Thanks @ZeroChoi2781!
    • Changed Tabs.Trigger to Tabs.Button for clearer semantics
    • Extracted Tabs.ListPrimitive and Tabs.IndicatorPrimitive for enhanced customization
    • Added fill and line variant support with updated styles
    • Updated type definitions and utility props for better developer experience

Updated Dependencies

  • @vapor-ui/icons@1.0.0-beta.7

1.0.0-beta.11

Text Input

  • Correct background-color of TextInput component (#387) - Thanks @agetbase!

Etc.

  • clone elements & enhance customizability (#359) - Thanks @noahchoii!

Updated Dependencies

  • @vapor-ui/hooks@1.0.0-beta.6
  • @vapor-ui/icons@1.0.0-beta.6

1.0.0-beta.10

Toast

  • avoid overflowing when toast width is wider than view port width (#390) - Thanks @noahchoii!

1.0.0-beta.9

Toast

1.0.0-beta.8

Toast

1.0.0-beta.7

  • Updated Menu.Item paddingRight from 6px to 12px to match Figma design specification (#325) - Thanks @agetbase!

  • Correct MenuPositionerPrimitive sideOffset from 8px to 4px to match Figma spec (#342) - Thanks @agetbase!

Pagination

Table

Etc.

  • synchronized color tokens with figma (#340) - Thanks @noahchoii!

  • BREAKING CHANGE: Remove stretch prop from Button, IconButton, and NavigationMenu components (#368) - Thanks @ZeroChoi2781!

    The stretch prop has been removed to align with Figma's component variant system. In Figma, width control is handled via "Fill Container" (Auto Layout), not as a component variant.

    Migration Guide:

    Replace stretch prop with Tailwind's w-full utility class:

    // Before
    <Button stretch>Submit</Button>
    <NavigationMenu stretch>...</NavigationMenu>
    
    // After
    <Button className="w-full">Submit</Button>
    <NavigationMenu className="w-full">...</NavigationMenu>

    Why this change:

    • Maintains Figma-React design system parity (SSOT principle)
    • Follows "React Props = Figma Variants" architectural principle
    • Aligns with Vapor UI's 4-layer component architecture (Container, Interaction, Contents, Slot)
    • Layout concerns should be handled by parent containers, not component props

1.0.0-beta.6

It contains the same code as the previous version. Please refer to that version.

1.0.0-beta.5

Button

  • update horizontal padding for small size (050 (4px) -> 100 (8px)) (#323) - Thanks @agetbase!

Checkbox

Field

  • add default layout styles to field.label (#289) - Thanks @noahchoii!

Form

Icon Button

  • Fixed a CSS dependency order issue where IconButton styles loaded before Button styles, causing incorrect style inheritance.

Radio

  • adjust indicator size to account for border (#291) - Thanks @SimYunSup!

Radio Card

Radio Group

  • synchronize the aria-labelledby with the recieved id prop (#327) - Thanks @noahchoii!

  • replace layout styles into layout component like VStack, HStack (#288) - Thanks @ZeroChoi2781!

Text Input

Theme

  • add ThemeScope component and migrate to data-attribute based theming (#278) - Thanks @ZeroChoi2781!

Theme Provider

Etc.

Updated Dependencies

  • @vapor-ui/icons@1.0.0-beta.5

0.6.0

Callout

  • add flex layout for icons and text alignment (#181) - Thanks @MaxLee-dev!

Collapsible

Field

Input Group

Multi Select

Popover

Select

Sheet

Tabs

Textarea

Tooltip

Etc.

Updated Dependencies

  • @vapor-ui/icons@0.4.0

0.5.0

Avatar

  • align CSS variable with build identifiers config (#176) - Thanks @MaxLee-dev!

Button

Radio Group

  • add background-color(white) to RadioGroup Indicator (#146) - Thanks @MaxLee-dev!

Tooltip

Etc.

Updated Dependencies

  • @vapor-ui/icons@1.0.0

0.4.0

Badge

Radio Group

Etc.

Updated Dependencies

  • @vapor-ui/icons@0.2.0

0.3.1

Theme Provider

0.3.0

Etc.

0.2.1

Theme Provider

0.2.0

Callout

Checkbox

Dialog

Radio Group

Switch

Etc.

  • remove @vapor-ui/icons for resolving storybook build error (#57) - Thanks @noahchoii!

  • prevent code splitting while tsup build (#81) - Thanks @ZeroChoi2781!

  • resolve circular dependency in vanilla-extract (#73) - Thanks @ZeroChoi2781!

  • optimize build system for component bundling (#73) - Thanks @ZeroChoi2781!

0.1.0

Etc.