quasarwind 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/bin/index.js +31 -0
- package/package.json +11 -0
- package/template/.prettierrc +7 -0
- package/template/.vscode/extensions.json +4 -0
- package/template/.vscode/settings.json +13 -0
- package/template/README.md +5 -0
- package/template/eslint.config.js +83 -0
- package/template/index.html +13 -0
- package/template/package-lock.json +9738 -0
- package/template/package.json +43 -0
- package/template/public/vite.svg +1 -0
- package/template/src/App.vue +9 -0
- package/template/src/assets/vue.svg +1 -0
- package/template/src/components/ExampleComponent.vue +74 -0
- package/template/src/css/app.css +1 -0
- package/template/src/layout/MainLayout.vue +11 -0
- package/template/src/main.ts +44 -0
- package/template/src/page/NotFound.vue +21 -0
- package/template/src/router/index.ts +7 -0
- package/template/src/router/routes.ts +20 -0
- package/template/src/stores/example-store.ts +25 -0
- package/template/src/vite-env.d.ts +8 -0
- package/template/tsconfig.app.json +15 -0
- package/template/tsconfig.json +7 -0
- package/template/tsconfig.node.json +25 -0
- package/template/types.d.ts +0 -0
- package/template/vite.config.ts +28 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "quasar_project_tailwind",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"d": "vite",
|
|
9
|
+
"build": "vue-tsc -b && vite build",
|
|
10
|
+
"b": "vue-tsc -b && vite build",
|
|
11
|
+
"preview": "vite preview"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@quasar/extras": "^1.17.0",
|
|
15
|
+
"@tailwindcss/vite": "^4.1.13",
|
|
16
|
+
"pinia": "^3.0.3",
|
|
17
|
+
"quasar": "^2.18.5",
|
|
18
|
+
"tailwindcss": "^4.1.13",
|
|
19
|
+
"vue": "^3.5.21",
|
|
20
|
+
"vue-router": "^4.5.1"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@eslint/js": "^9.36.0",
|
|
24
|
+
"@quasar/app-vite": "^2.4.0",
|
|
25
|
+
"@quasar/vite-plugin": "^1.10.0",
|
|
26
|
+
"@types/node": "^24.5.2",
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "^8.44.0",
|
|
28
|
+
"@typescript-eslint/parser": "^8.44.0",
|
|
29
|
+
"@vitejs/plugin-vue": "^6.0.1",
|
|
30
|
+
"@vue/eslint-config-prettier": "^10.2.0",
|
|
31
|
+
"@vue/eslint-config-typescript": "^14.6.0",
|
|
32
|
+
"@vue/tsconfig": "^0.8.1",
|
|
33
|
+
"eslint": "^9.36.0",
|
|
34
|
+
"eslint-plugin-vue": "^10.4.0",
|
|
35
|
+
"globals": "^16.4.0",
|
|
36
|
+
"prettier": "3.6.2",
|
|
37
|
+
"sass-embedded": "^1.93.0",
|
|
38
|
+
"typescript": "~5.8.3",
|
|
39
|
+
"vite": "^7.1.6",
|
|
40
|
+
"vite-plugin-vue-devtools": "^8.0.2",
|
|
41
|
+
"vue-tsc": "^3.0.7"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="q-pa-md q-gutter-md grid grid-cols-4">
|
|
3
|
+
<q-card class="my-card">
|
|
4
|
+
<q-card-section>
|
|
5
|
+
{{ lorem }}
|
|
6
|
+
</q-card-section>
|
|
7
|
+
</q-card>
|
|
8
|
+
|
|
9
|
+
<q-card
|
|
10
|
+
class="my-card text-white"
|
|
11
|
+
style="background: radial-gradient(circle, #35a2ff 0%, #014a88 100%)"
|
|
12
|
+
>
|
|
13
|
+
<q-card-section>
|
|
14
|
+
<div class="text-h6">Our Changing Planet</div>
|
|
15
|
+
<div class="text-subtitle2">by John Doe</div>
|
|
16
|
+
</q-card-section>
|
|
17
|
+
|
|
18
|
+
<q-card-section class="q-pt-none">21323
|
|
19
|
+
{{ lorem }}
|
|
20
|
+
</q-card-section>
|
|
21
|
+
</q-card>
|
|
22
|
+
|
|
23
|
+
<q-card dark bordered class="bg-grey-9 my-card">
|
|
24
|
+
<q-card-section>
|
|
25
|
+
<div class="text-h6">Our Changing Planet</div>
|
|
26
|
+
<div class="text-subtitle2">by John Doe</div>
|
|
27
|
+
</q-card-section>
|
|
28
|
+
|
|
29
|
+
<q-separator dark inset />
|
|
30
|
+
|
|
31
|
+
<q-card-section>
|
|
32
|
+
{{ lorem }}
|
|
33
|
+
</q-card-section>
|
|
34
|
+
</q-card>
|
|
35
|
+
|
|
36
|
+
<q-card flat bordered class="my-card">
|
|
37
|
+
<q-card-section>
|
|
38
|
+
<div class="text-h6">Our Changing Planet</div>
|
|
39
|
+
</q-card-section>
|
|
40
|
+
|
|
41
|
+
<q-card-section class="q-pt-none">
|
|
42
|
+
PPPP Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
|
43
|
+
tempor incididunt ut labore et dolore magna aliqua. dfsdfsadfsdfsddfsdfsdfsd
|
|
44
|
+
</q-card-section>
|
|
45
|
+
|
|
46
|
+
<q-separator inset />
|
|
47
|
+
|
|
48
|
+
<q-card-section>
|
|
49
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
|
50
|
+
tempor incididunt ut labore et dolore magna aliqua. sdfs
|
|
51
|
+
</q-card-section>
|
|
52
|
+
</q-card>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="text-3xl font-bold underline">
|
|
56
|
+
Hello world 1!
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<q-btn label="click me" color="primary" @click="store.increment">
|
|
60
|
+
{{ store.doubleCount }}</q-btn>
|
|
61
|
+
|
|
62
|
+
</template>
|
|
63
|
+
|
|
64
|
+
<script setup lang="ts">
|
|
65
|
+
import { useCounterStore } from '../stores/example-store';
|
|
66
|
+
|
|
67
|
+
const store = useCounterStore()
|
|
68
|
+
|
|
69
|
+
const lorem= 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
|
|
70
|
+
</script>
|
|
71
|
+
|
|
72
|
+
<style scoped>
|
|
73
|
+
|
|
74
|
+
</style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createApp } from 'vue'
|
|
2
|
+
import { Quasar } from 'quasar'
|
|
3
|
+
|
|
4
|
+
// Import icon libraries
|
|
5
|
+
import '@quasar/extras/roboto-font/roboto-font.css'
|
|
6
|
+
import '@quasar/extras/material-icons/material-icons.css'
|
|
7
|
+
import '@quasar/extras/material-icons-outlined/material-icons-outlined.css'
|
|
8
|
+
import '@quasar/extras/material-icons-round/material-icons-round.css'
|
|
9
|
+
import '@quasar/extras/material-icons-sharp/material-icons-sharp.css'
|
|
10
|
+
import '@quasar/extras/material-symbols-outlined/material-symbols-outlined.css'
|
|
11
|
+
import '@quasar/extras/material-symbols-rounded/material-symbols-rounded.css'
|
|
12
|
+
import '@quasar/extras/material-symbols-sharp/material-symbols-sharp.css'
|
|
13
|
+
import '@quasar/extras/mdi-v7/mdi-v7.css'
|
|
14
|
+
import '@quasar/extras/fontawesome-v5/fontawesome-v5.css'
|
|
15
|
+
import '@quasar/extras/fontawesome-v6/fontawesome-v6.css'
|
|
16
|
+
import '@quasar/extras/ionicons-v4/ionicons-v4.css'
|
|
17
|
+
import '@quasar/extras/eva-icons/eva-icons.css'
|
|
18
|
+
import '@quasar/extras/themify/themify.css'
|
|
19
|
+
import '@quasar/extras/line-awesome/line-awesome.css'
|
|
20
|
+
import '@quasar/extras/bootstrap-icons/bootstrap-icons.css'
|
|
21
|
+
import './css/app.css'
|
|
22
|
+
|
|
23
|
+
// Import Quasar css
|
|
24
|
+
import 'quasar/src/css/index.sass'
|
|
25
|
+
// /home/ecs/Mis_Repos/skuSyncAll/vite_quasar/quasarProjectTailwind/node_modules/quasar/src/css
|
|
26
|
+
// Assumes your root component is App.vue
|
|
27
|
+
// and placed in same folder as main.js
|
|
28
|
+
import App from './App.vue'
|
|
29
|
+
import { router } from './router'
|
|
30
|
+
import { createPinia } from 'pinia'
|
|
31
|
+
|
|
32
|
+
const appMain = createApp(App)
|
|
33
|
+
// Assumes you have a <div id="app"></div> in your index.html
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
appMain.use(Quasar)
|
|
37
|
+
appMain.use(router)
|
|
38
|
+
|
|
39
|
+
const pinia = createPinia()
|
|
40
|
+
appMain.use(pinia)
|
|
41
|
+
|
|
42
|
+
appMain.mount('#app')
|
|
43
|
+
|
|
44
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="fullscreen place-items-center bg-gray-900 px-6 py-24 sm:py-32 lg:px-8">
|
|
3
|
+
<div class="text-center">
|
|
4
|
+
<p class="text-base font-semibold text-indigo-400">404</p>
|
|
5
|
+
<h1 class="mt-4 text-5xl font-semibold tracking-tight text-balance text-white sm:text-7xl">Page not found</h1>
|
|
6
|
+
<p class="mt-6 text-lg font-medium text-pretty text-gray-400 sm:text-xl/8">Sorry, we couldn’t find the page you’re looking for.</p>
|
|
7
|
+
<div class="mt-10 flex items-center justify-center gap-x-6">
|
|
8
|
+
<a
|
|
9
|
+
href="#"
|
|
10
|
+
class="rounded-md bg-indigo-500 px-3.5 py-2.5 text-sm font-semibold text-white shadow-xs hover:bg-indigo-400 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500"
|
|
11
|
+
>Go back home</a
|
|
12
|
+
>
|
|
13
|
+
<a href="#" class="text-sm font-semibold text-white">Contact support <span aria-hidden="true">→</span></a>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts"></script>
|
|
20
|
+
|
|
21
|
+
<style scoped></style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RouteRecordRaw } from "vue-router";
|
|
2
|
+
|
|
3
|
+
export const routes: RouteRecordRaw[] = [
|
|
4
|
+
{
|
|
5
|
+
path: "",
|
|
6
|
+
name: "home",
|
|
7
|
+
component: () => import("../layout/MainLayout.vue"),
|
|
8
|
+
children: [
|
|
9
|
+
{
|
|
10
|
+
path: "",
|
|
11
|
+
component: () => import("../components/ExampleComponent.vue"),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
path: '/:catchAll(.*)*',
|
|
17
|
+
name: 'NotFound',
|
|
18
|
+
component: () => import("../page/NotFound.vue"),
|
|
19
|
+
},
|
|
20
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineStore, acceptHMRUpdate } from 'pinia';
|
|
2
|
+
import { computed, ref } from 'vue';
|
|
3
|
+
|
|
4
|
+
export const useCounterStore = defineStore('counter', () => {
|
|
5
|
+
|
|
6
|
+
const counter = ref(0)
|
|
7
|
+
|
|
8
|
+
// getters
|
|
9
|
+
const doubleCount = computed(() => counter.value * 2)
|
|
10
|
+
|
|
11
|
+
// actions
|
|
12
|
+
const increment = () => {
|
|
13
|
+
counter.value++
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
doubleCount,
|
|
18
|
+
|
|
19
|
+
increment
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
if (import.meta.hot) {
|
|
24
|
+
import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot));
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
5
|
+
|
|
6
|
+
/* Linting */
|
|
7
|
+
"strict": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"noUnusedParameters": true,
|
|
10
|
+
"erasableSyntaxOnly": true,
|
|
11
|
+
"noFallthroughCasesInSwitch": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true
|
|
13
|
+
},
|
|
14
|
+
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
|
|
15
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
|
4
|
+
"target": "ES2023",
|
|
5
|
+
"lib": ["ES2023"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
|
|
9
|
+
/* Bundler mode */
|
|
10
|
+
"moduleResolution": "bundler",
|
|
11
|
+
"allowImportingTsExtensions": true,
|
|
12
|
+
"verbatimModuleSyntax": true,
|
|
13
|
+
"moduleDetection": "force",
|
|
14
|
+
"noEmit": true,
|
|
15
|
+
|
|
16
|
+
/* Linting */
|
|
17
|
+
"strict": true,
|
|
18
|
+
"noUnusedLocals": true,
|
|
19
|
+
"noUnusedParameters": true,
|
|
20
|
+
"erasableSyntaxOnly": true,
|
|
21
|
+
"noFallthroughCasesInSwitch": true,
|
|
22
|
+
"noUncheckedSideEffectImports": true
|
|
23
|
+
},
|
|
24
|
+
"include": ["vite.config.ts"]
|
|
25
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
// import { fileURLToPath } from 'node:url'
|
|
3
|
+
// import path from 'path'
|
|
4
|
+
import vue from '@vitejs/plugin-vue'
|
|
5
|
+
import { quasar, transformAssetUrls } from '@quasar/vite-plugin'
|
|
6
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
7
|
+
import vueDevTools from 'vite-plugin-vue-devtools'
|
|
8
|
+
|
|
9
|
+
// https://vitejs.dev/config/
|
|
10
|
+
export default defineConfig({
|
|
11
|
+
plugins: [
|
|
12
|
+
vue({
|
|
13
|
+
template: { transformAssetUrls }
|
|
14
|
+
}),
|
|
15
|
+
|
|
16
|
+
// @quasar/plugin-vite options list:
|
|
17
|
+
// https://github.com/quasarframework/quasar/blob/dev/vite-plugin/index.d.ts
|
|
18
|
+
quasar({
|
|
19
|
+
// sassVariables: path.resolve(__dirname,'node_modules/quasar/src/css/variables.sass'),
|
|
20
|
+
sassVariables: true,
|
|
21
|
+
}),
|
|
22
|
+
|
|
23
|
+
// tailwinds
|
|
24
|
+
tailwindcss(),
|
|
25
|
+
|
|
26
|
+
vueDevTools(),
|
|
27
|
+
]
|
|
28
|
+
})
|