From 965695b4e1d1c8f705aee3f6970d39c3031deb33 Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Mon, 29 Apr 2024 20:52:09 -0400 Subject: [PATCH] Initial commit --- .browserslistrc | 4 + .editorconfig | 5 + .gitignore | 22 +++ README.md | 81 +++++++++ bun.lockb | Bin 0 -> 54736 bytes components.d.ts | 14 ++ index.html | 16 ++ package.json | 28 ++++ public/favicon.ico | Bin 0 -> 15406 bytes src/App.vue | 13 ++ src/assets/logo.png | Bin 0 -> 11955 bytes src/assets/logo.svg | 6 + src/components/HelloWorld.vue | 157 ++++++++++++++++++ src/components/README.md | 35 ++++ src/components/SourceTimeCard.vue | 86 ++++++++++ src/components/TimeConverter.vue | 113 +++++++++++++ src/main.ts | 20 +++ src/plugins/README.md | 3 + src/plugins/index.ts | 15 ++ src/plugins/vuetify.ts | 19 +++ src/types/TimeZones.ts | 13 ++ src/vite-env.d.ts | 7 + tsconfig.json | 32 ++++ tsconfig.node.json | 9 + vite.config.mts | 49 ++++++ ....timestamp-1714414585717-ff05254b58343.mjs | 49 ++++++ 26 files changed, 796 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 components.d.ts create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/assets/logo.png create mode 100644 src/assets/logo.svg create mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/README.md create mode 100644 src/components/SourceTimeCard.vue create mode 100644 src/components/TimeConverter.vue create mode 100644 src/main.ts create mode 100644 src/plugins/README.md create mode 100644 src/plugins/index.ts create mode 100644 src/plugins/vuetify.ts create mode 100644 src/types/TimeZones.ts create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.mts create mode 100644 vite.config.mts.timestamp-1714414585717-ff05254b58343.mjs diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..dc3bc09 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead +not ie 11 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7053c49 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..11f5d71 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md new file mode 100644 index 0000000..0519646 --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# Vuetify (Default) + +This is the official scaffolding tool for Vuetify, designed to give you a head start in building your new Vuetify application. It sets up a base template with all the necessary configurations and standard directory structure, enabling you to begin development without the hassle of setting up the project from scratch. + +## ❗️ Important Links + +- 📄 [Docs](https://vuetifyjs.com/) +- 🚨 [Issues](https://issues.vuetifyjs.com/) +- 🏬 [Store](https://store.vuetifyjs.com/) +- 🎮 [Playground](https://play.vuetifyjs.com/) +- 💬 [Discord](https://community.vuetifyjs.com) + +## 💿 Install + +Set up your project using your preferred package manager. Use the corresponding command to install the dependencies: + +| Package Manager | Command | +|---------------------------------------------------------------|----------------| +| [yarn](https://yarnpkg.com/getting-started) | `yarn install` | +| [npm](https://docs.npmjs.com/cli/v7/commands/npm-install) | `npm install` | +| [pnpm](https://pnpm.io/installation) | `pnpm install` | +| [bun](https://bun.sh/#getting-started) | `bun install` | + +After completing the installation, your environment is ready for Vuetify development. + +## ✨ Features + +- 🖼️ **Optimized Front-End Stack**: Leverage the latest Vue 3 and Vuetify 3 for a modern, reactive UI development experience. [Vue 3](https://v3.vuejs.org/) | [Vuetify 3](https://vuetifyjs.com/en/) +- 🗃️ **State Management**: Integrated with [Pinia](https://pinia.vuejs.org/), the intuitive, modular state management solution for Vue. +- 🚦 **Routing and Layouts**: Utilizes Vue Router for SPA navigation and vite-plugin-vue-layouts for organizing Vue file layouts. [Vue Router](https://router.vuejs.org/) | [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) +- 💻 **Enhanced Development Experience**: Benefit from TypeScript's static type checking and the ESLint plugin suite for Vue, ensuring code quality and consistency. [TypeScript](https://www.typescriptlang.org/) | [ESLint Plugin Vue](https://eslint.vuejs.org/) +- ⚡ **Next-Gen Tooling**: Powered by Vite, experience fast cold starts and instant HMR (Hot Module Replacement). [Vite](https://vitejs.dev/) +- 🧩 **Automated Component Importing**: Streamline your workflow with unplugin-vue-components, automatically importing components as you use them. [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) +- 🛠️ **Strongly-Typed Vue**: Use vue-tsc for type-checking your Vue components, and enjoy a robust development experience. [vue-tsc](https://github.com/johnsoncodehk/volar/tree/master/packages/vue-tsc) + +These features are curated to provide a seamless development experience from setup to deployment, ensuring that your Vuetify application is both powerful and maintainable. + +## 💡 Usage + +This section covers how to start the development server and build your project for production. + +### Starting the Development Server + +To start the development server with hot-reload, run the following command. The server will be accessible at [http://localhost:3000](http://localhost:3000): + +```bash +yarn dev +``` + +(Repeat for npm, pnpm, and bun with respective commands.) + +> Add NODE_OPTIONS='--no-warnings' to suppress the JSON import warnings that happen as part of the Vuetify import mapping. If you are on Node [v21.3.0](https://nodejs.org/en/blog/release/v21.3.0) or higher, you can change this to NODE_OPTIONS='--disable-warning=5401'. If you don't mind the warning, you can remove this from your package.json dev script. + +### Building for Production + +To build your project for production, use: + +```bash +yarn build +``` + +(Repeat for npm, pnpm, and bun with respective commands.) + +Once the build process is completed, your application will be ready for deployment in a production environment. + +## 💪 Support Vuetify Development + +This project is built with [Vuetify](https://vuetifyjs.com/en/), a UI Library with a comprehensive collection of Vue components. Vuetify is an MIT licensed Open Source project that has been made possible due to the generous contributions by our [sponsors and backers](https://vuetifyjs.com/introduction/sponsors-and-backers/). If you are interested in supporting this project, please consider: + +- [Requesting Enterprise Support](https://support.vuetifyjs.com/) +- [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship) +- [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship) +- [Supporting the team on Open Collective](https://opencollective.com/vuetify) +- [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify) +- [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify) +- [Making a one-time donation with Paypal](https://paypal.me/vuetify) + +## 📑 License +[MIT](http://opensource.org/licenses/MIT) + +Copyright (c) 2016-present Vuetify, LLC diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..6bda87c2b347dad0b2c1b1305e800b80f8a5a929 GIT binary patch literal 54736 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 H|NHz0@5=Hr literal 0 HcmV?d00001 diff --git a/components.d.ts b/components.d.ts new file mode 100644 index 0000000..292f201 --- /dev/null +++ b/components.d.ts @@ -0,0 +1,14 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +declare module 'vue' { + export interface GlobalComponents { + HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] + SourceTimeCard: typeof import('./src/components/SourceTimeCard.vue')['default'] + TimeConverter: typeof import('./src/components/TimeConverter.vue')['default'] + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..9c91402 --- /dev/null +++ b/index.html @@ -0,0 +1,16 @@ + + + + + + + + Bratty Waifus Rule! + + + +
+ + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..0fcb5ec --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "isl-time-converter", + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@mdi/font": "6.2.95", + "roboto-fontface": "*", + "temporal-polyfill": "^0.2.4", + "vue": "^3.4.21", + "vuetify": "^3.5.8" + }, + "devDependencies": { + "@babel/types": "^7.24.0", + "@types/node": "^20.11.25", + "@vitejs/plugin-vue": "^5.0.4", + "sass": "^1.71.1", + "typescript": "^5.4.2", + "unplugin-fonts": "^1.1.1", + "unplugin-vue-components": "^0.26.0", + "vite": "^5.1.5", + "vite-plugin-vuetify": "^2.0.3", + "vue-tsc": "^2.0.6" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8fb9f91b3aab4eec0c76ffc5342528033c61e247 GIT binary patch literal 15406 zcmeHO3v5%@8NNVarCoU?zSqezmT6npu}xxXJJhY(x=s~hQ>SSYYSncU&|(|9Y?QVX z@}TB1G8mASM;tRKYgJkrAW)&g7${B%c>oE7;)O>NNO_bu4G-IdNB({PbTkJL{ZGDJe2DLL+vq#sL?l$jZPe_*I2y@|4sBRjso zUy`aUlJo$60})6B%aMKN&yMG1Qvjth%4dDy{HM^34) z&_TyGJg3UC{J|n2-wr)LDYwhNWBH4VL-JgYz;erTEKiMF20`|$Cf~GysBU40j@&)u zboK>@(yL25%R|RmS~6@99bG>PviV`j>&k~M@~J%cn{`uCzUOyY^23rlWt6DH=aut3 zlZo^g63xIXwP(4)hgT<|I>hSGqh7YbLP$jL+%p0>vM2Su?wmOV;-uyLFww=KN5Ox{j<% zmi}mZc22bZyxbmI!x+Ch3+qsk+#YbHJ{CdQjDh~;LRJB63Pq&~p

