@svadmin/ui 0.26.2 → 0.27.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.
Files changed (63) hide show
  1. package/package.json +4 -8
  2. package/src/components/AICommandBar.svelte +1 -1
  3. package/src/components/AboutSettings.svelte +1 -1
  4. package/src/components/AnomalyBadge.svelte +1 -1
  5. package/src/components/AppearanceSettings.svelte +1 -1
  6. package/src/components/AuditLogDrawer.svelte +1 -1
  7. package/src/components/AuditLogViewer.svelte +1 -1
  8. package/src/components/AutoForm.svelte +1 -1
  9. package/src/components/AutoSaveIndicator.svelte +1 -1
  10. package/src/components/AutoTable.svelte +13 -2
  11. package/src/components/ChatDialog.svelte +1 -1
  12. package/src/components/ComboboxField.svelte +1 -1
  13. package/src/components/CommandPalette.svelte +1 -1
  14. package/src/components/ConfigErrorScreen.svelte +1 -1
  15. package/src/components/CopilotPanel.svelte +1 -1
  16. package/src/components/DevTools.svelte +1 -1
  17. package/src/components/EmptyState.svelte +1 -1
  18. package/src/components/ErrorBoundary.svelte +1 -1
  19. package/src/components/ErrorComponent.svelte +1 -1
  20. package/src/components/FieldRenderer.svelte +1 -1
  21. package/src/components/ForgotPasswordPage.svelte +1 -1
  22. package/src/components/Header.svelte +1 -1
  23. package/src/components/InferencerPanel.svelte +1 -1
  24. package/src/components/InfiniteList.svelte +1 -1
  25. package/src/components/InsightCard.svelte +1 -1
  26. package/src/components/Layout.svelte +1 -1
  27. package/src/components/ListPage.svelte +1 -1
  28. package/src/components/LiveIndicator.svelte +1 -1
  29. package/src/components/LoginPage.svelte +1 -1
  30. package/src/components/MarkdownRenderer.svelte +1 -1
  31. package/src/components/PasswordInput.svelte +1 -1
  32. package/src/components/PermissionMatrix.svelte +1 -1
  33. package/src/components/ProfilePage.svelte +1 -1
  34. package/src/components/RegisterPage.svelte +1 -1
  35. package/src/components/SettingsPage.svelte +1 -1
  36. package/src/components/Sidebar.svelte +1 -1
  37. package/src/components/SidebarItem.svelte +1 -1
  38. package/src/components/StepsForm.svelte +1 -1
  39. package/src/components/TaskQueueDrawer.svelte +1 -1
  40. package/src/components/TenantSwitcher.svelte +1 -1
  41. package/src/components/UndoableNotification.svelte +1 -1
  42. package/src/components/UpdatePasswordPage.svelte +1 -1
  43. package/src/components/VoiceInput.svelte +1 -1
  44. package/src/components/buttons/CloneButton.svelte +1 -1
  45. package/src/components/buttons/CreateButton.svelte +1 -1
  46. package/src/components/buttons/DeleteButton.svelte +1 -1
  47. package/src/components/buttons/EditButton.svelte +1 -1
  48. package/src/components/buttons/ExportButton.svelte +1 -1
  49. package/src/components/buttons/ImportButton.svelte +1 -1
  50. package/src/components/buttons/ListButton.svelte +1 -1
  51. package/src/components/buttons/RefreshButton.svelte +1 -1
  52. package/src/components/buttons/SaveButton.svelte +1 -1
  53. package/src/components/buttons/ShowButton.svelte +1 -1
  54. package/src/components/fields/ArrayField.svelte +1 -1
  55. package/src/components/fields/FileField.svelte +1 -1
  56. package/src/components/fields/JsonField.svelte +1 -1
  57. package/src/components/fields/RelationField.svelte +1 -1
  58. package/src/components/fields/UrlField.svelte +1 -1
  59. package/src/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +1 -1
  60. package/src/components/ui/breadcrumb/breadcrumb-separator.svelte +1 -1
  61. package/src/components/ui/pagination/pagination-ellipsis.svelte +1 -1
  62. package/src/components/ui/pagination/pagination-next.svelte +1 -1
  63. package/src/components/ui/pagination/pagination-previous.svelte +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svadmin/ui",
