@svadmin/ui 0.36.0 → 0.38.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 (49) hide show
  1. package/dist/app.css +76 -104
  2. package/dist/components/AdminApp.svelte +18 -14
  3. package/dist/components/AutoForm.svelte +32 -47
  4. package/dist/components/AutoTable.svelte +26 -31
  5. package/dist/components/CanAccess.svelte +3 -2
  6. package/dist/components/CanAccess.svelte.d.ts +1 -0
  7. package/dist/components/CreateInferencer.svelte +13 -0
  8. package/dist/components/CreateInferencer.svelte.d.ts +7 -0
  9. package/dist/components/EditInferencer.svelte +21 -0
  10. package/dist/components/EditInferencer.svelte.d.ts +9 -0
  11. package/dist/components/Header.svelte +6 -6
  12. package/dist/components/Layout.svelte +21 -11
  13. package/dist/components/ListInferencer.svelte +14 -0
  14. package/dist/components/ListInferencer.svelte.d.ts +7 -0
  15. package/dist/components/PageHeader.svelte +7 -9
  16. package/dist/components/ResourceInferencer.svelte +28 -0
  17. package/dist/components/ResourceInferencer.svelte.d.ts +7 -0
  18. package/dist/components/ResourceOperationsPage.svelte +168 -21
  19. package/dist/components/ResourceOperationsPage.svelte.d.ts +2 -0
  20. package/dist/components/SettingsPage.svelte +76 -41
  21. package/dist/components/ShowInferencer.svelte +21 -0
  22. package/dist/components/ShowInferencer.svelte.d.ts +9 -0
  23. package/dist/components/ShowPage.svelte +11 -11
  24. package/dist/components/ShowPage.svelte.d.ts +1 -0
  25. package/dist/components/Sidebar.svelte +214 -300
  26. package/dist/components/Sidebar.svelte.d.ts +0 -1
  27. package/dist/components/SidebarItem.svelte +141 -108
  28. package/dist/components/account/TeamMembersPage.svelte +9 -3
  29. package/dist/components/buttons/CloneButton.svelte +10 -2
  30. package/dist/components/buttons/CloneButton.svelte.d.ts +2 -4
  31. package/dist/components/buttons/CreateButton.svelte +9 -2
  32. package/dist/components/buttons/CreateButton.svelte.d.ts +2 -4
  33. package/dist/components/buttons/DeleteButton.svelte +10 -2
  34. package/dist/components/buttons/DeleteButton.svelte.d.ts +2 -4
  35. package/dist/components/buttons/EditButton.svelte +10 -2
  36. package/dist/components/buttons/EditButton.svelte.d.ts +2 -4
  37. package/dist/components/buttons/ExportButton.svelte +9 -2
  38. package/dist/components/buttons/ExportButton.svelte.d.ts +2 -4
  39. package/dist/components/buttons/ImportButton.svelte +9 -2
  40. package/dist/components/buttons/ImportButton.svelte.d.ts +2 -4
  41. package/dist/components/buttons/ShowButton.svelte +10 -2
  42. package/dist/components/buttons/ShowButton.svelte.d.ts +2 -4
  43. package/dist/components/buttons/access-control.d.ts +7 -0
  44. package/dist/components/buttons/access-control.js +5 -0
  45. package/dist/components/ui/sheet/sheet.svelte +3 -3
  46. package/dist/index.d.ts +5 -0
  47. package/dist/index.js +5 -0
  48. package/dist/router-state.svelte.js +15 -0
  49. package/package.json +2 -2
@@ -2,17 +2,25 @@
2
2
  import { useNavigation, useCan, t } from '@svadmin/core';
3
3
  import { Button } from '../ui/button/index.js';
4
4
  import { Eye } from '@lucide/svelte';
5
+ import type { ButtonAccessControl } from './access-control';
6
+ import { withRecordId } from './access-control';
5
7
 
6
8
  let { resource, recordItemId, hideText = false, accessControl = { enabled: true, hideIfUnauthorized: true }, class: className = '' } = $props<{
7
9
  resource: string;
8
10
  recordItemId: string | number;
9
11
  hideText?: boolean;
10
- accessControl?: { enabled?: boolean; hideIfUnauthorized?: boolean };
12
+ accessControl?: ButtonAccessControl;
11
13
  class?: string;
12
14
  }>();
13
15
 
14
16
  const nav = useNavigation();
15
- const can = useCan(() => ({ resource, action: 'show', queryOptions: { enabled: accessControl?.enabled ?? true } }));
17
+ const can = useCan(() => ({
18
+ resource,
19
+ action: 'show',
20
+ params: withRecordId(accessControl?.params, recordItemId),
21
+ meta: accessControl?.meta,
22
+ queryOptions: { enabled: accessControl?.enabled ?? true }
23
+ }));
16
24
  const hidden = $derived(accessControl?.hideIfUnauthorized && !can.allowed);
17
25
  </script>
18
26
 
@@ -1,11 +1,9 @@
1
+ import type { ButtonAccessControl } from './access-control';
1
2
  type $$ComponentProps = {
2
3
  resource: string;
3
4
  recordItemId: string | number;
4
5
  hideText?: boolean;
5
- accessControl?: {
6
- enabled?: boolean;
7
- hideIfUnauthorized?: boolean;
8
- };
6
+ accessControl?: ButtonAccessControl;
9
7
  class?: string;
10
8
  };
11
9
  declare const ShowButton: import("svelte").Component<$$ComponentProps, {}, "">;
