Files
antrean-anjungan/examples/nuxt3-websocket-client/node_modules/@nuxtjs/tailwindcss/dist/shared/tailwindcss.7c01d049.d.mts
2025-09-18 19:01:22 +07:00

182 lines
6.5 KiB
TypeScript

import * as tailwindcss_resolveConfig from 'tailwindcss/resolveConfig';
import * as tailwindcss from 'tailwindcss';
import * as nuxt_kit from 'nuxt/kit';
type Import = Exclude<Parameters<typeof nuxt_kit['addImports']>[0], any[]>;
type TWConfig = tailwindcss.Config;
type InjectPosition = 'first' | 'last' | number | {
after: string;
};
type _Omit<T, K extends PropertyKey> = {
[P in keyof T as Exclude<P, K>]: T[P];
};
type InlineTWConfig = _Omit<TWConfig, 'content' | 'plugins' | 'safelist'> & {
content?: (Extract<TWConfig['content'], any[]> | _Omit<Extract<TWConfig['content'], Record<string, any>>, 'extract' | 'transform'>);
safelist?: Exclude<NonNullable<TWConfig['safelist']>[number], Record<string, any>>[];
};
type BoolObj<T extends Record<string, any>> = boolean | Partial<T>;
type Arrayable<T> = T | T[];
type ViewerConfig = {
/**
* The endpoint for the viewer
*
* @default '/_tailwind'
*/
endpoint: `/${string}`;
/**
* Export the viewer during build
*
* Works in Nuxt 3; for Nuxt 2, use `npx tailwind-config-viewer export`
*
* @default false
*/
exportViewer: boolean;
};
type ExposeConfig = {
/**
* Import name for the configuration
*
* @default '#tailwind-config'
* @deprecated use `alias` in `nuxt.config` instead - https://nuxt.com/docs/api/nuxt-config#alias
*/
alias: string;
/**
* Deeper references within configuration for optimal tree-shaking.
*
* @default 2
*/
level: number;
/**
* To write the templates to file-system for usage with code that does not have access to the Virtual File System. This applies only for Nuxt 3 with Vite.
*
* @deprecated use a module if a necessary using the `app:templates` hook to write templates like so: https://github.com/nuxt/module-builder/blob/4697f18429efb83b82f3b256dd8926bb94d3df77/src/commands/prepare.ts#L37-L43
*/
write?: boolean;
};
type EditorSupportConfig = {
/**
* Enable utility to write Tailwind CSS classes inside strings.
*
* You will need to update `.vscode/settings.json` based on this value. This works only for Nuxt 3 or Nuxt 2 with Bridge.
*
* ```json
* {
* "tailwindCSS.experimental.classRegex": ["tw`(.*?)`", "tw\\('(.*?)'\\)"]
* }
* ```
*
* Read https://tailwindcss.nuxtjs.org/tailwind/editor-support#string-classes-autocomplete.
*
* @default false // if true, { as: 'tw' }
*/
autocompleteUtil: BoolObj<Pick<Import, 'as'>>;
};
type ExperimentalOptions = {
/**
* Specify individual files for Nuxt scanned directories in content configuration
* using `pages:extend` and `components:extend` hook.
*
* @default false
*/
strictScanContentPaths: boolean;
/**
* Allow usage of Tailwind CSS 4.
*
* @default false
*/
tailwindcss4: boolean;
};
interface ModuleOptions {
/**
* The path of the Tailwind configuration file. The extension can be omitted, in which case it will try to find a `.js`, `.cjs`, `.mjs`, or `.ts` file.
*
* @default []
* @deprecated provide string in `config`
*/
configPath: Arrayable<string>;
/**
* The path of the Tailwind CSS file. If the file does not exist, the module's default CSS file will be imported instead.
*
* @default '~/assets/css/tailwind.css'
*/
cssPath: string | false | [string, {
injectPosition: InjectPosition;
}];
/**
* Configuration for Tailwind CSS. Accepts (array of) string and inline configurations.
*
* for default, see https://tailwindcss.nuxtjs.org/tailwind/config
*/
config: Arrayable<InlineTWConfig | string>;
/**
* [tailwind-config-viewer](https://github.com/rogden/tailwind-config-viewer) usage *in development*
*
* @default true // { endpoint: '_tailwind' }
*/
viewer: BoolObj<ViewerConfig>;
/**
* Usage of configuration references in runtime. See https://tailwindcss.nuxtjs.org/tailwind/config#referencing-in-the-application
*
* @default false // if true, { alias: '#tailwind-config', level: 2 }
*/
exposeConfig: BoolObj<ExposeConfig>;
/**
* Suppress logging to the console when everything is ok
*
* @default nuxt.options.logLevel === 'silent'
*/
quiet: boolean;
/**
* Enable some utilities for better editor support and DX.
*
* Read https://tailwindcss.nuxtjs.org/tailwind/editor-support.
*
* @default false // if true, { autocompleteUtil: true }
*/
editorSupport: BoolObj<EditorSupportConfig>;
/**
* Enable module experimental functionalities.
*
* @default false
*/
experimental?: Partial<ExperimentalOptions>;
/**
* This option falls back to the Tailwind configuration inlined to the PostCSS
* loader, so any configuration changes while the dev server is running will
* not reflect. This is similar to the functionality prior to v6.12.0.
*
* Note: this is only provided for temporary broken builds that may require
* migration. Usage is discouraged. If any issues occur without this, please open
* an issue on https://github.com/nuxt-modules/tailwindcss/issues.
*/
disableHMR?: boolean;
}
interface ModuleHooks {
/**
* Passes any Tailwind configuration read by the module for each (extended) [layer](https://nuxt.com/docs/getting-started/layers) and [path](https://tailwindcss.nuxtjs.org/getting-started/options#configpath) before merging all of them.
*
* @param tailwindConfig
* @returns
*/
'tailwindcss:config': (tailwindConfig: Partial<TWConfig>) => void;
/**
* Passes the resolved vanilla configuration read from all layers and paths with merging using [defu](https://github.com/unjs/defu).
*
* @param tailwindConfig
* @param configPath
* @param index
* @param configPaths
* @returns
*/
'tailwindcss:loadConfig': (tailwindConfig: Partial<TWConfig> | undefined, configPath: string, index: number, configPaths: string[]) => void;
/**
* Passes the complete resolved configuration with all defaults from [the full Tailwind config](https://github.com/tailwindlabs/tailwindcss/blob/master/stubs/config.full.js) using resolveConfig.
*
* @param tailwindConfig
* @returns
*/
'tailwindcss:resolvedConfig': (tailwindConfig: ReturnType<typeof tailwindcss_resolveConfig>, oldTailwindConfig: TWConfig | undefined) => void;
}
export type { ModuleHooks as M, TWConfig as T, ModuleOptions as a };