3
- "version": "0.26.2",
3
+ "version": "0.27.0",
4
4
  "description": "Pre-built admin UI components — AdminApp, AutoTable, AutoForm, Sidebar, Layout",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -16,14 +16,11 @@
16
16
  "types": "./src/index.ts",
17
17
  "default": "./src/index.ts"
18
18
  },
19
- "./app.css": {
20
- "style": "./src/app.css",
21
- "default": "./src/app.css"
22
- },
19
+ "./app.css": "./src/app.css",
23
20
  "./components/*": "./src/components/*"
24
21
  },
25
22
  "peerDependencies": {
26
- "@svadmin/core": "^0.19.4",
23
+ "@svadmin/core": "^0.19.5",
27
24
  "@tanstack/svelte-query": "^6.0.0",
28
25
  "highlight.js": "^11.11.1",
29
26
  "isomorphic-dompurify": "^3.7.1",
@@ -51,10 +48,9 @@
51
48
  "dependencies": {
52
49
  "@lucide/svelte": "^1.7.0",
53
50
  "@tanstack/svelte-table": "^9.0.0-alpha.10",
54
- "bits-ui": "^2.16.5",
51
+ "bits-ui": "^2.17.1",
55
52
  "clsx": "^2.1.1",
56
53
  "cmdk-sv": "^0.0.19",
57
- "lucide-svelte": "^1.0.1",
58
54
  "sonner-svelte": "^0.3.3",
59
55
  "tailwind-merge": "^3.5.0",
60
56
  "tailwind-variants": "^3.2.2"
@@ -5,7 +5,7 @@
5
5
  import { toggleTheme } from '@svadmin/core';
6
6
  import { Command } from 'cmdk-sv';
7
7
  import * as Dialog from './ui/dialog/index.js';
8
- import { Search, LayoutDashboard, Plus, Sun, FileText, Sparkles, Loader2, Send } from 'lucide-svelte';
8
+ import { Search, LayoutDashboard, Plus, Sun, FileText, Sparkles, Loader2, Send } from '@lucide/svelte';
9
9
  import MarkdownRenderer from './MarkdownRenderer.svelte';
10
10
 
11
11
  let { open = $bindable(false) } = $props<{ open?: boolean }>();
@@ -5,7 +5,7 @@
5
5
  import { getResolvedTheme, getColorTheme } from '@svadmin/core';
6
6
  import * as Card from './ui/card/index.js';
7
7
  import { Badge } from './ui/badge/index.js';
8
- import { Info, Database, Globe, Palette, Layers } from 'lucide-svelte';
8
+ import { Info, Database, Globe, Palette, Layers } from '@lucide/svelte';
9
9
 
10
10
  const resources = getResources();
11
11
  const providerNames = getDataProviderNames();
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Badge } from './ui/badge/index.js';
3
- import { TrendingUp, TrendingDown, AlertTriangle } from 'lucide-svelte';
3
+ import { TrendingUp, TrendingDown, AlertTriangle } from '@lucide/svelte';
4
4
  import TooltipButton from './TooltipButton.svelte';
5
5
 
6
6
  interface Props {
@@ -4,7 +4,7 @@
4
4
  import { getLocale, setLocale, getAvailableLocales } from '@svadmin/core/i18n';
5
5
  import * as Card from './ui/card/index.js';
6
6
  import { Button } from './ui/button/index.js';
7
- import { Sun, Moon, Monitor, Check } from 'lucide-svelte';
7
+ import { Sun, Moon, Monitor, Check } from '@lucide/svelte';
8
8
 
9
9
  // Theme mode
10
10
  const themeOptions = [
@@ -2,7 +2,7 @@
2
2
  import { getAuditLogProvider, t } from '@svadmin/core';
3
3
  import type { AuditEntry } from '@svadmin/core';
4
4
  import * as Sheet from './ui/sheet/index.js';
5
- import { History, Loader2 } from 'lucide-svelte';
5
+ import { History, Loader2 } from '@lucide/svelte';
6
6
 
7
7
  let { open = $bindable(false), resource, recordId } = $props<{
8
8
  open: boolean;
@@ -7,7 +7,7 @@
7
7
  import { Badge } from './ui/badge/index.js';
8
8
  import { Button } from './ui/button/index.js';
9
9
  import { Input } from './ui/input/index.js';
10
- import { Loader2, ChevronLeft, ChevronRight, Search, FileSearch, Eye, X } from 'lucide-svelte';
10
+ import { Loader2, ChevronLeft, ChevronRight, Search, FileSearch, Eye, X } from '@lucide/svelte';
11
11
 
12
12
  const authProvider = getAuthProvider();
13
13
 
@@ -7,7 +7,7 @@
7
7
  import TooltipButton from './TooltipButton.svelte';
8
8
  import * as Card from './ui/card/index.js';
9
9
  import { Badge } from './ui/badge/index.js';
10
- import { Save, ArrowLeft, Loader2, AlertCircle } from 'lucide-svelte';
10
+ import { Save, ArrowLeft, Loader2, AlertCircle } from '@lucide/svelte';
11
11
  import FieldRenderer from './FieldRenderer.svelte';
12
12
  import * as Alert from './ui/alert/index.js';
13
13
  import { Skeleton } from './ui/skeleton/index.js';
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { fade, fly } from 'svelte/transition';
3
- import { Loader2, Check, X, Cloud } from 'lucide-svelte';
3
+ import { Loader2, Check, X, Cloud } from '@lucide/svelte';
4
4
  import { t } from '@svadmin/core/i18n';
5
5
 
6
6
  let {
@@ -32,7 +32,7 @@
32
32
  Plus, Pencil, Trash2,
33
33
  Search, Download, Upload, ChevronDown, ChevronUp, SlidersHorizontal, Filter as FilterIcon,
34
34
  Eye, Copy
35
- } from 'lucide-svelte';
35
+ } from '@lucide/svelte';
36
36
  import ConfirmDialog from './ConfirmDialog.svelte';
37
37
  import TooltipButton from './TooltipButton.svelte';
38
38
  import InlineEdit from './InlineEdit.svelte';
@@ -120,7 +120,18 @@
120
120
  const activeFilters = $derived.by(() => {
121
121
  const result: Filter[] = [...filters];
122
122
  if (searchText.trim() && searchableFields.length > 0) {
123
- result.push({ field: searchableFields[0].key, operator: 'contains', value: searchText });
123
+ if (searchableFields.length === 1) {
124
+ result.push({ field: searchableFields[0].key, operator: 'contains', value: searchText });
125
+ } else {
126
+ result.push({
127
+ operator: 'or',
128
+ value: searchableFields.map(f => ({
129
+ field: f.key,
130
+ operator: 'contains',
131
+ value: searchText
132
+ }))
133
+ } as any);
134
+ }
124
135
  }
125
136
  // Add popover filters
126
137
  for (const [key, value] of Object.entries(filterValues)) {
@@ -6,7 +6,7 @@
6
6
  import { fly, fade, scale } from 'svelte/transition';
7
7
  import { Button } from './ui/button/index.js';
8
8
  import TooltipButton from './TooltipButton.svelte';
9
- import { MessageCircle, X, Minus, Send, Loader2, Bot, Trash2, ShieldCheck, ShieldX, Wrench, LayoutDashboard } from 'lucide-svelte';
9
+ import { MessageCircle, X, Minus, Send, Loader2, Bot, Trash2, ShieldCheck, ShieldX, Wrench, LayoutDashboard } from '@lucide/svelte';
10
10
 
11
11
  interface Props {
12
12
  /** localStorage key for chat history persistence. Set to '' to disable. */
@@ -7,7 +7,7 @@
7
7
  import { Badge } from './ui/badge/index.js';
8
8
  import { Command } from 'cmdk-sv';
9
9
  import { Skeleton } from './ui/skeleton/index.js';
10
- import { ChevronsUpDown, Check, X, Search } from 'lucide-svelte';
10
+ import { ChevronsUpDown, Check, X, Search } from '@lucide/svelte';
11
11
 
12
12
  interface Props {
13
13
  resource: string;
@@ -5,7 +5,7 @@
5
5
  import { toggleTheme } from '@svadmin/core';
6
6
  import { Command } from 'cmdk-sv';
7
7
  import * as Dialog from './ui/dialog/index.js';
8
- import { Search, LayoutDashboard, Plus, Sun, FileText, Bot, Sparkles } from 'lucide-svelte';
8
+ import { Search, LayoutDashboard, Plus, Sun, FileText, Bot, Sparkles } from '@lucide/svelte';
9
9
 
10
10
  interface Props {
11
11
  open?: boolean;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { t } from '@svadmin/core/i18n';
3
- import { AlertTriangle, Copy, CheckCircle } from 'lucide-svelte';
3
+ import { AlertTriangle, Copy, CheckCircle } from '@lucide/svelte';
4
4
  import { Button } from './ui/button/index.js';
5
5
  import TooltipButton from './TooltipButton.svelte';
6
6
  import * as Card from './ui/card/index.js';
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { getChatProvider, getChatContext } from '@svadmin/core';
3
- import { Sparkles, X, ChevronRight, Check, RefreshCcw } from 'lucide-svelte';
3
+ import { Sparkles, X, ChevronRight, Check, RefreshCcw } from '@lucide/svelte';
4
4
  import { fade, slide } from 'svelte/transition';
5
5
  import { Button } from './ui/button/index.js';
6
6
  import MarkdownRenderer from './MarkdownRenderer.svelte';
@@ -10,7 +10,7 @@
10
10
  import { Badge } from './ui/badge/index.js';
11
11
  import { ScrollArea } from './ui/scroll-area/index.js';
12
12
  import { Separator } from './ui/separator/index.js';
13
- import { X, Bug, ChevronDown, ChevronUp, Wand2 } from 'lucide-svelte';
13
+ import { X, Bug, ChevronDown, ChevronUp, Wand2 } from '@lucide/svelte';
14
14
  import InferencerPanel from './InferencerPanel.svelte';
15
15
 
16
16
  let visible = $state(false);
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { fade, scale } from 'svelte/transition';
3
- import { PackageOpen } from 'lucide-svelte';
3
+ import { PackageOpen } from '@lucide/svelte';
4
4
  import { t } from '@svadmin/core';
5
5
 
6
6
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import { AlertTriangle } from 'lucide-svelte';
3
+ import { AlertTriangle } from '@lucide/svelte';
4
4
  import { Button } from './ui/button/index.js';
5
5
  import * as Alert from './ui/alert/index.js';
6
6
  import { t } from '@svadmin/core/i18n';
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { AlertTriangle, RefreshCw } from 'lucide-svelte';
2
+ import { AlertTriangle, RefreshCw } from '@lucide/svelte';
3
3
  import { t } from '@svadmin/core';
4
4
  import { Button } from './ui/button';
5
5
  import * as Alert from './ui/alert/index.js';
@@ -16,7 +16,7 @@
16
16
  import TooltipButton from './TooltipButton.svelte';
17
17
  import ComboboxField from './ComboboxField.svelte';
18
18
  import ArrayField from './fields/ArrayField.svelte';
19
- import { Plus, X } from 'lucide-svelte';
19
+ import { Plus, X } from '@lucide/svelte';
20
20
  import type { Snippet } from 'svelte';
21
21
  import { getRichTextEditor } from '../editor-config.svelte.js';
22
22
 
@@ -7,7 +7,7 @@
7
7
  import { Label } from './ui/label/index.js';
8
8
  import * as Card from './ui/card/index.js';
9
9
  import * as Alert from './ui/alert/index.js';
10
- import { KeyRound, User, ArrowLeft, CheckCircle, Loader2, AlertCircle } from 'lucide-svelte';
10
+ import { KeyRound, User, ArrowLeft, CheckCircle, Loader2, AlertCircle } from '@lucide/svelte';
11
11
 
12
12
  let { title = 'Admin' } = $props<{
13
13
  title?: string;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { Moon, Sun, Search } from 'lucide-svelte';
2
+ import { Moon, Sun, Search } from '@lucide/svelte';
3
3
  import { Button } from './ui/button';
4
4
  import TooltipButton from './TooltipButton.svelte';
5
5
  import { getResolvedTheme, toggleTheme } from '@svadmin/core';
@@ -10,7 +10,7 @@
10
10
  import { Skeleton } from './ui/skeleton/index.js';
11
11
  import { ScrollArea } from './ui/scroll-area/index.js';
12
12
  import { Select } from './ui/select/index.js';
13
- import { Wand2, Copy, Check, RefreshCw, Loader2, AlertCircle } from 'lucide-svelte';
13
+ import { Wand2, Copy, Check, RefreshCw, Loader2, AlertCircle } from '@lucide/svelte';
14
14
 
15
15
  const dataProvider = getDataProvider();
16
16
  const resources = getResources();
@@ -6,7 +6,7 @@
6
6
  import { t } from '@svadmin/core/i18n';
7
7
  import { Skeleton } from './ui/skeleton/index.js';
8
8
  import { Button } from './ui/button/index.js';
9
- import { Loader2 } from 'lucide-svelte';
9
+ import { Loader2 } from '@lucide/svelte';
10
10
  import { intersect } from '../actions.js';
11
11
 
12
12
  interface Props<T extends BaseRecord = BaseRecord> {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { getChatProvider } from '@svadmin/core';
3
- import { Sparkles, RefreshCcw, Loader2 } from 'lucide-svelte';
3
+ import { Sparkles, RefreshCcw, Loader2 } from '@lucide/svelte';
4
4
  import { Button } from './ui/button/index.js';
5
5
  import MarkdownRenderer from './MarkdownRenderer.svelte';
6
6
 
@@ -16,7 +16,7 @@
16
16
  import { Skeleton } from './ui/skeleton/index.js';
17
17
  import { Button } from './ui/button/index.js';
18
18
  import * as Sheet from './ui/sheet/index.js';
19
- import { Menu } from 'lucide-svelte';
19
+ import { Menu } from '@lucide/svelte';
20
20
 
21
21
  let commandOpen = $state(false);
22
22
  let shortcutsOpen = $state(false);
@@ -7,7 +7,7 @@
7
7
  import PageHeader from './PageHeader.svelte';
8
8
  import AutoTable from './AutoTable.svelte';
9
9
  import { Button } from './ui/button/index.js';
10
- import { Plus } from 'lucide-svelte';
10
+ import { Plus } from '@lucide/svelte';
11
11
 
12
12
  interface Props {
13
13
  resourceName: string;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { fade } from 'svelte/transition';
3
- import { Wifi, WifiOff, Loader2 } from 'lucide-svelte';
3
+ import { Wifi, WifiOff, Loader2 } from '@lucide/svelte';
4
4
  import { Badge } from './ui/badge/index.js';
5
5
 
6
6
  let {
@@ -9,7 +9,7 @@
9
9
  import * as Alert from './ui/alert/index.js';
10
10
  import PasswordInput from './PasswordInput.svelte';
11
11
  import { Separator } from './ui/separator/index.js';
12
- import { LogIn, User, Loader2, AlertCircle } from 'lucide-svelte';
12
+ import { LogIn, User, Loader2, AlertCircle } from '@lucide/svelte';
13
13
 
14
14
  /**
15
15
  * Social provider config for the login page.
@@ -3,7 +3,7 @@
3
3
  import * as markedHighlightPkg from "marked-highlight";
4
4
  import * as hljsPkg from "highlight.js";
5
5
  import * as DOMPurifyPkg from "isomorphic-dompurify";
6
- import { Check, Copy } from "lucide-svelte";
6
+ import { Check, Copy } from '@lucide/svelte';
7
7
  import { Button } from "./ui/button/index.js";
8
8
 
9
9
  const Marked = markedPkg.Marked;
@@ -4,7 +4,7 @@
4
4
  import TooltipButton from './TooltipButton.svelte';
5
5
  import { Label } from './ui/label/index.js';
6
6
  import { Progress } from './ui/progress/index.js';
7
- import { Lock, Eye, EyeOff } from 'lucide-svelte';
7
+ import { Lock, Eye, EyeOff } from '@lucide/svelte';
8
8
  import { t } from '@svadmin/core/i18n';
9
9
 
10
10
  interface Props {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { Shield, AlertCircle, Check } from 'lucide-svelte';
2
+ import { Shield, AlertCircle, Check } from '@lucide/svelte';
3
3
  import type { Snippet } from 'svelte';
4
4
  import type { RoleInfo, ResourceInfo, ActionInfo } from '../types.js';
5
5
 
@@ -7,7 +7,7 @@
7
7
  import * as Card from './ui/card/index.js';
8
8
  import * as Alert from './ui/alert/index.js';
9
9
  import PasswordInput from './PasswordInput.svelte';
10
- import { User, Mail, Lock, Loader2, AlertCircle, CheckCircle, Camera } from 'lucide-svelte';
10
+ import { User, Mail, Lock, Loader2, AlertCircle, CheckCircle, Camera } from '@lucide/svelte';
11
11
 
12
12
  const identity = useGetIdentity();
13
13
  const updatePw = useUpdatePassword();
@@ -8,7 +8,7 @@
8
8
  import * as Card from './ui/card/index.js';
9
9
  import * as Alert from './ui/alert/index.js';
10
10
  import PasswordInput from './PasswordInput.svelte';
11
- import { UserPlus, User, Loader2, AlertCircle } from 'lucide-svelte';
11
+ import { UserPlus, User, Loader2, AlertCircle } from '@lucide/svelte';
12
12
 
13
13
  let { title = 'Admin', onSuccess } = $props<{
14
14
  title?: string;
@@ -2,7 +2,7 @@
2
2
  import { t } from '@svadmin/core/i18n';
3
3
  import { navigate } from '@svadmin/core/router';
4
4
  import { currentPath } from '@svadmin/core/router';
5
- import { User, Palette, Info, Shield, FileSearch } from 'lucide-svelte';
5
+ import { User, Palette, Info, Shield, FileSearch } from '@lucide/svelte';
6
6
  import ProfilePage from './ProfilePage.svelte';
7
7
  import AppearanceSettings from './AppearanceSettings.svelte';
8
8
  import AboutSettings from './AboutSettings.svelte';
@@ -15,7 +15,7 @@
15
15
  import {
16
16
  LayoutDashboard, FileText, Users, Settings, Home,
17
17
  ChevronLeft, ChevronRight, ChevronDown, LogOut, Sun, Moon, Palette
18
- } from 'lucide-svelte';
18
+ } from '@lucide/svelte';
19
19
 
20
20
  let { collapsed, identity, title, onToggle, onLogout, menu, routeMode = 'auto' }: {
21
21
  collapsed: boolean;
@@ -7,7 +7,7 @@
7
7
  import {
8
8
  LayoutDashboard, FileText, Users, Settings, Home,
9
9
  ChevronDown, Folder, ExternalLink, type Icon as LucideIcon,
10
- } from 'lucide-svelte';
10
+ } from '@lucide/svelte';
11
11
 
12
12
  let { item, currentPath, collapsed = false, depth = 0 }: {
13
13
  item: MenuItem;
@@ -9,7 +9,7 @@
9
9
  import * as Card from './ui/card/index.js';
10
10
  import { Badge } from './ui/badge/index.js';
11
11
  import { Progress } from './ui/progress/index.js';
12
- import { Save, ArrowLeft, ArrowRight, Check, Loader2 } from 'lucide-svelte';
12
+ import { Save, ArrowLeft, ArrowRight, Check, Loader2 } from '@lucide/svelte';
13
13
  import FieldRenderer from './FieldRenderer.svelte';
14
14
 
15
15
  interface StepDef {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import { Loader2, CheckCircle2, XCircle, Clock, Download, X, ListTodo } from 'lucide-svelte';
3
+ import { Loader2, CheckCircle2, XCircle, Clock, Download, X, ListTodo } from '@lucide/svelte';
4
4
  import { Button } from './ui/button/index.js';
5
5
  import { Badge } from './ui/badge/index.js';
6
6
  import type { BackgroundTask, TaskStatus } from '../types.js';
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import { ChevronsUpDown, Building2, Check } from 'lucide-svelte';
3
+ import { ChevronsUpDown, Building2, Check } from '@lucide/svelte';
4
4
  import { Button } from './ui/button/index.js';
5
5
  import * as DropdownMenu from './ui/dropdown-menu/index.js';
6
6
  import type { Tenant } from '../types.js';
@@ -3,7 +3,7 @@
3
3
  import { Progress } from './ui/progress/index.js';
4
4
  import { t } from '@svadmin/core/i18n';
5
5
  import { slide } from 'svelte/transition';
6
- import { X, Undo2 } from 'lucide-svelte';
6
+ import { X, Undo2 } from '@lucide/svelte';
7
7
 
8
8
  let { message, duration = 5000, onUndo, onTimeout } = $props<{
9
9
  message: string;
@@ -6,7 +6,7 @@
6
6
  import * as Card from './ui/card/index.js';
7
7
  import * as Alert from './ui/alert/index.js';
8
8
  import PasswordInput from './PasswordInput.svelte';
9
- import { ShieldCheck, Loader2, AlertCircle } from 'lucide-svelte';
9
+ import { ShieldCheck, Loader2, AlertCircle } from '@lucide/svelte';
10
10
 
11
11
  let { title = 'Admin' } = $props<{
12
12
  title?: string;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { Mic, MicOff, Loader2 } from 'lucide-svelte';
2
+ import { Mic, MicOff, Loader2 } from '@lucide/svelte';
3
3
  import TooltipButton from './TooltipButton.svelte';
4
4
 
5
5
  // Web Speech API type declarations
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useNavigation, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Copy } from 'lucide-svelte';
4
+ import { Copy } from '@lucide/svelte';
5
5
 
6
6
  let { resource, recordItemId, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useNavigation, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Plus } from 'lucide-svelte';
4
+ import { Plus } from '@lucide/svelte';
5
5
 
6
6
  let { resource, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useDelete, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Trash2 } from 'lucide-svelte';
4
+ import { Trash2 } from '@lucide/svelte';
5
5
 
6
6
  let {
7
7
  resource, recordItemId, hideText = false,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useNavigation, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Pencil } from 'lucide-svelte';
4
+ import { Pencil } from '@lucide/svelte';
5
5
 
6
6
  let { resource, recordItemId, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useExport, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Download } from 'lucide-svelte';
4
+ import { Download } from '@lucide/svelte';
5
5
 
6
6
  let { resource, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useImport, useCan, t, type UseImportOptions } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Upload } from 'lucide-svelte';
4
+ import { Upload } from '@lucide/svelte';
5
5
 
6
6
  let { resource, hideText = false, onFinish, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useNavigation, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { List } from 'lucide-svelte';
4
+ import { List } from '@lucide/svelte';
5
5
 
6
6
  let { resource, hideText = false, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useInvalidate, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { RefreshCw } from 'lucide-svelte';
4
+ import { RefreshCw } from '@lucide/svelte';
5
5
 
6
6
  let { resource, hideText = false, class: className = '' } = $props<{
7
7
  resource: string;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Save, Loader2 } from 'lucide-svelte';
4
+ import { Save, Loader2 } from '@lucide/svelte';
5
5
 
6
6
  let { loading = false, hideText = false, type = 'submit', class: className = '' } = $props<{
7
7
  loading?: boolean;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { useNavigation, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Eye } from 'lucide-svelte';
4
+ import { Eye } from '@lucide/svelte';
5
5
 
6
6
  let { resource, recordItemId, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
7
  resource: string;
@@ -2,7 +2,7 @@
2
2
  import type { FieldDefinition } from '@svadmin/core';
3
3
  import { t } from '@svadmin/core/i18n';
4
4
  import { Button } from '../ui/button/index.js';
5
- import { Plus, Trash2 } from 'lucide-svelte';
5
+ import { Plus, Trash2 } from '@lucide/svelte';
6
6
  import TooltipButton from '../TooltipButton.svelte';
7
7
  import FieldRenderer from '../FieldRenderer.svelte';
8
8
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { Download } from 'lucide-svelte';
2
+ import { Download } from '@lucide/svelte';
3
3
  interface Props { value: string | null | undefined; title?: string }
4
4
  let { value, title }: Props = $props();
5
5
  const fileName = $derived(value ? value.split('/').pop() ?? value : null);
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { t } from '@svadmin/core/i18n';
3
3
  import { Button } from '../ui/button/index.js';
4
- import { Copy, Check, ChevronDown, ChevronRight } from 'lucide-svelte';
4
+ import { Copy, Check, ChevronDown, ChevronRight } from '@lucide/svelte';
5
5
 
6
6
  let { value } = $props<{
7
7
  value: unknown;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { ExternalLink } from 'lucide-svelte';
2
+ import { ExternalLink } from '@lucide/svelte';
3
3
 
4
4
  let { value, resourceName, displayValue } = $props<{
5
5
  value: string | number | null | undefined;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { ExternalLink } from 'lucide-svelte';
2
+ import { ExternalLink } from '@lucide/svelte';
3
3
  interface Props { value: string | null | undefined; label?: string }
4
4
  let { value, label }: Props = $props();
5
5
  const display = $derived(label ?? value ?? '');
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../../../utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
- import { Ellipsis } from 'lucide-svelte';
4
+ import { Ellipsis } from '@lucide/svelte';
5
5
 
6
6
  let { class: className, ...restProps }: HTMLAttributes<HTMLSpanElement> = $props();
7
7
  </script>
@@ -2,7 +2,7 @@
2
2
  import { cn } from '../../../utils.js';
3
3
  import type { Snippet } from 'svelte';
4
4
  import type { HTMLLiAttributes } from 'svelte/elements';
5
- import { ChevronRight } from 'lucide-svelte';
5
+ import { ChevronRight } from '@lucide/svelte';
6
6
 
7
7
  let { class: className, children, ...restProps }: HTMLLiAttributes & { children?: Snippet } = $props();
8
8
  </script>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../../../utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
- import { Ellipsis } from 'lucide-svelte';
4
+ import { Ellipsis } from '@lucide/svelte';
5
5
 
6
6
  let { class: className, ...restProps }: HTMLAttributes<HTMLSpanElement> = $props();
7
7
  </script>
@@ -3,7 +3,7 @@
3
3
  import type { Snippet } from 'svelte';
4
4
  import type { HTMLButtonAttributes } from 'svelte/elements';
5
5
  import { buttonVariants } from '../button/index.js';
6
- import { ChevronRight } from 'lucide-svelte';
6
+ import { ChevronRight } from '@lucide/svelte';
7
7
 
8
8
  let { class: className, children, ...restProps }: HTMLButtonAttributes & { children?: Snippet } = $props();
9
9
  </script>
@@ -3,7 +3,7 @@
3
3
  import type { Snippet } from 'svelte';
4
4
  import type { HTMLButtonAttributes } from 'svelte/elements';
5
5
  import { buttonVariants } from '../button/index.js';
6
- import { ChevronLeft } from 'lucide-svelte';
6
+ import { ChevronLeft } from '@lucide/svelte';
7
7
 
8
8
  let { class: className, children, ...restProps }: HTMLButtonAttributes & { children?: Snippet } = $props();
9
9
  </script>