Token导航 LogoToken导航TokenDH.com
Group 2 logo
设计创作stdio官方级别未说明来源级核验

Group 2

MCP Server

create-react-app

Uber Base Gallery是一个基于Figma设计系统的UI组件库,提供按钮、列表、卡片、输入框等多种可复用的交互组件。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
开发工具HTMLCursor设计Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

junojo

提供方

junojo

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx create-react-app .

详细介绍

优步基础图库-组件库

Atlassian mCp集成:\ 该项目与Atlassian mCp连接,以增强文档和工作流支持。 - Atlassian mCp门户 - 确保您有访问权限和有效连接。 - 如果您在访问时遇到问题,请验证您的凭据 https://junojo.atlassian.net.

该项目包含基于Uber Base Gallery Figma设计系统构建的UI组件。

组件

1.按钮组件

一个最小的药丸形状的按钮,具有悬停和活动状态。

2.带开关组件的列表项

带有标签、段落和切换开关的iOS样式列表项。包括活动状态和禁用状态。

3.简单列表项组件

具有单个标签和底部分隔符的基本列表项组件。支持仅显示和交互模式(使用单击)。功能包括悬停和聚焦状态、键盘导航和响应式设计。非常适合简单的菜单、导航列表和选项选择。

4.卡片组件

一个多功能的卡片组件,包括媒体、标题、段落、尾随艺术品和动作按钮。具有带有骨架占位符和微光动画的加载状态。

4.消息卡组件

带有深色背景、艺术品、标题、段落、带箭头的第三个按钮和可选取消按钮的宣传或信息卡。非常适合发布公告和特别优惠。

5.代码输入组件

PIN码、验证码和OTP(一次性密码)输入的专用输入字段。每个数字都有单独的插槽,具有安全模式、多种状态(启用、活动、错误、只读、按下)、键盘导航和粘贴支持。

6.无线电列表项组件

带有集成单选按钮控件的列表项,用于从一组互斥选项中选择一个选项。功能启用、选择、禁用、悬停和按下状态,具有完全的辅助功能支持。

7.文本输入组件

一个多功能的文本输入字段,支持多种类型(文本、电子邮件、密码、电话、网址)、验证、图标和各种状态。具有密码可见性切换、清晰的输入选项和全面的可访问性支持。

8.媒体卡组件

一种用于显示媒体内容(视频、音频、图像)的专用卡组件,带有居中的播放按钮覆盖层。具有标题、段落、尾随艺术品(徽章/图标)、带播放按钮的媒体区域和操作按钮。非常适合教程、播客、网络研讨会和宣传视频内容。

9.横幅付款组件

金黄色背景、装饰性圆形元素和交互式行动号召的装饰性支付横幅。突出显示付款金额并鼓励用户操作。非常适合结账页面和付款流程。

10.分隔器组件

最小水平分隔线组件有两种变体:全宽(跨越整个宽度)和半宽(从偏移开始)。非常适合分隔部分、列表项或内容块。遵循优步的设计体系,采用微妙的灰色。

11.底部导航组件

移动应用程序的底部导航组件,主导航部分有图标和标签。具有活动状态指示、键盘导航和屏幕阅读器支持。非常适合具有3-5个主导航部分的移动优先应用程序。

12.搜索栏组件

一个双功能搜索栏,在一个紧凑的组件中结合了位置搜索和时间选择。具有突出的搜索部分,其中包含占位符文本和辅助时间选择器按钮。非常适合叫车、送货和预订应用程序。

13.横幅旋转木马组件

带有自动旋转和交互式分页点的促销横幅旋转木马。显示多个带有图像、标题、行动呼吁按钮和装饰背景的横幅。非常适合展示服务、促销活动或具有自动幻灯片功能的特色内容。

14.骑行选项组件

一个显示车辆信息、定价、等待时间和特殊徽章的乘车选择选项组件。具有带边框突出显示的选定状态、用于快速选项的“更快”徽章以及对原始/折扣定价的支持。非常适合网约车预订屏幕和车辆选择界面。

15.滤波器芯片组件

