dev dwd 2022-11-03 12:27:31 +05:30
commit 93581983e8
34 changed files with 1882 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
node_modules
.DS_Store
dist
dist-ssr
*.local
debug.log
.idea

13
LICENSE Normal file
View File

@ -0,0 +1,13 @@
MUKTI
license Mukti/Moksh - 'the liberation' is a basic realization that the result of distribution or giving away does not always come short, specially when things are non physical. MUKTI is not a license but a step towards a license free civilization.
Human race is better with 'some sense' rather a bunch of license. [have some sense, not licenses.]
till all the licenses are deprecated and decentralize [ specially for software, hardware, education, experience,even the network protocol (internet) ], lets use freedom centric and/or having "take if it helps you, just don't sue us - kind of mentality" licenses like GPL, MIT, BSD ...
this will not be registered / certified / legalise in any manner, as it's not about enforcement - it is about freedom to share.
example of 'some sense':
verbose incremental documentation with versioning, attaching contributor information.
try to make some OFFERING to the contributor or the contributing organization with or without a subscription / support.
maximize the use of freedom centric tools[hardware, software, os ...] enen if it costs and costs more, try not to be the product.

10
README.md Normal file
View File

@ -0,0 +1,10 @@
### Getting Started
```sh
npm i
npm run dev
npm run build
npm run serve
```

60
auto-imports.d.ts vendored Normal file
View File

@ -0,0 +1,60 @@
// Generated by 'unplugin-auto-import'
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineLoader: typeof import('vue-router/auto')['defineLoader']
const definePage: typeof import('unplugin-vue-router/runtime')['_definePage']
const effectScope: typeof import('vue')['effectScope']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useHead: typeof import('@vueuse/head')['useHead']
const useRoute: typeof import('vue-router/auto')['useRoute']
const useRouter: typeof import('vue-router/auto')['useRouter']
const useSlots: typeof import('vue')['useSlots']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
}

17
components.d.ts vendored Normal file
View File

@ -0,0 +1,17 @@
// generated by unplugin-vue-components
// We suggest you to commit this file into source control
// Read more: https://github.com/vuejs/core/pull/3399
import '@vue/runtime-core'
export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
ButtonRepo: typeof import('./src/components/ButtonRepo.vue')['default']
Footer: typeof import('./src/components/Footer.vue')['default']
Header: typeof import('./src/components/Header.vue')['default']
MainMen: typeof import('./src/components/MainMen.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
}
}

20
index.html Normal file
View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite, Vue3, Tailwind CSS</title>
<link
rel="preload"
href="/font/Inter-roman.var.woff2"
as="font"
type="font/woff2"
crossorigin="anonymous"
/>
<!-- <link rel="preload" href="/font/Inter-italic.var.woff2" as="font" type="font/woff2" crossorigin="anonymous"> -->
<link rel="stylesheet" href="/font/inter.css" />
</head>
<body>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

33
package.json Normal file
View File

@ -0,0 +1,33 @@
{
"name": "vite-vue3-tailwind-starter",
"version": "0.0.0",
"scripts": {
"dev": "vite --host",
"build": "vue-tsc --noEmit && vite build",
"serve": "vite preview"
},
"dependencies": {
"@vueuse/head": "^0.7.9",
"vue": "^3.2.38",
"vue-router": "^4.1.5"
},
"devDependencies": {
"@headlessui/vue": "^1.6.7",
"@heroicons/vue": "^2.0.10",
"@tailwindcss/aspect-ratio": "^0.4.2",
"@tailwindcss/forms": "^0.5.3",
"@tailwindcss/line-clamp": "^0.4.2",
"@tailwindcss/typography": "^0.5.7",
"@vitejs/plugin-vue": "^3.1.0",
"@vue/tsconfig": "^0.1.3",
"autoprefixer": "^10.4.8",
"prettier-plugin-tailwindcss": "^0.1.13",
"tailwindcss": "^3.1.8",
"typescript": "^4.8.2",
"unplugin-auto-import": "^0.11.2",
"unplugin-vue-components": "^0.22.4",
"unplugin-vue-router": "^0.2.1",
"vite": "^3.1.0",
"vue-tsc": "^0.40.7"
}
}

6
postcss.config.js Normal file
View File

