14 changed files with 1469 additions and 82 deletions
Binary file not shown.
@ -0,0 +1,23 @@ |
|||||
|
## 1.2.5(2023-03-29) |
||||
|
- 新增 pattern.icon 属性,可自定义图标 |
||||
|
## 1.2.4(2022-09-07) |
||||
|
小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) |
||||
|
## 1.2.3(2022-09-05) |
||||
|
- 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) |
||||
|
## 1.2.2(2021-12-29) |
||||
|
- 更新 组件依赖 |
||||
|
## 1.2.1(2021-11-19) |
||||
|
- 修复 阴影颜色不正确的bug |
||||
|
## 1.2.0(2021-11-19) |
||||
|
- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) |
||||
|
- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab) |
||||
|
## 1.1.1(2021-11-09) |
||||
|
- 新增 提供组件设计资源,组件样式调整 |
||||
|
## 1.1.0(2021-07-30) |
||||
|
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) |
||||
|
## 1.0.7(2021-05-12) |
||||
|
- 新增 组件示例地址 |
||||
|
## 1.0.6(2021-02-05) |
||||
|
- 调整为uni_modules目录规范 |
||||
|
- 优化 按钮背景色调整 |
||||
|
- 优化 兼容pc端 |
||||
@ -0,0 +1,491 @@ |
|||||
|
<template> |
||||
|
<view class="uni-cursor-point"> |
||||
|
<view v-if="popMenu && (leftBottom||rightBottom||leftTop||rightTop) && content.length > 0" :class="{ |
||||
|
'uni-fab--leftBottom': leftBottom, |
||||
|
'uni-fab--rightBottom': rightBottom, |
||||
|
'uni-fab--leftTop': leftTop, |
||||
|
'uni-fab--rightTop': rightTop |
||||
|
}" class="uni-fab" |
||||
|
:style="nvueBottom" |
||||
|
> |
||||
|
<view :class="{ |
||||
|
'uni-fab__content--left': horizontal === 'left', |
||||
|
'uni-fab__content--right': horizontal === 'right', |
||||
|
'uni-fab__content--flexDirection': direction === 'vertical', |
||||
|
'uni-fab__content--flexDirectionStart': flexDirectionStart, |
||||
|
'uni-fab__content--flexDirectionEnd': flexDirectionEnd, |
||||
|
'uni-fab__content--other-platform': !isAndroidNvue |
||||
|
}" :style="{ width: boxWidth, height: boxHeight, backgroundColor: styles.backgroundColor }" |
||||
|
class="uni-fab__content" elevation="5"> |
||||
|
<view v-if="flexDirectionStart || horizontalLeft" class="uni-fab__item uni-fab__item--first" /> |
||||
|
<view v-for="(item, index) in content" :key="index" :class="{ 'uni-fab__item--active': isShow }" |
||||
|
class="uni-fab__item" @click="_onItemClick(index, item)"> |
||||
|
<image :src="item.active ? item.selectedIconPath : item.iconPath" class="uni-fab__item-image" |
||||
|
mode="aspectFit" /> |
||||
|
<text class="uni-fab__item-text" |
||||
|
:style="{ color: item.active ? styles.selectedColor : styles.color }">{{ item.text }}</text> |
||||
|
</view> |
||||
|
<view v-if="flexDirectionEnd || horizontalRight" class="uni-fab__item uni-fab__item--first" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view :class="{ |
||||
|
'uni-fab__circle--leftBottom': leftBottom, |
||||
|
'uni-fab__circle--rightBottom': rightBottom, |
||||
|
'uni-fab__circle--leftTop': leftTop, |
||||
|
'uni-fab__circle--rightTop': rightTop, |
||||
|
'uni-fab__content--other-platform': !isAndroidNvue |
||||
|
}" class="uni-fab__circle uni-fab__plus" :style="{ 'background-color': styles.buttonColor, 'bottom': nvueBottom }" @click="_onClick"> |
||||
|
<uni-icons class="fab-circle-icon" :type="styles.icon" :color="styles.iconColor" size="32" |
||||
|
:class="{'uni-fab__plus--active': isShow && content.length > 0}"></uni-icons> |
||||
|
<!-- <view class="fab-circle-v" :class="{'uni-fab__plus--active': isShow && content.length > 0}"></view> |
||||
|
<view class="fab-circle-h" :class="{'uni-fab__plus--active': isShow && content.length > 0}"></view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
let platform = 'other' |
||||
|
// #ifdef APP-NVUE |
||||
|
platform = uni.getSystemInfoSync().platform |
||||
|
// #endif |
||||
|
|
||||
|
/** |
||||
|
* Fab 悬浮按钮 |
||||
|
* @description 点击可展开一个图形按钮菜单 |
||||
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=144 |
||||
|
* @property {Object} pattern 可选样式配置项 |
||||
|
* @property {Object} horizontal = [left | right] 水平对齐方式 |
||||
|
* @value left 左对齐 |
||||
|
* @value right 右对齐 |
||||
|
* @property {Object} vertical = [bottom | top] 垂直对齐方式 |
||||
|
* @value bottom 下对齐 |
||||
|
* @value top 上对齐 |
||||
|
* @property {Object} direction = [horizontal | vertical] 展开菜单显示方式 |
||||
|
* @value horizontal 水平显示 |
||||
|
* @value vertical 垂直显示 |
||||
|
* @property {Array} content 展开菜单内容配置项 |
||||
|
* @property {Boolean} popMenu 是否使用弹出菜单 |
||||
|
* @event {Function} trigger 展开菜单点击事件,返回点击信息 |
||||
|
* @event {Function} fabClick 悬浮按钮点击事件 |
||||
|
*/ |
||||
|
export default { |
||||
|
name: 'UniFab', |
||||
|
emits: ['fabClick', 'trigger'], |
||||
|
props: { |
||||
|
pattern: { |
||||
|
type: Object, |
||||
|
default () { |
||||
|
return {} |
||||
|
} |
||||
|
}, |
||||
|
horizontal: { |
||||
|
type: String, |
||||
|
default: 'left' |
||||
|
}, |
||||
|
vertical: { |
||||
|
type: String, |
||||
|
default: 'bottom' |
||||
|
}, |
||||
|
direction: { |
||||
|
type: String, |
||||
|
default: 'horizontal' |
||||
|
}, |
||||
|
content: { |
||||
|
type: Array, |
||||
|
default () { |
||||
|
return [] |
||||
|
} |
||||
|
}, |
||||
|
show: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
popMenu: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
fabShow: false, |
||||
|
isShow: false, |
||||
|
isAndroidNvue: platform === 'android', |
||||
|
styles: { |
||||
|
color: '#3c3e49', |
||||
|
selectedColor: '#007AFF', |
||||
|
backgroundColor: '#fff', |
||||
|
buttonColor: '#007AFF', |
||||
|
iconColor: '#fff', |
||||
|
icon: 'plusempty' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
contentWidth(e) { |
||||
|
return (this.content.length + 1) * 55 + 15 + 'px' |
||||
|
}, |
||||
|
contentWidthMin() { |
||||
|
return '55px' |
||||
|
}, |
||||
|
// 动态计算宽度 |
||||
|
boxWidth() { |
||||
|
return this.getPosition(3, 'horizontal') |
||||
|
}, |
||||
|
// 动态计算高度 |
||||
|
boxHeight() { |
||||
|
return this.getPosition(3, 'vertical') |
||||
|
}, |
||||
|
// 计算左下位置 |
||||
|
leftBottom() { |
||||
|
return this.getPosition(0, 'left', 'bottom') |
||||
|
}, |
||||
|
// 计算右下位置 |
||||
|
rightBottom() { |
||||
|
return this.getPosition(0, 'right', 'bottom') |
||||
|
}, |
||||
|
// 计算左上位置 |
||||
|
leftTop() { |
||||
|
return this.getPosition(0, 'left', 'top') |
||||
|
}, |
||||
|
rightTop() { |
||||
|
return this.getPosition(0, 'right', 'top') |
||||
|
}, |
||||
|
flexDirectionStart() { |
||||
|
return this.getPosition(1, 'vertical', 'top') |
||||
|
}, |
||||
|
flexDirectionEnd() { |
||||
|
return this.getPosition(1, 'vertical', 'bottom') |
||||
|
}, |
||||
|
horizontalLeft() { |
||||
|
return this.getPosition(2, 'horizontal', 'left') |
||||
|
}, |
||||
|
horizontalRight() { |
||||
|
return this.getPosition(2, 'horizontal', 'right') |
||||
|
}, |
||||
|
// 计算 nvue bottom |
||||
|
nvueBottom() { |
||||
|
const safeBottom = uni.getSystemInfoSync().windowBottom; |
||||
|
// #ifdef APP-NVUE |
||||
|
return 30 + safeBottom |
||||
|
// #endif |
||||
|
// #ifndef APP-NVUE |
||||
|
return 30 |
||||
|
// #endif |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
pattern: { |
||||
|
handler(val, oldVal) { |
||||
|
this.styles = Object.assign({}, this.styles, val) |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.isShow = this.show |
||||
|
if (this.top === 0) { |
||||
|
this.fabShow = true |
||||
|
} |
||||
|
// 初始化样式 |
||||
|
this.styles = Object.assign({}, this.styles, this.pattern) |
||||
|
}, |
||||
|
methods: { |
||||
|
_onClick() { |
||||
|
this.$emit('fabClick') |
||||
|
if (!this.popMenu) { |
||||
|
return |
||||
|
} |
||||
|
this.isShow = !this.isShow |
||||
|
}, |
||||
|
open() { |
||||
|
this.isShow = true |
||||
|
}, |
||||
|
close() { |
||||
|
this.isShow = false |
||||
|
}, |
||||
|
/** |
||||
|
* 按钮点击事件 |
||||
|
*/ |
||||
|
_onItemClick(index, item) { |
||||
|
if (!this.isShow) { |
||||
|
return |
||||
|
} |
||||
|
this.$emit('trigger', { |
||||
|
index, |
||||
|
item |
||||
|
}) |
||||
|
}, |
||||
|
/** |
||||
|
* 获取 位置信息 |
||||
|
*/ |
||||
|
getPosition(types, paramA, paramB) { |
||||
|
if (types === 0) { |
||||
|
return this.horizontal === paramA && this.vertical === paramB |
||||
|
} else if (types === 1) { |
||||
|
return this.direction === paramA && this.vertical === paramB |
||||
|
} else if (types === 2) { |
||||
|
return this.direction === paramA && this.horizontal === paramB |
||||
|
} else { |
||||
|
return this.isShow && this.direction === paramA ? this.contentWidth : this.contentWidthMin |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" > |
||||
|
$uni-shadow-base:0 1px 5px 2px rgba($color: #000000, $alpha: 0.3) !default; |
||||
|
|
||||
|
.uni-fab { |
||||
|
position: fixed; |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
z-index: 10; |
||||
|
border-radius: 45px; |
||||
|
box-shadow: $uni-shadow-base; |
||||
|
} |
||||
|
|
||||
|
.uni-cursor-point { |
||||
|
/* #ifdef H5 */ |
||||
|
cursor: pointer; |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-fab--active { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
.uni-fab--leftBottom { |
||||
|
left: 15px; |
||||
|
bottom: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
left: calc(15px + var(--window-left)); |
||||
|
bottom: calc(30px + var(--window-bottom)); |
||||
|
/* #endif */ |
||||
|
// padding: 10px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab--leftTop { |
||||
|
left: 15px; |
||||
|
top: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
left: calc(15px + var(--window-left)); |
||||
|
top: calc(30px + var(--window-top)); |
||||
|
/* #endif */ |
||||
|
// padding: 10px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab--rightBottom { |
||||
|
right: 15px; |
||||
|
bottom: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
right: calc(15px + var(--window-right)); |
||||
|
bottom: calc(30px + var(--window-bottom)); |
||||
|
/* #endif */ |
||||
|
// padding: 10px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab--rightTop { |
||||
|
right: 15px; |
||||
|
top: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
right: calc(15px + var(--window-right)); |
||||
|
top: calc(30px + var(--window-top)); |
||||
|
/* #endif */ |
||||
|
// padding: 10px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle { |
||||
|
position: fixed; |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
width: 55px; |
||||
|
height: 55px; |
||||
|
background-color: #3c3e49; |
||||
|
border-radius: 45px; |
||||
|
z-index: 11; |
||||
|
// box-shadow: $uni-shadow-base; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--leftBottom { |
||||
|
left: 15px; |
||||
|
bottom: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
left: calc(15px + var(--window-left)); |
||||
|
bottom: calc(30px + var(--window-bottom)); |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--leftTop { |
||||
|
left: 15px; |
||||
|
top: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
left: calc(15px + var(--window-left)); |
||||
|
top: calc(30px + var(--window-top)); |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--rightBottom { |
||||
|
right: 15px; |
||||
|
bottom: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
right: calc(15px + var(--window-right)); |
||||
|
bottom: calc(30px + var(--window-bottom)); |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--rightTop { |
||||
|
right: 15px; |
||||
|
top: 30px; |
||||
|
/* #ifdef H5 */ |
||||
|
right: calc(15px + var(--window-right)); |
||||
|
top: calc(30px + var(--window-top)); |
||||
|
/* #endif */ |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--left { |
||||
|
left: 0; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--right { |
||||
|
right: 0; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--top { |
||||
|
top: 0; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__circle--bottom { |
||||
|
bottom: 0; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__plus { |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
|
||||
|
// .fab-circle-v { |
||||
|
// position: absolute; |
||||
|
// width: 2px; |
||||
|
// height: 24px; |
||||
|
// left: 0; |
||||
|
// top: 0; |
||||
|
// right: 0; |
||||
|
// bottom: 0; |
||||
|
// /* #ifndef APP-NVUE */ |
||||
|
// margin: auto; |
||||
|
// /* #endif */ |
||||
|
// background-color: white; |
||||
|
// transform: rotate(0deg); |
||||
|
// transition: transform 0.3s; |
||||
|
// } |
||||
|
|
||||
|
// .fab-circle-h { |
||||
|
// position: absolute; |
||||
|
// width: 24px; |
||||
|
// height: 2px; |
||||
|
// left: 0; |
||||
|
// top: 0; |
||||
|
// right: 0; |
||||
|
// bottom: 0; |
||||
|
// /* #ifndef APP-NVUE */ |
||||
|
// margin: auto; |
||||
|
// /* #endif */ |
||||
|
// background-color: white; |
||||
|
// transform: rotate(0deg); |
||||
|
// transition: transform 0.3s; |
||||
|
// } |
||||
|
|
||||
|
.fab-circle-icon { |
||||
|
transform: rotate(0deg); |
||||
|
transition: transform 0.3s; |
||||
|
font-weight: 200; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__plus--active { |
||||
|
transform: rotate(135deg); |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content { |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
box-sizing: border-box; |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
flex-direction: row; |
||||
|
border-radius: 55px; |
||||
|
overflow: hidden; |
||||
|
transition-property: width, height; |
||||
|
transition-duration: 0.2s; |
||||
|
width: 55px; |
||||
|
border-color: #DDDDDD; |
||||
|
border-width: 1rpx; |
||||
|
border-style: solid; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--other-platform { |
||||
|
border-width: 0px; |
||||
|
box-shadow: $uni-shadow-base; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--left { |
||||
|
justify-content: flex-start; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--right { |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--flexDirection { |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--flexDirectionStart { |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-start; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__content--flexDirectionEnd { |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__item { |
||||
|
/* #ifndef APP-NVUE */ |
||||
|
display: flex; |
||||
|
/* #endif */ |
||||
|
flex-direction: column; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
width: 55px; |
||||
|
height: 55px; |
||||
|
opacity: 0; |
||||
|
transition: opacity 0.2s; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__item--active { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__item-image { |
||||
|
width: 20px; |
||||
|
height: 20px; |
||||
|
margin-bottom: 4px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__item-text { |
||||
|
color: #FFFFFF; |
||||
|
font-size: 12px; |
||||
|
line-height: 12px; |
||||
|
margin-top: 2px; |
||||
|
} |
||||
|
|
||||
|
.uni-fab__item--first { |
||||
|
width: 55px; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,84 @@ |
|||||
|
{ |
||||
|
"id": "uni-fab", |
||||
|
"displayName": "uni-fab 悬浮按钮", |
||||
|
"version": "1.2.5", |
||||
|
"description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。", |
||||
|
"keywords": [ |
||||
|
"uni-ui", |
||||
|
"uniui", |
||||
|
"按钮", |
||||
|
"悬浮按钮", |
||||
|
"fab" |
||||
|
], |
||||
|
"repository": "https://github.com/dcloudio/uni-ui", |
||||
|
"engines": { |
||||
|
"HBuilderX": "" |
||||
|
}, |
||||
|
"directories": { |
||||
|
"example": "../../temps/example_temps" |
||||
|
}, |
||||
|
"dcloudext": { |
||||
|
"sale": { |
||||
|
"regular": { |
||||
|
"price": "0.00" |
||||
|
}, |
||||
|
"sourcecode": { |
||||
|
"price": "0.00" |
||||
|
} |
||||
|
}, |
||||
|
"contact": { |
||||
|
"qq": "" |
||||
|
}, |
||||
|
"declaration": { |
||||
|
"ads": "无", |
||||
|
"data": "无", |
||||
|
"permissions": "无" |
||||
|
}, |
||||
|
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", |
||||
|
"type": "component-vue" |
||||
|
}, |
||||
|
"uni_modules": { |
||||
|
"dependencies": ["uni-scss","uni-icons"], |
||||
|
"encrypt": [], |
||||
|
"platforms": { |
||||
|
"cloud": { |
||||
|
"tcb": "y", |
||||
|
"aliyun": "y" |
||||
|
}, |
||||
|
"client": { |
||||
|
"App": { |
||||
|
"app-vue": "y", |
||||
|
"app-nvue": "y" |
||||
|
}, |
||||
|
"H5-mobile": { |
||||
|
"Safari": "y", |
||||
|
"Android Browser": "y", |
||||
|
"微信浏览器(Android)": "y", |
||||
|
"QQ浏览器(Android)": "y" |
||||
|
}, |
||||
|
"H5-pc": { |
||||
|
"Chrome": "y", |
||||
|
"IE": "y", |
||||
|
"Edge": "y", |
||||
|
"Firefox": "y", |
||||
|
"Safari": "y" |
||||
|
}, |
||||
|
"小程序": { |
||||
|
"微信": "y", |
||||
|
"阿里": "y", |
||||
|
"百度": "y", |
||||
|
"字节跳动": "y", |
||||
|
"QQ": "y" |
||||
|
}, |
||||
|
"快应用": { |
||||
|
"华为": "u", |
||||
|
"联盟": "u" |
||||
|
}, |
||||
|
"Vue": { |
||||
|
"vue2": "y", |
||||
|
"vue3": "y" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,9 @@ |
|||||
|
## Fab 悬浮按钮 |
||||
|
> **组件名:uni-fab** |
||||
|
> 代码块: `uFab` |
||||
|
|
||||
|
|
||||
|
点击可展开一个图形按钮菜单 |
||||
|
|
||||
|
### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab) |
||||
|
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 |
||||
@ -0,0 +1,89 @@ |
|||||
|
<template> |
||||
|
<text class="uni-icons" :style="styleObj"> |
||||
|
<slot>{{unicode}}</slot> |
||||
|
</text> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { fontData, IconsDataItem } from './uniicons_file' |
||||
|
|
||||
|
/** |
||||
|
* Icons 图标 |
||||
|
* @description 用于展示 icon 图标 |
||||
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=28 |
||||
|
* @property {Number} size 图标大小 |
||||
|
* @property {String} type 图标图案,参考示例 |
||||
|
* @property {String} color 图标颜色 |
||||
|
* @property {String} customPrefix 自定义图标 |
||||
|
* @event {Function} click 点击 Icon 触发事件 |
||||
|
*/ |
||||
|
export default { |
||||
|
name: "uni-icons", |
||||
|
props: { |
||||
|
type: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
color: { |
||||
|
type: String, |
||||
|
default: '#333333' |
||||
|
}, |
||||
|
size: { |
||||
|
type: Object, |
||||
|
default: 24 |
||||
|
}, |
||||
|
fontFamily: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return {}; |
||||
|
}, |
||||
|
computed: { |
||||
|
unicode() : string { |
||||
|
let codes = fontData.find((item : IconsDataItem) : boolean => { return item.font_class == this.type }) |
||||
|
if (codes !== null) { |
||||
|
return codes.unicode |
||||
|
} |
||||
|
return '' |
||||
|
}, |
||||
|
iconSize() : string { |
||||
|
if (typeof this.size == 'string') { |
||||
|
return '' + this.size |
||||
|
} |
||||
|
const size = this.size as number |
||||
|
return this.getFontSize(size) |
||||
|
}, |
||||
|
styleObj() : UTSJSONObject { |
||||
|
if (this.fontFamily !== '') { |
||||
|
return { color: this.color, fontSize: this.iconSize, fontFamily: this.fontFamily } |
||||
|
} |
||||
|
return { color: this.color, fontSize: this.iconSize } |
||||
|
} |
||||
|
}, |
||||
|
created() { }, |
||||
|
methods: { |
||||
|
/** |
||||
|
* 字体大小 |
||||
|
*/ |
||||
|
getFontSize(size : number) : string { |
||||
|
return size + 'px'; |
||||
|
}, |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
@font-face { |
||||
|
font-family: UniIconsFontFamily; |
||||
|
src: url('./uniicons.ttf'); |
||||
|
} |
||||
|
|
||||
|
.uni-icons { |
||||
|
font-family: UniIconsFontFamily; |
||||
|
font-size: 18px; |
||||
|
font-style: normal; |
||||
|
color: #333; |
||||
|
} |
||||
|
</style> |
||||
Binary file not shown.
@ -0,0 +1,664 @@ |
|||||
|
|
||||
|
export type IconsData = { |
||||
|
id : string |
||||
|
name : string |
||||
|
font_family : string |
||||
|
css_prefix_text : string |
||||
|
description : string |
||||
|
glyphs : Array<IconsDataItem> |
||||
|
} |
||||
|
|
||||
|
export type IconsDataItem = { |
||||
|
font_class : string |
||||
|
unicode : string |
||||
|
} |
||||
|
|
||||
|
|
||||
|
export const fontData = [ |
||||
|
{ |
||||
|
"font_class": "arrow-down", |
||||
|
"unicode": "\ue6be" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "arrow-left", |
||||
|
"unicode": "\ue6bc" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "arrow-right", |
||||
|
"unicode": "\ue6bb" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "arrow-up", |
||||
|
"unicode": "\ue6bd" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "auth", |
||||
|
"unicode": "\ue6ab" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "auth-filled", |
||||
|
"unicode": "\ue6cc" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "back", |
||||
|
"unicode": "\ue6b9" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "bars", |
||||
|
"unicode": "\ue627" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "calendar", |
||||
|
"unicode": "\ue6a0" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "calendar-filled", |
||||
|
"unicode": "\ue6c0" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "camera", |
||||
|
"unicode": "\ue65a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "camera-filled", |
||||
|
"unicode": "\ue658" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cart", |
||||
|
"unicode": "\ue631" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cart-filled", |
||||
|
"unicode": "\ue6d0" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chat", |
||||
|
"unicode": "\ue65d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chat-filled", |
||||
|
"unicode": "\ue659" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chatboxes", |
||||
|
"unicode": "\ue696" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chatboxes-filled", |
||||
|
"unicode": "\ue692" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chatbubble", |
||||
|
"unicode": "\ue697" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "chatbubble-filled", |
||||
|
"unicode": "\ue694" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "checkbox", |
||||
|
"unicode": "\ue62b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "checkbox-filled", |
||||
|
"unicode": "\ue62c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "checkmarkempty", |
||||
|
"unicode": "\ue65c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "circle", |
||||
|
"unicode": "\ue65b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "circle-filled", |
||||
|
"unicode": "\ue65e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "clear", |
||||
|
"unicode": "\ue66d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "close", |
||||
|
"unicode": "\ue673" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "closeempty", |
||||
|
"unicode": "\ue66c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cloud-download", |
||||
|
"unicode": "\ue647" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cloud-download-filled", |
||||
|
"unicode": "\ue646" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cloud-upload", |
||||
|
"unicode": "\ue645" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "cloud-upload-filled", |
||||
|
"unicode": "\ue648" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "color", |
||||
|
"unicode": "\ue6cf" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "color-filled", |
||||
|
"unicode": "\ue6c9" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "compose", |
||||
|
"unicode": "\ue67f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "contact", |
||||
|
"unicode": "\ue693" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "contact-filled", |
||||
|
"unicode": "\ue695" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "down", |
||||
|
"unicode": "\ue6b8" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "bottom", |
||||
|
"unicode": "\ue6b8" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "download", |
||||
|
"unicode": "\ue68d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "download-filled", |
||||
|
"unicode": "\ue681" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "email", |
||||
|
"unicode": "\ue69e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "email-filled", |
||||
|
"unicode": "\ue69a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "eye", |
||||
|
"unicode": "\ue651" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "eye-filled", |
||||
|
"unicode": "\ue66a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "eye-slash", |
||||
|
"unicode": "\ue6b3" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "eye-slash-filled", |
||||
|
"unicode": "\ue6b4" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "fire", |
||||
|
"unicode": "\ue6a1" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "fire-filled", |
||||
|
"unicode": "\ue6c5" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "flag", |
||||
|
"unicode": "\ue65f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "flag-filled", |
||||
|
"unicode": "\ue660" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "folder-add", |
||||
|
"unicode": "\ue6a9" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "folder-add-filled", |
||||
|
"unicode": "\ue6c8" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "font", |
||||
|
"unicode": "\ue6a3" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "forward", |
||||
|
"unicode": "\ue6ba" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "gear", |
||||
|
"unicode": "\ue664" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "gear-filled", |
||||
|
"unicode": "\ue661" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "gift", |
||||
|
"unicode": "\ue6a4" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "gift-filled", |
||||
|
"unicode": "\ue6c4" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "hand-down", |
||||
|
"unicode": "\ue63d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "hand-down-filled", |
||||
|
"unicode": "\ue63c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "hand-up", |
||||
|
"unicode": "\ue63f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "hand-up-filled", |
||||
|
"unicode": "\ue63e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "headphones", |
||||
|
"unicode": "\ue630" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "heart", |
||||
|
"unicode": "\ue639" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "heart-filled", |
||||
|
"unicode": "\ue641" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "help", |
||||
|
"unicode": "\ue679" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "help-filled", |
||||
|
"unicode": "\ue674" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "home", |
||||
|
"unicode": "\ue662" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "home-filled", |
||||
|
"unicode": "\ue663" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "image", |
||||
|
"unicode": "\ue670" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "image-filled", |
||||
|
"unicode": "\ue678" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "images", |
||||
|
"unicode": "\ue650" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "images-filled", |
||||
|
"unicode": "\ue64b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "info", |
||||
|
"unicode": "\ue669" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "info-filled", |
||||
|
"unicode": "\ue649" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "left", |
||||
|
"unicode": "\ue6b7" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "link", |
||||
|
"unicode": "\ue6a5" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "list", |
||||
|
"unicode": "\ue644" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "location", |
||||
|
"unicode": "\ue6ae" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "location-filled", |
||||
|
"unicode": "\ue6af" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "locked", |
||||
|
"unicode": "\ue66b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "locked-filled", |
||||
|
"unicode": "\ue668" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "loop", |
||||
|
"unicode": "\ue633" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "mail-open", |
||||
|
"unicode": "\ue643" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "mail-open-filled", |
||||
|
"unicode": "\ue63a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "map", |
||||
|
"unicode": "\ue667" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "map-filled", |
||||
|
"unicode": "\ue666" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "map-pin", |
||||
|
"unicode": "\ue6ad" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "map-pin-ellipse", |
||||
|
"unicode": "\ue6ac" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "medal", |
||||
|
"unicode": "\ue6a2" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "medal-filled", |
||||
|
"unicode": "\ue6c3" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "mic", |
||||
|
"unicode": "\ue671" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "mic-filled", |
||||
|
"unicode": "\ue677" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "micoff", |
||||
|
"unicode": "\ue67e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "micoff-filled", |
||||
|
"unicode": "\ue6b0" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "minus", |
||||
|
"unicode": "\ue66f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "minus-filled", |
||||
|
"unicode": "\ue67d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "more", |
||||
|
"unicode": "\ue64d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "more-filled", |
||||
|
"unicode": "\ue64e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "navigate", |
||||
|
"unicode": "\ue66e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "navigate-filled", |
||||
|
"unicode": "\ue67a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "notification", |
||||
|
"unicode": "\ue6a6" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "notification-filled", |
||||
|
"unicode": "\ue6c1" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "paperclip", |
||||
|
"unicode": "\ue652" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "paperplane", |
||||
|
"unicode": "\ue672" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "paperplane-filled", |
||||
|
"unicode": "\ue675" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "person", |
||||
|
"unicode": "\ue699" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "person-filled", |
||||
|
"unicode": "\ue69d" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "personadd", |
||||
|
"unicode": "\ue69f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "personadd-filled", |
||||
|
"unicode": "\ue698" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "personadd-filled-copy", |
||||
|
"unicode": "\ue6d1" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "phone", |
||||
|
"unicode": "\ue69c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "phone-filled", |
||||
|
"unicode": "\ue69b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "plus", |
||||
|
"unicode": "\ue676" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "plus-filled", |
||||
|
"unicode": "\ue6c7" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "plusempty", |
||||
|
"unicode": "\ue67b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "pulldown", |
||||
|
"unicode": "\ue632" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "pyq", |
||||
|
"unicode": "\ue682" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "qq", |
||||
|
"unicode": "\ue680" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "redo", |
||||
|
"unicode": "\ue64a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "redo-filled", |
||||
|
"unicode": "\ue655" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "refresh", |
||||
|
"unicode": "\ue657" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "refresh-filled", |
||||
|
"unicode": "\ue656" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "refreshempty", |
||||
|
"unicode": "\ue6bf" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "reload", |
||||
|
"unicode": "\ue6b2" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "right", |
||||
|
"unicode": "\ue6b5" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "scan", |
||||
|
"unicode": "\ue62a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "search", |
||||
|
"unicode": "\ue654" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "settings", |
||||
|
"unicode": "\ue653" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "settings-filled", |
||||
|
"unicode": "\ue6ce" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "shop", |
||||
|
"unicode": "\ue62f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "shop-filled", |
||||
|
"unicode": "\ue6cd" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "smallcircle", |
||||
|
"unicode": "\ue67c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "smallcircle-filled", |
||||
|
"unicode": "\ue665" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "sound", |
||||
|
"unicode": "\ue684" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "sound-filled", |
||||
|
"unicode": "\ue686" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "spinner-cycle", |
||||
|
"unicode": "\ue68a" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "staff", |
||||
|
"unicode": "\ue6a7" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "staff-filled", |
||||
|
"unicode": "\ue6cb" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "star", |
||||
|
"unicode": "\ue688" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "star-filled", |
||||
|
"unicode": "\ue68f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "starhalf", |
||||
|
"unicode": "\ue683" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "trash", |
||||
|
"unicode": "\ue687" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "trash-filled", |
||||
|
"unicode": "\ue685" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "tune", |
||||
|
"unicode": "\ue6aa" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "tune-filled", |
||||
|
"unicode": "\ue6ca" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "undo", |
||||
|
"unicode": "\ue64f" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "undo-filled", |
||||
|
"unicode": "\ue64c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "up", |
||||
|
"unicode": "\ue6b6" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "top", |
||||
|
"unicode": "\ue6b6" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "upload", |
||||
|
"unicode": "\ue690" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "upload-filled", |
||||
|
"unicode": "\ue68e" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "videocam", |
||||
|
"unicode": "\ue68c" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "videocam-filled", |
||||
|
"unicode": "\ue689" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "vip", |
||||
|
"unicode": "\ue6a8" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "vip-filled", |
||||
|
"unicode": "\ue6c6" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "wallet", |
||||
|
"unicode": "\ue6b1" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "wallet-filled", |
||||
|
"unicode": "\ue6c2" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "weibo", |
||||
|
"unicode": "\ue68b" |
||||
|
}, |
||||
|
{ |
||||
|
"font_class": "weixin", |
||||
|
"unicode": "\ue691" |
||||
|
} |
||||
|
] as IconsDataItem[] |
||||
|
|
||||
|
// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)
|
||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue