Material design mobile component library for Vue3

Overview

VARLET

Material design mobile component library for Vue3

Intro

Varlet is a Material design mobile component library developed based on Vue3, developed and maintained by partners in the community.

Features

  1. Provide more than 40 high quality general purpose components
  2. Components are very lightweight
  3. Developed by Chinese, complete Chinese and English documentation and logistics support
  4. Support on-demand introduction
  5. Support theme customization
  6. Support internationalization
  7. Support WebStorm, VS Code component syntax highlighting
  8. Support the SSR
  9. Support the Typescript

Install

CDN

varlet.js contain all the styles and logic of the component library, and you can import them.

<div id="app">div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]">script>
<script src="https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js">script>
<script>
  const app = Vue.createApp({
    template: 'Button'
  })
  app.use(Varlet).mount('#app')
script>

Webpack/Vite

# Install with npm or yarn
# npm
npm i @varlet/ui -S
# yarn
yarn add @varlet/ui
import App from './App.vue'
import Varlet from '@varlet/ui'
import { createApp } from 'vue'
import '@varlet/ui/es/style'

createApp(App).use(Varlet).mount('#app')
Comments
  • var-tabs导致var-back-top的fixed失效

    var-tabs导致var-back-top的fixed失效

    Bug report 🐞

    我看到var-tabs里面的没有var-swipe-item都有style="width: 360px; transform: translateX(0px);" transform会导致position: fixed;失效,造成var-back-top的fab不能固定在可滚动的页面上

    Try

    我尝试这样设置,问题得到解决,也没有引起其他的负面作用 .var-swipe-item { overflow: auto; transform: none !important; }

    这里不是很理解配置transform: translateX(0px);的作用

    opened by little-alei 17
  • template中识别不到组件的ts定义,vscode也未高亮组件

    template中识别不到组件的ts定义,vscode也未高亮组件

    Bug report 🐞

    template中识别不到组件的ts定义,vscode也未高亮组件,但vant组件都可以正常识别,如图 origin_img_v2_c00f5a35-915f-41ea-ba99-69d043cb078g origin_img_v2_a63f3dcf-5f81-4776-97e8-30bcd4fa710g origin_img_v2_ad18a3fe-a9b3-4fb2-a9d5-687174cdefbg

    Version & Environment

    @varlet/ui: 1.27.20

    Expectation

    希望能够和vant一样识别到ts定义,vscode中也能高亮

    Actual results (or Errors)

    opened by LizNex 12
  • List组件load事件无法正确触发

    List组件load事件无法正确触发

    Bug report 🐞

    List滚动到底后load事件偶尔无法正确触发

    Version & Environment

    Chrome / Firefox ...

    Expectation

    在不设置offset属性的情况下 正确触发load事件

    Actual results (or Errors)

    位置 packages/varlet-ui/src/list/List.vue Line 54

    const isReachBottom = () => {
      const containerBottom =
        scroller === window ? window.innerHeight : (scroller as HTMLElement).getBoundingClientRect().bottom
      const { bottom: detectorBottom } = (detectorEl.value as HTMLElement).getBoundingClientRect()
      return detectorBottom - toPxNum(props.offset) <= containerBottom
    }
    

    当容器为window时, 由于获取innerHeight 和 底部元素getBoundingClientRect精度问题, 导致return false

    opened by illisac 12
  • fix(ui/menu): reslove error of getting offsetHeight when alignment is…

    fix(ui/menu): reslove error of getting offsetHeight when alignment is…

    … set as bottom

    Checklist


    • [x] Fix linting errors
    • [x] Tests have been added / updated (or snapshots)

    Change information


    当 menu 菜单的 alignment 属性设置为 bottom, 在计算 top 时获取 menu 元素 offsetHeight 为 0,导致属性失效; 经猜测原因大概是由于获取时元素为不可见状态,故采用了 nextTick API 来解决

    opened by ly980408 8
  • keep-alive 导致radio组件点击时间无效

    keep-alive 导致radio组件点击时间无效

    Bug report 🐞

    使用keep-alive进行单向缓存页面时,radio的点击事件无效

    重现步骤 1.表单A页面单向缓存 2.跳转B页面,然后回退 3.点击radio组件无响应

    控制台无任何报错信息

    Version & Environment

    "@varlet/ui": "^1.22.3", "vue": "^3.2.20", "vue-router": "^4.0.11", "vuex": "^4.0.2"

    Expection

    Actual results (or Errors)

    opened by yexiaodong 8
  • Button support to replace href target props

    Button support to replace href target props

    Feature request 🚀

    Expected:

    button support navigation, when you use href, will be rendered as <a />, use to or replace, will be rendered as <router-link />

    • No breaking changes

    Examples:

    quasar button handling navigation

    <var-button href="www.baidu.com">默认按钮</var-button>
    <var-button href="www.baidu.com" target="_blank">默认按钮</var-button>
    <var-button to="/">默认按钮</var-button>
    <var-button replace="/">默认按钮</var-button>
    

    Programme:

    如果觉得这个功能可以的话,我可以参与开发.

    Others:

    opened by a145789 7
  • chore(playground): Solve the problem that the component library must be manually introduced into the playground user code editing area

    chore(playground): Solve the problem that the component library must be manually introduced into the playground user code editing area

    Checklist


    • [ ] Fix linting errors
    • [ ] Tests have been added / updated (or snapshots)

    Change information

    Solve the problem that the component library must be manually introduced into the playground user code editing area

    opened by CharlesChanV 7
  • 按需引入也会最终会将组件全部打包

    按需引入也会最终会将组件全部打包

    Bug report 🐞

    在按需引入的情况下,最终打包也会把全部组件都打包进去。可以在测试时只引入一个组件,然后打包,在打包结果中搜索其它组件关键词,如组件名或类名,都可以搜索到。

    而且不管是按需引入还是全部引入,打包出来的文件大小是一样的

    main.ts

    import { createApp } from 'vue'
    import App from './App.vue'
    // 按需引入
    import { Button } from '@varlet/ui'
    
    createApp(App).use(Button).mount('#app')
    

    Version & Environment

    "@varlet/ui": "^1.27.20",

    Expectation

    预期是只是打包需要的,引入什么就打包什么

    Actual results (or Errors)

    实际上将全部组件都打包到 dist 了

    need reproduction 
    opened by Tyh2001 6
  • 使用select样式显示和官网的不同

    使用select样式显示和官网的不同

    Bug report 🐞

    使用selece样式显示和官网的不同

    Version & Environment

    import Varlet from "@varlet/ui"; import "@varlet/ui/es/style.js"; createApp(App).use(Varlet).use(store).use(router).mount("#app"); "@varlet/ui": "^1.27.19", "vue": "^3.2.13",

    Expectation

    图片

    Actual results (or Errors)

    图片

    bug 
    opened by suzhenghui-sky 6
  • Varlet UI Playground

    Varlet UI Playground

    Bug report 🐞

    I have just tried to use the Ui Playground - I really like this library, however it is not working! Please fix!

    Version & Environment

    Expectation

    Actual results (or Errors)

    The error I get is "Uncaught (in promise): Load failed"

    need reproduction 
    opened by goldbergmoshe 6
  • Unwanted scroll rail at the bottom side of selects

    Unwanted scroll rail at the bottom side of selects

    Bug report 🐞

    When changing the selected value of a select, there's a scroll rail showing up at the bottom for about a second and then disappears. Below is the video that describes the bug: Select bug

    Version & Environment

    "@varlet/ui": "^1.25.0" "vue": "^3.0.0" "@varlet/touch-emulator": "^1.25.0"

    Expectation

    The select should open and close without any unexpected overflow issues.

    Actual results (or Errors)

    A rail at the bottom of the select appears and disappears when the dropdown is opening, closing or a certain value is selected for the first time.

    opened by gevorgmelkumyan 6
