<template>
    <DocSectionText v-bind="$attrs">
        <p>In styled mode, Tailwind utilities may not be able to override the default styling due to css specificity, there are two possible solutions.</p>
        <h3>Important</h3>
        <p>Use the <i>!</i> as a prefix to enforce the styling.</p>
        <DocSectionCode :code="code1" hideToggleCode hideStackBlitz />

        <h3>CSS Layer</h3>
        <p>
            Enable PrimeVue CSS layer and configure the tailwind styles to have higher specificity with layering. This way, <i>!</i> prefix is not required. If you are using Nuxt, there is a
            <NuxtLink to="/nuxt/#layerorder">cssLayerOrder</NuxtLink> property to define the order.
        </p>
        <DocSectionCode :code="code2" importCode hideToggleCode hideStackBlitz />
        <DocSectionCode :code="code3" importCode hideToggleCode hideStackBlitz />
    </DocSectionText>
</template>

<script>
export default {
    data() {
        return {
            code1: {
                basic: `
<InputText placeholder="Overriden" class="!p-8" />
`
            },
            code2: {
                basic: `
import PrimeVue from 'primevue/config';
import Aura from '@primevue/themes/aura';

const app = createApp(App);

app.use(PrimeVue, {
    theme: {
        preset: Aura,
        options: {
            cssLayer: true
        }
    }
 });
`
            },
            code3: {
                basic: `
@layer tailwind-base, primevue, tailwind-utilities;

@layer tailwind-base {
  @tailwind base;
}

@layer tailwind-utilities {
  @tailwind components;
  @tailwind utilities;
}
`
            }
        };
    }
};
</script>