@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Binary file not shown.

16
public/font/inter.css Normal file
View File

@ -0,0 +1,16 @@
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: normal;
font-named-instance: 'Regular';
src: url('Inter-roman.var.woff2') format('woff2');
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: italic;
font-named-instance: 'Italic';
src: url('Inter-italic.var.woff2') format('woff2');
}

BIN
public/img/clg.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
public/img/clg_grdnt.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
public/img/clgprin.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
public/img/logo3.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

2
public/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Allow: /

9
src/App.vue Normal file
View File

@ -0,0 +1,9 @@
<template>
<div>
<Header />
<main>
<router-view />
</main>
<Footer />
</div>
</template>

31
src/components/Footer.vue Normal file
View File

@ -0,0 +1,31 @@
<template>
<div>
<div>
<div
class="grid grid-cols-1 md:grid-cols-3 bg-stone-600 "
>
<div class="bg-stone-800 rounded-md h-44 m-6 text-gray-100 text-left text-xl p-3">Important Links<hr class="blue-400">
<div class="grid grid-rows-3 text-blue-600 p-3 gap-4">
<a href="gallery">Gallery <hr class="border-slate-900"></a>
<a href="notice">Notice <hr class="border-slate-900"></a>
<a href="document">Document</a>
</div>
</div>
<div class=" bg-stone-800 rounded-md h-44 m-6 text-gray-100 text-left text-xl p-3">Related Sites<hr>
<div class="grid grid-rows-3 text-blue-600 p-3 gap-4">
<a href="https://www.wbsubregistration.org/">W.B.S.U<hr class="border-slate-900"></a>
<a href="https://www.ugc.ac.in/">U.G.C.<hr class="border-slate-900"></a>
<a href="https://banglaruchchashiksha.wb.gov.in/">W.B.H.E.D.</a>
</div>
</div>
<div class=" bg-stone-800 rounded-md h-44 m-6 text-gray-100 text-left text-xl p-3">Document Links <hr>
<div class="grid grid-rows-3 text-blue-600 p-3 gap-4">
<a href="">A.Q.A.R<hr class="border-slate-900"></a>
<a href="">R & D Cell<hr class="border-slate-900"></a>
<a href="">Academic Calendar</a>
</div>
</div>
</div>
</div>
</div>
</template>

20
src/components/Header.vue Normal file
View File

@ -0,0 +1,20 @@
<template>
<div>
<div
class="flex flex-cols bg-blue-600 h-48 text-right justify-end text-white text-3xl pt-5 font-semibold pr-12"
>
<img
src="/img/logo3.png"
alt="/img/logo3.png"
class="absolute left-0 top-0 h-44 w-44 mt-2 ml-14"
/>
Estd.-1956
<br />Sree Chaitanya College,Habra
<br />(Arts and Science)
<br />Prafullanagar, Habra, 24Pgs(N) Pin-743268, W.B
</div>
<div class="flex justify-center">
<div class="flex bg-blue-900 h-8 w-11/12"></div>
</div>
</div>
</template>

16
src/main.ts Normal file
View File

@ -0,0 +1,16 @@
import { createApp } from 'vue'
import './tailwind.css'
import App from './App.vue'
import { createRouter, createWebHistory } from 'vue-router/auto'
import { createHead } from '@vueuse/head'
const app = createApp(App)
const head = createHead()
const router = createRouter({
history: createWebHistory(),
})
app.use(router)
app.use(head)
app.mount(document.body)

13
src/pages/[...404].vue Normal file
View File

@ -0,0 +1,13 @@
<script setup>
useHead({
title: '404',
})
</script>
<template>
<header class="bg-white shadow">
<div class="mx-auto max-w-7xl py-6 px-4 sm:px-6 lg:px-8">
<h1 class="text-3xl font-bold leading-tight text-gray-900">Not Found</h1>
</div>
</header>
</template>

39
src/pages/about.vue Normal file
View File