一种药丸形状的交互式芯片,用于在搜索界面中快速过滤和选择。显示带有可选图标和下拉箭头的标签。支持活动状态(黑色背景),非常适合时间选择、行程类型、乘客计数和其他快速过滤器。

16.位置列表项目组件

一个列表项组件,用于显示带有圆形图标、标题和副标题的位置选项。支持多种图标类型(星形、引脚、主页、工作)、可选分隔符和箭头指示器。非常适合搜索结果、最近位置和保存的地点列表。

17.模态表组件

一个底部表格模态组件,顶部有艺术品,专为信息对话框、确认和详细的内容演示而设计。具有流畅的动画、点击关闭的背景、Escape键支持和防身体滚动功能。非常适合需要优雅模态演示的移动优先应用程序。

18.进度步骤组件

一个水平步进器组件,显示多步过程的进度。用复选标记显示已完成的步骤,用数字显示当前步骤,用灰色显示即将进行的步骤。功能包括可配置的步骤数、可定制的标签、响应式设计和完全的可访问性支持。非常适合结账流程、入职培训、向导和多步骤表单。

19.横幅组件

用于显示重要消息、警报、警告、成功通知或一般公告的信息横幅组件。具有可定制的样式(警告、信息、成功、错误)、图标/插图支持、标题和段落文本。非常适合系统通知、用户反馈、促销信息和上下文信息。

图标库

从Uber UI设计系统中提取的完整SVG图标库,包含4个图标:

  • :用于导航的房屋图标
  • 服务:类别/服务的3x3网格图标
  • 活动:带有活动/订单书签的文档/收据图标
  • 账户:帐户部分的用户配置文件图标

所有图标都支持颜色和大小自定义。

import { IconHome, IconServices, IconActivity, IconAccount } from './components/Icons';

图标库指南 以获取完整的文档。

组件文件

图标库

  • src/components/Icons.jsx -所有图标组件
  • src/components/Icons.css -图标实用程序样式
  • guidelines/icons.md -完整的图标文档

按钮

  • src/components/Button.jsx -React组件
  • src/components/Button.css -组件样式
  • guidelines/button.md -完整的文档

带开关的列表项

  • src/components/ListItem.jsx -React组件
  • src/components/ListItem.css -组件样式
  • guidelines/list-item.md -完整的文档

简单列表项

  • src/components/SimpleListItem.jsx -React组件
  • src/components/SimpleListItem.css -组件样式
  • guidelines/simple-list-item.md -完整的文档

  • src/components/Card.jsx -React组件
  • src/components/Card.css -组件样式
  • guidelines/card.md -完整的文档

留言卡

  • src/components/MessageCard.jsx -React组件
  • src/components/MessageCard.css -组件样式
  • guidelines/message-card.md -完整的文档

代码输入

  • src/components/CodeInput.jsx -React组件
  • src/components/CodeInput.css -组件样式
  • guidelines/code-input.md -完整的文档

无线电列表项

  • src/components/RadioListItem.jsx -React组件
  • src/components/RadioListItem.css -组件样式
  • guidelines/radio-list-item.md -完整的文档

文本输入

  • src/components/TextInput.jsx -React组件
  • src/components/TextInput.css -组件样式
  • guidelines/text-input.md -完整的文档

媒体卡

  • src/components/MediaCard.jsx -React组件
  • src/components/MediaCard.css -组件样式
  • guidelines/media-card.md -完整的文档

横幅付款

  • src/components/BannerPayment.jsx -React组件
  • src/components/BannerPayment.css -组件样式
  • guidelines/banner-payment.md -完整的文档

分隔线

  • src/components/Divider.jsx -React组件
  • src/components/Divider.css -组件样式
  • guidelines/divider.md -完整的文档

底部导航

  • src/components/BottomNavigation.jsx -React组件
  • src/components/BottomNavigation.css -组件样式
  • guidelines/bottom-navigation.md -完整的文档

搜索栏

  • src/components/SearchBar.jsx -React组件
  • src/components/SearchBar.css -组件样式
  • guidelines/search-bar.md -完整的文档

横幅旋转木马

  • src/components/BannerCarousel.jsx -React组件
  • src/components/BannerCarousel.css -组件样式
  • guidelines/banner-carousel.md -完整的文档