@@ -0,0 +1,7 @@
1
+ export interface ButtonAccessControl {
2
+ enabled?: boolean;
3
+ hideIfUnauthorized?: boolean;
4
+ params?: Record<string, unknown>;
5
+ meta?: Record<string, unknown>;
6
+ }
7
+ export declare function withRecordId(params: Record<string, unknown> | undefined, recordItemId: string | number | undefined): Record<string, unknown> | undefined;
@@ -0,0 +1,5 @@
1
+ export function withRecordId(params, recordItemId) {
2
+ return recordItemId === undefined
3
+ ? params
4
+ : { id: recordItemId, ...params };
5
+ }
@@ -54,10 +54,10 @@
54
54
  bind:this={ref}
55
55
  data-slot="sheet"
56
56
  class={cn(
57
- "fixed z-50 flex flex-col gap-4 bg-background p-6 shadow-lg transition-transform",
57
+ "fixed z-50 flex translate-x-0 flex-col gap-4 bg-background p-6 shadow-lg",
58
58
  side === "right"
59
- ? "inset-y-0 right-0 h-full w-3/4 max-w-sm border-l animate-in slide-in-from-right"
60
- : "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r animate-in slide-in-from-left",
59
+ ? "inset-y-0 right-0 h-full w-3/4 max-w-sm border-l"
60
+ : "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r",
61
61
  className
62
62
  )}
63
63
  {...restProps}
package/dist/index.d.ts CHANGED
@@ -28,6 +28,11 @@ export { default as UpdatePasswordPage } from './components/UpdatePasswordPage.s
28
28
  export { default as ProfilePage } from './components/ProfilePage.svelte';
29
29
  export { default as ConfigErrorScreen } from './components/ConfigErrorScreen.svelte';
30
30
  export { default as InferencerPanel } from './components/InferencerPanel.svelte';
31
+ export { default as ListInferencer } from './components/ListInferencer.svelte';
32
+ export { default as CreateInferencer } from './components/CreateInferencer.svelte';
33
+ export { default as EditInferencer } from './components/EditInferencer.svelte';
34
+ export { default as ShowInferencer } from './components/ShowInferencer.svelte';
35
+ export { default as ResourceInferencer } from './components/ResourceInferencer.svelte';
31
36
  export { default as LiveIndicator } from './components/LiveIndicator.svelte';
32
37
  export { default as ListPage } from './components/ListPage.svelte';
33
38
  export { default as CreatePage } from './components/CreatePage.svelte';
package/dist/index.js CHANGED
@@ -31,6 +31,11 @@ export { default as UpdatePasswordPage } from './components/UpdatePasswordPage.s
31
31
  export { default as ProfilePage } from './components/ProfilePage.svelte';
32
32
  export { default as ConfigErrorScreen } from './components/ConfigErrorScreen.svelte';
33
33
  export { default as InferencerPanel } from './components/InferencerPanel.svelte';
34
+ export { default as ListInferencer } from './components/ListInferencer.svelte';
35
+ export { default as CreateInferencer } from './components/CreateInferencer.svelte';
36
+ export { default as EditInferencer } from './components/EditInferencer.svelte';
37
+ export { default as ShowInferencer } from './components/ShowInferencer.svelte';
38
+ export { default as ResourceInferencer } from './components/ResourceInferencer.svelte';
34
39
  export { default as LiveIndicator } from './components/LiveIndicator.svelte';
35
40
  export { default as ListPage } from './components/ListPage.svelte';
36
41
  export { default as CreatePage } from './components/CreatePage.svelte';
@@ -11,25 +11,40 @@ const ROUTES = [
11
11
  '/forgot-password',
12
12
  '/update-password',
13
13
  '/2fa',
14
+ '/authentication/branded/2fa',
14
15
  '/settings',
15
16
  '/settings/:tab',
16
17
  '/',
18
+ '/inventory-dashboard',
17
19
  '/public-profile',
18
20
  '/public-profile/projects/:columns',
19
21
  '/public-profile/activity',
20
22
  '/public-profile/teams',
21
23
  '/public-profile/profiles/:variant',
22
24
  '/account/get-started',
25
+ '/account/home/get-started',
26
+ '/account/home/user-profile',
23
27
  '/account/company-profile',
28
+ '/account/home/company-profile',
24
29
  '/account/settings-plain',
30
+ '/account/home/settings-plain',
25
31
  '/account/settings-sidebar',
32
+ '/account/home/settings-sidebar',
26
33
  '/account/settings-enterprise',
34
+ '/account/home/settings-enterprise',
27
35
  '/account/import-members',
36
+ '/account/members/import-members',
28
37
  '/account/members-starter',
38
+ '/account/members/members-starter',
29
39
  '/account/team-members',
40
+ '/account/members/team-members',
30
41
  '/account/security-log',
42
+ '/account/security/security-log',
43
+ '/account/:tab',
31
44
  '/network/user-cards',
45
+ '/network/user-cards/nft',
32
46
  '/network/team-crew',
47
+ '/network/user-table/team-crew',
33
48
  '/:resource',
34
49
  '/:resource/create',
35
50
  '/:resource/edit/:id',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svadmin/ui",
3
- "version": "0.36.0",
3
+ "version": "0.38.0",
4
4
  "description": "Pre-built admin UI components — AdminApp, AutoTable, AutoForm, Sidebar, Layout",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -33,7 +33,7 @@
33
33
  "./components/*": "./dist/components/*"
34
34
  },
35
35
  "peerDependencies": {
36
- "@svadmin/core": "^0.29.0",
36
+ "@svadmin/core": "^0.31.0",
37
37
  "@tanstack/svelte-query": "^6.1.29",
38
38
  "highlight.js": "^11.11.1",
39
39
  "isomorphic-dompurify": "^3.15.0",