@ -0,0 +1,39 @@
<route lang="json">
{
"meta": {
"title": "About"
}
}
</route>
<script setup>
useHead({
title: 'About',
})
</script>
<template>
<div class="bg-gray-50">
<div
class="mx-auto max-w-screen-xl px-4 py-12 sm:px-6 lg:flex lg:items-center lg:justify-between lg:py-16 lg:px-8"
>
<h2
class="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 sm:text-4xl sm:leading-10"
>
About Page
<br />
<span class="text-indigo-600">Vite + Vue 3 + Tailwind CSS</span>
</h2>
<div class="mt-8 flex lg:mt-0 lg:flex-shrink-0">
<div class="inline-flex rounded-md shadow">
<router-link
to="/"
class="inline-flex items-center justify-center rounded-md border border-transparent bg-indigo-600 px-5 py-3 text-base font-medium leading-6 text-white transition duration-150 ease-in-out hover:bg-indigo-500 focus:outline-none"
>Back Home</router-link
>
</div>
<ButtonRepo />
</div>
</div>
</div>
</template>

0
src/pages/gallery.vue Normal file
View File

120
src/pages/index.vue Normal file
View File

@ -0,0 +1,120 @@
<template>
<div class="">
<div class="flex justify-center">
<img
src="/img/clg.jpg"
alt="clg"
class="mb-5 rounded-b-2xl"
width="1252px"
height="120px"
/>
</div>
<div class="flex justify-center">
<div
class="flex justify-center right-56 bg-blue-600 w-56 text-white p-1 text-xl"
>Vision of The College</div>
</div>
<div class="flex-none mt-5 justify-center">
<div
class="flex h-8 border-b border-slate-200 ml-5"
>Character Formation through Knowledge and Value-based Education for Transformation of the Society and the Nation</div>
</div>
<br />
<div class="flex justify-center">
<div
class="flex justify-center right-56 bg-blue-600 w-56 text-white p-1 text-xl gap-2"
>Our Mission</div>
</div>
<div class="flex-none justify-center p-5">
<div
class="flex border-b border-slate-200"
>a) a) To suit the above 'Vision', the 'Mission' of the College is to provide balanced, value based and knowledge based education informed by latest technology, with a view to instilling self-confidence among the students, in order to turn them into sensitive, dedicated and disciplined citizens who will display a high intellectual calibre, together with emotional balance and social commitment and particularly at helping the students with backward social and economic backgrounds living around the institution.</div>
<div
class="flex border-b border-slate-200 mt-3"
>b) The college aims at moulding and shaping the students as good citizens with qualities of mind and heart showing commitment towards the nation as well as the community in which they live, extending the role of governance and leadership in discharging the different activities to its stakeholders and inculcating innovative practices. With such orientation students are expected to get involved in societal transformation.</div>
<div
class="flex border-b border-slate-200 mt-3"
>c) Needless to say that since our College was established to serve the higher education needs of the hapless of youth, who had to bear the toll of Partition, we have always strove to spread education among this section of the society. Besides, we have to cater a huge number of students coming from the First Generation Literate families. Thus, our Vision and Mission does not come from any ivory tower but from the 'real' situation around us.</div>
<br />
<div class="grid grid-cols-2 h-80">
<div
class="bg-auto bg-no-repeat bg-center"
style="background-image: url(/img/clg_grdnt.jpg)"
>
<img
src="/img/clgprin.jpg"
alt="/img/clgprin.jpg"
class="m-7 w-10/12 rounded-md"
/>
</div>
<div
class="bg-auto bg-no-repeat bg-center w-full"
style="background-image: url(/img/clg_grdnt.jpg)"
>
<p
class="text-white text-sm mr-20 mt-10 leading-2 font-semibold"
>a) To suit the above 'Vision', the 'Mission' of the College is to provide balanced, value based and knowledge based education informed by latest technology, with a view to instilling self-confidence among the students, in order to turn them into sensitive, dedicated and disciplined citizens who will display a high intellectual calibre, together with emotional balance and social commitment and particularly at helping the students with backward social and economic backgrounds living around the institution. c) Needless to say that since our College was established to serve the higher education needs of the hapless of youth, who had to bear the toll of Partition, we have always strove to spread education among this section of the society. Besides, we have to cater a huge number of students coming from the First Generation Literate families. Thus, our Vision and Mission does not come from any ivory tower but from the 'real' situation around us. rer</p>
<button class="bg-indigo-500 rounded hover:bg-cyan-600 w-32 transition ease-in-out delay-150 text-white text-xl rounded-md mt-2">Read More</button>
</div>
</div>
<br />
<br />
<br />
<div class="flex justify-center">
<button class="bg-blue-600 w-56 text-white p-1 text-xl transition ease-in-out delay-150">Gallery</button>
</div>
</div>
<!-- <div
class="grid grid-cols-12 bg-gradient-to-r from-stone-600 to-stone-800 h-56 content-center gap-5"
>
<div class="grid col-span-4 bg-stone-800 rounded-md h-44 w-80 ml-14 grid grid-rows-17">
<div
class="grid row-span-5 text-white border-b border-white text-2xl content-center pl-4"
>Important Links</div>
<div class="grid row-span-4 text-blue-600 pl-4 border-b border-black">
<a
href="https://www.youtube.com/watch?v=BT4MQ2gA65Q&ab_channel=AllinOne"
>Gallery</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4 border-b border-black">
<a href="https://www.youtube.com/watch?v=BT4MQ2gA65Q&ab_channel=AllinOne">Notice</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4">
<a
href="https://www.youtube.com/watch?v=BT4MQ2gA65Q&ab_channel=AllinOne"
>Document</a>
</div>
</div>
<div class="grid col-span-4 bg-stone-800 rounded-md h-44 w-80 ml-14">
<div
class="grid row-span-5 text-white border-b border-white text-2xl content-center pl-4"
>Related Sites</div>
<div class="grid row-span-5 text-blue-600 pl-4 border-b border-black target-blank">
<a href="https://www.wbsubregistration.org/">W.B.S.U.</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4 border-b border-black">
<a href="https://www.ugc.ac.in/">U.G.C.</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4">
<a href="https://banglaruchchashiksha.wb.gov.in/">W.B.H.E.D.</a>
</div>
</div>
<div class="grid col-span-4 bg-stone-800 rounded-md h-44 w-80 ml-14">
<div
class="grid row-span-5 text-white border-b border-white text-2xl content-center pl-4"
>Document Links</div>
<div class="grid row-span-5 text-blue-600 pl-4 border-b border-black">
<a href="AQAR">AQAR</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4 border-b border-black">
<a href="">R & D Cell</a>
</div>
<div class="grid row-span-4 text-blue-600 pl-4">
<a href="">Academic Calendar</a>
</div>
</div>
</div> -->
</div>
</template>

