diff --git a/index.html b/index.html index 2b36112..f06a12e 100644 --- a/index.html +++ b/index.html @@ -2,11 +2,11 @@ - + - frontend + STA - +
diff --git a/package.json b/package.json index 938c59d..f72b92f 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,12 @@ "fmt:check": "oxfmt --check" }, "dependencies": { + "@primeuix/themes": "^2.0.3", + "@tailwindcss/vite": "^4.3.0", "openapi-fetch": "^0.15.2", + "primeicons": "^7.0.0", + "primevue": "^4.5.5", + "tailwindcss": "^4.3.0", "vue": "^3.5.34" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dcf557d..d0a36f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,24 @@ importers: .: dependencies: + '@primeuix/themes': + specifier: ^2.0.3 + version: 2.0.3 + '@tailwindcss/vite': + specifier: ^4.3.0 + version: 4.3.0(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)) openapi-fetch: specifier: ^0.15.2 version: 0.15.2 + primeicons: + specifier: ^7.0.0 + version: 7.0.0 + primevue: + specifier: ^4.5.5 + version: 4.5.5(vue@3.5.34(typescript@5.9.3)) + tailwindcss: + specifier: ^4.3.0 + version: 4.3.0 vue: specifier: ^3.5.34 version: 3.5.34(typescript@5.9.3) @@ -20,7 +35,7 @@ importers: version: 24.12.4 '@vitejs/plugin-vue': specifier: ^6.0.6 - version: 6.0.6(vite@7.3.3(@types/node@24.12.4)(less@4.6.4))(vue@3.5.34(typescript@5.9.3)) + version: 6.0.6(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0))(vue@3.5.34(typescript@5.9.3)) '@vue/tsconfig': specifier: ^0.8.1 version: 0.8.1(typescript@5.9.3)(vue@3.5.34(typescript@5.9.3)) @@ -44,7 +59,7 @@ importers: version: 5.9.3 vite: specifier: ^7.3.3 - version: 7.3.3(@types/node@24.12.4)(less@4.6.4) + version: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0) vue-tsc: specifier: ^3.2.9 version: 3.2.9(typescript@5.9.3) @@ -228,9 +243,22 @@ packages: cpu: [x64] os: [win32] + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@oxfmt/binding-android-arm-eabi@0.49.0': resolution: {integrity: sha512-HbifJ84prIh9+55CTPAU35JdRQrwg47y16cGerCC+iejSKOuHXYo2WDql6l7cQlzrYVtc3f4UWY+dBj2lRmOeA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -475,6 +503,30 @@ packages: cpu: [x64] os: [win32] + '@primeuix/styled@0.7.4': + resolution: {integrity: sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==} + engines: {node: '>=12.11.0'} + + '@primeuix/styles@2.0.3': + resolution: {integrity: sha512-2ykAB6BaHzR/6TwF8ShpJTsZrid6cVIEBVlookSdvOdmlWuevGu5vWOScgIwqWwlZcvkFYAGR/SUV3OHCTBMdw==} + + '@primeuix/themes@2.0.3': + resolution: {integrity: sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg==} + + '@primeuix/utils@0.6.4': + resolution: {integrity: sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==} + engines: {node: '>=12.11.0'} + + '@primevue/core@4.5.5': + resolution: {integrity: sha512-JpkXhq1ddc70JdsC3CC4dM+UbeeWuCW/8DpS9dNBfrOk824TLSlRlMEGFyVKqRMn5WPQvYLiy3xXfLQeNdSqhQ==} + engines: {node: '>=12.11.0'} + peerDependencies: + vue: ^3.5.0 + + '@primevue/icons@4.5.5': + resolution: {integrity: sha512-eteOhTdAOXEYE9qW1AOrBBgDxQ2szHJxSkEK1XVdV2TKxGM5FQf03Ovms0VDyZTc16XBIgvwYjXJQS0BPbhPaA==} + engines: {node: '>=12.11.0'} + '@redocly/ajv@8.11.2': resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} @@ -626,6 +678,100 @@ packages: cpu: [x64] os: [win32] + '@tailwindcss/node@4.3.0': + resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + + '@tailwindcss/oxide-android-arm64@4.3.0': + resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.0': + resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.0': + resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.3.0': + resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -733,6 +879,14 @@ packages: supports-color: optional: true + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + enhanced-resolve@5.21.3: + resolution: {integrity: sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==} + engines: {node: '>=10.13.0'} + entities@7.0.1: resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} @@ -790,6 +944,10 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + js-levenshtein@1.1.6: resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} engines: {node: '>=0.10.0'} @@ -822,6 +980,80 @@ packages: engines: {node: '>=18'} hasBin: true + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -916,6 +1148,13 @@ packages: resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} + primeicons@7.0.0: + resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==} + + primevue@4.5.5: + resolution: {integrity: sha512-Kv5REIewCdP806QaoU+4nBXfmpzOGFKkZ9qH4KsL6MjiAQVc4PUzypt8erl4r3Vzh3nr3aWZIxkxYRRsLGiX2A==} + engines: {node: '>=12.11.0'} + prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} @@ -951,6 +1190,13 @@ packages: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} + tailwindcss@4.3.0: + resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + tinyglobby@0.2.16: resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} engines: {node: '>=12.0.0'} @@ -1137,8 +1383,25 @@ snapshots: '@esbuild/win32-x64@0.27.7': optional: true + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@oxfmt/binding-android-arm-eabi@0.49.0': optional: true @@ -1253,6 +1516,33 @@ snapshots: '@oxlint/binding-win32-x64-msvc@1.64.0': optional: true + '@primeuix/styled@0.7.4': + dependencies: + '@primeuix/utils': 0.6.4 + + '@primeuix/styles@2.0.3': + dependencies: + '@primeuix/styled': 0.7.4 + + '@primeuix/themes@2.0.3': + dependencies: + '@primeuix/styled': 0.7.4 + + '@primeuix/utils@0.6.4': {} + + '@primevue/core@4.5.5(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@primeuix/styled': 0.7.4 + '@primeuix/utils': 0.6.4 + vue: 3.5.34(typescript@5.9.3) + + '@primevue/icons@4.5.5(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@primeuix/utils': 0.6.4 + '@primevue/core': 4.5.5(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - vue + '@redocly/ajv@8.11.2': dependencies: fast-deep-equal: 3.1.3 @@ -1353,16 +1643,84 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.60.4': optional: true + '@tailwindcss/node@4.3.0': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.3 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.0 + + '@tailwindcss/oxide-android-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide@4.3.0': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-x64': 4.3.0 + '@tailwindcss/oxide-freebsd-x64': 4.3.0 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-x64-musl': 4.3.0 + '@tailwindcss/oxide-wasm32-wasi': 4.3.0 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 + + '@tailwindcss/vite@4.3.0(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0))': + dependencies: + '@tailwindcss/node': 4.3.0 + '@tailwindcss/oxide': 4.3.0 + tailwindcss: 4.3.0 + vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0) + '@types/estree@1.0.8': {} '@types/node@24.12.4': dependencies: undici-types: 7.16.0 - '@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@24.12.4)(less@4.6.4))(vue@3.5.34(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0))(vue@3.5.34(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.3(@types/node@24.12.4)(less@4.6.4) + vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0) vue: 3.5.34(typescript@5.9.3) '@volar/language-core@2.4.28': @@ -1476,6 +1834,13 @@ snapshots: optionalDependencies: supports-color: 10.2.2 + detect-libc@2.1.2: {} + + enhanced-resolve@5.21.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + entities@7.0.1: {} errno@0.1.8: @@ -1523,8 +1888,7 @@ snapshots: fsevents@2.3.3: optional: true - graceful-fs@4.2.11: - optional: true + graceful-fs@4.2.11: {} https-proxy-agent@7.0.6(supports-color@10.2.2): dependencies: @@ -1545,6 +1909,8 @@ snapshots: is-what@4.1.16: {} + jiti@2.7.0: {} + js-levenshtein@1.1.6: {} js-tokens@4.0.0: {} @@ -1572,6 +1938,55 @@ snapshots: needle: 3.5.0 source-map: 0.6.1 + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1688,6 +2103,18 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + primeicons@7.0.0: {} + + primevue@4.5.5(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@primeuix/styled': 0.7.4 + '@primeuix/styles': 2.0.3 + '@primeuix/utils': 0.6.4 + '@primevue/core': 4.5.5(vue@3.5.34(typescript@5.9.3)) + '@primevue/icons': 4.5.5(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - vue + prr@1.0.1: optional: true @@ -1740,6 +2167,10 @@ snapshots: supports-color@10.2.2: {} + tailwindcss@4.3.0: {} + + tapable@2.3.3: {} + tinyglobby@0.2.16: dependencies: fdir: 6.5.0(picomatch@4.0.4) @@ -1755,7 +2186,7 @@ snapshots: uri-js-replace@1.0.1: {} - vite@7.3.3(@types/node@24.12.4)(less@4.6.4): + vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -1766,7 +2197,9 @@ snapshots: optionalDependencies: '@types/node': 24.12.4 fsevents: 2.3.3 + jiti: 2.7.0 less: 4.6.4 + lightningcss: 1.32.0 vscode-uri@3.1.0: {} diff --git a/src/main.ts b/src/main.ts index 3a0e429..b1dd5b7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,17 @@ import { createApp } from 'vue'; +import PrimeVue from 'primevue/config'; +import Lara from '@primeuix/themes/lara'; +import 'primeicons/primeicons.css'; import './style.css'; +import './style.less'; import App from './App.vue'; -createApp(App).mount('#app'); +const app = createApp(App); +app.use(PrimeVue, { + theme: { + preset: Lara, + }, + ripple: true, +}); +app.mount('#app'); diff --git a/src/style.css b/src/style.css index e69de29..04306d1 100644 --- a/src/style.css +++ b/src/style.css @@ -0,0 +1,86 @@ +@import url('https://fonts.googleapis.com/css?family=Plus%20Jakarta%20Sans:700|Noto%20Sans:400'); + +@import "tailwindcss"; + + +@theme { + --font-jakarta: Plus Jakarta Sans, sans-serif; + --font-heading: Plus Jakarta Sans, sans-serif; + --font-noto: Noto Sans, sans-serif; + --font-body: Noto Sans, sans-serif; + --font-normal: 400; + --font-bold: 700; + --text-sm: 0.750rem; + --text-base: 1rem; + --text-xl: 1.333rem; + --text-2xl: 1.777rem; + --text-3xl: 2.369rem; + --text-4xl: 3.158rem; + --text-5xl: 4.210rem; + + --color-text: oklch(13.42% 0.025 277.52); + --color-text-50: oklch(13.49% 0.027 277.57); + --color-text-100: oklch(18.12% 0.047 276.94); + --color-text-200: oklch(26.14% 0.086 274.25); + --color-text-300: oklch(33.63% 0.119 273.77); + --color-text-400: oklch(40.55% 0.152 273.78); + --color-text-500: oklch(47.37% 0.181 273.51); + --color-text-600: oklch(57.68% 0.143 277.26); + --color-text-700: oklch(68.53% 0.103 278.92); + --color-text-800: oklch(79.24% 0.067 280.95); + --color-text-900: oklch(89.69% 0.031 281.79); + --color-text-950: oklch(94.88% 0.016 282.27); + + --color-background: oklch(98.32% 0.005 286.30); + --color-background-50: oklch(13.12% 0.030 281.49); + --color-background-100: oklch(17.61% 0.050 279.92); + --color-background-200: oklch(25.07% 0.093 277.28); + --color-background-300: oklch(32.27% 0.129 276.41); + --color-background-400: oklch(39.10% 0.162 275.91); + --color-background-500: oklch(45.65% 0.193 275.59); + --color-background-600: oklch(56.14% 0.154 280.23); + --color-background-700: oklch(67.14% 0.113 282.93); + --color-background-800: oklch(78.44% 0.072 284.61); + --color-background-900: oklch(89.30% 0.034 285.69); + --color-background-950: oklch(94.69% 0.017 286.06); + + --color-primary: oklch(47.97% 0.175 276.79); + --color-primary-50: oklch(13.64% 0.027 282.25); + --color-primary-100: oklch(17.88% 0.046 280.64); + --color-primary-200: oklch(25.68% 0.085 277.64); + --color-primary-300: oklch(32.98% 0.118 277.13); + --color-primary-400: oklch(39.93% 0.151 276.24); + --color-primary-500: oklch(46.58% 0.180 276.13); + --color-primary-600: oklch(57.13% 0.142 279.97); + --color-primary-700: oklch(68.02% 0.103 282.69); + --color-primary-800: oklch(78.84% 0.066 283.81); + --color-primary-900: oklch(89.54% 0.031 285.75); + --color-primary-950: oklch(94.66% 0.016 286.09); + + --color-secondary: oklch(70.78% 0.104 302.18); + --color-secondary-50: oklch(14.31% 0.027 303.00); + --color-secondary-100: oklch(18.93% 0.046 300.07); + --color-secondary-200: oklch(27.46% 0.086 298.89); + --color-secondary-300: oklch(35.53% 0.118 298.36); + --color-secondary-400: oklch(43.08% 0.151 298.00); + --color-secondary-500: oklch(50.51% 0.179 298.28); + --color-secondary-600: oklch(60.08% 0.145 300.36); + --color-secondary-700: oklch(70.18% 0.106 301.86); + --color-secondary-800: oklch(80.18% 0.070 302.91); + --color-secondary-900: oklch(90.24% 0.032 303.45); + --color-secondary-950: oklch(95.04% 0.017 304.80); + + --color-accent: oklch(66.24% 0.137 313.05); + --color-accent-50: oklch(14.75% 0.029 314.19); + --color-accent-100: oklch(19.76% 0.049 312.79); + --color-accent-200: oklch(29.04% 0.090 311.91); + --color-accent-300: oklch(37.77% 0.123 311.83); + --color-accent-400: oklch(45.96% 0.157 311.53); + --color-accent-500: oklch(53.87% 0.186 311.54); + --color-accent-600: oklch(62.58% 0.152 312.52); + --color-accent-700: oklch(71.89% 0.112 313.25); + --color-accent-800: oklch(81.23% 0.074 313.55); + --color-accent-900: oklch(90.72% 0.035 314.09); + --color-accent-950: oklch(95.28% 0.018 314.73); + +} diff --git a/src/style.less b/src/style.less new file mode 100644 index 0000000..e69de29 diff --git a/vite.config.ts b/vite.config.ts index 57dd535..0ea947d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -2,10 +2,11 @@ import * as path from 'path'; import vue from '@vitejs/plugin-vue'; import { defineConfig } from 'vite'; +import tailwindcss from '@tailwindcss/vite'; // https://vite.dev/config/ export default defineConfig({ - plugins: [vue()], + plugins: [vue(), tailwindcss()], resolve: { alias: { '@': path.resolve(__dirname, './src'),