Releases(v2.5.0)
A configurable Mobile UI based on Antd Mobile and Vue

A configurable Mobile UI specification and Vue-based implementation.

ladybird-studio 60 Dec 13, 2022
A Mobile UI components based on Weui Design and Vue

A Mobile UI components based on Weui Design and Vue Features Support TS Install $ npm install weui-design-vue --save Quickstart in src/main.js import

null 23 Nov 9, 2022
Mobile UI Components based on Vue & WeUI

Be Cool with Vue@^2.3.0 and WeUI. Live Demo >> Sponsors 我们的产品 Requirements 暂未适配 vue-cl[email protected],请注意。 vue@^2.3.0(for .sync modifier) webpack@^2.0 node@^7.6

Airyland 17.6k Dec 28, 2022
Native mobile applications using Vue and NativeScript.

Supporting NativeScript-Vue NativeScript-Vue is an MIT-licensed open source project made possible by our sponsors: and these awesome backers: Tiago Al

NativeScript-Vue 5k Dec 29, 2022
Vue Native is a framework to build cross platform native mobile apps using JavaScript

Vue Native Visit our website at vue-native.io or read the official documentation here. Build native mobile apps using Vue Vue Native is a framework to

GeekyAnts 8.4k Dec 28, 2022
Mobile UI elements for Vue.js

