MCPcopy Index your code
hub / github.com/Maiquu/nuxt-quasar

github.com/Maiquu/nuxt-quasar @v3.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.1 ↗ · + Follow
65 symbols 149 edges 24 files 0 documented · 0%

Browse by type

Functions 50 Types & classes 15
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Quasar Framework logo

Quasar Module for Nuxt

npm version npm downloads License

Features

Quick Setup

Add nuxt-quasar-ui dependency to your project

npx nuxi@latest module add quasar

That's it! You can now use Quasar Nuxt in your Nuxt app ✨

Demo

StackBlitz

Usage

<template>
  <q-btn color="primary" label="Primary" />
  <QBtn color="secondary" label="Secondary" />
  <LazyQBtn color="amber" glossy label="Amber" />
</template>
// app.config.ts
export default defineAppConfig({
  // Configure Quasar's Vue plugin (with HMR support)
  nuxtQuasar: {
    brand: {
      primary: '#3993DD'
    },
  }
})
// nuxt.config.ts
export default defineNuxtConfig({
  quasar: {
    // Configurable Component Defaults
    components: {
      defaults: {
        QBtn: {
          dense: true,
          flat: true,
        },
        QInput: {
          dense: true
        }
      }
    }
  }
})

See detailed usage at playground

Options

plugins

  • Type: string[]
  • Default: []

List of quasar plugins to apply. (Dialog, Notify etc.)

sassVariables

  • Type: boolean | string
  • Default: false

Enables usage of Quasar Sass/SCSS variables in <style> tags. Can optionally be a string which points to a file that contains the variables.

Requires sass installed.

Note: Variables will not be injected if any .sass file from quasar is imported manually.

lang

  • Type: string
  • Default: 'en-US'

Default language pack used by Quasar Components.

iconSet

  • Type: string | QuasarIconSet
  • Default: 'material-icons'

Icon set used by Quasar Components. Should also be included in extra.fontIcons to take effect.

cssAddon

  • Type: boolean
  • Default: false

When enabled, it provides breakpoint aware versions for all flex (and display) related CSS classes.

Warning Note that there will be a noticeable bump in CSS footprint when enabling it. So only do it if you really need it.

appConfigKey

  • Type: string
  • Default: nuxtQuasar

Config key used to configure quasar plugin.

config

  • Type: object
  • Default: {}

Configurate default settings of UI related plugins and directives (Dialog, Ripple etc). This object can also be configured via app.config.ts.

config.brand

  • Type: object
  • Default: {}

Modify css variables used by Quasar. Alternative to sassVariables. This option basicly appends a css file with variables defined at root level.

extras.font

  • Type: 'roboto-font' | 'roboto-font-latin-ext' | null
  • Default: null

Requires @quasar/extras.

extras.fontIcons

  • Type: string[]
  • Default: []

Import webfont icon sets provided by @quasar/extras.

extras.svgIcons

  • Type: string[]
  • Default: []

Auto-import svg icon sets provided by @quasar/extras.

extras.animations

  • Type: string[] | "all"
  • Default: []

Import animations provided by @quasar/extras.

components.autoImport

  • Type: boolean
  • Default: true

Auto-import quasar components

components.defaults

  • Type: object
  • Default: {}

Set default prop values for quasar components. Does not support props that accepts function values.

CSS Import Ordering

Module will import css in following order:

1) Fonts 2) Icons 3) Animations 4) Quasar CSS

It is possible to change this order via css option.

Example

export default defineNuxtConfig({
  css: [
    // ...
    'quasar/fonts',
    'quasar/animations',
    'quasar/icons',
    'quasar/css',
    // ...
  ]
})

Notes

Avoid using quasar plugins and composables that manipulate <meta> tags. Use useHead instead.

List of known plugins/composables that do this: - AddressbarColor - Meta - useMeta

Quasar 2.15.0 introduces useId and useHydrate functions which are also provided by nuxt. These functions are not auto-imported in favor of nuxt. If you want to use them for some reason, you need to explicity import them.

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 48
Interface 15
Method 2

Languages

TypeScript100%

Modules by API surface

src/runtime/plugin.ts15 symbols
src/utils.ts13 symbols
src/module.ts7 symbols
src/types.ts5 symbols
src/plugins/virtual/entry.ts5 symbols
src/setupCss.ts3 symbols
src/plugins/virtual/brand.ts3 symbols
src/plugins/virtual/animations.ts3 symbols
src/plugins/transform/scss.ts3 symbols
src/template/config.ts2 symbols
src/plugins/transform/directives.ts2 symbols
playground/shared/models.ts2 symbols

For agents

$ claude mcp add nuxt-quasar \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page