@svadmin/ui 0.34.8 → 0.34.10

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 (64) hide show
  1. package/dist/component-registry.svelte.js +1 -0
  2. package/dist/components/AICommandBar.svelte +3 -3
  3. package/dist/components/AboutSettings.svelte +2 -2
  4. package/dist/components/AdminApp.svelte +2 -3
  5. package/dist/components/AnomalyBadge.svelte +1 -1
  6. package/dist/components/AppearanceSettings.svelte +5 -6
  7. package/dist/components/AuditLogDrawer.svelte +1 -1
  8. package/dist/components/AuditLogViewer.svelte +1 -1
  9. package/dist/components/AutoForm.svelte +5 -4
  10. package/dist/components/AutoTable.svelte +126 -57
  11. package/dist/components/Breadcrumbs.svelte +1 -0
  12. package/dist/components/ChatDialog.svelte +5 -4
  13. package/dist/components/ComboboxField.svelte +3 -3
  14. package/dist/components/CommandPalette.svelte +3 -3
  15. package/dist/components/CopilotPanel.svelte +2 -2
  16. package/dist/components/CreatePage.svelte +0 -1
  17. package/dist/components/DevTools.svelte +4 -3
  18. package/dist/components/DraggableHeader.svelte +2 -1
  19. package/dist/components/EditPage.svelte +1 -1
  20. package/dist/components/EmptyState.svelte +1 -1
  21. package/dist/components/FieldRenderer.svelte +7 -6
  22. package/dist/components/Header.svelte +1 -0
  23. package/dist/components/InferencerPanel.svelte +4 -3
  24. package/dist/components/InfiniteList.svelte +3 -4
  25. package/dist/components/KeyboardShortcuts.svelte +3 -3
  26. package/dist/components/Layout.svelte +5 -5
  27. package/dist/components/MarkdownRenderer.svelte +3 -5
  28. package/dist/components/ModalForm.svelte +1 -3
  29. package/dist/components/PageSkeleton.svelte +4 -4
  30. package/dist/components/PasswordInput.svelte +1 -2
  31. package/dist/components/PermissionMatrix.svelte +5 -5
  32. package/dist/components/ProfilePage.svelte +1 -1
  33. package/dist/components/RolesSettings.svelte +1 -2
  34. package/dist/components/SettingsPage.svelte +4 -5
  35. package/dist/components/ShowPage.svelte +4 -6
  36. package/dist/components/Sidebar.svelte +12 -11
  37. package/dist/components/SidebarItem.svelte +1 -2
  38. package/dist/components/StepsForm.svelte +1 -1
  39. package/dist/components/TaskList.svelte +1 -1
  40. package/dist/components/TaskQueueDrawer.svelte +2 -1
  41. package/dist/components/TenantSwitcher.svelte +1 -2
  42. package/dist/components/Toast.svelte +1 -0
  43. package/dist/components/TooltipButton.svelte +1 -0
  44. package/dist/components/VirtualTable.svelte +1 -1
  45. package/dist/components/VoiceInput.svelte +1 -0
  46. package/dist/components/buttons/ImportButton.svelte +1 -1
  47. package/dist/components/buttons/ListButton.svelte +1 -1
  48. package/dist/components/charts/BarChart.svelte +1 -1
  49. package/dist/components/charts/LineChart.svelte +3 -3
  50. package/dist/components/charts/PieChart.svelte +2 -2
  51. package/dist/components/fieldComponentMap.js +2 -1
  52. package/dist/components/fields/ArrayField.svelte +1 -1
  53. package/dist/components/fields/MarkdownField.svelte +1 -0
  54. package/dist/components/fields/MultiSelectField.svelte +1 -1
  55. package/dist/components/fields/TagField.svelte +1 -1
  56. package/dist/components/ui/alert/index.js +1 -0
  57. package/dist/components/ui/badge/index.js +1 -0
  58. package/dist/components/ui/button/button.svelte +1 -0
  59. package/dist/components/ui/button/index.js +1 -0
  60. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +1 -0
  61. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +1 -1
  62. package/dist/components/ui/sheet/sheet.svelte +1 -0
  63. package/dist/components/ui/tabs/tabs.svelte +1 -0
  64. package/package.json +13 -13
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ /* eslint-disable no-undef */
2
3
  import { Mic, MicOff, Loader2 } from '@lucide/svelte';
3
4
  import TooltipButton from './TooltipButton.svelte';