Mint UI Mobile UI elements for Vue 2.0 Homepage Documentation Installation npm i mint-ui -S # for Vue 1.x npm i [email protected] -S Usage Import all compone

饿了么前端 16.5k Dec 30, 2022
Lightweight Mobile UI Components built on Vue

Vant Mobile UI Components built on Vue ?? 文档网站(国内) ?? 文档网站(GitHub) ???? 中文版介绍 Features 65+ Reusable components 1kb Component average size (min+gzip) 9

有赞 20.7k Jan 4, 2023
NutUI 3 - 京东风格的轻量级移动端 Vue 组件库 (A Vue.js UI Toolkit for Mobile Web)

NutUI 3 - 京东风格的轻量级移动端 Vue 组件库 (A Vue.js UI Toolkit for Mobile Web)

JDR Design FE 4.9k Jan 3, 2023
A fantastic mobile ui lib implement by Vue.

A fantastic mobile ui lib implement by Vue.

DiDi 9k Dec 28, 2022
💰 A mobile UI toolkit, based on Vue.js 2, designed for financial scenarios.

?? A mobile UI toolkit, based on Vue.js 2, designed for financial scenarios.

DiDi 3.3k Jan 8, 2023
🐡 A mobile UI toolkit designed for financial scenarios, and compatible with multiple platforms based on Vue DSL(Vue 2.0).

Mand [email protected] ?? A mobile UI toolkit designed for financial scenarios, and compatible with multiple platforms based on Vue DSL(Vue 2.0). Webapp Unia

Mand Mobile 11 Jun 24, 2022
Hybrid mobile template built with Ionic Vue using capacitor for native builds

Ionic Vue Mobile Template 03 Hybrid mobile template built with Ionic Vue using c

null 4 Aug 24, 2022
Sahay-mobileapp - Sahay mobile app built using VueJS and Ionic

A product to help humanity, and India as a country, especially during the novel

Siddhayak 0 Jan 24, 2022
Material design mobile component library for Vue3

Material design mobile component library for Vue3

null 3.6k Dec 31, 2022
Vuetify Material Dashboard - Open Source Material Design Admin by Creative Tim

Vuetify Material Dashboard Vuetify Material Dashboard is a beautiful resource built over Vuetify, Vuex and Vuejs. It will help you get started develop

Creative Tim 1.2k Dec 20, 2022
Material Design UI library for Vuejs 2.0

Muse-UI Material Design UI library for Vuejs 2.0 Installation Muse-UI is available as an npm package npm install muse-ui -S yarn add muse-ui Usage imp

Muse UI 8.3k Dec 27, 2022
:diamonds: A modular and customizable UI library based on Material Design and Vue

BalmUI Next Generation Material UI for Vue.js Introduction BalmUI is a modular and customizable Material Design UI library for Vue.js. ?? NOW, balm-ui

BalmJS 428 Jan 4, 2023
A lightweight Vue.js UI library with a simple API, inspired by Google's Material Design.

Keen UI Keen UI is a Vue.js UI library with a simple API, inspired by Google's Material Design. Keen UI is not a CSS framework. Therefore, it doesn't

Josephus Paye II 4.1k Jan 2, 2023
Vue Material Dashboard - Inspired by Material Dashboard of Creative Tim.

vue-material-dashboard Vue Material Dashboard - Inspired by Material Dashboard of Creative Tim. This project is using Vue 2 and based on HTML version

Luc 160 Mar 23, 2022
🚀🚀🚀Vue3,Vue3.0,Vue,Vue3.x,Vuex,Typescript,TSX,ts,vue后台管理,admin,vue-admin,vue3-admin,vue-element-admin,iooc-admin,iooc-vue-admin主线版本基于element-plus、Typescript开发维护.集成CRUD,JsonSchema、大量节省业务代码.

iooc-admin(element-plus) 演示地址(数据库五分钟重置一次) ⚡️ vue3.x + element-plus + TypeScript ⚡️ vue3.x + element-plus + TypeScript (视频) 项目地址 ⚡️ vue3.x + element-pl

Jacking 51 Jun 20, 2021