骑行选项

  • src/components/RideOption.jsx -React组件
  • src/components/RideOption.css -组件样式
  • guidelines/ride-option.md -完整的文档

滤波器芯片

  • src/components/FilterChip.jsx -React组件
  • src/components/FilterChip.css -组件样式
  • guidelines/filter-chip.md -完整的文档

位置列表项

  • src/components/LocationListItem.jsx -React组件
  • src/components/LocationListItem.css -组件样式
  • guidelines/location-list-item.md -完整的文档

模式表

  • src/components/ModalSheet.jsx -React组件
  • src/components/ModalSheet.css -组件样式
  • guidelines/modal-sheet.md -完整的文档

进度步骤

  • src/components/ProgressSteps.jsx -React组件
  • src/components/ProgressSteps.css -组件样式
  • guidelines/progress-steps.md -完整的文档

横幅

  • src/components/Banner.jsx -React组件
  • src/components/Banner.css -组件样式
  • guidelines/banner.md -完整的文档

设计规范

基于Figma节点 21149:269422:

  • 背景: #000000 (反向/背景/背景反向初级)
  • 文本: #FFFFFF (反向/内容/内容反向初级)
  • 字体:优步移动文本中,12像素,行高16像素
  • 圆角半径:8像素
  • 最小宽度:52像素
  • 填充:水平8像素,垂直6像素

用法

按钮组件

import Button from './components/Button';

function App() {
  return (
     console.log('Clicked!')} 
    />
  );
}

道具:

  • label (string):按钮文本,默认为“标签”
  • onClick (功能):点击处理程序
  • className (string):其他CSS类

列表项目组件

import ListItem from './components/ListItem';

function App() {
  return (
    
 console.log('Toggle:', checked)}
    />
  );
}

道具:

  • label (字符串):主标签文本
  • paragraph (string):次要描述性文本
  • defaultChecked (boolean):初始开关状态
  • disabled (boolean):禁用开关
  • onChange (功能):开关切换时回调
  • className (string):其他CSS类

简单列表项组件

import SimpleListItem from './components/SimpleListItem';

function App() {
  return (
    

      {/* Non-interactive list item */}
      
      
      {/* Interactive list item */}
       console.log('Profile clicked')}
      />
      
      {/* Disabled interactive item */}
       console.log('Clicked')}
        disabled={true}
      />
    

  );
}

道具:

  • label (string):要显示的文本内容(默认:“标签”)
  • onClick (函数):点击项目时可选回调。使项目具有交互性
  • disabled (boolean):是否禁用该项(默认值:false,仅在提供单击时适用)
  • className (string):其他CSS类

特征:

  • 非交互式(仅显示)和交互式模式
  • 交互式时的全键盘导航(Tab、Enter、Space)
  • 视觉反馈(悬停、活动、聚焦状态)
  • 带压痕的自动底部分隔器
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 响应式设计

卡片组件

import Card from './components/Card';

function App() {
  const [isLoading, setIsLoading] = useState(false);

  return (
     console.log('Button clicked!')}
    />
  );
}

道具:

  • heading (string):主标题文本
  • paragraph (string):描述文本
  • buttonLabel (字符串):按钮文本
  • mediaUrl (string):顶部媒体图像的URL
  • trailingArtworkUrl (string):尾随图标/徽章的URL
  • onButtonClick (功能):点击按钮时回调
  • isLoading (boolean):是否显示加载状态
  • minLoadingTime (number):最小加载持续时间(毫秒)(默认值:2000)
  • disabled (boolean):卡片是否已禁用
  • className (string):其他CSS类
备注:Card组件使用Figma自己的按钮设计,这与独立的不同 Button.jsx 组件。它们有不同的尺寸和风格,用于不同的目的。

消息卡组件

import MessageCard from './components/MessageCard';

function App() {
  const [showCard, setShowCard] = useState(true);

  if (!showCard) return null;

  return (
     console.log('Learn more clicked')}
      onDismiss={() => setShowCard(false)}
    />
  );
}