10
src/pages/index2.vue Normal file
View File

@ -0,0 +1,10 @@
<template>
<div>
<div class="grid justify-center">
<div class="grid">
<img src="/img/clg_grdnt.jpg" alt="">
</div>
<div class="grid grid-cols-1"></div>
</div>
</div>
</template>

11
src/pages/temp/google.vue Normal file
View File

@ -0,0 +1,11 @@
<template>
<div>
<div class="grid grid-cols-4 place-content-center h-14 bg-blue-400 p-1">
<div class="grid-auto grid-cols-1 bg-green-400">1</div>
<div class="grid grid-cols-1 bg-green-400 w-32">1</div>
<div class="grid grid-cols-1 bg-green-400 w-32">1</div>
<div class="grid grid-cols-1 bg-green-400 w-32">1</div>
</div>
</div>
</template>

3
src/tailwind.css Normal file
View File

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

7
src/vite-env.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
/// <reference types="vite/client" />
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}

19
tailwind.config.js Normal file
View File

@ -0,0 +1,19 @@
const defaultTheme = require('tailwindcss/defaultTheme')
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./index.html', './src/**/*.{vue,js,ts}'],
theme: {
extend: {
fontFamily: {
sans: ['"Inter var"', ...defaultTheme.fontFamily.sans],
},
},
},
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/typography'),
require('@tailwindcss/line-clamp'),
require('@tailwindcss/aspect-ratio'),
],
}

16
tsconfig.json Normal file
View File

@ -0,0 +1,16 @@
{
"compilerOptions": {
"baseUrl": "./",
"allowJs": true
},
"exclude": ["node_modules", "dist"],
"include": [
"typed-router.d.ts",
"components.d.ts",
"auto-imports.d.ts",
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.vue"
],
"extends": "@vue/tsconfig/tsconfig.json"
}

139
typed-router.d.ts vendored Normal file
View File

