This commit is contained in:
dap 2024-10-21 20:29:43 +08:00
commit 7b5e2e71d8
15 changed files with 41 additions and 21 deletions

View File

@ -57,6 +57,7 @@ const tableData = [
<ElCard class="mb-5"> <ElCard class="mb-5">
<template #header> 按钮 </template> <template #header> 按钮 </template>
<ElSpace> <ElSpace>
<ElButton text>Text</ElButton>
<ElButton>Default</ElButton> <ElButton>Default</ElButton>
<ElButton type="primary"> Primary </ElButton> <ElButton type="primary"> Primary </ElButton>
<ElButton type="info"> Info </ElButton> <ElButton type="info"> Info </ElButton>

View File

@ -68,7 +68,7 @@ async function initComponentAdapter() {
DatePicker: NDatePicker, DatePicker: NDatePicker,
// 自定义默认按钮 // 自定义默认按钮
DefaultButton: (props, { attrs, slots }) => { DefaultButton: (props, { attrs, slots }) => {
return h(NButton, { ...props, attrs, type: 'info' }, slots); return h(NButton, { ...props, attrs, type: 'default' }, slots);
}, },
// 自定义主要按钮 // 自定义主要按钮
PrimaryButton: (props, { attrs, slots }) => { PrimaryButton: (props, { attrs, slots }) => {

View File

@ -333,6 +333,8 @@ export interface ActionButtonOptions {
show?: boolean; show?: boolean;
/** 按钮文本 */ /** 按钮文本 */
text?: string; text?: string;
/** 任意属性 */
[key: string]: any;
} }
``` ```

View File

@ -60,8 +60,8 @@ function defineApplicationConfig(userConfigPromise?: DefineApplicationOptions) {
rollupOptions: { rollupOptions: {
output: { output: {
assetFileNames: '[ext]/[name]-[hash].[ext]', assetFileNames: '[ext]/[name]-[hash].[ext]',
chunkFileNames: 'js/[name]-[hash].mjs', chunkFileNames: 'js/[name]-[hash].js',
entryFileNames: 'jse/index-[name]-[hash].mjs', entryFileNames: 'jse/index-[name]-[hash].js',
}, },
}, },
target: 'es2015', target: 'es2015',

View File

@ -58,7 +58,7 @@
/* Used for accents such as hover effects on <DropdownMenuItem>, <SelectItem>...etc */ /* Used for accents such as hover effects on <DropdownMenuItem>, <SelectItem>...etc */
--accent: 216 5% 19%; --accent: 216 5% 19%;
--accent-lighter: 216 5% 11%; --accent-lighter: 216 5% 12%;
--accent-hover: 216 5% 24%; --accent-hover: 216 5% 24%;
--accent-foreground: 0 0% 98%; --accent-foreground: 0 0% 98%;

View File

@ -2,4 +2,6 @@ export { default as EmptyIcon } from './components/empty.vue';
export * from './create-icon'; export * from './create-icon';
export * from './lucide'; export * from './lucide';
export * from '@iconify/vue';
export type { IconifyIcon as IconifyIconStructure } from '@iconify/vue';
export { addCollection, addIcon, Icon as IconifyIcon } from '@iconify/vue';

View File

@ -0,0 +1,9 @@
import { TinyColor } from '@ctrl/tinycolor';
export function isDarkColor(color: string) {
return new TinyColor(color).isDark();
}
export function isLightColor(color: string) {
return new TinyColor(color).isLight();
}

View File

@ -1,2 +1,3 @@
export * from './color';
export * from './convert'; export * from './convert';
export * from './generator'; export * from './generator';

View File

@ -289,6 +289,7 @@ export interface FormRenderProps<
} }
export interface ActionButtonOptions extends VbenButtonProps { export interface ActionButtonOptions extends VbenButtonProps {
[key: string]: any;
content?: string; content?: string;
show?: boolean; show?: boolean;
} }

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type Component, computed } from 'vue'; import { type Component, computed } from 'vue';
import { Icon, IconDefault } from '@vben-core/icons'; import { IconDefault, IconifyIcon } from '@vben-core/icons';
import { import {
isFunction, isFunction,
isHttpUrl, isHttpUrl,
@ -28,6 +28,6 @@ const isComponent = computed(() => {
<template> <template>
<component :is="icon as Component" v-if="isComponent" v-bind="$attrs" /> <component :is="icon as Component" v-if="isComponent" v-bind="$attrs" />
<img v-else-if="isRemoteIcon" :src="icon as string" v-bind="$attrs" /> <img v-else-if="isRemoteIcon" :src="icon as string" v-bind="$attrs" />
<Icon v-else-if="icon" v-bind="$attrs" :icon="icon as string" /> <IconifyIcon v-else-if="icon" v-bind="$attrs" :icon="icon as string" />
<IconDefault v-else-if="fallback" v-bind="$attrs" /> <IconDefault v-else-if="fallback" v-bind="$attrs" />
</template> </template>

View File

@ -217,12 +217,13 @@ export function useElementPlusDesignTokens() {
'--el-color-info-light-8': border, '--el-color-info-light-8': border,
'--el-color-info-light-9': getCssVariableValue('--info'), // getCssVariableValue('--secondary'), '--el-color-info-light-9': getCssVariableValue('--info'), // getCssVariableValue('--secondary'),
'--el-color-primary': getCssVariableValue('--primary-500'), '--el-color-primary': getCssVariableValue('--primary-500'),
'--el-color-primary-dark-2': getCssVariableValue('--primary'), '--el-color-primary-dark-2': getCssVariableValue('--primary'),
'--el-color-primary-light-3': getCssVariableValue('--primary-400'), '--el-color-primary-light-3': getCssVariableValue('--primary-400'),
'--el-color-primary-light-5': getCssVariableValue('--primary-300'), '--el-color-primary-light-5': getCssVariableValue('--primary-300'),
'--el-color-primary-light-7': getCssVariableValue('--primary-200'), '--el-color-primary-light-7': isDark.value
? border
: getCssVariableValue('--primary-200'),
'--el-color-primary-light-8': isDark.value '--el-color-primary-light-8': isDark.value
? border ? border
: getCssVariableValue('--primary-100'), : getCssVariableValue('--primary-100'),
@ -268,6 +269,7 @@ export function useElementPlusDesignTokens() {
'--el-text-color-regular': getCssVariableValue('--foreground'), '--el-text-color-regular': getCssVariableValue('--foreground'),
}; };
updateCSSVariables(variables, `__vben_design_styles__`); updateCSSVariables(variables, `__vben_design_styles__`);
}, },
{ immediate: true }, { immediate: true },

View File

@ -1,2 +1,2 @@
export * from './iconify/index'; export * from './iconify/index.js';
export * from './svg/index'; export * from './svg/index.js';

View File

@ -1,6 +1,6 @@
import { createIconifyIcon } from '@vben-core/icons'; import { createIconifyIcon } from '@vben-core/icons';
import './load'; import './load.js';
const SvgAvatar1Icon = createIconifyIcon('svg:avatar-1'); const SvgAvatar1Icon = createIconifyIcon('svg:avatar-1');
const SvgAvatar2Icon = createIconifyIcon('svg:avatar-2'); const SvgAvatar2Icon = createIconifyIcon('svg:avatar-2');

View File

@ -1,4 +1,6 @@
import { addIcon, type IconifyIcon } from '@vben-core/icons'; import type { IconifyIconStructure } from '@vben-core/icons';
import { addIcon } from '@vben-core/icons';
let loaded = false; let loaded = false;
if (!loaded) { if (!loaded) {
@ -6,7 +8,7 @@ if (!loaded) {
loaded = true; loaded = true;
} }
function parseSvg(svgData: string): IconifyIcon { function parseSvg(svgData: string): IconifyIconStructure {
const parser = new DOMParser(); const parser = new DOMParser();
const xmlDoc = parser.parseFromString(svgData, 'image/svg+xml'); const xmlDoc = parser.parseFromString(svgData, 'image/svg+xml');
const svgElement = xmlDoc.documentElement; const svgElement = xmlDoc.documentElement;

View File

@ -22,7 +22,7 @@ catalog:
'@ctrl/tinycolor': ^4.1.0 '@ctrl/tinycolor': ^4.1.0
'@eslint/js': ^9.13.0 '@eslint/js': ^9.13.0
'@faker-js/faker': ^9.0.3 '@faker-js/faker': ^9.0.3
'@iconify/json': ^2.2.261 '@iconify/json': ^2.2.262
'@iconify/tailwind': ^1.1.3 '@iconify/tailwind': ^1.1.3
'@iconify/vue': ^4.1.2 '@iconify/vue': ^4.1.2
'@intlify/core-base': ^10.0.4 '@intlify/core-base': ^10.0.4
@ -36,7 +36,7 @@ catalog:
'@tailwindcss/nesting': 0.0.0-insiders.565cd3e '@tailwindcss/nesting': 0.0.0-insiders.565cd3e
'@tailwindcss/typography': ^0.5.15 '@tailwindcss/typography': ^0.5.15
'@tanstack/vue-query': ^5.59.13 '@tanstack/vue-query': ^5.59.13
'@tanstack/vue-store': ^0.5.5 '@tanstack/vue-store': ^0.5.6
'@types/archiver': ^6.0.2 '@types/archiver': ^6.0.2
'@types/chalk': ^2.2.0 '@types/chalk': ^2.2.0
'@types/eslint': ^9.6.1 '@types/eslint': ^9.6.1
@ -84,7 +84,7 @@ catalog:
echarts: ^5.5.1 echarts: ^5.5.1
element-plus: ^2.8.6 element-plus: ^2.8.6
eslint: ^9.13.0 eslint: ^9.13.0
eslint-config-turbo: ^2.2.0 eslint-config-turbo: ^2.2.1
eslint-plugin-command: ^0.2.6 eslint-plugin-command: ^0.2.6
eslint-plugin-eslint-comments: ^3.2.0 eslint-plugin-eslint-comments: ^3.2.0
eslint-plugin-import-x: ^4.3.1 eslint-plugin-import-x: ^4.3.1
@ -98,7 +98,7 @@ catalog:
eslint-plugin-unicorn: ^56.0.0 eslint-plugin-unicorn: ^56.0.0
eslint-plugin-unused-imports: ^4.1.4 eslint-plugin-unused-imports: ^4.1.4
eslint-plugin-vitest: ^0.5.4 eslint-plugin-vitest: ^0.5.4
eslint-plugin-vue: ^9.29.0 eslint-plugin-vue: ^9.29.1
execa: ^9.4.1 execa: ^9.4.1
find-up: ^7.0.0 find-up: ^7.0.0
get-port: ^7.1.0 get-port: ^7.1.0
@ -153,7 +153,7 @@ catalog:
tailwindcss: ^3.4.14 tailwindcss: ^3.4.14
tailwindcss-animate: ^1.0.7 tailwindcss-animate: ^1.0.7
theme-colors: ^0.1.0 theme-colors: ^0.1.0
turbo: ^2.2.0 turbo: ^2.2.1
typescript: ^5.6.3 typescript: ^5.6.3
unbuild: ^2.0.0 unbuild: ^2.0.0
unplugin-element-plus: ^0.8.0 unplugin-element-plus: ^0.8.0
@ -174,8 +174,8 @@ catalog:
vue-i18n: ^10.0.4 vue-i18n: ^10.0.4
vue-router: ^4.4.5 vue-router: ^4.4.5
vue-tsc: ^2.1.6 vue-tsc: ^2.1.6
vxe-pc-ui: ^4.2.24 vxe-pc-ui: ^4.2.26
vxe-table: ^4.7.86 vxe-table: ^4.7.93
watermark-js-plus: ^1.5.7 watermark-js-plus: ^1.5.7
zod: ^3.23.8 zod: ^3.23.8
zod-defaults: ^0.1.3 zod-defaults: ^0.1.3