道具:

  • heading (字符串):主标题文本(深色背景上的白色)
  • paragraph (string):描述文本(白色)
  • buttonLabel (字符串):按钮文本(箭头→ 自动附加)
  • artworkUrl (string):顶部艺术品/插图的URL
  • onButtonClick (函数):点击操作按钮时回调
  • onDismiss (功能):点击解除按钮时回调(提供解除按钮时启用)
  • disabled (boolean):卡片是否已禁用
  • className (string):其他CSS类
  • ariaLabel (string):卡片的自定义咏叹调标签
备注:消息卡具有深蓝色背景上的第三种按钮样式(仅带箭头的文本),与库中的其他按钮组件不同。

代码输入组件

import CodeInput from './components/CodeInput';

function App() {
  const [code, setCode] = useState('');
  const [error, setError] = useState(false);

  const handleComplete = (value) => {
    if (!validateCode(value)) {
      setError(true);
    } else {
      console.log('Code validated:', value);
    }
  };

  return (
    
  );
}

道具:

  • length (number):数字槽数(默认值:4)
  • label (string):在输入上方标记文本
  • hint (string):输入下方的辅助文本
  • showLabel (boolean):显示/隐藏标签(默认值:true)
  • showHint (boolean):显示/隐藏提示(默认值:true)
  • secure (布尔值):安全模式显示点而不是字符(默认值:true)
  • state (字符串):视觉状态-“启用”、“活动”、“错误”、“只读”、“已按下”(默认值:“启用”)
  • value (string):受控值
  • onChange (函数):值更改时回调: (value: string) => void
  • onComplete (函数):当所有槽位都被填满时进行回调: (value: string) => void
  • errorMessage (string):自定义错误消息
  • disabled (boolean):禁用输入(默认值:false)
  • autoFocus (boolean):自动聚焦第一个插槽(默认值:false)
  • className (string):其他CSS类

特征:

  • 输入时自动前进到下一个插槽
  • Backspace移动到上一个插槽
  • 箭头键导航(←→)
  • 粘贴对完整代码的支持
  • 符合WCAG 2.1 AA级标准
  • 键盘可访问
  • 屏幕阅读器友好
  • 暗模式支持
  • 高对比度模式支持
  • 减少运动支撑

无线电列表项组件

import RadioListItem from './components/RadioListItem';

function App() {
  const [selectedOption, setSelectedOption] = useState('standard');

  return (
    

      {/* Radio Group */}
       setSelectedOption(value)}
      />
      
       setSelectedOption(value)}
      />

      {/* Disabled option */}
      
    

  );
}

道具:

  • label (字符串):主标签文本
  • paragraph (string):次要描述性文本
  • name (string):相关单选按钮的组名(默认值:“单选组”)
  • value (string):此单选选项的唯一值
  • defaultSelected (boolean):非受控模式的初始选定状态(默认值:false)
  • selected (boolean):受控选定状态(默认值:null)
  • disabled (boolean):是否禁用收音机(默认值:false)
  • onChange (函数):选中时回调,接收值: (value: string) => void
  • className (string):其他CSS类

特征:

  • 受控和非受控模式
  • 群体内相互排斥的选择
  • 全键盘导航(Tab、Space、Enter)
  • 清晰的视觉反馈(悬停、按下、聚焦状态)
  • 符合WCAG 2.1 AAA级标准
  • 具有ARIA属性的屏幕阅读器支持
  • 高对比度模式支持
  • 减少运动支撑
  • 触摸友好(64px宽的控制区域)

文本输入组件

import TextInput from './components/TextInput';

function App() {
  const [email, setEmail] = useState('');
  const [emailError, setEmailError] = useState('');

  const validateEmail = (email) => {
    const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return re.test(email);
  };

  const handleEmailBlur = () => {
    if (email && !validateEmail(email)) {
      setEmailError('Please enter a valid email address');
    } else {
      setEmailError('');
    }
  };

  return (
     setEmail(e.target.value)}
      onBlur={handleEmailBlur}
      state={emailError ? 'error' : 'enabled'}
      errorMessage={emailError}
      required
    />
  );
}