*N){PEn7FA;EAwj=|b_AUGw z{Eb1Zt8`N8chL?vjkw~yAvg~N+W_qV|N7U7a3HGfPY0GBqUxOaLJzPO2|Qz7H&yF{ z!Y@7SbxH$-YlpxgCaImE$Fk6T4dUMU!=a+u##*PZb&m9d@{VbA<&v z;n*Hvm#Nt5zF}Ud{=9#v%+3;8${f~WV?Q`CFATe5JXp$wT(q1TOU7#0jK6PDXZ)(1 zOSF4N3hStRA?+K$*ZctH(lRF!KFSL%W20hM6%Rz+k9We?_C36J>PVG2%Y`27X;nW+ z*x`6oe7S`dXABgw#vFYvuM;-c|L9ua=7z9?9B!cL=Fyiz34xz{6kpCd?PeyG2V7mkg!!m@d$btKgDK_Ib zt|Qt#$Am-fZ&{xA0GOAnn8Ue+QQBY3NiO*vfvd{5lsp3L_K5f@hhj{}^Nk#us4?p+ ztOM)g!1L3Ff(Tk8KQe4khoQS4_&0;4zo|FQr(iM%k4L+U*z zff0J2FQWxM*K?>u4d$6_8R>l`cK8U+!w`A!D@A2^2+L%A~GSv8* z(uV!wgkD)YqY(1-;X}j zv4?n}%=LOp! z;8GgCC~I2q%*#5{$kpuKJ6-ET*}o#)Z>p>vQsxF25{?c6CQ5()gsGtn{Ul`*ykb!bDMnnlGUdfYdn+9lsY%+pJ_Z_xHs+imH? z!L`+luUT1yv*4C1Z&<#Qlui*r2~lxBI`sAm+}oX{s=OcRf9A0%Q^56>8DC==kKtgy z>D-TeE@f3uu4&Y?ZVVlM3wLg~Z>Y}xfNE|1MIAijELQN`Y2<45F5=t5>wtYuk>yuH zXEJj-vN;uZD0|537U$Eq5Oek?f#JlNGq{dN(qiDuxO185eWG@Tuk1zKUsCs)MAVm# zZTvIN+Wl0&MDXYQF#3{qXA$(Ft>uw;>&qkE2f#n|`-?1D`gl8Gqj+=j77qvaV7#CH z-mDV$x0TsBRP5B|jZ%mFQ}FDv4Rn5l$yl(|`Q7Oe;~u+P58Qvv*6uy)7U=EIpPM-5 zPv}(pkwc!Zx3$@4;Y){)0d2tO5v#db4**wJ~;d2`ShTX zw|GaKwMoD4ydIzqSN(;l&j_8}$q^eYga7tU+}ZvgxyO*m1UDkuojePFZ zG`-$PpE1`DpyrLMO}R7wCfu3t6Y|B7d%f_n+{8^32;HSdS9&hVGwt*sUYr-!%%`a~|XP)!GJa zaPfvq9vz7{ms4}`U~qpQ+@r?~G$CeSuOWUWWPj8xrxoKsi%ALkMoN~Re@yeI<`b#& zQakqh?^Bfdlv*~90r${a#kP)=j;z5r;Qua|_8~6ciamnnhpFd84r{fjgNVx%{UgRa z5XnEKlf}cZ&elidYgP}Qi}Z0^o$C^y%G~k#_Qp8=1^BDy6=xQN&GlMeiCUK;x&F$^ zjA44c!M?-)Y1kOO--Oix|DE7=F!d?WE|oc-P;ICUYO&YsIA3qS68`^+SoxzLDfxQ- z)V%&7_{XQaWqV^?8s0=b5Yxwfs(L2+kBDu`F4FIF*gxGfML8AK#-01US-npCiqalZ z?M~DOWA<^ZR|~P;79^A!*A-C1sshAC6<~Z9P|a%vs7IcNOJh792S@Vc$sCItcXG)K z1Fn?E#hswKujQD~WT#qpf3`ix0(EL{#By^?PeQ2& + + + + + + + + + + diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f23ae7bff64954cf3537377a9f99306baf083d GIT binary patch literal 11955 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 + + + + + diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..4ff10db --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,157 @@ + + + diff --git a/src/components/README.md b/src/components/README.md new file mode 100644 index 0000000..d1dc92f --- /dev/null +++ b/src/components/README.md @@ -0,0 +1,35 @@ +# Components + +Vue template files in this folder are automatically imported. + +## 🚀 Usage + +Importing is handled by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). This plugin automatically imports `.vue` files created in the `src/components` directory, and registers them as global components. This means that you can use any component in your application without having to manually import it. + +The following example assumes a component located at `src/components/MyComponent.vue`: + +```vue + + + +``` + +When your template is rendered, the component's import will automatically be inlined, which renders to this: + +```vue + + + +``` diff --git a/src/components/SourceTimeCard.vue b/src/components/SourceTimeCard.vue new file mode 100644 index 0000000..58af302 --- /dev/null +++ b/src/components/SourceTimeCard.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/components/TimeConverter.vue b/src/components/TimeConverter.vue new file mode 100644 index 0000000..f829156 --- /dev/null +++ b/src/components/TimeConverter.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..c8fc172 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,20 @@ +/** + * main.ts + * + * Bootstraps Vuetify and other plugins then mounts the App` + */ + +// Plugins +import { registerPlugins } from '@/plugins' + +// Components +import App from './App.vue' + +// Composables +import { createApp } from 'vue' + +const app = createApp(App) + +registerPlugins(app) + +app.mount('#app') diff --git a/src/plugins/README.md b/src/plugins/README.md new file mode 100644 index 0000000..62201c7 --- /dev/null +++ b/src/plugins/README.md @@ -0,0 +1,3 @@ +# Plugins + +Plugins are a way to extend the functionality of your Vue application. Use this folder for registering plugins that you want to use globally. diff --git a/src/plugins/index.ts b/src/plugins/index.ts new file mode 100644 index 0000000..818042a --- /dev/null +++ b/src/plugins/index.ts @@ -0,0 +1,15 @@ +/** + * plugins/index.ts + * + * Automatically included in `./src/main.ts` + */ + +// Plugins +import vuetify from './vuetify' + +// Types +import type { App } from 'vue' + +export function registerPlugins (app: App) { + app.use(vuetify) +} diff --git a/src/plugins/vuetify.ts b/src/plugins/vuetify.ts new file mode 100644 index 0000000..7652788 --- /dev/null +++ b/src/plugins/vuetify.ts @@ -0,0 +1,19 @@ +/** + * plugins/vuetify.ts + * + * Framework documentation: https://vuetifyjs.com` + */ + +// Styles +import '@mdi/font/css/materialdesignicons.css' +import 'vuetify/styles' + +// Composables +import { createVuetify } from 'vuetify' + +// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides +export default createVuetify({ + theme: { + defaultTheme: 'dark', + }, +}) diff --git a/src/types/TimeZones.ts b/src/types/TimeZones.ts new file mode 100644 index 0000000..081226f --- /dev/null +++ b/src/types/TimeZones.ts @@ -0,0 +1,13 @@ + +export enum StandardOffsets { + Eastern = -5, + Central = -6, + Mountain = -7, + Pacific = -8, +} +export enum tzNames { + Eastern = "EST", + Central = "America/Chicago", + Mountain = "America/Denver", + Pacific = "America/Los_Angeles", +} \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..323c78a --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,7 @@ +/// + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3573ef8 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "target": "ESNext", + "jsx": "preserve", + "lib": ["DOM", "ESNext"], + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "node", + "paths": { + "@/*": ["src/*"] + }, + "resolveJsonModule": true, + "types": [ + "vite/client", + "vite-plugin-vue-layouts/client", + "unplugin-vue-router/client" + ], + "allowJs": true, + "strict": true, + "strictNullChecks": true, + "noUnusedLocals": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "skipLibCheck": true + }, + "include": [ + "./src/typed-router.d.ts" + ], + "exclude": ["dist", "node_modules", "cypress"], + "references": [{ "path": "./tsconfig.node.json" }], +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..0469640 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.mts"] +} diff --git a/vite.config.mts b/vite.config.mts new file mode 100644 index 0000000..8a2caca --- /dev/null +++ b/vite.config.mts @@ -0,0 +1,49 @@ +// Plugins +import Components from 'unplugin-vue-components/vite' +import Vue from '@vitejs/plugin-vue' +import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' +import ViteFonts from 'unplugin-fonts/vite' + +// Utilities +import { defineConfig } from 'vite' +import { fileURLToPath, URL } from 'node:url' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + Vue({ + template: { transformAssetUrls }, + }), + // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme + Vuetify(), + Components(), + ViteFonts({ + google: { + families: [{ + name: 'Roboto', + styles: 'wght@100;300;400;500;700;900', + }], + }, + }), + ], + base: "/isl-time-site/", + define: { 'process.env': {} }, + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + extensions: [ + '.js', + '.json', + '.jsx', + '.mjs', + '.ts', + '.tsx', + '.vue', + ], + }, + server: { + port: 5174, + host: true + }, +}) diff --git a/vite.config.mts.timestamp-1714414585717-ff05254b58343.mjs b/vite.config.mts.timestamp-1714414585717-ff05254b58343.mjs new file mode 100644 index 0000000..c3e551f --- /dev/null +++ b/vite.config.mts.timestamp-1714414585717-ff05254b58343.mjs @@ -0,0 +1,49 @@ +// vite.config.mts +import Components from "file:///home/moosetheory/dev/isl-time-converter/node_modules/unplugin-vue-components/dist/vite.js"; +import Vue from "file:///home/moosetheory/dev/isl-time-converter/node_modules/@vitejs/plugin-vue/dist/index.mjs"; +import Vuetify, { transformAssetUrls } from "file:///home/moosetheory/dev/isl-time-converter/node_modules/vite-plugin-vuetify/dist/index.mjs"; +import ViteFonts from "file:///home/moosetheory/dev/isl-time-converter/node_modules/unplugin-fonts/dist/vite.mjs"; +import { defineConfig } from "file:///home/moosetheory/dev/isl-time-converter/node_modules/vite/dist/node/index.js"; +import { fileURLToPath, URL } from "node:url"; +var __vite_injected_original_import_meta_url = "file:///home/moosetheory/dev/isl-time-converter/vite.config.mts"; +var vite_config_default = defineConfig({ + plugins: [ + Vue({ + template: { transformAssetUrls } + }), + // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme + Vuetify(), + Components(), + ViteFonts({ + google: { + families: [{ + name: "Roboto", + styles: "wght@100;300;400;500;700;900" + }] + } + }) + ], + define: { "process.env": {} }, + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url)) + }, + extensions: [ + ".js", + ".json", + ".jsx", + ".mjs", + ".ts", + ".tsx", + ".vue" + ] + }, + server: { + port: 5174, + host: true + } +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubXRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbW9vc2V0aGVvcnkvZGV2L2lzbC10aW1lLWNvbnZlcnRlclwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbW9vc2V0aGVvcnkvZGV2L2lzbC10aW1lLWNvbnZlcnRlci92aXRlLmNvbmZpZy5tdHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvbW9vc2V0aGVvcnkvZGV2L2lzbC10aW1lLWNvbnZlcnRlci92aXRlLmNvbmZpZy5tdHNcIjsvLyBQbHVnaW5zXG5pbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJ1xuaW1wb3J0IFZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXG5pbXBvcnQgVnVldGlmeSwgeyB0cmFuc2Zvcm1Bc3NldFVybHMgfSBmcm9tICd2aXRlLXBsdWdpbi12dWV0aWZ5J1xuaW1wb3J0IFZpdGVGb250cyBmcm9tICd1bnBsdWdpbi1mb250cy92aXRlJ1xuXG4vLyBVdGlsaXRpZXNcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBVUkwgfSBmcm9tICdub2RlOnVybCdcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHBsdWdpbnM6IFtcbiAgICBWdWUoe1xuICAgICAgdGVtcGxhdGU6IHsgdHJhbnNmb3JtQXNzZXRVcmxzIH0sXG4gICAgfSksXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Z1ZXRpZnlqcy92dWV0aWZ5LWxvYWRlci90cmVlL21hc3Rlci9wYWNrYWdlcy92aXRlLXBsdWdpbiNyZWFkbWVcbiAgICBWdWV0aWZ5KCksXG4gICAgQ29tcG9uZW50cygpLFxuICAgIFZpdGVGb250cyh7XG4gICAgICBnb29nbGU6IHtcbiAgICAgICAgZmFtaWxpZXM6IFt7XG4gICAgICAgICAgbmFtZTogJ1JvYm90bycsXG4gICAgICAgICAgc3R5bGVzOiAnd2dodEAxMDA7MzAwOzQwMDs1MDA7NzAwOzkwMCcsXG4gICAgICAgIH1dLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcbiAgZGVmaW5lOiB7ICdwcm9jZXNzLmVudic6IHt9IH0sXG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgJ0AnOiBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4vc3JjJywgaW1wb3J0Lm1ldGEudXJsKSksXG4gICAgfSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnLmpzJyxcbiAgICAgICcuanNvbicsXG4gICAgICAnLmpzeCcsXG4gICAgICAnLm1qcycsXG4gICAgICAnLnRzJyxcbiAgICAgICcudHN4JyxcbiAgICAgICcudnVlJyxcbiAgICBdLFxuICB9LFxuICBzZXJ2ZXI6IHtcbiAgICBwb3J0OiA1MTc0LFxuICAgIGhvc3Q6IHRydWVcbiAgfSxcbn0pXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsT0FBTyxnQkFBZ0I7QUFDdkIsT0FBTyxTQUFTO0FBQ2hCLE9BQU8sV0FBVywwQkFBMEI7QUFDNUMsT0FBTyxlQUFlO0FBR3RCLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsZUFBZSxXQUFXO0FBUnNKLElBQU0sMkNBQTJDO0FBVzFPLElBQU8sc0JBQVEsYUFBYTtBQUFBLEVBQzFCLFNBQVM7QUFBQSxJQUNQLElBQUk7QUFBQSxNQUNGLFVBQVUsRUFBRSxtQkFBbUI7QUFBQSxJQUNqQyxDQUFDO0FBQUE7QUFBQSxJQUVELFFBQVE7QUFBQSxJQUNSLFdBQVc7QUFBQSxJQUNYLFVBQVU7QUFBQSxNQUNSLFFBQVE7QUFBQSxRQUNOLFVBQVUsQ0FBQztBQUFBLFVBQ1QsTUFBTTtBQUFBLFVBQ04sUUFBUTtBQUFBLFFBQ1YsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNIO0FBQUEsRUFDQSxRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUU7QUFBQSxFQUM1QixTQUFTO0FBQUEsSUFDUCxPQUFPO0FBQUEsTUFDTCxLQUFLLGNBQWMsSUFBSSxJQUFJLFNBQVMsd0NBQWUsQ0FBQztBQUFBLElBQ3REO0FBQUEsSUFDQSxZQUFZO0FBQUEsTUFDVjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxRQUFRO0FBQUEsSUFDTixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFDUjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==