diff --git a/browser_tests/tests/graphCanvasMenu.spec.ts-snapshots/canvas-with-visible-links-chromium-linux.png b/browser_tests/tests/graphCanvasMenu.spec.ts-snapshots/canvas-with-visible-links-chromium-linux.png index 23742fcc9..cbf2b4f08 100644 Binary files a/browser_tests/tests/graphCanvasMenu.spec.ts-snapshots/canvas-with-visible-links-chromium-linux.png and b/browser_tests/tests/graphCanvasMenu.spec.ts-snapshots/canvas-with-visible-links-chromium-linux.png differ diff --git a/browser_tests/tests/widget.spec.ts-snapshots/animated-image-preview-saved-webp-chromium-linux.png b/browser_tests/tests/widget.spec.ts-snapshots/animated-image-preview-saved-webp-chromium-linux.png index d50dc1135..b2fe8bb40 100644 Binary files a/browser_tests/tests/widget.spec.ts-snapshots/animated-image-preview-saved-webp-chromium-linux.png and b/browser_tests/tests/widget.spec.ts-snapshots/animated-image-preview-saved-webp-chromium-linux.png differ diff --git a/knip.config.ts b/knip.config.ts index e7fa5db8a..9df077d77 100644 --- a/knip.config.ts +++ b/knip.config.ts @@ -51,8 +51,7 @@ const config: KnipConfig = { tags: [ '-knipIgnoreUnusedButUsedByCustomNodes', '-knipIgnoreUnusedButUsedByVueNodesBranch' - ], - ignoreUnresolved: ['^~icons/'] + ] } export default config diff --git a/package.json b/package.json index 693a3b30a..63a28a2dc 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ }, "devDependencies": { "@eslint/js": "^9.8.0", + "@iconify-json/lucide": "^1.2.66", "@iconify/tailwind": "^1.2.0", "@intlify/eslint-plugin-vue-i18n": "^3.2.0", "@lobehub/i18n-cli": "^1.25.1", @@ -79,7 +80,6 @@ "jsdom": "^26.1.0", "knip": "^5.62.0", "lint-staged": "^15.2.7", - "lucide-vue-next": "^0.540.0", "nx": "21.4.1", "prettier": "^3.3.2", "storybook": "^9.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbbfd7c1b..68fbf59b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -171,6 +171,9 @@ importers: '@eslint/js': specifier: ^9.8.0 version: 9.12.0 + '@iconify-json/lucide': + specifier: ^1.2.66 + version: 1.2.66 '@iconify/tailwind': specifier: ^1.2.0 version: 1.2.0 @@ -282,9 +285,6 @@ importers: lint-staged: specifier: ^15.2.7 version: 15.2.7 - lucide-vue-next: - specifier: ^0.540.0 - version: 0.540.0(vue@3.5.13(typescript@5.9.2)) nx: specifier: 21.4.1 version: 21.4.1 @@ -1595,6 +1595,9 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iconify-json/lucide@1.2.66': + resolution: {integrity: sha512-TrhmfThWY2FHJIckjz7g34gUx3+cmja61DcHNdmu0rVDBQHIjPMYO1O8mMjoDSqIXEllz9wDZxCqT3lFuI+f/A==} + '@iconify/json@2.2.380': resolution: {integrity: sha512-+Al/Q+mMB/nLz/tawmJEOkCs6+RKKVUS/Yg9I80h2yRpu0kIzxVLQRfF0NifXz/fH92vDVXbS399wio4lMVF4Q==} @@ -4736,11 +4739,6 @@ packages: resolution: {integrity: sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==} engines: {node: '>=16.14'} - lucide-vue-next@0.540.0: - resolution: {integrity: sha512-H7qhKVNKLyoFMo05pWcGSWBiLPiI3zJmWV65SuXWHlrIGIcvDer10xAyWcRJ0KLzIH5k5+yi7AGw/Xi1VF8Pbw==} - peerDependencies: - vue: '>=3.0.1' - lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -8024,6 +8022,10 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@iconify-json/lucide@1.2.66': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/json@2.2.380': dependencies: '@iconify/types': 2.0.0 @@ -11563,10 +11565,6 @@ snapshots: lru-cache@8.0.5: {} - lucide-vue-next@0.540.0(vue@3.5.13(typescript@5.9.2)): - dependencies: - vue: 3.5.13(typescript@5.9.2) - lz-string@1.5.0: {} magic-string@0.30.17: diff --git a/src/components/button/IconButton.stories.ts b/src/components/button/IconButton.stories.ts index 7caf298e9..d774c0e5b 100644 --- a/src/components/button/IconButton.stories.ts +++ b/src/components/button/IconButton.stories.ts @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { Bell, Download, Heart, Settings, Trophy, X } from 'lucide-vue-next' import IconButton from './IconButton.vue' @@ -33,13 +32,13 @@ type Story = StoryObj export const Primary: Story = { render: (args) => ({ - components: { IconButton, Trophy }, + components: { IconButton }, setup() { return { args } }, template: ` - + ` }), @@ -51,13 +50,13 @@ export const Primary: Story = { export const Secondary: Story = { render: (args) => ({ - components: { IconButton, Settings }, + components: { IconButton }, setup() { return { args } }, template: ` - + ` }), @@ -69,13 +68,13 @@ export const Secondary: Story = { export const Transparent: Story = { render: (args) => ({ - components: { IconButton, X }, + components: { IconButton }, setup() { return { args } }, template: ` - + ` }), @@ -87,13 +86,13 @@ export const Transparent: Story = { export const Small: Story = { render: (args) => ({ - components: { IconButton, Bell }, + components: { IconButton }, setup() { return { args } }, template: ` - + ` }), @@ -105,42 +104,42 @@ export const Small: Story = { export const AllVariants: Story = { render: () => ({ - components: { IconButton, Trophy, Settings, X, Bell, Heart, Download }, + components: { IconButton }, template: `
- + - +
- + - +
- + - +
- + - + - +
diff --git a/src/components/button/IconGroup.stories.ts b/src/components/button/IconGroup.stories.ts index 1eb0d6e0a..c2fa1b96d 100644 --- a/src/components/button/IconGroup.stories.ts +++ b/src/components/button/IconGroup.stories.ts @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { Download, ExternalLink, Heart } from 'lucide-vue-next' import IconButton from './IconButton.vue' import IconGroup from './IconGroup.vue' @@ -17,17 +16,17 @@ type Story = StoryObj export const Basic: Story = { render: () => ({ - components: { IconGroup, IconButton, Download, ExternalLink, Heart }, + components: { IconGroup, IconButton }, template: ` - + - + - + ` diff --git a/src/components/button/IconTextButton.stories.ts b/src/components/button/IconTextButton.stories.ts index da07d9a66..0139b9bd6 100644 --- a/src/components/button/IconTextButton.stories.ts +++ b/src/components/button/IconTextButton.stories.ts @@ -1,14 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { - ChevronLeft, - ChevronRight, - Download, - Package, - Save, - Settings, - Trash2, - X -} from 'lucide-vue-next' import IconTextButton from './IconTextButton.vue' @@ -49,14 +39,14 @@ type Story = StoryObj export const Primary: Story = { render: (args) => ({ - components: { IconTextButton, Package }, + components: { IconTextButton }, setup() { return { args } }, template: ` ` @@ -70,14 +60,14 @@ export const Primary: Story = { export const Secondary: Story = { render: (args) => ({ - components: { IconTextButton, Settings }, + components: { IconTextButton }, setup() { return { args } }, template: ` ` @@ -91,14 +81,14 @@ export const Secondary: Story = { export const Transparent: Story = { render: (args) => ({ - components: { IconTextButton, X }, + components: { IconTextButton }, setup() { return { args } }, template: ` ` @@ -112,14 +102,14 @@ export const Transparent: Story = { export const WithIconRight: Story = { render: (args) => ({ - components: { IconTextButton, ChevronRight }, + components: { IconTextButton }, setup() { return { args } }, template: ` ` @@ -134,14 +124,14 @@ export const WithIconRight: Story = { export const Small: Story = { render: (args) => ({ - components: { IconTextButton, Save }, + components: { IconTextButton }, setup() { return { args } }, template: ` ` @@ -156,66 +146,60 @@ export const Small: Story = { export const AllVariants: Story = { render: () => ({ components: { - IconTextButton, - Download, - Settings, - Trash2, - ChevronRight, - ChevronLeft, - Save + IconTextButton }, template: `
diff --git a/src/components/button/MoreButton.stories.ts b/src/components/button/MoreButton.stories.ts index 3ec3dd491..ae1f86545 100644 --- a/src/components/button/MoreButton.stories.ts +++ b/src/components/button/MoreButton.stories.ts @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { Download, ScrollText } from 'lucide-vue-next' import IconTextButton from './IconTextButton.vue' import MoreButton from './MoreButton.vue' @@ -18,7 +17,7 @@ type Story = StoryObj export const Basic: Story = { render: () => ({ - components: { MoreButton, IconTextButton, Download, ScrollText }, + components: { MoreButton, IconTextButton }, template: `
@@ -29,7 +28,7 @@ export const Basic: Story = { @click="() => { close() }" > @@ -39,7 +38,7 @@ export const Basic: Story = { @click="() => { close() }" > diff --git a/src/components/card/Card.stories.ts b/src/components/card/Card.stories.ts index 0d8bf4385..923327a79 100644 --- a/src/components/card/Card.stories.ts +++ b/src/components/card/Card.stories.ts @@ -1,13 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { - Download, - Folder, - Heart, - Info, - MoreVertical, - Star, - Upload -} from 'lucide-vue-next' import { ref } from 'vue' import IconButton from '../button/IconButton.vue' @@ -149,14 +140,7 @@ const createCardTemplate = (args: CardStoryArgs) => ({ CardTitle, CardDescription, IconButton, - SquareChip, - Info, - Folder, - Heart, - Download, - Star, - Upload, - MoreVertical + SquareChip }, setup() { const favorited = ref(false) @@ -202,14 +186,14 @@ const createCardTemplate = (args: CardStoryArgs) => ({ class="!bg-white/90 !text-neutral-900" @click="() => console.log('Info clicked')" > - + - + @@ -222,7 +206,7 @@ const createCardTemplate = (args: CardStoryArgs) => ({ @@ -409,11 +393,7 @@ export const GridOfCards: Story = { CardTitle, CardDescription, IconButton, - SquareChip, - Info, - Folder, - Heart, - Download + SquareChip }, setup() { const cards = ref([ @@ -500,7 +480,7 @@ export const GridOfCards: Story = { class="!bg-white/90 !text-neutral-900" @click="() => console.log('Info:', card.title)" > - + @@ -511,7 +491,7 @@ export const GridOfCards: Story = { :label="tag" > diff --git a/src/components/input/SingleSelect.stories.ts b/src/components/input/SingleSelect.stories.ts index c0a279822..a529a2fe1 100644 --- a/src/components/input/SingleSelect.stories.ts +++ b/src/components/input/SingleSelect.stories.ts @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' -import { ArrowUpDown } from 'lucide-vue-next' import { ref } from 'vue' import SingleSelect from './SingleSelect.vue' @@ -57,7 +56,7 @@ export const Default: Story = { export const WithIcon: Story = { render: () => ({ - components: { SingleSelect, ArrowUpDown }, + components: { SingleSelect }, setup() { const selected = ref('popular') const options = sampleOptions @@ -67,7 +66,7 @@ export const WithIcon: Story = {
@@ -94,7 +93,7 @@ export const Preselected: Story = { export const AllVariants: Story = { render: () => ({ - components: { SingleSelect, ArrowUpDown }, + components: { SingleSelect }, setup() { const options = sampleOptions const a = ref(null) @@ -110,7 +109,7 @@ export const AllVariants: Story = {
diff --git a/src/components/widget/SampleModelSelector.vue b/src/components/widget/SampleModelSelector.vue index 704bb42f8..8fcf0409f 100644 --- a/src/components/widget/SampleModelSelector.vue +++ b/src/components/widget/SampleModelSelector.vue @@ -136,10 +136,6 @@