道具:

  • label (string):输入的标签文本(默认值:'Label')
  • hint (string):输入下方的辅助文本(默认:“提示文本”)
  • errorMessage (string):要显示的错误消息(默认值:“”)
  • placeholder (string):占位符文本(默认值:'')
  • value (字符串):受控值(默认值:“”)
  • type (字符串):输入类型-“文本”、“电子邮件”、“密码”、“电话”、“网址”(默认值:“文本”)
  • state (字符串):视觉状态-“启用”、“活动”、“错误”、“只读”、“禁用”(默认值:“启用”)
  • showLabel (boolean):显示/隐藏标签(默认值:true)
  • showHint (boolean):显示/隐藏提示文本(默认值:true)
  • required (boolean):将字段标记为必填项(默认值:false)
  • disabled (boolean):禁用输入(默认值:false)
  • autoFocus (boolean):自动聚焦于挂载(默认值:false)
  • maxLength (数字):最大字符长度
  • leftIcon (字符串):左侧的图标/表情符号
  • rightIcon (字符串):右侧的图标/表情符号
  • clearable (boolean):有值时显示清除按钮(默认值:false)
  • onChange (函数):更改事件处理程序: (event) => void
  • onFocus (函数):焦点事件处理程序: (event) => void
  • onBlur (函数):模糊事件处理程序: (event) => void
  • onClear (功能):清除按钮点击处理程序: () => void
  • className (string):其他CSS类

特征:

  • 具有特定类型行为的多种输入类型
  • 密码可见性切换(显示/隐藏)
  • X按钮可清晰输入
  • 图标支持(左和右)
  • 带错误消息的内联验证
  • 必填字段指示符(\*)
  • 符合WCAG 2.1 AA级标准
  • 全键盘导航
  • ARIA支持屏幕阅读器
  • 触摸友好(最小高度48px)
  • 高对比度模式支持
  • 减少运动支撑
  • 响应式设计

媒体卡组件

import MediaCard from './components/MediaCard';

function App() {
  const [isLoading, setIsLoading] = useState(true);

  useEffect(() => {
    // Simulate data loading
    setTimeout(() => setIsLoading(false), 2000);
  }, []);

  return (
     console.log('Play video')}
      onButtonClick={() => console.log('View tutorial')}
    />
  );
}

道具:

  • heading (字符串):主标题文本(默认:“heading”)
  • paragraph (字符串):描述文本(默认:“段落”)
  • buttonLabel (字符串):操作按钮文本(默认:“按钮”)
  • mediaUrl (字符串):媒体/视频缩略图的URL(默认值:“”)
  • trailingArtworkUrl (string):右上角徽章/图标的URL(默认值:'')
  • onPlayClick (功能):点击播放按钮时回调
  • onButtonClick (函数):点击操作按钮时回调
  • isLoading (boolean):是否用骨架显示加载状态(默认值:false)
  • minLoadingTime (number):最小加载持续时间(毫秒)(默认值:2000)
  • disabled (boolean):卡片是否禁用(默认值:false)
  • className (string):其他CSS类

特征:

  • 媒体上的播放按钮覆盖视频/音频内容
  • 右上角的尾随艺术品(徽章/图标)
  • 使用动画骨架占位符加载状态
  • 全键盘导航支持
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 触摸友好型控制
  • 高对比度模式支持
  • 减少运动支撑
  • 响应式设计
备注:媒体卡是专门为媒体内容(视频、播客、教程)设计的,带有突出的播放按钮。对于没有介质的一般内容卡,请使用标准 Card 组件。

横幅支付组件

import BannerPayment from './components/BannerPayment';

function CheckoutPage() {
  const [totalAmount, setTotalAmount] = useState('$89.99');

  const handlePayment = async (amount) => {
    console.log('Processing payment:', amount);
    // Payment processing logic
  };

  return (
    
  );
}

道具:

  • amount (字符串):要显示的付款金额(默认值:'₹170.71')
  • currency (字符串):货币符号(默认值:'₹')
  • label (字符串):金额上方的标签文本(默认值:“完成付款:”)
  • actionLabel (字符串):操作按钮文本(默认值:“支付”)
  • onActionClick (函数):点击动作时回调,接收金额作为参数
  • className (string):其他CSS类