4
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { useImport, useCan, t, type UseImportOptions } from '@svadmin/core';
2
+ import { useImport, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
4
  import { Upload } from '@lucide/svelte';
5
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { useNavigation, t } from '@svadmin/core';
2
+ import { useNavigation } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
4
  import { List } from '@lucide/svelte';
5
5
 
@@ -24,7 +24,7 @@
24
24
  <div class="w-full overflow-x-auto {className}">
25
25
  <svg viewBox="0 0 {totalWidth} {height + 30}" class="w-full" style="min-width: {Math.min(totalWidth, 300)}px;">
26
26
  <!-- Bars -->
27
- {#each data as point, i}
27
+ {#each data as point, i (i)}
28
28
  {@const barHeight = (point.value / maxValue) * (height - 20)}
29
29
  {@const x = 20 + i * (barWidth + gap)}
30
30
  {@const y = height - barHeight}
@@ -46,7 +46,7 @@
46
46
  <div class="w-full overflow-x-auto {className}">
47
47
  <svg viewBox="0 0 {chartWidth} {height}" class="w-full" style="min-width: {Math.min(chartWidth, 300)}px;">
48
48
  <!-- Grid lines -->
49
- {#each [0, 0.25, 0.5, 0.75, 1] as ratio}
49
+ {#each [0, 0.25, 0.5, 0.75, 1] as ratio, _i (_i)}
50
50
  {@const y = padding.top + chartHeight * (1 - ratio)}
51
51
  <line
52
52
  x1={padding.left}
@@ -88,7 +88,7 @@
88
88
 
89
89
  <!-- Dots -->
90
90
  {#if showDots}
91
- {#each data as point, i}
91
+ {#each data as point, i (i)}
92
92
  <circle
93
93
  cx={getX(i)}
94
94
  cy={getY(point.value)}
@@ -102,7 +102,7 @@
102
102
  {/if}
103
103
 
104
104
  <!-- X-axis labels -->
105
- {#each data as point, i}
105
+ {#each data as point, i (i)}
106
106
  <text
107
107
  x={getX(i)}
108
108
  y={height - 4}
@@ -59,7 +59,7 @@
59
59
 
60
60
  <div class="inline-flex flex-col items-center gap-3 {className}">
61
61
  <svg viewBox="0 0 {size} {size}" width={size} height={size}>
62
- {#each slices as slice, i}
62
+ {#each slices as slice, i (i)}
63
63
  <path
64
64
  d={getArcPath(slice.startAngle, slice.endAngle, radius, innerRadius)}
65
65
  fill={slice.color}
@@ -84,7 +84,7 @@
84
84
 
85
85
  <!-- Legend -->
86
86
  <div class="flex flex-wrap justify-center gap-x-4 gap-y-1">
87
- {#each slices as slice}
87
+ {#each slices as slice, _i (_i)}
88
88
  <div class="flex items-center gap-1.5 text-xs">
89
89
  <span class="h-2.5 w-2.5 rounded-full" style="background-color: {slice.color};"></span>
90
90
  <span class="text-muted-foreground">{slice.label}</span>
@@ -1,9 +1,10 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  // Shared field type → display component mapping
2
3
  // Used by both ShowPage and FieldRenderer to avoid duplicate if/else chains.
3
4
  // Components are lazily resolved by field type at runtime.
4
5
  // Default display component map (read-only field display)
5
6
  // Dynamically imports components only when first used
6
- const displayCache = new Map();
7
+ const _displayCache = new Map();
7
8
  // Pre-import all field display components (tree-shaken by bundler)
8
9
  import BooleanField from './fields/BooleanField.svelte';
9
10
  import ImageField from './fields/ImageField.svelte';
@@ -59,7 +59,7 @@
59
59
  </div>
60
60
 
61
61
  <div class="space-y-4 pt-2">
62
- {#each arrayVal as item, i}
62
+ {#each arrayVal as item, i (i)}
63
63
  <div class="relative rounded-md border bg-card p-4 pt-6 shadow-sm">
64
64
  <div class="absolute right-2 top-2">
65
65
  <TooltipButton tooltip={t('common.remove') || 'Remove'} variant="ghost" size="icon" class="h-8 w-8 text-muted-foreground hover:text-destructive transition-colors" onclick={() => handleRemove(i)}>
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ /* eslint-disable svelte/no-at-html-tags */
2
3
  import * as DOMPurifyPkg from "isomorphic-dompurify";
3
4
  interface Props { value: string | null | undefined }
4
5
  let { value }: Props = $props();
@@ -11,7 +11,7 @@
11
11
 
12
12
  {#if items.length > 0}
13
13
  <div class="flex flex-wrap gap-1">
14
- {#each items as v}
14
+ {#each items as v, _i (_i)}
15
15
  {@const label = options?.find((o: { label: string; value: string | number }) => o.value === v)?.label ?? String(v)}
16
16
  <Badge variant="secondary" class="font-normal">{label}</Badge>
17
17
  {/each}
@@ -5,7 +5,7 @@
5
5
  const tags = $derived(Array.isArray(value) ? value : value ? [value] : []);
6
6
  </script>
7
7
  <span class="inline-flex flex-wrap gap-1">
8
- {#each tags as tag}
8
+ {#each tags as tag, _i (_i)}
9
9
  <Badge variant="secondary">{tag}</Badge>
10
10
  {/each}
11
11
  {#if tags.length === 0}<span class="text-muted-foreground">—</span>{/if}
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
1
2
  // @ts-nocheck
2
3
  import Alert, { alertVariants } from "./alert.svelte";
3
4
  import AlertTitle from "./alert-title.svelte";
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
1
2
  // @ts-nocheck
2
3
  export { default as Badge } from "./badge.svelte";
3
4
  export { badgeVariants } from "./badge.svelte";
@@ -42,6 +42,7 @@
42
42
  </script>
43
43
 
44
44
  <script lang="ts">
45
+ /* eslint-disable no-useless-assignment, @typescript-eslint/no-explicit-any */
45
46
  let {
46
47
  class: className,
47
48
  variant = "default",
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
1
2
  // @ts-nocheck
2
3
  import Root, { buttonVariants, } from "./button.svelte";
3
4
  export { Root,
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  import { cn, type WithElementRef } from "../../../utils.js";
3
4
  import type { HTMLButtonAttributes } from "svelte/elements";
4
5
  import { getContext } from "svelte";
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { cn, type WithElementRef } from "../../../utils.js";
3
- import type { HTMLAttributes, HTMLButtonAttributes } from "svelte/elements";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
4
 
5
5
  type Props = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
6
6
  open?: boolean;
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ /* eslint-disable svelte/no-unused-svelte-ignore */
2
3
  import { cn, type WithElementRef } from "../../../utils.js";
3
4
  import type { HTMLAttributes } from "svelte/elements";
4
5
 
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ /* eslint-disable no-useless-assignment */
2
3
  import { cn, type WithElementRef } from "../../../utils.js";
3
4
  import type { HTMLAttributes } from "svelte/elements";
4
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svadmin/ui",
3
- "version": "0.34.8",
3
+ "version": "0.34.10",
4
4
  "description": "Pre-built admin UI components — AdminApp, AutoTable, AutoForm, Sidebar, Layout",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -33,11 +33,11 @@
33
33
  "./components/*": "./dist/components/*"
34
34
  },
35
35
  "peerDependencies": {
36
- "@svadmin/core": "^0.25.4",
36
+ "@svadmin/core": "^0.27.1",
37
37
  "@tanstack/svelte-query": "^6.1.29",
38
38
  "highlight.js": "^11.11.1",
39
- "isomorphic-dompurify": "^3.7.1",
40
- "marked": "^17.0.5",
39
+ "isomorphic-dompurify": "^3.15.0",
40
+ "marked": "^18.0.0",
41
41
  "marked-highlight": "^2.2.3",
42
42
  "svelte": "^5.0.0"
43
43
  },
@@ -68,14 +68,14 @@
68
68
  }
69
69
  },
70
70
  "dependencies": {
71
- "@lucide/svelte": "^1.7.0",
72
- "@tanstack/svelte-table": "9.0.0-alpha.45",
73
- "@tanstack/table-core": "9.0.0-alpha.43",
74
- "bits-ui": "^2.17.1",
71
+ "@lucide/svelte": "^1.17.0",
72
+ "@tanstack/svelte-table": "9.0.0-alpha.53",
73
+ "@tanstack/table-core": "9.0.0-alpha.53",
74
+ "bits-ui": "^2.18.1",
75
75
  "clsx": "^2.1.1",
76
76
  "cmdk-sv": "^0.0.19",
77
77
  "sonner-svelte": "^0.3.3",
78
- "tailwind-merge": "^3.5.0",
78
+ "tailwind-merge": "^3.6.0",
79
79
  "tailwind-variants": "^3.2.2"
80
80
  },
81
81
  "license": "MIT",
@@ -90,13 +90,13 @@
90
90
  "url": "https://github.com/zuohuadong/svadmin/issues"
91
91
  },
92
92
  "devDependencies": {
93
- "@happy-dom/global-registrator": "^20.9.0",
94
- "@sveltejs/vite-plugin-svelte": "^7.0.0",
93
+ "@happy-dom/global-registrator": "^20.10.0",
94
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
95
95
  "@testing-library/dom": "^10.4.1",
96
96
  "@testing-library/svelte": "^5.3.1",
97
97
  "@testing-library/user-event": "^14.6.1",
98
- "happy-dom": "^20.9.0",
99
- "vitest": "^4.1.4"
98
+ "happy-dom": "^20.10.0",
99
+ "vitest": "^4.1.8"
100
100
  },
101
101
  "scripts": {
102
102
  "build": "svelte-package -i src -o dist",