본문으로 건너뛰기

랜딩 페이지

실재하지 않는 제품 분석 도구 Kestrel의 소개 페이지입니다. 대부분이 타이포그래피와 여백, 그리고 반복되는 하나의 call to action이라 컴포넌트 라이브러리가 가장 덜 필요해 보이는 화면이고, 그래서 부품들이 서로 잘 맞물리는지 가장 잘 드러납니다.

소스는 docs/.vitepress/demos/concepts/landing.tsx 한 파일입니다. 화면에 있는 것은 전부 Neba 컴포넌트이고, 컴포넌트인 척하는 맨 div는 없습니다.

무엇으로 만들었는지

블록사용된 컴포넌트볼 만한 것
공지 바PillonClick이 붙은 Pill은 버튼이 되므로, 추가 마크업 없이 키보드로 닿습니다
헤더Toolbar Icon Button IconButton Tooltiprender={<header />}로 실제 landmark가 되고, 내비게이션 링크는 variant="text" 버튼이라 한 기준선에 놓입니다
히어로Typography Chip Button Avatar HighlightTypography는 타입 스케일과 엘리먼트를 함께 정하므로 level="h1"은 실제 <h1>입니다
신뢰 표시줄Divider Typographychildren을 가진 Divider가 섹션 라벨을 품어서, 선과 제목이 하나의 요소가 됩니다
수치GridContainer Grid Statisticunit, prefix, previousValue로 한 줄에 놓인 서로 다른 형태의 수치를 모두 담습니다
기능Card Icon아이콘은 headerAction에 들어가므로 어느 size에서도 제목의 기준선에 맞습니다
제품 둘러보기Tabs ProgressLinear List Chip같은 데이터를 세 가지로 보여줍니다. 퍼널은 차트가 아니라 showValue를 켠 ProgressLinear입니다
인용Blockquoteauthorsource가 별도 슬롯이라 모바일에서 두 줄로 자연스럽게 접힙니다
가격SegmentedButton Card List Table결제 주기 토글은 segmented control이고, 비교표는 열 목록으로 그려집니다
자주 묻는 질문Accordion질문 하나에 AccordionItem 하나, 처음에는 전부 닫힌 상태입니다
마무리 CTACard TextField Button페이지에서 유일한 필드이고, 자체 submit을 가진 실제 <form> 안에 있습니다
푸터Divider Grid List Button링크 열은 각 행에 href를 준 List라서 앵커로 렌더링됩니다

참고

  • 페이지 전체는 <main> 위의 Container maxWidth="xl" 하나로 폭이 정해집니다. 안쪽에서 따로 페이지 폭을 잡는 곳은 없습니다.
  • 색은 강조가 아니라 의미를 나릅니다. 추천 플랜만 color="primary"elevation={2}이고, 나머지 둘은 secondary에 그림자가 없습니다.
  • 이메일 필드는 입력할 때마다 검사하지만 error는 무언가 입력된 뒤에만 보여주므로, 빈 폼이 빨갛게 되는 일은 없습니다.

Released under the MIT License