mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-14 20:19:34 +01:00
chore(module): update
This commit is contained in:
@@ -2,6 +2,7 @@ import { defu } from 'defu'
|
||||
import { createResolver, defineNuxtModule, addComponentsDir, addImportsDir, addVitePlugin, addPlugin, installModule } from '@nuxt/kit'
|
||||
import tailwindcss from '@tailwindcss/vite'
|
||||
import createTemplates from './templates'
|
||||
import icons from './theme/icons'
|
||||
|
||||
export interface ModuleOptions {
|
||||
colors: string[]
|
||||
@@ -26,19 +27,13 @@ export default defineNuxtModule<ModuleOptions>({
|
||||
nuxt.options.appConfig.ui = defu(nuxt.options.appConfig.ui || {}, {
|
||||
primary: 'green',
|
||||
gray: 'cool',
|
||||
icons: {
|
||||
search: 'i-heroicons-magnifying-glass-20-solid',
|
||||
close: 'i-heroicons-x-mark-20-solid',
|
||||
check: 'i-heroicons-check-20-solid',
|
||||
loading: 'i-heroicons-arrow-path-20-solid',
|
||||
empty: 'i-heroicons-circle-stack-20-solid'
|
||||
}
|
||||
icons
|
||||
})
|
||||
|
||||
addVitePlugin(tailwindcss)
|
||||
|
||||
createTemplates(options, nuxt)
|
||||
|
||||
addVitePlugin(tailwindcss)
|
||||
|
||||
await installModule('nuxt-icon')
|
||||
// await installModule('@nuxtjs/color-mode', { classSuffix: '' })
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { tv, type VariantProps } from 'tailwind-variants'
|
||||
// import appConfig from '#build/app.config'
|
||||
import appConfig from '#build/app.config'
|
||||
import type { LinkProps } from '#ui/components/Link.vue'
|
||||
import theme from '#build/ui/button'
|
||||
|
||||
@@ -42,6 +42,7 @@ export interface ButtonSlots {
|
||||
import { computed } from 'vue'
|
||||
import { useForwardProps } from 'radix-vue'
|
||||
import { reactiveOmit } from '@vueuse/core'
|
||||
import { useAppConfig } from '#app'
|
||||
import UIcon from './Icon.vue'
|
||||
|
||||
defineOptions({ inheritAttrs: false })
|
||||
|
||||
5
src/runtime/types/app.config.d.ts
vendored
Normal file
5
src/runtime/types/app.config.d.ts
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
declare module '#build/app.config' {
|
||||
import type { AppConfig } from '@nuxt/schema'
|
||||
const _default: AppConfig
|
||||
export default _default
|
||||
}
|
||||
@@ -7,7 +7,7 @@ export default function createTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
||||
const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]
|
||||
|
||||
const template = addTemplate({
|
||||
filename: 'ui/index.css',
|
||||
filename: 'tailwind.css',
|
||||
write: true,
|
||||
getContents: () => `@import "tailwindcss";
|
||||
|
||||
@@ -49,8 +49,7 @@ export default function createTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
||||
|
||||
addTypeTemplate({
|
||||
filename: 'types/ui.d.ts',
|
||||
getContents: () => `
|
||||
import * as ui from '#build/ui'
|
||||
getContents: () => `import * as ui from '#build/ui'
|
||||
|
||||
type DeepPartial<T> = Partial<{
|
||||
[P in keyof T]: DeepPartial<T[P]> | { [key: string]: string | object }
|
||||
@@ -59,19 +58,25 @@ export default function createTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
||||
type UI = {
|
||||
primary?: string
|
||||
gray?: string
|
||||
[key: string]: any
|
||||
} & DeepPartial<typeof ui>
|
||||
|
||||
declare module 'nuxt/schema' {
|
||||
interface AppConfig {
|
||||
ui: UI
|
||||
}
|
||||
interface AppConfigInput {
|
||||
ui?: UI
|
||||
}
|
||||
}
|
||||
declare module '@nuxt/schema' {
|
||||
interface AppConfig {
|
||||
ui: UI
|
||||
}
|
||||
interface AppConfigInput {
|
||||
ui?: UI
|
||||
}
|
||||
}
|
||||
export {}`
|
||||
export {}
|
||||
`
|
||||
})
|
||||
}
|
||||
|
||||
7
src/theme/icons.ts
Normal file
7
src/theme/icons.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
search: 'i-heroicons-magnifying-glass-20-solid',
|
||||
close: 'i-heroicons-x-mark-20-solid',
|
||||
check: 'i-heroicons-check-20-solid',
|
||||
loading: 'i-heroicons-arrow-path-20-solid',
|
||||
empty: 'i-heroicons-circle-stack-20-solid'
|
||||
}
|
||||
Reference in New Issue
Block a user