特征:

  • 带有圆形元素的金黄色装饰背景
  • 突出显示付款金额
  • 带箭头的交互式行动呼吁
  • 全键盘导航(Tab、Enter、Space)
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 触摸友好型操作按钮
  • 高对比度模式支持
  • 减少运动支撑
  • 响应式设计
备注:横幅支付旨在用于结账和支付流程,以突出显示支付金额并鼓励用户采取行动。

分隔器组件

import Divider from './components/Divider';

function App() {
  return (
    

      {/* Full-width divider */}
      
Content section 1

      

      
Content section 2

      
      {/* Half divider in list */}
      

        

          
          User Name
        

        

        

          
          User Name 2
        

      

    

  );
}

道具:

  • type (string):分隔符类型-“全”或“半”(默认值:“全”)
  • className (string):其他CSS类

特征:

  • 两种变体:全宽和半宽(带偏移)
  • 可访问性的语义分隔符角色
  • 响应式:适应移动屏幕
  • 简约设计:1px高度,微妙的灰色(#E2E2E2)
  • 符合WCAG 2.1 AA级标准
  • 与屏幕阅读器配合使用
  • 非常适合列表、部分和内容块
  • 无需JavaScript

横幅旋转木马组件

import BannerCarousel from './components/BannerCarousel';

function App() {
  const banners = [
    {
      title: 'Comfortable sedan\nrides',
      backgroundColor: '#927023',
      decorativeCircle: '#9a7a3a',
      imageUrl: '/images/sedan.png',
      imageAlt: 'Sedan car',
      action: {
        label: 'Book Premier',
        onClick: () => console.log('Book Premier clicked')
      }
    },
    {
      title: 'Eco-friendly\noptions',
      backgroundColor: '#2d7a2e',
      decorativeCircle: '#3a8a3b',
      imageUrl: '/images/electric.png',
      imageAlt: 'Electric car',
      action: {
        label: 'Go Green',
        onClick: () => console.log('Go Green clicked')
      }
    }
  ];

  return (
     console.log('Slide:', index)}
    />
  );
}

道具:

  • banners (array):带有标题、背景色、装饰圈、imageUrl、imageAlt和动作的横幅对象数组
  • autoPlayInterval (number):幻灯片之间的间隔(毫秒)(默认值:5000)
  • enableAutoPlay (boolean):启用自动旋转(默认值:true)
  • pauseOnHover (布尔值):悬停时暂停旋转(默认值:true)
  • showDots (布尔值):显示分页点(默认值:true)
  • onSlideChange (功能):幻灯片更改时回调,接收索引
  • className (string):其他CSS类

特征:

  • 可配置间隔的自动旋转
  • 悬停时暂停以获得更好的用户体验
  • 交互式分页点(单击导航)
  • 全键盘导航(Tab、Enter、Space)
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 触摸友好型控制
  • 高对比度模式支持
  • 减少运动支撑
  • 响应式设计
备注横幅旋转木马专为自动旋转的促销内容而设计。每个横幅都可以有一个自定义背景、图像和行动呼吁按钮。

模态表组件

import ModalSheet from './components/ModalSheet';
import { useState } from 'react';

function App() {
  const [isOpen, setIsOpen] = useState(false);

  return (
    <>
       setIsOpen(true)}>
        Open Modal
      
      
       setIsOpen(false)}
        onClose={() => setIsOpen(false)}
      />
    
  );
}

道具:

  • title (字符串):工作表标题中的标题文本(默认值:“Title”)
  • artworkUrl (string):艺术品/图像的URL(200px高)
  • content (string):主要内容文本(可以是多行)
  • buttonLabel (字符串):操作按钮文本(默认值:“完成”)
  • onButtonClick (功能):点击按钮时回调
  • onClose (功能):当工作表应该关闭时进行回调(背景点击或Escape键)
  • isOpen (boolean):模态表是否可见(默认值:false)
  • className (string):其他CSS类

特征:

  • 打开时平滑向上滑动动画(轻松0.3秒)
  • 动画中的背景淡入淡出
  • 通过背景点击、退出键或按钮关闭
  • 打开时防止车身滚动
  • 全键盘导航支持
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 触摸友好型控制
  • 高对比度模式支持
  • 减少运动支撑
  • 响应式设计(最大宽度375px,最大高度90vh)