@ -0,0 +1,139 @@
// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️
// It's recommended to commit this file.
// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
/// <reference types="unplugin-vue-router/client" />
import type {
// type safe route locations
RouteLocationTypedList,
RouteLocationResolvedTypedList,
RouteLocationNormalizedTypedList,
RouteLocationNormalizedLoadedTypedList,
RouteLocationAsString,
RouteLocationAsRelativeTypedList,
RouteLocationAsPathTypedList,
// helper types
// route definitions
RouteRecordInfo,
ParamValue,
ParamValueOneOrMore,
ParamValueZeroOrMore,
ParamValueZeroOrOne,
// vue-router extensions
_RouterTyped,
RouterLinkTyped,
NavigationGuard,
UseLinkFnTyped,
// data fetching
_DataLoader,
_DefineLoaderOptions,
} from 'unplugin-vue-router'
declare module 'vue-router/auto/routes' {
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
'/[...404]': RouteRecordInfo<'/[...404]', '/:404(.*)', { 404: ParamValue<true> }, { 404: ParamValue<false> }>,
'/about': RouteRecordInfo<'/about', '/about', Record<never, never>, Record<never, never>>,
'/gallery': RouteRecordInfo<'/gallery', '/gallery', Record<never, never>, Record<never, never>>,
'/index2': RouteRecordInfo<'/index2', '/index2', Record<never, never>, Record<never, never>>,
'/temp/google': RouteRecordInfo<'/temp/google', '/temp/google', Record<never, never>, Record<never, never>>,
}
}
declare module 'vue-router/auto' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export type RouterTyped = _RouterTyped<RouteNamedMap>
/**
* Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalized<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalizedLoaded<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationResolved<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationResolvedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocation<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationRaw<Name extends keyof RouteNamedMap = keyof RouteNamedMap> =
| RouteLocationAsString<RouteNamedMap>
| RouteLocationAsRelativeTypedList<RouteNamedMap>[Name]
| RouteLocationAsPathTypedList<RouteNamedMap>[Name]
/**
* Generate a type safe params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParams<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['params']
/**
* Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParamsRaw<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['paramsRaw']
export function useRouter(): RouterTyped
export function useRoute<Name extends keyof RouteNamedMap = keyof RouteNamedMap>(name?: Name): RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
export const useLink: UseLinkFnTyped<RouteNamedMap>
export function onBeforeRouteLeave(guard: NavigationGuard<RouteNamedMap>): void
export function onBeforeRouteUpdate(guard: NavigationGuard<RouteNamedMap>): void
// Experimental Data Fetching
export function defineLoader<
P extends Promise<any>,
Name extends keyof RouteNamedMap = keyof RouteNamedMap,
isLazy extends boolean = false,
>(
name: Name,
loader: (route: RouteLocationNormalizedLoaded<Name>) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export function defineLoader<
P extends Promise<any>,
isLazy extends boolean = false,
>(
loader: (route: RouteLocationNormalizedLoaded) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export {
_definePage as definePage,
_HasDataLoaderMeta as HasDataLoaderMeta,
_setupDataFetchingGuard as setupDataFetchingGuard,
_stopDataFetchingScope as stopDataFetchingScope,
} from 'unplugin-vue-router/runtime'
}
declare module 'vue-router' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export interface TypesConfig {
beforeRouteUpdate: NavigationGuard<RouteNamedMap>
beforeRouteLeave: NavigationGuard<RouteNamedMap>
$route: RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[keyof RouteNamedMap]
$router: _RouterTyped<RouteNamedMap>
RouterLink: RouterLinkTyped<RouteNamedMap>
}
}

21
vite.config.ts Normal file
View File

@ -0,0 +1,21 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import VueRouter from 'unplugin-vue-router/vite'
import { VueRouterAutoImports } from 'unplugin-vue-router'
import Components from 'unplugin-vue-components/vite'
import { HeadlessUiResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
plugins: [
VueRouter({}),
vue(),
Components({ resolvers: [HeadlessUiResolver()] }),
AutoImport({
imports: ['vue', '@vueuse/head', VueRouterAutoImports],
}),
],
server: {
open: true,
},
})

1224
yarn.lock Normal file

File diff suppressed because it is too large Load Diff