mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-28 10:50:40 +01:00
chore(templates): handle icons and without function
This commit is contained in:
@@ -34,10 +34,13 @@ export default function createTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
|||||||
nuxt.options.css.push(template.dst)
|
nuxt.options.css.push(template.dst)
|
||||||
|
|
||||||
for (const component in theme) {
|
for (const component in theme) {
|
||||||
|
const template = (theme as any)[component]
|
||||||
|
const result = typeof template === 'function' ? template({ colors: options.colors }) : template
|
||||||
|
|
||||||
addTemplate({
|
addTemplate({
|
||||||
filename: `ui/${component}.ts`,
|
filename: `ui/${component}.ts`,
|
||||||
write: true,
|
write: true,
|
||||||
getContents: () => `export default ${JSON.stringify((theme as any)[component]({ colors: options.colors }), null, 2)}`
|
getContents: () => `export default ${JSON.stringify(result, null, 2)}`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,25 +58,31 @@ export default function createTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
|||||||
[P in keyof T]: DeepPartial<T[P]> | { [key: string]: string | object }
|
[P in keyof T]: DeepPartial<T[P]> | { [key: string]: string | object }
|
||||||
}>
|
}>
|
||||||
|
|
||||||
type UI = {
|
type AppConfigUI = {
|
||||||
|
primary: string
|
||||||
|
gray: string
|
||||||
|
} & typeof ui
|
||||||
|
|
||||||
|
type AppConfigInputUI = {
|
||||||
primary?: string
|
primary?: string
|
||||||
gray?: string
|
gray?: string
|
||||||
|
[key: string]: any
|
||||||
} & DeepPartial<typeof ui>
|
} & DeepPartial<typeof ui>
|
||||||
|
|
||||||
declare module 'nuxt/schema' {
|
declare module 'nuxt/schema' {
|
||||||
interface AppConfig {
|
interface AppConfig {
|
||||||
ui: UI
|
ui: AppConfigUI
|
||||||
}
|
}
|
||||||
interface AppConfigInput {
|
interface AppConfigInput {
|
||||||
ui?: UI
|
ui?: AppConfigInputUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module '@nuxt/schema' {
|
declare module '@nuxt/schema' {
|
||||||
interface AppConfig {
|
interface AppConfig {
|
||||||
ui: UI
|
ui: AppConfigUI
|
||||||
}
|
}
|
||||||
interface AppConfigInput {
|
interface AppConfigInput {
|
||||||
ui?: UI
|
ui?: AppConfigInputUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export {}
|
export {}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
export default (config: any) => ({
|
export default (config: { colors: string[] }) => ({
|
||||||
slots: {
|
slots: {
|
||||||
base: 'rounded-md font-medium inline-flex items-center focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 shrink-0',
|
base: 'rounded-md font-medium inline-flex items-center focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 shrink-0',
|
||||||
label: '',
|
label: '',
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export default () => ({
|
export default {
|
||||||
base: 'max-w-7xl mx-auto px-4 sm:px-6 lg:px-8'
|
base: 'max-w-7xl mx-auto px-4 sm:px-6 lg:px-8'
|
||||||
})
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
export { default as button } from './button'
|
export { default as button } from './button'
|
||||||
export { default as container } from './container'
|
export { default as container } from './container'
|
||||||
|
export { default as icons } from './icons'
|
||||||
export { default as tooltip } from './tooltip'
|
export { default as tooltip } from './tooltip'
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
export default () => ({
|
export default {
|
||||||
slots: {
|
slots: {
|
||||||
content: 'bg-white dark:bg-gray-900 text-gray-900 dark:text-white shadow rounded ring-1 ring-gray-200 dark:ring-gray-800 h-6 px-2 py-1 text-xs font-normal truncate relative',
|
content: 'bg-white dark:bg-gray-900 text-gray-900 dark:text-white shadow rounded ring-1 ring-gray-200 dark:ring-gray-800 h-6 px-2 py-1 text-xs font-normal truncate relative',
|
||||||
arrow: 'fill-white dark:fill-gray-900'
|
arrow: 'fill-white dark:fill-gray-900'
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
Reference in New Issue
Block a user