Varlet Vue3 组件库 3.2 发布 | 拥抱 Nuxt、桌面端体验增强、支持原子化框架

写在前面

自上一篇文章 Vue3 组件库 Varlet v3.0.0 发布了!支持 Material Design 3 已经过去了一个月了,这一个月我们收到了不少的用户反馈,主要的几个关键词是:Nuxt3、Material Design 3 主题配色、桌面端支持、unocss 支持、tailwindcss 支持,为了不辜负期待,所以我们在这一个月的时间里针对其做了一些更新。

桌面端支持

作者为不了解 varlet 的同学们简单介绍一下,varlet 是一个同时支持 material design 2 和 material design 3 设计系统的移动端组件库 。可能有同学会产生疑问,移动端组件库有可能支持桌面端应用么?答案是肯定的。作者早年一直是 vant2 的使用者,早在那个时期 vant 就已经通过自定义 touch 事件的方案解决了这一问题。varlet 初期也借鉴了这种设计,详细可以 参考源码,很容易理解

简单来说,varlet 一开始就是支持桌面端的,但是体验一般,只能说是勉强能用

桌面端体验增强

简单分析一下移动端组件在桌面端上的先天不足。

  1. 键盘交互缺失
  2. 组件 tab 导航缺失
  3. 组件 focusing 反馈缺失
  4. 组件 hovering 反馈缺失

这里举几个简单的例子,让同学们直观感受一下

  1. 下拉菜单通常情况是允许通过键盘上下左右进行选择的,空格回车是允许选中的,esc 是允许关闭的
  2. 单选框组通常情况是允许通过键盘上下左右进行切换选项的
  3. 模态框通常情况是允许通过 esc 关闭的,且需要按照弹出的顺序逆序进行关闭(后弹出的先关闭)
  4. 还有非常非常非常非常非常多......

这些场景在移动端应用中基本上不会出现,但是在桌面端应用中是必须要支持的。 所以我们也为此付出了非常多的努力,最终使用侵入性较小的方式支持了大部分场景,并且差异化了移动端和桌面端,目前体验良好~

顺道一提的作者感受:也无怪一部分用户喜欢用 varlet + Nuxt3 来做桌面端的 C 端应用。material design 本就是支持全平台的设计系统,尤其是 material design 3,尽可能的深入了解之下才发现设计师的很多巧思和权衡。

Nuxt3 Module

为了提升 varlet 在 Nuxt3 中的使用体验,组织内的同学开发了对应的 Nuxt Module。内置了组件、指令按需自动引入的能力。未来还有更多的能力欢迎大家帮助完善,目前相对稳定,不久之后就会成为 varlet 官方首要推荐的 nuxt 集成方案。

顺便一提也是因为这个 Module,varlet 上了今年 vuejs amsterdam 会上的分享讲稿,开源工作者的小快乐总是会源于这些地方~

UnoCss / Tailwindcss 原子化框架支持

在工程中使用了原子化框架的用户总会产生一个问题,就是无法将组件的样式变量平滑的整合到工程变量中。我们为此提供了相关的预设(unocss / tailwindcss 都有对应的预设)并解决了这个问题。开发者将可以使用类似下面的方式去访问 varlet 的基础样式变量,并且 Layout 组件的响应式断点也做了一致化处理。

html 复制代码
<template> 
  <div class="text-on-primary bg-primary text-md">hello</div> 
  <div class="text-on-primary-container bg-primary-container text-lg">world</div> 
  <div class="bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success">
    varlet
  </div> 
</template>

主题配色生成器

varlet 从 3.x 起开始支持 Material Design 3。在带来更强的视觉效果的同时,md3 相对于 md2 的色彩搭配难度会更高(对设计师的要求也更高)。所以谷歌官方开源了相关的色彩生成算法去解决这个问题。用户只需要通过一张产品图片,或者一个主题颜色就可以为其生成一套搭配和谐的配色。我们也因此创建了一个为 Varlet Material Design 3 服务的色彩生成器的仓库去分享给大家使用。

tips: 工具站点目前部署在 github pages,可能会受一些众所周知的原因访问不了,有需要的同学可以自己部署镜像。

结语

开源不易,希望能帮助到大家的工作、学习和生活。我们也想尽可能的多去做一些实在的事情。同时也欢迎大家参与开源共建(不仅限 varlet)。支持我们的工作可以给我们点上一个 star,我们会因此感到开心快乐。出现了使用上的问题欢迎给我们留 issue,我们会尽能力第一时间处理。

github 仓库地址: github.com/varletjs/va... 文档地址: varlet.gitee.io/varlet-ui/#...

相关推荐
成都渲染101云渲染66663 小时前
如何在3ds Max中实现更快、更高质量的渲染
前端·javascript·人工智能
闲猫4 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
paopaokaka_luck6 小时前
英语单词学习系统的设计与实现(基于艾宾浩斯遗忘曲线的智能复习机制、语音朗读、多题型测试与错题自动收录、Echarts图形化分析)
vue.js·spring boot·后端·echarts
自信的未来6 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
SRET6 小时前
Mineradio 沙盒隔离安装完全指南 | 一键安全运行 Electron 应用!!!
javascript·经验分享·安全·electron·aigc·音视频·ai编程
全栈前端老曹7 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
zhangxingchao7 小时前
AI大模型核心八:从 Agent Skill、长文档 RAG 到知识库更新与训练策略
前端·人工智能·后端
zhangxingchao8 小时前
AI大模型核心七:从 Workflow、RAG、记忆治理到幂等性
前端·人工智能·后端
gyx_这个杀手不太冷静9 小时前
Agent开发进阶指南(第 1 章):AI Agent 到底是什么?
前端·agent·ai编程
小小小小宇9 小时前
模型相关知识
前端