Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
db27466
feat: add anatomy JSON files for various components and implement com…
MaxLee-dev Feb 5, 2026
8a02f9f
feat: update AnatomyPanel and PartButton to use Text component for im…
MaxLee-dev Feb 5, 2026
ee0c80a
feat: refactor AnatomyPanel and PartButton for improved performance a…
MaxLee-dev Feb 5, 2026
4b42345
feat: update PartButton to use Button component and improve styling
MaxLee-dev Feb 5, 2026
f748bdc
feat: refactor HighlightOverlay to use clsx for styling and improve r…
MaxLee-dev Feb 5, 2026
d3dedd2
refactor: improve component explorer UI and apply design tokens
MaxLee-dev Feb 6, 2026
33c0b64
feat: add error handling and retry functionality to component explorer
MaxLee-dev Feb 6, 2026
f8bd439
feat(docs): add throttle to highlight overlay
MaxLee-dev Feb 6, 2026
a0a66a7
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Feb 12, 2026
5c69433
feat: add title to component preview and improve accessibility roles …
MaxLee-dev Feb 12, 2026
1bf5455
fix: adjust label positioning in highlight overlay for better visibility
MaxLee-dev Feb 12, 2026
1d513c5
fix: improve highlight overlay behavior when overlay is present over …
MaxLee-dev Feb 12, 2026
c6b41a0
feat: add pinned part functionality and improve part button interactions
MaxLee-dev Feb 13, 2026
bad821d
refactor: streamline event handlers in AnatomyPanel and PartButton co…
MaxLee-dev Feb 13, 2026
b8c61d1
feat: add available parts functionality and improve communication in …
MaxLee-dev Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/website/content/docs/components/dialog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,14 @@ Dialog 컴포넌트의 다양한 구성 패턴입니다.
```
</Demo>

## Anatomy

---

컴포넌트의 구조를 탐색하고 각 파트의 역할을 확인합니다. 파트 이름에 마우스를 올리면 해당 영역이 하이라이트됩니다.

<ComponentExplorer name="dialog/anatomy-dialog" componentName="dialog" />

## Props Table

---
Expand Down
1 change: 1 addition & 0 deletions apps/website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"dev": "next dev --turbo",
"format": "prettier --write \"./src/**/*.{ts,tsx,md}\"",
"format:check": "prettier --check \"./src/**/*.{ts,tsx,md}\"",
"generate:anatomy": "node scripts/generate-anatomy.mjs",
"postinstall": "fumadocs-mdx",
"lint": "eslint ./src",
"start": "next start",
Expand Down
21 changes: 21 additions & 0 deletions apps/website/public/components/anatomy/avatar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"componentName": "Avatar",
"displayNamePrefix": "Avatar",
"parts": [
{
"name": "Root",
"fullName": "AvatarRoot",
"isPrimitive": false
},
{
"name": "ImagePrimitive",
"fullName": "AvatarImagePrimitive",
"isPrimitive": true
},
{
"name": "FallbackPrimitive",
"fullName": "AvatarFallbackPrimitive",
"isPrimitive": true
}
]
}
51 changes: 51 additions & 0 deletions apps/website/public/components/anatomy/breadcrumb.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"componentName": "Breadcrumb",
"displayNamePrefix": "Breadcrumb",
"parts": [
{
"name": "Root",
"fullName": "BreadcrumbRoot",
"isPrimitive": false
},
{
"name": "Item",
"fullName": "BreadcrumbItem",
"isPrimitive": false
},
{
"name": "Separator",
"fullName": "BreadcrumbSeparator",
"isPrimitive": false
},
{
"name": "Ellipsis",
"fullName": "BreadcrumbEllipsis",
"isPrimitive": false
},
{
"name": "RootPrimitive",
"fullName": "BreadcrumbRootPrimitive",
"isPrimitive": true
},
{
"name": "ListPrimitive",
"fullName": "BreadcrumbListPrimitive",
"isPrimitive": true
},
{
"name": "ItemPrimitive",
"fullName": "BreadcrumbItemPrimitive",
"isPrimitive": true
},
{
"name": "LinkPrimitive",
"fullName": "BreadcrumbLinkPrimitive",
"isPrimitive": true
},
{
"name": "EllipsisPrimitive",
"fullName": "BreadcrumbEllipsisPrimitive",
"isPrimitive": true
}
]
}
16 changes: 16 additions & 0 deletions apps/website/public/components/anatomy/callout.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"componentName": "Callout",
"displayNamePrefix": "Callout",
"parts": [
{
"name": "Root",
"fullName": "CalloutRoot",
"isPrimitive": false
},
{
"name": "Icon",
"fullName": "CalloutIcon",
"isPrimitive": false
}
]
}
26 changes: 26 additions & 0 deletions apps/website/public/components/anatomy/card.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"componentName": "Card",
"displayNamePrefix": "Card",
"parts": [
{
"name": "Root",
"fullName": "CardRoot",
"isPrimitive": false
},
{
"name": "Header",
"fullName": "CardHeader",
"isPrimitive": false
},
{
"name": "Body",
"fullName": "CardBody",
"isPrimitive": false
},
{
"name": "Footer",
"fullName": "CardFooter",
"isPrimitive": false
}
]
}
16 changes: 16 additions & 0 deletions apps/website/public/components/anatomy/checkbox.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"componentName": "Checkbox",
"displayNamePrefix": "Checkbox",
"parts": [
{
"name": "Root",
"fullName": "CheckboxRoot",
"isPrimitive": false
},
{
"name": "IndicatorPrimitive",
"fullName": "CheckboxIndicatorPrimitive",
"isPrimitive": true
}
]
}
21 changes: 21 additions & 0 deletions apps/website/public/components/anatomy/collapsible.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"componentName": "Collapsible",
"displayNamePrefix": "Collapsible",
"parts": [
{
"name": "Root",
"fullName": "CollapsibleRoot",
"isPrimitive": false
},
{
"name": "Trigger",
"fullName": "CollapsibleTrigger",
"isPrimitive": false
},
{
"name": "Panel",
"fullName": "CollapsiblePanel",
"isPrimitive": false
}
]
}
66 changes: 66 additions & 0 deletions apps/website/public/components/anatomy/dialog.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"componentName": "Dialog",
"displayNamePrefix": "Dialog",
"parts": [
{
"name": "Root",
"fullName": "DialogRoot",
"isPrimitive": false
},
{
"name": "Trigger",
"fullName": "DialogTrigger",
"isPrimitive": false
},
{
"name": "PortalPrimitive",
"fullName": "DialogPortalPrimitive",
"isPrimitive": true
},
{
"name": "OverlayPrimitive",
"fullName": "DialogOverlayPrimitive",
"isPrimitive": true
},
{
"name": "PopupPrimitive",
"fullName": "DialogPopupPrimitive",
"isPrimitive": true
},
{
"name": "Popup",
"fullName": "DialogPopup",
"isPrimitive": false
},
{
"name": "Title",
"fullName": "DialogTitle",
"isPrimitive": false
},
{
"name": "Description",
"fullName": "DialogDescription",
"isPrimitive": false
},
{
"name": "Close",
"fullName": "DialogClose",
"isPrimitive": false
},
{
"name": "Header",
"fullName": "DialogHeader",
"isPrimitive": false
},
{
"name": "Body",
"fullName": "DialogBody",
"isPrimitive": false
},
{
"name": "Footer",
"fullName": "DialogFooter",
"isPrimitive": false
}
]
}
36 changes: 36 additions & 0 deletions apps/website/public/components/anatomy/field.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"componentName": "Field",
"displayNamePrefix": "Field",
"parts": [
{
"name": "Root",
"fullName": "FieldRoot",
"isPrimitive": false
},
{
"name": "Label",
"fullName": "FieldLabel",
"isPrimitive": false
},
{
"name": "Description",
"fullName": "FieldDescription",
"isPrimitive": false
},
{
"name": "Error",
"fullName": "FieldError",
"isPrimitive": false
},
{
"name": "Success",
"fullName": "FieldSuccess",
"isPrimitive": false
},
{
"name": "Item",
"fullName": "FieldItem",
"isPrimitive": false
}
]
}
41 changes: 41 additions & 0 deletions apps/website/public/components/anatomy/floating-bar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"componentName": "FloatingBar",
"displayNamePrefix": "FloatingBar",
"parts": [
{
"name": "Root",
"fullName": "FloatingBarRoot",
"isPrimitive": false
},
{
"name": "Trigger",
"fullName": "FloatingBarTrigger",
"isPrimitive": false
},
{
"name": "Popup",
"fullName": "FloatingBarPopup",
"isPrimitive": false
},
{
"name": "Close",
"fullName": "FloatingBarClose",
"isPrimitive": false
},
{
"name": "PortalPrimitive",
"fullName": "FloatingBarPortalPrimitive",
"isPrimitive": true
},
{
"name": "PositionerPrimitive",
"fullName": "FloatingBarPositionerPrimitive",
"isPrimitive": true
},
{
"name": "PopupPrimitive",
"fullName": "FloatingBarPopupPrimitive",
"isPrimitive": true
}
]
}
16 changes: 16 additions & 0 deletions apps/website/public/components/anatomy/grid.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"componentName": "Grid",
"displayNamePrefix": "Grid",
"parts": [
{
"name": "Root",
"fullName": "GridRoot",
"isPrimitive": false
},
{
"name": "Item",
"fullName": "GridItem",
"isPrimitive": false
}
]
}
16 changes: 16 additions & 0 deletions apps/website/public/components/anatomy/input-group.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"componentName": "InputGroup",
"displayNamePrefix": "InputGroup",
"parts": [
{
"name": "Root",
"fullName": "InputGroupRoot",
"isPrimitive": false
},
{
"name": "Counter",
"fullName": "InputGroupCounter",
"isPrimitive": false
}
]
}
Loading
Loading