Button์ color="secondary" ๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. ๊ธฐ์กด secondary๋ assistive๋ก ๋์ฒด๋ฉ๋๋ค.
npx @wanteddev/wds-codemod@latest button-secondary-migrationListCell ์ปดํฌ๋ํธ์ active ์ต์ ์ด selected๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
npx @wanteddev/wds-codemod@latest list-cell-active-to-selectedSwitch์ ์ฌ์ด์ฆ๋ฅผ ์ปค์คํฐ๋ง์ด์ง ํ ๋์๋ CSS Variable์ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ์ด ํ์ํฉ๋๋ค.
TopNavigation, ModalNavigation variant="floating" ์์ ๊ทธ๋ผ๋์ธํธ ๋ฐฐ๊ฒฝ์ด ์ถ๊ฐ๋ฉ๋๋ค.
๋์์ธ์ ๊นจ์ง์ง ์๋์ง ํ์ธ์ด ํ์ํฉ๋๋ค.
๊ณตํต
position์ ์๋ฏธ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ธฐ์กด์๋ trigger์ ์์น๋ก ์ง์ ๋์๋๋ฐ, trigger์์ ์ฝํ ์ธ ๊ฐ ํ์๋ ์์น๋ฅผ ๊ฒฐ์ ํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
ex) bottom-center -> top-center
์ํฅ ๋ฐ๋ ์ปดํฌ๋ํธ:
- AutocompleteList, MenuContent, PopoverContent, TooltipContent, PopperContent, TimePicker, DatePicker, Select, SelectMultiple
npx @wanteddev/wds-codemod@latest compact-tooltip-migrationarrow ์ต์ ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
PopoverContent์ ์๋ก์ด ๋์์ธ์ด ์ถ๊ฐ๋์ด ๊ธฐ์กด์ ์ฌ์ฉํ๋ ๋ถ๋ถ์ variant=โcustomโ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
arrow ์ต์ ์ด ์ ๊ฑฐ๋์๊ณ size ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
variant="inverse" ๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค.
compact tooltip์ด ์ ๊ฑฐ๋์์ต๋๋ค.
tooltip size="small" ๋ก ์ฌ์ฉํฉ๋๋ค.
ImageLoader๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. <Box as=โimgโ /> ํน์ <img /> ๋ฅผ ์ฌ์ฉํด์ฃผ์ธ์.
Thumbnail, CardThumbnail, Avatar์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฉ๋๋ ์ด๋ฏธ์ง optimize ๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค.
Dialog ์ปดํฌ๋ํธ๊ฐ Alert ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest dialog-to-alert์ ๊ทผ์ฑ์ ์ํ AlertTrigger (DialogTrigger) ์ปดํฌ๋ํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. Alert (Dialog) ์ปดํฌ๋ํธ๋ฅผ ์ง์ ์ ์ผ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ AlertContainer๋ก ๊ฐ์ธ์ฃผ์ด์ผ ํฉ๋๋ค.
๊ธฐ์กด Dialog ์ปดํฌ๋ํธ์์ ๋ฐ๋ ์ต์ ๋ค์ด AlertContainer (DialogContainer)๋ก ์ฎ๊ฒจ์ก์ต๋๋ค.
- forceMount
- container
- disablePortal
- wrapperProps
- disableOutsideClickClose
- disableEscapeKeyDownClose
- onDismiss
- dimmer
์ ๊ทผ์ฑ์ ์ํ ModalTrigger ์ปดํฌ๋ํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
๊ธฐ์กด Modal ์ปดํฌ๋ํธ์์ ๋ฐ๋ ์ต์ ๋ค์ด ModalContainer๋ก ์ฎ๊ฒจ์ก์ต๋๋ค.
- forceMount
- container
- disablePortal
- disableOutsideClickClose
- disableEscapeKeyDownClose
theme.spacing.75 โ theme.spacing.72 ๋ก ์ฌ๋ฐ๋ฅธ ๊ฐ์ ๋ฐ๋ผ๋ณด๋๋ก ํค๋ฅผ ์์ ํ์์ต๋๋ค.
Elevation Shadow ํ ํฐ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
- Normal โ XSmall, Emphasize โ Small, Strong โ Medium, Bold โ Large, Heavy โ XLarge
npx @wanteddev/wds-codemod@latest shadow-migrationTooltip์ closeButton, action ์ต์ ์ด deprecated ๋์์ต๋๋ค. clickable ์์๊ฐ ์๋ ๊ฒฝ์ฐ Popover๋ฅผ ์ฌ์ฉํ๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ์ธ์.
TextField์ Background ์์์ด ์ถ๊ฐ๋๋ฉด์ dom ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด padding, box-shadow (line) ์ ์ปค์คํ ํ ๊ฒฝ์ฐ ์์ ์ด ํ์ํฉ๋๋ค.
- TextField
- DatePicker
- TimePicker
- PaginationField
TextFieldButton์ ๊ฒฝ์ฐ TextField์ trailingButton ์ต์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝํด์ผํฉ๋๋ค.
ChipAction ์ปดํฌ๋ํธ๊ฐ Chip ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์๊ณ , ChipFiler ์ปดํฌ๋ํธ๊ฐ FilterButton ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest chip-naming-migrationEmptyState ์ปดํฌ๋ํธ๊ฐ FallbackView ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest empty-state-to-fallback-viewProgressTrackDesktop ์ปดํฌ๋ํธ๊ฐ Stepper ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest stepper-migrationTextButton ์ปดํฌ๋ํธ์ variant ์ต์ ์ด color๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest text-button-variant-to-colorTypography์ title1์ด display3๋ก ๋ณ๊ฒฝ๋์๊ณ ๊ธฐ์กด title1 ์คํ์ผ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest typography-title1-to-display3PaginationDot ์ปดํฌ๋ํธ๊ฐ PaginationDots ์ปดํฌ๋ํธ๋ก ๋ณ๊ฒฝ๋์๊ณ totalPage ์ต์ ์ด totalPages ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
PaginationCounter ์ปดํฌ๋ํธ๊ฐ PageCounter ๋ณ๊ฒฝ๋์๊ณ totalPage ์ต์ ์ด totalPages ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
npx @wanteddev/wds-codemod@latest pagination-migrationSectionMessage ์ปดํฌ๋ํธ์ show, defaultShow, onShowChange ์ต์ ์ด open, defaultOpen, onOpenChange๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
npx @wanteddev/wds-codemod@latest section-message-show-to-open๊ผญ ์๋ ๋์ด๋ ์์๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ์งํํด์ฃผ์ธ์.
leftContent, rightContent ์ ์ด๋ฆ์ด ๋์ฑ ๋ช ํํ๊ฒ ๋ณ๊ฒฝ๋ผ์.
TabList, CategoryList ์ rightContent๋ iconButton์ผ๋ก ๋ณ๊ฒฝ๋ผ์. ๋๋จธ์ง leftContent, rightContent๋ ๋ชจ๋ leadingContent, trailingContent๋ก ๋ณ๊ฒฝ๋ผ์.
npx @wanteddev/wds-codemod@latest leading-trailing-migration srcdata-role, wds-component๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ถ์ ์ง์ ํ์ธ์ด ํ์ํด์.
Pagination- data-role="pagination-left-content-wrapper" -> data-role="pagination-leading-content-wrapper"
- data-role="pagination-right-content-wrapper" -> data-role="pagination-trailing-content-wrapper"
SectionHeader- data-role="section-header-left-content" -> data-role="section-header-heading-content"
- data-role="section-header-right-content" -> data-role="section-header-trailing-content"
TextArea- data-role="text-area-bottom-area-left-content" -> data-role="text-area-bottom-area-leading-content"
- data-role="text-area-bottom-area-right-content" -> data-role="text-area-bottom-area-trailing-content"
TabList- data-role="tab-list-right-content" -> data-role="tab-list-icon-button"
CategoryList- data-role="category-list-right-content" -> data-role="category-list-icon-button"
ListCell- data-role="list-item-left-content" -> data-role="list-item-leading-content"
- data-role="list-item-right-content" -> data-role="list-item-trailing-content"
ChipAction, ChipFilter, ContentBadge์ variant filled๊ฐ ์ง์ ์ข ๋ฃ๋ผ์. variant='solid' ๋ก ์ฌ์ฉํด์ฃผ์ธ์.
npx @wanteddev/wds-codemod@latest filled-variant-to-solid srctheme.palette์ ๋ช ์นญ์ด theme.atomic, theme.semantic์ผ๋ก ๋ถ๋ฆฌ๋๊ณ accent ์์์ ๋ช ์นญ์ด ๋ณ๊ฒฝ๋ผ์.
Accent ์์์ด Accent/Background, Accent/Foreground๋ก ๋๋์ด์ ธ์. ๊ธฐ์กด ์์์ Accent/Background ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ฉฐ, ContentBadge์์ ์ฌ์ฉํ๋ ์์์ Accent/Foreground๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํด์.
npx @wanteddev/wds-codemod@latest palette-to-atomic-semantic src6๊ฐ์ง Atomic ์์์ด ์ ๊ท๋ก ์ถ๊ฐ๋์์ด์.
var(--theme-palette-*) ์ผ๋ก ์ฌ์ฉํ๋ ๋ถ๋ถ์ ์๋์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํด์.
Typography์ variant๋ช ์ด kebab-case๋ก ๋ณ๊ฒฝ๋๊ณ display ๊ธฐ๋ณธ ๋์์ด ํ๊ทธ๋ฅผ ๋ฐ๋ผ ๊ฐ๋๋ก ๋ณ๊ฒฝ๋์์ด์.
Typography์ display ๋์์ด ๋ณ๊ฒฝ๋จ์ผ๋ก ๊นจ์ง๋ ๋ถ๋ถ์ด ์๋์ง ํ์ธ์ด ํ์ํด์.
npx @wanteddev/wds-codemod@latest typography-variant-cases srcSectionMessage์ ๊ตฌ์กฐ์ ๋์์ธ์ ์๋กญ๊ฒ ์ ๋ณด์ฌ์.
โwds-region-viewport-top ๋ณ์์ RegionConfig > viewportTop ์ต์
์ ๋ ์ด์ ์ฌ์ฉํ์ง ์์์.
position: fixed -> static ์ผ๋ก ๋
ธ์ถ๋๋๋ก ๋ณ๊ฒฝ๋์์ด์.
MenuBottom, MenuBottomContent ์ปดํฌ๋ํธ๋ช ์ด ๋ณ๊ฒฝ๋์์ด์.
- MenuBottom -> MenuActionArea
- MenuBottomContent -> MenuActionAreaContent
npx @wanteddev/wds-codemod@latest menu-bottom-migration srcwds-component ์์ฑ์ ์ฌ์ฉํ๋ ๋ถ๋ถ์ ์๋์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํด์.
- wds-component=โmenu-bottom-contentโ -> wds-component=โmenu-action-area-contentโ
PushBadge๋ฅผ ์ปดํฌ๋ํธ์ ๊ฐ์ธ์ ์ฌ์ฉํ๋ ํํ๋ก ๋ณ๊ฒฝ๋์์ด์. IconButton, AvatarButton์ pushBadge ์ต์ ์ด ์ ๊ฑฐ๋์์ด์.
์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํฉ๋๋ค
Avatar์ variant='academic' ์ด academy๋ก ๋ณ๊ฒฝ๋์์ด์.
npx @wanteddev/wds-codemod@latest avatar-migration srcuseToast์ variant๋ช ์ด ๋ณ๊ฒฝ๋์์ด์.
- success -> positive
- warning -> cautionary
- negative (์ ๊ท)
- custom -> ์ ๊ฑฐ(normal๋ก ํตํฉ)
npx @wanteddev/wds-codemod@latest toast-migration src- useToast, useSnackbar์ ์ ๋๋ฉ์ด์ ์ด ๋ ๋งค๋๋ฝ๊ฒ ์์ ๋์์ด์.
- duration: Infinity๋ฅผ ์ง์ํด์.
- useRegionStore๋ฅผ ํ์ฉํ์ฌ ์ถ๊ฐ์ ์ธ ์ปจํธ๋กค์ ํ ์ ์์ด์. (๋ฌธ์ ์ฐธ์กฐ)
EmptyStateText, Slider, useSnackbar์ heading ์ต์ ์ด title๋ก ๋ณ๊ฒฝ๋์์ด์.
- Slider heading -> title
- EmptyStateText heading -> title
- useSnackbar heading -> title
npx @wanteddev/wds-codemod@latest heading-to-title src์๋ ๋ถ๋ถ์ ์๋ ๋์์ด ํ์ํด์.
- data-role="empty-state-text-heading" -> data-role="empty-state-text-title"
- data-role="slider-heading" -> data-role="slider-title"
ActionArea, PickerActionArea์ ์ต์ ๋ช ์ด ๋ณ๊ฒฝ๋์์ด์.
- ๊ธฐ์กด priority ์ต์ ์ด variant๋ก ๋ณ๊ฒฝ๋๊ณ ๊ธฐ์กด variant๋ extra (boolean) ์ผ๋ก ๋ณ๊ฒฝ๋์์ด์.
- sticky ์ต์ ๋ช ์ด background๋ก ๋ณ๊ฒฝ๋์์ด์.
npx @wanteddev/wds-codemod@latest action-area-migration srcTextInput ๊ด๋ จ ์ปดํฌ๋ํธ๊ฐ ๋ชจ๋ TextField๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ๋์์ด์.
- SearchInput -> SearchField
- TextInput -> TextField
- TextInputContent -> TextFieldContent
- TextInputButton -> TextFieldButton
- AutocompleteInput -> AutocompleteField
- PaginationInput -> PaginationField
- TimePickerInputProps -> TimePickerFieldProps
- DatePickerInputProps -> DatePickerFieldProps
npx @wanteddev/wds-codemod@latest input-to-field src์๋ ๋ถ๋ถ์ ์๋์ผ๋ก ๋์์ด ํ์ํด์.
SearchField
- data-role="search-input-content" -> data-role="search-field-content"
- data-role="search-input-icon" -> data-role="search-field-icon"
- data-role="search-input-reset" -> data-role="search-field-reset"
TextField - data-role="text-input-content" -> data-role="text-field-content"
- data-role="text-input-invalid" -> data-role="text-field-invalid"
- data-role="text-input-positive" -> data-role="text-field-positive"
- data-role="text-input-reset" -> data-role="text-field-reset"
PaginationField - wds-component="pagination-input" -> wds-component="pagination-field"
NestedCheckbox๊ฐ CheckMark๋ก ๋ณ๊ฒฝ๋์์ด์.
npx @wanteddev/wds-codemod@latest check-mark-migration srcPlayIconBadge๊ฐ PlayBadge๋ก ๋ณ๊ฒฝ๋์์ด์.
npx @wanteddev/wds-codemod@latest play-badge-migration src๊ธฐ์กด IconCircleClose ์์ด์ฝ ์ด๋ฆ์ด IconCircleCloseFill๋ก ๋ณ๊ฒฝ๋๊ณ ์ ๊ท IconCircleClose ์์ด์ฝ์ด ์ถ๊ฐ๋์์ด์.
npx @wanteddev/wds-codemod@latest icon-circle-close-migration srcModal์ huge ์ฌ์ด์ฆ๊ฐ ์ ๊ฑฐ๋์๊ณ medium-fixed ์ฌ์ด์ฆ ์ต์ ์ size, resize ์ต์ ์ผ๋ก ๋ถ๋ฆฌํ์์ด์.
- medium-fixed ๊ฐ์ ๊ฒฝ์ฐ size="medium" resize="fixed" ๋ก ์ฌ์ฉํด์.
- ๊ธฐ๋ณธ๊ฐ์ด fixed์์ hug๋ก ๋ณ๊ฒฝ๋์์ด์.
npx @wanteddev/wds-codemod@latest modal-migration srcsize="huge" ์ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋์์ด ํ์ํด์.
- size="huge"์ ๋ฐ๋ก width๋ฅผ ์ฃผ์ง ์์ ๊ฒฝ์ฐ width: 640px์ผ๋ก ์ค์ ์ด ํ์ํด์.
- size๋ฅผ xlarge๋ก ์ค์ ํด์.
padding ์ต์ ์ด ๋์์ ๋ฐ๋ผ horizontalPadding, verticalPadding์ผ๋ก ๋ณ๊ฒฝ๋์์ด์.
- AccordionSummary, ListCell, AutocompleteOption, Option, MenuItem
- padding -> verticalPadding
npx @wanteddev/wds-codemod@latest padding-to-vertical-padding src- TabList
- padding -> horizontalPadding
npx @wanteddev/wds-codemod@latest padding-to-horizontal-padding srcSize ์ต์
์ ๋ค์ด๋ฐ ์ปจ๋ฒค์
์ด ํต์ผ๋์์ด์.
normal ์ ์ฌ์ด์ฆ ๊ฐ์ ๋ ์ด์ ์ฌ์ฉํ์ง ์์์.
TopNavigationButton, Switch, ScrollArea, RoundCheckbox, RoundRadioGroupItem, PaginationDot, PaginationCounter, IconButton, ChipFilter, ChipAction, Checkbox, CheckMark, NestedCheckbox
- size
- normal -> medium
TabList
- resize
- normal -> hug
ListCell, AutocompleteOption, AccordionSummary, MenuItem, Option
- verticalPadding
- 0px -> none
- 12px -> medium
- 16px -> large
- 8px -> small
ModalContainer
- size
- normal -> medium
- medium -> large
- large -> xlarge
ContentBadge
- size
- normal -> xsmall
- medium -> small
- large -> medium
npx @wanteddev/wds-codemod@latest size-migration src์๋ ๋ถ๋ถ์ ์๋ ๋์์ด ํ์ํฉ๋๋ค.
ListCellContent, AccordionSummaryContent
- height
- ์ต์ ์ ๊ฑฐ, ํญ์ hug๋ก ๋ณ๊ฒฝ
Avatar
- size
- ๊ธฐ๋ณธ ์ฌ์ด์ฆ large -> small ๋ก ๋ณ๊ฒฝ
SegmentedControl
- size
- ๊ธฐ๋ณธ ์ฌ์ด์ฆ large -> medium ์ผ๋ก ๋ณ๊ฒฝ
๋ค์ ์ปดํฌ๋ํธ๋ค์ ๊ธฐ๋ณธ ์ ๋ ฌ์ด flex-start ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ListCell, AutocompleteOption, AccordionSummary, MenuItem, Option
๋ํ ellipsis ๊ฐ true์ด๋ฉด center ์ ๋ ฌ๋๋๋ก ํ๋ ๋ถ๋ถ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
alignItems ์ต์
์ ํตํด ์๋์ผ๋ก ์ ๋ ฌ ๋์์ด ํ์ํฉ๋๋ค.




