pull/5969/head
tugcekucukoglu 2024-06-26 13:37:27 +03:00
commit cc3951ee0c
23 changed files with 16 additions and 97 deletions

View File

@ -6,56 +6,56 @@
<div class="features-container">
<div class="grid grid-cols-12 gap-4">
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-components.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">80+ UI Components</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">The ultimate set of UI Components to assist you with 80+ impressive Vue Components.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-theme.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Styled or Unstyled</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">Choose from a variety of pre-built themes or implement your design systems with the CSS library of your choice like TailwindCSS.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-community.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Community</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">Connect with the other open source community members, collaborate and have a voice in the project roadmap.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-accessibility.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Accessibility</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">Compliant with the Web Content Accessibility Guidelines (WCAG 2.0).</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-support.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Enterprise Support</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">Exceptional support service featuring response within 1 business day and option to request enhancements and new features for the library.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-mobile.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Mobile</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">First class support for responsive design led by touch optimized elements.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-productivity.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Blocks</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">400+ pre-designed copy paste ready UI blocks to build spectacular apps in no time.</p>
</div>
</div>
<div class="col-span-12 md:col-span-6 xl:col-span-3 flex justify-center">
<div v-animateonscroll.once="{ enterClass: 'fadein' }" class="box p-6 w-full animate-duration-500">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="box p-6 w-full animate-duration-500">
<img src="https://primefaces.org/cdn/primevue/images/landing/features/icon-ts.svg" alt="components icon" class="block mb-4" />
<div class="font-semibold mb-4 text-lg">Typescript</div>
<p class="m-0 text-surface-500 dark:text-surface-400 font-medium">Top-notch support for Typescript with types and tooling assistance.</p>

View File

@ -1,6 +1,6 @@
<template>
<div class="px-6 py-6 sm:px-10 sm:py-5 lg:py-20 lg:px-8 rounded-3xl bg-surface-0 dark:bg-surface-900">
<div class="p-6 md:p-8 rounded-2xl lg:rounded-3xl border border-surface max-w-3xl w-full mx-auto">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="p-6 md:p-8 rounded-2xl lg:rounded-3xl border border-surface max-w-3xl w-full mx-auto animate-duration-500">
<div class="rounded-lg lg:rounded-xl border border-surface overflow-hidden">
<div class="py-1 px-6 h-14 flex items-center gap-2">
<div v-for="(c, i) of ['#ED6B5D', '#F4BE50', '#61C554']" :key="i" class="w-3 h-3 rounded-full" :style="{ background: c }" />

View File

@ -1,5 +1,4 @@
<template>
<!-- (0 ?featuresData.slice(i===0?(0, Math.ceil(featuresData.length / 2)):(featuresData.length / 2)):featuresData.slice(i===0?(0, Math.ceil(featuresData.length / 2)):(featuresData.length / 2))) -->
<div>
<div v-if="displayType === 'vertical'" class="px-6 py-6 sm:px-10 sm:py-10 lg:py-20 rounded-3xl bg-surface-0 dark:bg-surface-900">
<div class="mx-auto max-w-3xl flex sm:flex-row flex-col items-start gap-6">
@ -12,7 +11,7 @@
}"
>
<template v-for="(data, j) of i === 0 ? featuresData.slice(0, Math.ceil(featuresData.length / 2)) : featuresData.slice(featuresData.length / 2)" :key="j">
<div class="w-full p-4 md:p-5 rounded-2xl border border-surface">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="w-full p-4 md:p-5 rounded-2xl border border-surface animate-duration-500">
<div class="w-full bg-surface-100 dark:bg-surface-800 rounded-lg overflow-hidden flex">
<img class="w-full h-auto rounded-lg" :src="$appState.darkTheme ? data.darkSrc || data.src : data.src" :alt="data.title" />
</div>
@ -26,7 +25,7 @@
<div v-else class="px-6 py-6 sm:px-10 sm:py-10 lg:py-20 rounded-3xl bg-surface-0 dark:bg-surface-900">
<div class="flex flex-wrap justify-center gap-6 mx-auto w-full max-w-5xl">
<template v-for="(data, index) in featuresData" :key="index">
<div class="p-5 rounded-2xl border border-surface flex-1 min-w-80 max-w-96">
<div v-animateonscroll.once="{ enterClass: 'animate-fadein' }" class="p-5 rounded-2xl border border-surface flex-1 min-w-80 max-w-96 animate-duration-500">
<div class="flex w-full mb-5 bg-surface-100 dark:bg-surface-800 overflow-hidden rounded-lg">
<img class="w-full" :src="$appState.darkTheme ? data.darkSrc || data.src : data.src" :alt="data.title" />
</div>

View File

