From 8f2a77702b84b49ceccfed600c712568b373f7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Tue, 1 Apr 2025 11:55:16 +0800 Subject: [PATCH] feat: InspiraUI --- .oxlintrc.json | 6 +- .vscode/settings.json | 6 +- package.json | 2 + pnpm-lock.yaml | 20 ++ src/App.vue | 1 - .../InspiraUI/{ => bg-bubbles}/BubblesBg.vue | 270 ++++++++++-------- src/components/InspiraUI/bg-bubbles/index.ts | 1 + .../{ => bg-falling-stars}/FallingStarsBg.vue | 108 +++---- .../InspiraUI/bg-falling-stars/index.ts | 1 + .../InspiraUI/border-beam/BorderBeam.vue | 65 +++++ src/components/InspiraUI/border-beam/index.ts | 1 + .../{ => card-spotlight}/CardSpotlight.vue | 101 ++++--- .../InspiraUI/card-spotlight/index.ts | 1 + src/components/InspiraUI/dock/Dock.vue | 76 +++++ src/components/InspiraUI/dock/DockIcon.vue | 61 ++++ .../InspiraUI/dock/DockSeparator.vue | 14 + src/components/InspiraUI/dock/index.ts | 5 + .../InspiraUI/dock/injectionKeys.ts | 11 + src/components/InspiraUI/dock/types.ts | 2 + .../{ => gradient-button}/GradientButton.vue | 72 ++--- .../InspiraUI/gradient-button/index.ts | 1 + .../InteractiveHoverButton.vue | 60 ++++ .../interactive-hover-button/index.ts | 1 + .../shimmer-button/ShimmerButton.vue | 107 +++++++ .../InspiraUI/shimmer-button/index.ts | 1 + .../InspiraUI/sparkles/Sparkles.vue | 159 +++++++++++ src/components/InspiraUI/sparkles/index.ts | 1 + src/pages/Home.page.vue | 59 ++++ src/pages/Page/Icons.page.vue | 8 +- .../UI-components/InspiraUI/index.page.vue | 16 ++ src/pages/index-new.page.vue | 33 --- src/pages/index.page.vue | 126 +++++--- src/plugins/router.ts | 4 +- src/types/shims/router.ts | 20 -- typed-router.d.ts | 2 +- vite.config.ts | 3 + 36 files changed, 1053 insertions(+), 372 deletions(-) rename src/components/InspiraUI/{ => bg-bubbles}/BubblesBg.vue (84%) create mode 100644 src/components/InspiraUI/bg-bubbles/index.ts rename src/components/InspiraUI/{ => bg-falling-stars}/FallingStarsBg.vue (88%) create mode 100644 src/components/InspiraUI/bg-falling-stars/index.ts create mode 100644 src/components/InspiraUI/border-beam/BorderBeam.vue create mode 100644 src/components/InspiraUI/border-beam/index.ts rename src/components/InspiraUI/{ => card-spotlight}/CardSpotlight.vue (83%) create mode 100644 src/components/InspiraUI/card-spotlight/index.ts create mode 100644 src/components/InspiraUI/dock/Dock.vue create mode 100644 src/components/InspiraUI/dock/DockIcon.vue create mode 100644 src/components/InspiraUI/dock/DockSeparator.vue create mode 100644 src/components/InspiraUI/dock/index.ts create mode 100644 src/components/InspiraUI/dock/injectionKeys.ts create mode 100644 src/components/InspiraUI/dock/types.ts rename src/components/InspiraUI/{ => gradient-button}/GradientButton.vue (82%) create mode 100644 src/components/InspiraUI/gradient-button/index.ts create mode 100644 src/components/InspiraUI/interactive-hover-button/InteractiveHoverButton.vue create mode 100644 src/components/InspiraUI/interactive-hover-button/index.ts create mode 100644 src/components/InspiraUI/shimmer-button/ShimmerButton.vue create mode 100644 src/components/InspiraUI/shimmer-button/index.ts create mode 100644 src/components/InspiraUI/sparkles/Sparkles.vue create mode 100644 src/components/InspiraUI/sparkles/index.ts create mode 100644 src/pages/Home.page.vue delete mode 100644 src/pages/index-new.page.vue delete mode 100644 src/types/shims/router.ts diff --git a/.oxlintrc.json b/.oxlintrc.json index 04d0507..8fc5514 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -1,8 +1,8 @@ { "$schema": "./node_modules/oxlint/configuration_schema.json", // https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-new-array.html - // "rules": { - // "unicorn/no-new-array": "warn" - // }, + "rules": { + "unicorn/no-useless-spread": "off" + }, "ignorePatterns": ["src/shadcn/**", "src/components/InspiraUI/**"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 7c345c6..f8f8cb1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,9 +3,9 @@ "source.fixAll.eslint": "explicit", "source.fixAll.stylelint": "explicit", "source.fixAll.oxc": "explicit", - "source.fixAll.eslint": "never", - "source.fixAll.stylelint": "never", - "source.fixAll.oxc": "never", + // "source.fixAll.eslint": "never", + // "source.fixAll.stylelint": "never", + // "source.fixAll.oxc": "never", "source.organizeImports": "never" }, "editor.formatOnSave": true, diff --git a/package.json b/package.json index 88f2893..1ccd378 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,8 @@ "@eslint/compat": "^1.2.7", "@faker-js/faker": "^9.6.0", "@iconify-json/carbon": "^1.2.8", + "@iconify-json/logos": "^1.2.4", + "@iconify-json/mdi": "^1.2.3", "@iconify/utils": "^2.3.0", "@playwright/test": "^1.51.1", "@primevue/auto-import-resolver": "^4.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc923bc..1997f87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -149,6 +149,12 @@ importers: '@iconify-json/carbon': specifier: ^1.2.8 version: 1.2.8 + '@iconify-json/logos': + specifier: ^1.2.4 + version: 1.2.4 + '@iconify-json/mdi': + specifier: ^1.2.3 + version: 1.2.3 '@iconify/utils': specifier: ^2.3.0 version: 2.3.0 @@ -915,6 +921,12 @@ packages: '@iconify-json/carbon@1.2.8': resolution: {integrity: sha512-6xh4YiFBz6qoSnB3XMe23WvjTJroDFXB17J1MbiT7nATFe+70+em1acRXr8hgP/gYpwFMHFc4IvjA/IPTPnTzg==} + '@iconify-json/logos@1.2.4': + resolution: {integrity: sha512-XC4If5D/hbaZvUkTV8iaZuGlQCyG6CNOlaAaJaGa13V5QMYwYjgtKk3vPP8wz3wtTVNVEVk3LRx1fOJz+YnSMw==} + + '@iconify-json/mdi@1.2.3': + resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -5314,6 +5326,14 @@ snapshots: dependencies: '@iconify/types': 2.0.0 + '@iconify-json/logos@1.2.4': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/mdi@1.2.3': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/types@2.0.0': {} '@iconify/utils@2.3.0': diff --git a/src/App.vue b/src/App.vue index cee6c6f..b642122 100644 --- a/src/App.vue +++ b/src/App.vue @@ -20,7 +20,6 @@ const themeConfig = computed(() => { - diff --git a/src/components/InspiraUI/border-beam/index.ts b/src/components/InspiraUI/border-beam/index.ts new file mode 100644 index 0000000..57093be --- /dev/null +++ b/src/components/InspiraUI/border-beam/index.ts @@ -0,0 +1 @@ +export { default as BorderBeam } from "./BorderBeam.vue"; diff --git a/src/components/InspiraUI/CardSpotlight.vue b/src/components/InspiraUI/card-spotlight/CardSpotlight.vue similarity index 83% rename from src/components/InspiraUI/CardSpotlight.vue rename to src/components/InspiraUI/card-spotlight/CardSpotlight.vue index 42967fe..1dceec7 100644 --- a/src/components/InspiraUI/CardSpotlight.vue +++ b/src/components/InspiraUI/card-spotlight/CardSpotlight.vue @@ -1,54 +1,3 @@ - - -