ProseCodeCollapse Ubersetzungen

GitHub
Machen Sie lange Code-Blöcke zusammenklappbar, um Platz zu sparen und die Lesbarkeit zu verbessern.

Bearbeiten

Wickeln Sie Ihren Code-Block mit einer code-collapse-Komponente ein, um einen zusammenklappbaren Code-Block anzuzeigen.

app/assets/css/main.css
@import "tailwindcss";
@import "@nuxt/ui";

@theme static {
  --font-sans: 'Public Sans', sans-serif;

  --breakpoint-3xl: 1920px;

  --color-green-50: #EFFDF5;
  --color-green-100: #D9FBE8;
  --color-green-200: #B3F5D1;
  --color-green-300: #75EDAE;
  --color-green-400: #00DC82;
  --color-green-500: #00C16A;
  --color-green-600: #00A155;
  --color-green-700: #007F45;
  --color-green-800: #016538;
  --color-green-900: #0A5331;
  --color-green-950: #052E16;
}
::code-collapse

```css [app/assets/css/main.css]
@ import "tailwindcss";
@ import "@ nuxt/ui";

@ static {Bearbeiten}
  - -font-sans:'Public Sans', serifenlose Schrift;

  - -breakpoint-3xl: 1920px;-Haltepunkt-3xl: 1920px;

  - -grün-50:#EFFDF5;
  - -grün-100:#D9FBE8;
  - -grün-200:#B3F5D1;
  - -grün-300:#75EDAE;
  - -grün-400:#00DC82;
  - -grün-500:#00C16A;
  - -grün-600:#00A155;
  - -grün-700:#007F45;
  - -grün-800:#016538;
  - -grün-900:#0A5331;
  - -grün-950:#052E16;
}
```

::

API (englisch)

Props Bearbeiten

Prop Default Type
icon
appConfig.ui.icons.chevronDown
any

The icon displayed to toggle the code.

name
t('prose.codeCollapse.name')
string

The name displayed in the trigger label.

openText
t('prose.codeCollapse.openText')
string

The text displayed when the code is collapsed.

closeText
t('prose.codeCollapse.closeText')
string

The text displayed when the code is expanded.

open
false
boolean
ui
{ root?: SlotClass; footer?: SlotClass; trigger?: SlotClass; triggerIcon?: SlotClass; }

Slots Bearbeiten

Slot Type
default
{}

Theme Bearbeiten

app.config.ts
export default defineAppConfig({
  ui: {
    prose: {
      codeCollapse: {
        slots: {
          root: 'relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12',
          footer: 'h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center',
          trigger: 'group',
          triggerIcon: 'group-data-[state=open]:rotate-180'
        },
        variants: {
          open: {
            true: {
              root: 'rounded-md'
            },
            false: {
              root: 'max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden',
              footer: 'inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted'
            }
          }
        }
      }
    }
  }
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'

export default defineConfig({
  plugins: [
    vue(),
    ui({
      ui: {
        prose: {
          codeCollapse: {
            slots: {
              root: 'relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12',
              footer: 'h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center',
              trigger: 'group',
              triggerIcon: 'group-data-[state=open]:rotate-180'
            },
            variants: {
              open: {
                true: {
                  root: 'rounded-md'
                },
                false: {
                  root: 'max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden',
                  footer: 'inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted'
                }
              }
            }
          }
        }
      }
    })
  ]
})

Changelog (englisch)

No recent changes