@ -1,7 +1,11 @@
<template>
<div class="px-6 py-6 sm:px-10 sm:py-5 lg:py-20 lg:px-8 rounded-2xl lg:rounded-3xl bg-surface-0 dark:bg-surface-900">
<h2 v-if="title" class="text-center text-surface-900 dark:text-surface-0 text-3xl lg:text-5xl font-semibold lg:pt-0 pt-6 mb-12">{{ title }}</h2>
<div ref="animationRef" class="flex flex-col-reverse lg:flex-row items-start gap-10 w-full max-w-2xl lg:max-w-6xl mx-auto p-4 lg:p-7 rounded-3xl border border-surface">
<div
ref="animationRef"
v-animateonscroll.once="{ enterClass: 'animate-fadein' }"
class="flex flex-col-reverse lg:flex-row items-start gap-10 w-full max-w-2xl lg:max-w-6xl mx-auto p-4 lg:p-7 rounded-3xl border border-surface animate-duration-500"
>
<div class="flex flex-col gap-4 flex-1">
<template v-for="(data, index) in featuresData" :key="index">
<div

View File

@ -1,23 +0,0 @@
<template>
<div class="px-6 py-6 sm:px-10 sm:py-5 lg:py-20 lg:px-8 rounded-2xl lg:rounded-3xl bg-surface-0 dark:bg-surface-900">
<h2 class="text-center text-surface-900 dark:text-surface-0 text-3xl lg:text-5xl font-semibold lg:pt-0 pt-6">Related Layouts</h2>
<div class="flex flex-wrap items-center justify-center w-fit mt-12 mx-auto gap-6 max-w-screen-lg">
<template v-for="(data, index) in relatedData" :key="index">
<a :href="data.href" target="_blank" class="flex-1 min-w-60 rounded-2xl border border-surface p-4 xl:p-5 flex ring-0 hover:ring-8 ring-surface-100 dark:ring-surface-800 transition-all">
<img class="w-full h-auto rounded-lg" :src="data.src" :alt="'Related Image ' + index" />
</a>
</template>
</div>
</div>
</template>
<script>
export default {
props: {
relatedData: {
type: null,
default: null
}
}
};
</script>

View File

@ -53,14 +53,10 @@
</TemplateFeaturesAnimation>
<ApolloSeparator />
<TemplateFeatures :featuresData="apolloFeatures2Data" displayType="vertical" />
<ApolloSeparator />
<TemplateRelated :relatedData="apolloRelatedData" />
</div>
</template>
<script>
import ApolloSeparator from '@/doc/templates/ApolloSeparator.vue';
export default {
data() {
return {
@ -253,9 +249,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
ApolloSeparator
}
};
</script>

View File

@ -69,14 +69,10 @@
</TemplateFeaturesAnimation>
<AtlantisSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical" />
<AtlantisSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import AtlantisSeparator from '@/doc/templates/ApolloSeparator.vue';
export default {
data() {
return {
@ -245,9 +241,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
AtlantisSeparator
}
};
</script>

View File

@ -44,14 +44,10 @@
</TemplateFeaturesAnimation>
<AvalonSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical" />
<AvalonSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import AvalonSeparator from '@/doc/templates/AvalonSeparator.vue';
export default {
data() {
return {
@ -245,9 +241,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
AvalonSeparator
}
};
</script>

View File

@ -48,14 +48,10 @@
</TemplateFeaturesAnimation>
<DiamondSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical" />
<DiamondSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import DiamondSeparator from '@/doc/templates/DiamondSeparator.vue';
export default {
data() {
return {
@ -230,9 +226,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
DiamondSeparator
}
};
</script>

View File

@ -55,14 +55,10 @@
file as they are available in <PrimeVueNuxtLink to="/uikit">PrimeOne for Figma</PrimeVueNuxtLink> only.
</template>
</TemplateFeaturesAnimation>
<FreyaSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import FreyaSeparator from '@/doc/templates/FreyaSeparator.vue';
export default {
data() {
return {
@ -231,9 +227,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
FreyaSeparator
}
};
</script>

View File

@ -50,14 +50,10 @@
<TemplateFeaturesAnimation :featuresData="animationFeaturesData1"></TemplateFeaturesAnimation>
<PoseidonSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical"></TemplateFeatures>
<PoseidonSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import PoseidonSeparator from '@/doc/templates/PoseidonSeparator.vue';
export default {
data() {
return {
@ -201,9 +197,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
PoseidonSeparator
}
};
</script>

View File

@ -49,14 +49,10 @@
template and requires a separate purchase.
</template>
</TemplateFeaturesAnimation>
<SakaiSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical" />
</div>
</template>
<script>
import SakaiSeparator from '@/doc/templates/SakaiSeparator.vue';
export default {
data() {
return {
@ -160,9 +156,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
SakaiSeparator
}
};
</script>

View File

@ -59,14 +59,10 @@
</TemplateFeaturesAnimation>
<UltimaSeparator />
<TemplateFeatures :featuresData="features2Data" displayType="vertical" />
<UltimaSeparator />
<TemplateRelated :relatedData="relatedData" />
</div>
</template>
<script>
import UltimaSeparator from '@/doc/templates/UltimaSeparator.vue';
export default {
data() {
return {
@ -235,9 +231,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
UltimaSeparator
}
};
</script>

View File

@ -67,8 +67,6 @@
</template>
<script>
import VeronaSeparator from '@/doc/templates/VeronaSeparator.vue';
export default {
data() {
return {
@ -228,9 +226,6 @@ export default {
fillColor() {
return this.$appState.darkTheme ? 'var(--p-surface-900)' : 'var(--p-surface-0)';
}
},
components: {
VeronaSeparator
}
};
</script>