备注:ModalSheet专为移动优先的应用程序而设计,在中小型屏幕上效果最佳。它会自动防止身体滚动,并提供流畅的动画。

进度步骤组件

import ProgressSteps from './components/ProgressSteps';
import { useState } from 'react';

function CheckoutFlow() {
  const [currentStep, setCurrentStep] = useState(0);

  const steps = [
    { label: 'Cart' },
    { label: 'Delivery' },
    { label: 'Payment' },
    { label: 'Confirmation' }
  ];

  const handleNext = () => {
    if (currentStep  {
    if (currentStep > 0) {
      setCurrentStep(currentStep - 1);
    }
  };

  return (
    

      

      
      

        {/* Step content here */}
      

      
      

        {currentStep > 0 && (
          Back
        )}
        {currentStep Next
        )}
      

    

  );
}

道具:

  • steps (array):具有以下参数的步骤对象数组 label 财产(必填)
  • currentStep (number):当前活动步骤的索引,从0开始(默认值:0)
  • className (string):其他CSS类

特征:

  • 带有编号步骤的水平步进器
  • 已完成的步骤显示为选中标记图标
  • 当前步骤以数字突出显示
  • 即将到来的步骤以灰色显示
  • 台阶之间的连接线
  • 响应式设计(适用于移动设备)
  • 全键盘导航支持
  • 符合WCAG 2.1 AA级标准
  • 可通过进度条角色访问屏幕阅读器
  • 触摸友好型控制
  • 高对比度模式支持
  • 减少运动支撑
  • 支持3-8个步骤以实现最佳用户体验
备注:“进度步骤”组件是一个仅用于显示的组件。步骤之间的导航应由具有单独控件(按钮、窗体等)的父组件处理。

横幅组件

import Banner from './components/Banner';

function App() {
  return (
    

      {/* Warning Banner (default) */}
      

      {/* Info Banner with custom artwork */}
      

      {/* Success Banner */}
      

      {/* Error Banner without paragraph */}
      
    

  );
}

道具:

  • heading (布尔值):显示/隐藏标题(默认值:true)
  • paragraph (boolean):显示/隐藏段落(默认值:true)
  • headingText (字符串):标题文本(默认:“标题文本”)
  • paragraphText (string):段落文本(默认:“段落文本”)
  • style (字符串):横幅样式-“警告”、“信息”、“成功”、“错误”(默认值:“警告”)
  • artworkUrl (字符串):自定义艺术品/图标URL(默认:基于样式的图标)
  • className (string):其他CSS类

特征:

  • 四种样式变体:警告(黄色)、信息(蓝色)、成功(绿色)、错误(红色)
  • 基于样式的自定义或默认图标
  • 灵活的内容(显示/隐藏标题或段落)
  • 响应式设计(适应集装箱宽度)
  • 符合WCAG 2.1 AA级标准
  • 屏幕阅读器可访问
  • 高对比度模式支持
  • 手机触摸友好
  • 圆角(12像素)打造现代外观
备注:横幅组件会根据所选样式自动显示相应的图标。自定义艺术品可以通过以下方式覆盖默认图标 artworkUrl 道具。

底部导航组件

import BottomNavigation from './components/BottomNavigation';

function App() {
  const [activeTab, setActiveTab] = useState('home');

  const items = [
    { id: 'home', label: 'Home', active: activeTab === 'home' },
    { id: 'services', label: 'Services', active: activeTab === 'services' },
    { id: 'activity', label: 'Activity', active: activeTab === 'activity' },
    { id: 'account', label: 'Account', active: activeTab === 'account' }
  ];

  const handleNavigation = (item) => {
    setActiveTab(item.id);
    console.log('Navigate to:', item.id);
  };

  return (
    
  );
}

道具:

  • items (array):导航项数组 id, label,以及 active 属性
  • onItemClick (函数):点击项目时回调,接收点击的项目
  • className (string):其他CSS类

内置图标:

  • :房子图标(Figma节点:10:249)
  • 服务:3x3网格图标(图节点:10:293)
  • 活动:带书签的文档/收据图标(图节点:10:319)
  • 账户:用户配置文件图标(图节点:10:316)

特征:

  • 移动应用程序的固定底部导航
  • 基于Figma设计系统的内置SVG图标
  • 活动状态指示(黑色表示活动,灰色#afafaf表示非活动)
  • 全键盘导航支持
  • 符合WCAG 2.1 AA级标准
  • 可通过语义导航访问屏幕阅读器
  • 触摸友好,有足够的触摸目标(32x32px图标)
  • 响应式:适应移动屏幕
  • 高对比度模式支持
  • 减少运动支撑

快速演示

打开 index.html 在浏览器中查看所有组件的交互示例:

  1. 按钮组件 -带有点击计数器的基本按钮
  2. 带开关的列表项 -切换不同状态的开关
  3. 简单列表项组件 -交互式和非交互式模式下的简单列表项
  4. 卡片组件 -具有加载状态和重新加载功能的卡
  5. 消息卡组件 -带有取消按钮的促销卡
  6. 代码输入组件 -具有各种配置的PIN/OTP输入
  7. 无线电列表项组件 -多组电台选择
  8. 文本输入组件 -各种输入类型和验证状态
  9. 媒体卡组件 -带有播放按钮和加载状态的卡
  10. 搜索栏组件 -使用时间选择器进行位置搜索
  11. 横幅支付组件 -多种货币的支付横幅
  12. 分隔器组件 -全宽和半宽分隔带
  13. 图标库 -所有可用的图标都有大小和颜色变化
  14. 底部导航 -具有活动状态的移动导航
  15. 横幅旋转木马 -带分页功能的自动旋转横幅
  16. 骑行选项组件 -车辆选择,包括定价和等待时间
  17. 滤波器芯片组件 -搜索界面的快速过滤器
  18. 位置列表项目组件 -带有图标和详细信息的位置选项
  19. 模态表组件 -带有艺术作品和动画的底图模式
  20. 进度步骤组件 -用于多步骤过程的水平步进器
  21. 横幅组件 -具有多种风格变体的信息横幅
  22. 简单列表项组件 -简单的导航和菜单列表项

演示页面

展示组件使用的完整示例页面:

  1. index.html -带有交互式演示的主要组件库:

- 按钮组件(交互式) - 带开关的列表项(切换功能) - 卡片组件(带加载骨架) - 消息卡组件(可撤销通知) - 代码输入组件(PIN/OTP输入) - 无线电列表项组件(选择组) - 文本输入组件(验证和状态) - 媒体卡组件(视频/音频卡) - 搜索栏组件(位置+时间选择器) - 横幅付款组件(付款提示) - 横幅旋转木马组件(自动旋转幻灯片) - 分隔器组件(全宽和半宽) - 图标库(所有设计系统图标) - 底部导航(移动导航栏) - 模态表组件(底部模板) - 进度步骤组件(多步骤向导) - 横幅组件(信息性警报)

  1. booking.html -带地图、底部表格和骑行选择的骑行预订屏幕
  2. 搜索.html -带有过滤器、地址输入和位置列表的搜索/计划骑行屏幕
  3. uber-home.html -优步主页娱乐
  4. uber-page.html -其他优步用户界面示例
  5. divider-demo.html -分流器组件演示
  6. modal-sheet-demo.html -具有各种用例的ModalSheet组件演示
  7. progress-steps-demo.html -带有交互式示例的进度步骤组件演示

发展

对于完整的React设置,请使用:

# With Vite
npm create vite@latest . -- --template react

# With Create React App
npx create-react-app .

# Then copy the component files and styles

备注

  • 优步Move Text字体是专有的。组件回退到系统字体以实现更广泛的兼容性。
  • 所有组件均完全符合Figma的设计规范。
  • 包括交互式状态(悬停、活动、聚焦),以获得更好的用户体验和可访问性。
  • 组件遵循WAI-ARIA的可访问性指南。

文档

有关详细的组件规范、设计标记、可访问性指南和最佳实践,请参阅 guidelines/ 文件夹:

目录标签

目录标签

开发工具HTMLCursor设计本地部署UI设计前端开发组件化交互设计Figma集成

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

create-react-app

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP