@svadmin/ui 0.68.1 → 0.69.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.
- package/README.md +52 -0
- package/dist/app.css +7627 -853
- package/dist/app.theme.css +7676 -850
- package/dist/components/AboutSettings.svelte +8 -8
- package/dist/components/ActivityFeed.svelte +25 -40
- package/dist/components/AdminApp.svelte +14 -14
- package/dist/components/AnomalyBadge.svelte +6 -5
- package/dist/components/ApiSettings.svelte +8 -8
- package/dist/components/AppearanceSettings.svelte +13 -13
- package/dist/components/ApprovalActionCard.svelte +35 -35
- package/dist/components/AuditLogDrawer.svelte +17 -17
- package/dist/components/AuditLogViewer.svelte +42 -42
- package/dist/components/AuthPageShell.svelte +11 -11
- package/dist/components/AutoForm.svelte +28 -28
- package/dist/components/AutoSaveIndicator.svelte +8 -8
- package/dist/components/AutoTable.svelte +141 -141
- package/dist/components/BatchActionBar.svelte +15 -15
- package/dist/components/Breadcrumbs.svelte +4 -4
- package/dist/components/CancelTaskButton.svelte +2 -2
- package/dist/components/CanvasAnnotation.svelte +27 -27
- package/dist/components/Cascader.svelte +20 -20
- package/dist/components/CatchAllNavigate.svelte +2 -2
- package/dist/components/ColumnHeaderFilter.svelte +21 -21
- package/dist/components/ColumnSettings.svelte +20 -20
- package/dist/components/ComboboxField.svelte +17 -17
- package/dist/components/CommandPalette.svelte +23 -23
- package/dist/components/ConfigErrorScreen.svelte +27 -27
- package/dist/components/ConfirmDialog.svelte +1 -1
- package/dist/components/CreateInferencer.svelte +1 -1
- package/dist/components/CreatePage.svelte +1 -1
- package/dist/components/DecisionTable.svelte +39 -39
- package/dist/components/DetailDrawer.svelte +9 -9
- package/dist/components/DevTools.svelte +96 -96
- package/dist/components/DraggableGrid.svelte +6 -6
- package/dist/components/DraggableHeader.svelte +1 -1
- package/dist/components/DraggableRowTable.svelte +13 -13
- package/dist/components/DrawerForm.svelte +10 -10
- package/dist/components/DynamicFormList.svelte +19 -19
- package/dist/components/EditInferencer.svelte +3 -3
- package/dist/components/EditInferencer.svelte.d.ts +1 -1
- package/dist/components/EditPage.svelte +1 -1
- package/dist/components/EditableTable.svelte +30 -30
- package/dist/components/EmptyState.svelte +6 -6
- package/dist/components/ErrorBoundary.svelte +8 -8
- package/dist/components/ErrorComponent.svelte +5 -5
- package/dist/components/FieldRenderer.svelte +30 -30
- package/dist/components/FilterBuilder.svelte +31 -31
- package/dist/components/FilterDropdown.svelte +26 -26
- package/dist/components/ForgotPasswordPage.svelte +14 -14
- package/dist/components/GanttChart.svelte +30 -30
- package/dist/components/Header.svelte +13 -13
- package/dist/components/ImageCropper.svelte +21 -21
- package/dist/components/ImportWizard.svelte +49 -49
- package/dist/components/InferencerPanel.svelte +35 -35
- package/dist/components/InfiniteList.svelte +8 -8
- package/dist/components/InlineEdit.svelte +5 -5
- package/dist/components/IntegrationsSettings.svelte +5 -5
- package/dist/components/JsonSchemaForm.svelte +18 -18
- package/dist/components/KanbanBoard.svelte +30 -30
- package/dist/components/KeyboardShortcuts.svelte +8 -8
- package/dist/components/Layout.svelte +22 -22
- package/dist/components/LazyPage.svelte +4 -4
- package/dist/components/ListInferencer.svelte +2 -2
- package/dist/components/ListPage.svelte +1 -1
- package/dist/components/LiveIndicator.svelte +11 -11
- package/dist/components/LoginPage.svelte +27 -27
- package/dist/components/MasterDetailView.svelte +24 -24
- package/dist/components/MediaLibraryModal.svelte +37 -37
- package/dist/components/MentionsInput.svelte +11 -11
- package/dist/components/MetricStrip.svelte +18 -58
- package/dist/components/ModalForm.svelte +8 -8
- package/dist/components/MultiTabKeepAlive.svelte +14 -14
- package/dist/components/NavigateToResource.svelte +3 -3
- package/dist/components/NotificationsSettings.svelte +4 -4
- package/dist/components/OfflineSyncBanner.svelte +28 -28
- package/dist/components/PageHeader.svelte +12 -13
- package/dist/components/PageSkeleton.svelte +26 -26
- package/dist/components/PasswordInput.svelte +11 -11
- package/dist/components/PdfDocumentViewer.svelte +45 -45
- package/dist/components/PermissionMatrix.svelte +48 -48
- package/dist/components/PivotTable.svelte +21 -21
- package/dist/components/PresenceAvatarGroup.svelte +11 -11
- package/dist/components/PrintableBill.svelte +43 -43
- package/dist/components/ProfilePage.svelte +34 -34
- package/dist/components/RecordDetailDrawer.svelte +15 -15
- package/dist/components/RegisterPage.svelte +9 -9
- package/dist/components/ResourceInferencer.svelte +3 -3
- package/dist/components/ResourceOperationsPage.svelte +44 -44
- package/dist/components/RetryTaskButton.svelte +2 -2
- package/dist/components/RolesSettings.svelte +4 -4
- package/dist/components/RowActions.svelte +10 -10
- package/dist/components/SecuritySettings.svelte +8 -8
- package/dist/components/SensitiveDataMask.svelte +8 -8
- package/dist/components/SettingsPage.svelte +17 -17
- package/dist/components/ShowInferencer.svelte +3 -3
- package/dist/components/ShowInferencer.svelte.d.ts +1 -1
- package/dist/components/ShowPage.svelte +24 -24
- package/dist/components/Sidebar.svelte +63 -63
- package/dist/components/SidebarItem.svelte +35 -35
- package/dist/components/SignaturePad.svelte +16 -16
- package/dist/components/SplitPaneLayout.svelte +10 -10
- package/dist/components/SpreadsheetView.svelte +35 -35
- package/dist/components/StatsCard.svelte +12 -25
- package/dist/components/StepForm.svelte +23 -23
- package/dist/components/StepsForm.svelte +17 -17
- package/dist/components/SvadminLogo.svelte +1 -1
- package/dist/components/SystemPageShell.svelte +6 -6
- package/dist/components/TableSummary.svelte +8 -8
- package/dist/components/TaskDetails.svelte +29 -29
- package/dist/components/TaskList.svelte +17 -17
- package/dist/components/TaskProgressBar.svelte +4 -4
- package/dist/components/TaskQueueDrawer.svelte +44 -44
- package/dist/components/TaskStatusBadge.svelte +5 -5
- package/dist/components/TenantSwitcher.svelte +17 -17
- package/dist/components/ThemedTitle.svelte +4 -4
- package/dist/components/Toast.svelte +2 -2
- package/dist/components/Transfer.svelte +40 -40
- package/dist/components/TreeSelect.svelte +32 -32
- package/dist/components/TreeTable.svelte +28 -28
- package/dist/components/TwoFactorAuthPage.svelte +15 -15
- package/dist/components/UndoableNotification.svelte +10 -10
- package/dist/components/UpdatePasswordPage.svelte +6 -6
- package/dist/components/VersionDiffViewer.svelte +38 -38
- package/dist/components/VirtualTable.svelte +9 -9
- package/dist/components/Watermark.svelte +2 -2
- package/dist/components/account/CompanyProfilePage.svelte +4 -4
- package/dist/components/account/GetStartedPage.svelte +19 -19
- package/dist/components/account/ImportMembersPage.svelte +42 -42
- package/dist/components/account/MembersStarterPage.svelte +18 -18
- package/dist/components/account/SecurityLogPage.svelte +1 -1
- package/dist/components/account/SettingsEnterprisePage.svelte +7 -7
- package/dist/components/account/SettingsPlainPage.svelte +3 -3
- package/dist/components/account/SettingsSidebarPage.svelte +5 -5
- package/dist/components/account/TeamMembersPage.svelte +2 -2
- package/dist/components/account/UserProfilePage.svelte +3 -3
- package/dist/components/buttons/CloneButton.svelte +2 -2
- package/dist/components/buttons/CreateButton.svelte +2 -2
- package/dist/components/buttons/DeleteButton.svelte +4 -4
- package/dist/components/buttons/EditButton.svelte +2 -2
- package/dist/components/buttons/ExportButton.svelte +2 -2
- package/dist/components/buttons/ImportButton.svelte +3 -3
- package/dist/components/buttons/ListButton.svelte +2 -2
- package/dist/components/buttons/RefreshButton.svelte +2 -2
- package/dist/components/buttons/SaveButton.svelte +3 -3
- package/dist/components/buttons/ShowButton.svelte +2 -2
- package/dist/components/charts/BarChart.svelte +3 -3
- package/dist/components/charts/LineChart.svelte +3 -3
- package/dist/components/charts/PieChart.svelte +7 -7
- package/dist/components/content/ApiKeyList.svelte +12 -12
- package/dist/components/content/AuditTimeline.svelte +18 -18
- package/dist/components/content/ContentPageHeader.svelte +9 -9
- package/dist/components/content/ContentPageShell.svelte +2 -2
- package/dist/components/content/DataState.svelte +8 -8
- package/dist/components/content/DescriptionList.svelte +25 -25
- package/dist/components/content/FeedbackNotice.svelte +11 -11
- package/dist/components/content/FileList.svelte +2 -2
- package/dist/components/content/FilterToolbar.svelte +15 -15
- package/dist/components/content/ImportDropzone.svelte +6 -6
- package/dist/components/content/IntegrationCard.svelte +4 -4
- package/dist/components/content/MediaThumbnail.svelte +16 -16
- package/dist/components/content/MemberList.svelte +2 -2
- package/dist/components/content/MetricBlock.svelte +7 -7
- package/dist/components/content/NetworkTable.svelte +1 -1
- package/dist/components/content/NetworkUserCard.svelte +12 -12
- package/dist/components/content/OtpInput.svelte +2 -2
- package/dist/components/content/PageToolbar.svelte +3 -3
- package/dist/components/content/ProjectCard.svelte +11 -11
- package/dist/components/content/SectionHeader.svelte +5 -5
- package/dist/components/content/SecurityEventTable.svelte +2 -2
- package/dist/components/content/SettingsFieldRow.svelte +5 -5
- package/dist/components/content/SettingsGroup.svelte +7 -7
- package/dist/components/content/StatusBadge.svelte +6 -6
- package/dist/components/content/StatusTabs.svelte +28 -28
- package/dist/components/content/SystemErrorState.svelte +2 -2
- package/dist/components/content/TeamCard.svelte +6 -6
- package/dist/components/content/TwoFactorStepper.svelte +3 -3
- package/dist/components/content/WorkspaceActionBar.svelte +12 -12
- package/dist/components/content/WorkspaceInspector.svelte +11 -11
- package/dist/components/content/WorkspaceLayout.svelte +5 -5
- package/dist/components/content/WorkspaceSplitPane.svelte +4 -4
- package/dist/components/content/WorkspaceStageStepper.svelte +16 -16
- package/dist/components/content/WorkspaceTabBar.svelte +16 -16
- package/dist/components/fields/ArrayField.svelte +12 -12
- package/dist/components/fields/AvatarField.svelte +15 -15
- package/dist/components/fields/BooleanField.svelte +14 -14
- package/dist/components/fields/CodeField.svelte +10 -10
- package/dist/components/fields/CopyField.svelte +6 -6
- package/dist/components/fields/CurrencyField.svelte +6 -6
- package/dist/components/fields/DateField.svelte +1 -1
- package/dist/components/fields/DateRangeField.svelte +2 -2
- package/dist/components/fields/EmailField.svelte +2 -2
- package/dist/components/fields/FileField.svelte +3 -3
- package/dist/components/fields/ImageField.svelte +1 -1
- package/dist/components/fields/JsonField.svelte +11 -11
- package/dist/components/fields/MarkdownField.svelte +2 -2
- package/dist/components/fields/MultiSelectField.svelte +3 -3
- package/dist/components/fields/NumberField.svelte +1 -1
- package/dist/components/fields/PercentField.svelte +9 -9
- package/dist/components/fields/PhoneField.svelte +8 -8
- package/dist/components/fields/RatingField.svelte +10 -10
- package/dist/components/fields/RelationField.svelte +3 -3
- package/dist/components/fields/RichTextField.svelte +4 -4
- package/dist/components/fields/TagField.svelte +11 -11
- package/dist/components/fields/TextField.svelte +2 -2
- package/dist/components/fields/UrlField.svelte +3 -3
- package/dist/components/network/TeamCrewTablePage.svelte +2 -2
- package/dist/components/network/UserCardsNFTPage.svelte +1 -1
- package/dist/components/profile/ActivityTimeline.svelte +8 -8
- package/dist/components/profile/ProfileCard.svelte +47 -47
- package/dist/components/profile/ProfileVariantSections.svelte +158 -158
- package/dist/components/profile/ProjectsGrid.svelte +6 -6
- package/dist/components/profile/PublicProfilePage.svelte +6 -6
- package/dist/components/profile/TeamsShowcase.svelte +3 -3
- package/dist/components/ui/alert/alert-description.svelte +1 -1
- package/dist/components/ui/alert/alert-title.svelte +1 -1
- package/dist/components/ui/alert/alert-variants.d.ts +7 -0
- package/dist/components/ui/alert/alert-variants.js +2 -0
- package/dist/components/ui/alert/alert.svelte +4 -15
- package/dist/components/ui/alert/alert.svelte.d.ts +7 -24
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +2 -2
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +1 -1
- package/dist/components/ui/avatar/avatar-variants.d.ts +7 -0
- package/dist/components/ui/avatar/avatar-variants.js +2 -0
- package/dist/components/ui/avatar/avatar.svelte +11 -20
- package/dist/components/ui/avatar/avatar.svelte.d.ts +12 -28
- package/dist/components/ui/badge/badge-variants.d.ts +7 -0
- package/dist/components/ui/badge/badge-variants.js +2 -0
- package/dist/components/ui/badge/badge.svelte +4 -24
- package/dist/components/ui/badge/badge.svelte.d.ts +7 -45
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +3 -3
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +2 -2
- package/dist/components/ui/button/button-variants.d.ts +9 -0
- package/dist/components/ui/button/button-variants.js +3 -0
- package/dist/components/ui/button/button.svelte +12 -31
- package/dist/components/ui/button/button.svelte.d.ts +9 -61
- package/dist/components/ui/card/card-action.svelte +1 -4
- package/dist/components/ui/card/card-content.svelte +1 -1
- package/dist/components/ui/card/card-description.svelte +1 -1
- package/dist/components/ui/card/card-footer.svelte +1 -1
- package/dist/components/ui/card/card-header.svelte +1 -4
- package/dist/components/ui/card/card-title.svelte +1 -1
- package/dist/components/ui/card/card.svelte +1 -1
- package/dist/components/ui/checkbox/checkbox.svelte +2 -5
- package/dist/components/ui/command/command-dialog.svelte +3 -3
- package/dist/components/ui/command/command-empty.svelte +1 -1
- package/dist/components/ui/command/command-group.svelte +2 -2
- package/dist/components/ui/command/command-input.svelte +1 -4
- package/dist/components/ui/command/command-item.svelte +1 -4
- package/dist/components/ui/command/command-list.svelte +1 -1
- package/dist/components/ui/command/command-separator.svelte +1 -1
- package/dist/components/ui/command/command.svelte +1 -4
- package/dist/components/ui/dialog/dialog-content.svelte +3 -3
- package/dist/components/ui/dialog/dialog-description.svelte +1 -1
- package/dist/components/ui/dialog/dialog-footer.svelte +1 -1
- package/dist/components/ui/dialog/dialog-header.svelte +1 -1
- package/dist/components/ui/dialog/dialog-overlay.svelte +1 -1
- package/dist/components/ui/dialog/dialog-title.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +2 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +1 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +3 -9
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +1 -1
- package/dist/components/ui/input/input.svelte +3 -2
- package/dist/components/ui/label/label.svelte +1 -4
- package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +1 -5
- package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +2 -5
- package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +1 -4
- package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +2 -5
- package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +2 -5
- package/dist/components/ui/navigation-menu/navigation-menu.svelte +1 -1
- package/dist/components/ui/pagination/pagination-content.svelte +1 -1
- package/dist/components/ui/pagination/pagination-ellipsis.svelte +3 -3
- package/dist/components/ui/pagination/pagination-link.svelte +3 -0
- package/dist/components/ui/pagination/pagination-next.svelte +5 -2
- package/dist/components/ui/pagination/pagination-previous.svelte +5 -2
- package/dist/components/ui/pagination/pagination.svelte +1 -1
- package/dist/components/ui/popover/popover-content.svelte +1 -4
- package/dist/components/ui/progress/progress.svelte +2 -2
- package/dist/components/ui/scroll-area/scroll-area.svelte +3 -4
- package/dist/components/ui/select/select.svelte +1 -2
- package/dist/components/ui/separator/separator.svelte +1 -6
- package/dist/components/ui/sheet/sheet-content.svelte +1 -4
- package/dist/components/ui/sheet/sheet-description.svelte +1 -1
- package/dist/components/ui/sheet/sheet-footer.svelte +1 -1
- package/dist/components/ui/sheet/sheet-header.svelte +1 -1
- package/dist/components/ui/sheet/sheet-title.svelte +1 -1
- package/dist/components/ui/sheet/sheet.svelte +5 -10
- package/dist/components/ui/skeleton/skeleton.svelte +1 -1
- package/dist/components/ui/switch/switch.svelte +2 -9
- package/dist/components/ui/table/table-caption.svelte +1 -1
- package/dist/components/ui/table/table-cell.svelte +8 -11
- package/dist/components/ui/table/table-footer.svelte +1 -1
- package/dist/components/ui/table/table-head.svelte +1 -11
- package/dist/components/ui/table/table-header.svelte +1 -1
- package/dist/components/ui/table/table-row.svelte +2 -2
- package/dist/components/ui/table/table-row.svelte.d.ts +1 -1
- package/dist/components/ui/table/table.svelte +2 -2
- package/dist/components/ui/tabs/tabs-content.svelte +1 -1
- package/dist/components/ui/tabs/tabs-list.svelte +1 -4
- package/dist/components/ui/tabs/tabs-trigger.svelte +1 -7
- package/dist/components/ui/tabs/tabs.svelte +1 -1
- package/dist/components/ui/textarea/textarea.svelte +1 -4
- package/dist/components/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/page-chrome.css +228 -0
- package/package.json +12 -7
|
@@ -33,51 +33,51 @@
|
|
|
33
33
|
}: Props = $props();
|
|
34
34
|
|
|
35
35
|
const dotClass: Record<Status, string> = {
|
|
36
|
-
success: '
|
|
37
|
-
warning: '
|
|
38
|
-
danger: '
|
|
39
|
-
info: '
|
|
40
|
-
neutral: '
|
|
36
|
+
success: 'svadmin-u-3355648fe22b svadmin-u-18a6e7a36f29 svadmin-u-76747e5e02ff',
|
|
37
|
+
warning: 'svadmin-u-a486cacb3a15 svadmin-u-2f960aa0c478 svadmin-u-3a4ff758c2ab',
|
|
38
|
+
danger: 'svadmin-u-fb1b0d05046d svadmin-u-9d5d8b4711b4 svadmin-u-811148b13d1e',
|
|
39
|
+
info: 'svadmin-u-75b1bec3ea0e svadmin-u-05f954a846d6 svadmin-u-20aaf08a7ed1',
|
|
40
|
+
neutral: 'svadmin-u-43ed7af3fc8a svadmin-u-18049387f0af svadmin-u-bfa603190748',
|
|
41
41
|
};
|
|
42
42
|
</script>
|
|
43
43
|
|
|
44
|
-
<div class={cn('
|
|
44
|
+
<div class={cn('svadmin-u-3e7ce58d64fa', className)}>
|
|
45
45
|
{#if items.length === 0}
|
|
46
46
|
<DataState state="empty" title={emptyTitle} description={emptyDescription} />
|
|
47
47
|
{:else}
|
|
48
|
-
<div class="
|
|
48
|
+
<div class="svadmin-u-d89972fe17d6 svadmin-u-9079b62ef1cb svadmin-u-b3542e058833 svadmin-u-884dada40b17 svadmin-u-699f6fc4b3e0 svadmin-u-37f34e63818d svadmin-u-f76c7493f919 svadmin-u-8f848a57f066 svadmin-u-3242dfaf010c">
|
|
49
49
|
{#each items as item (item.id)}
|
|
50
50
|
{@const statusTone = item.status ?? 'info'}
|
|
51
|
-
<div class="
|
|
51
|
+
<div class="svadmin-u-d89972fe17d6 svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-44ee8ba0a421 svadmin-u-fc7473ca09eb group">
|
|
52
52
|
<span
|
|
53
53
|
class={cn(
|
|
54
|
-
'
|
|
55
|
-
item.status ? dotClass[statusTone] : '
|
|
54
|
+
'svadmin-u-da4dbfbc4fdc svadmin-u-e9cbeabe7285 svadmin-u-c55dcda26eec svadmin-u-60fbb7713999 svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-ac204c108886 svadmin-u-65935df577ba svadmin-u-e6f9e383a762 svadmin-u-eadef238231e svadmin-u-0b9c5172dd56',
|
|
55
|
+
item.status ? dotClass[statusTone] : 'svadmin-u-18049387f0af svadmin-u-2ef11f1cb219'
|
|
56
56
|
)}
|
|
57
57
|
aria-hidden="true"
|
|
58
58
|
></span>
|
|
59
59
|
|
|
60
|
-
<div class="
|
|
61
|
-
<div class="
|
|
62
|
-
<span class="
|
|
60
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4">
|
|
61
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
|
|
62
|
+
<span class="svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{item.title}</span>
|
|
63
63
|
{#if item.actor}
|
|
64
|
-
<span class="
|
|
64
|
+
<span class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">by {item.actor}</span>
|
|
65
65
|
{/if}
|
|
66
66
|
{#if item.status}
|
|
67
|
-
<StatusBadge status={item.status} label={item.tag ?? item.status} class="
|
|
67
|
+
<StatusBadge status={item.status} label={item.tag ?? item.status} class="svadmin-u-d058ca6de60f svadmin-u-68ecb30dbec6 svadmin-u-11e59c6d5f6b" />
|
|
68
68
|
{:else if item.tag}
|
|
69
|
-
<span class="
|
|
69
|
+
<span class="svadmin-u-52083e7da442 svadmin-u-3960ffc248d9 svadmin-u-07389a777c1f svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-45d828117213 svadmin-u-465609a240a8 svadmin-u-d058ca6de60f svadmin-u-2689f3958069 svadmin-u-bfa603190748 svadmin-u-2ef11f1cb219">
|
|
70
70
|
{item.tag}
|
|
71
71
|
</span>
|
|
72
72
|
{/if}
|
|
73
73
|
</div>
|
|
74
74
|
{#if item.timestamp}
|
|
75
|
-
<time class="
|
|
75
|
+
<time class="svadmin-u-359090c2d529 svadmin-u-3032cae0badb svadmin-u-bfa603190748 svadmin-u-0e65706bcccd">{item.timestamp}</time>
|
|
76
76
|
{/if}
|
|
77
77
|
</div>
|
|
78
78
|
|
|
79
79
|
{#if item.description}
|
|
80
|
-
<p class="
|
|
80
|
+
<p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748 svadmin-u-6b189c6edadb svadmin-u-a2edcb1a3a6b">{item.description}</p>
|
|
81
81
|
{/if}
|
|
82
82
|
</div>
|
|
83
83
|
{/each}
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
let { title, eyebrow, description, breadcrumbs = [], actions, class: className = '' }: Props = $props();
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<header class={'
|
|
14
|
+
<header class={'svadmin-u-6ed543e2fbbb ' + className} data-svadmin-page-header>
|
|
15
15
|
{#if breadcrumbs.length > 0}
|
|
16
|
-
<nav aria-label="Breadcrumb" class="
|
|
16
|
+
<nav aria-label="Breadcrumb" class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4 svadmin-u-359090c2d529 svadmin-u-bfa603190748">
|
|
17
17
|
{#each breadcrumbs as crumb, index (crumb)}
|
|
18
18
|
{#if index > 0}<span aria-hidden="true">/</span>{/if}
|
|
19
|
-
<span class={index === breadcrumbs.length - 1 ? '
|
|
19
|
+
<span class={index === breadcrumbs.length - 1 ? 'svadmin-u-d4108abe6359' : ''}>{crumb}</span>
|
|
20
20
|
{/each}
|
|
21
21
|
</nav>
|
|
22
22
|
{/if}
|
|
23
|
-
<div class="
|
|
24
|
-
<div class="
|
|
25
|
-
{#if eyebrow}<p class="
|
|
26
|
-
<h1 class="
|
|
27
|
-
{#if description}<p class="
|
|
23
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-0c3bc98565dd svadmin-u-020ba687fa12 svadmin-u-64cac80d2e9a svadmin-u-3b9871a0bf93">
|
|
24
|
+
<div class="svadmin-u-7e0b7cdf1a94 svadmin-u-da7c36cd8867">
|
|
25
|
+
{#if eyebrow}<p class="svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-bfa603190748">{eyebrow}</p>{/if}
|
|
26
|
+
<h1 class="svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-e9fadafbd4a2 svadmin-u-d9256981a032 svadmin-u-d4108abe6359">{title}</h1>
|
|
27
|
+
{#if description}<p class="svadmin-u-2cc8041eca99 svadmin-u-fc7473ca09eb svadmin-u-18550d5945ae svadmin-u-bfa603190748">{description}</p>{/if}
|
|
28
28
|
</div>
|
|
29
|
-
{#if actions}<div class="
|
|
29
|
+
{#if actions}<div class="svadmin-u-60fbb7713999 svadmin-u-012fbd121f37 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{@render actions()}</div>{/if}
|
|
30
30
|
</div>
|
|
31
31
|
</header>
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
|
|
27
27
|
const widthClass = $derived(
|
|
28
28
|
width === 'narrow'
|
|
29
|
-
? '
|
|
29
|
+
? 'svadmin-u-fa3f7111e53b'
|
|
30
30
|
: width === 'wide'
|
|
31
31
|
? 'max-w-[92rem]'
|
|
32
32
|
: 'max-w-[74rem]',
|
|
33
33
|
);
|
|
34
34
|
</script>
|
|
35
35
|
|
|
36
|
-
<div data-svadmin-content-page={pageId} class={'
|
|
36
|
+
<div data-svadmin-content-page={pageId} class={'svadmin-u-0e12dc7de920 svadmin-u-6da6a3c3f741 ' + widthClass + ' svadmin-u-b3542e058833 ' + className}>
|
|
37
37
|
{#if title}<ContentPageHeader {title} {eyebrow} {description} {actions} />{/if}
|
|
38
38
|
{@render children()}
|
|
39
39
|
</div>
|
|
@@ -41,20 +41,20 @@
|
|
|
41
41
|
</script>
|
|
42
42
|
|
|
43
43
|
{#if state === 'loading'}
|
|
44
|
-
<div class={'
|
|
45
|
-
<Skeleton class="
|
|
44
|
+
<div class={'svadmin-u-6ed543e2fbbb svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-c07e54fd1439 ' + className} role="status" aria-live="polite" aria-label={resolvedLoadingLabel} aria-busy="true">
|
|
45
|
+
<Skeleton class="svadmin-u-cd0d9c512cdc svadmin-u-84789e8a20cd" /><Skeleton class="svadmin-u-11e59c6d5f6b svadmin-u-6da6a3c3f741 svadmin-u-9794ab45094d" /><Skeleton class="svadmin-u-0a769880db93 svadmin-u-6da6a3c3f741" />
|
|
46
46
|
</div>
|
|
47
47
|
{:else if state === 'error' || state === 'forbidden'}
|
|
48
48
|
<Alert.Root variant={state === 'error' ? 'destructive' : 'warning'} class={className}>
|
|
49
|
-
{#if state === 'error'}<AlertTriangle class="
|
|
49
|
+
{#if state === 'error'}<AlertTriangle class="svadmin-u-f7b5fa971871" aria-hidden="true" />{:else}<LockKeyhole class="svadmin-u-f7b5fa971871" aria-hidden="true" />{/if}
|
|
50
50
|
<Alert.Title>{resolvedTitle}</Alert.Title>
|
|
51
51
|
<Alert.Description>{resolvedDescription}</Alert.Description>
|
|
52
|
-
{#if retry}<Button variant="outline" size="sm" class="
|
|
53
|
-
{#if action}<div class="
|
|
52
|
+
{#if retry}<Button variant="outline" size="sm" class="svadmin-u-eccd13ef4f2f" onclick={retry}><RefreshCw class="svadmin-u-783b0d9d1e2c" aria-hidden="true" />{resolvedRetryLabel}</Button>{/if}
|
|
53
|
+
{#if action}<div class="svadmin-u-eccd13ef4f2f">{@render action()}</div>{/if}
|
|
54
54
|
</Alert.Root>
|
|
55
55
|
{:else}
|
|
56
|
-
<div class={'
|
|
57
|
-
<Inbox class="
|
|
58
|
-
{#if action}<div class="
|
|
56
|
+
<div class={'svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-a29b7a649c77 svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-f92d02360b8f svadmin-u-a1f611f027dd svadmin-u-ca6bf63030aa ' + className} role="status" aria-live="polite">
|
|
57
|
+
<Inbox class="svadmin-u-d8f5213f0fe0 svadmin-u-bfa603190748" aria-hidden="true" /><h3 class="svadmin-u-eccd13ef4f2f svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{resolvedTitle}</h3><p class="svadmin-u-b6b02c0ebef6 svadmin-u-2472e9b81a97 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{resolvedDescription}</p>
|
|
58
|
+
{#if action}<div class="svadmin-u-0ab8667228fd">{@render action()}</div>{/if}
|
|
59
59
|
</div>
|
|
60
60
|
{/if}
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
const columnClass = $derived.by(() => {
|
|
41
41
|
switch (columns) {
|
|
42
42
|
case 4:
|
|
43
|
-
return '
|
|
43
|
+
return 'svadmin-u-d7c8339810d3 svadmin-u-e00ad81645a2 svadmin-u-9a638cfe8212 svadmin-u-4558bce6d8c0';
|
|
44
44
|
case 3:
|
|
45
|
-
return '
|
|
45
|
+
return 'svadmin-u-d7c8339810d3 svadmin-u-e00ad81645a2 svadmin-u-19d9b25e8fae';
|
|
46
46
|
case 2:
|
|
47
|
-
return '
|
|
47
|
+
return 'svadmin-u-d7c8339810d3 svadmin-u-e00ad81645a2';
|
|
48
48
|
default:
|
|
49
49
|
return 'grid-cols-1';
|
|
50
50
|
}
|
|
@@ -52,38 +52,38 @@
|
|
|
52
52
|
</script>
|
|
53
53
|
|
|
54
54
|
{#if bordered}
|
|
55
|
-
<div class={cn('
|
|
56
|
-
<dl class={cn('
|
|
55
|
+
<div class={cn('svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-d4108abe6359', className)}>
|
|
56
|
+
<dl class={cn('svadmin-u-f3c543ad5fe9 svadmin-u-fa6acbf81d74 svadmin-u-d2c3932343f5 svadmin-u-4d9da416df16', columnClass)}>
|
|
57
57
|
{#each items as item, idx (item.label ? `${item.label}-${idx}` : idx)}
|
|
58
58
|
<div
|
|
59
59
|
class={cn(
|
|
60
|
-
'
|
|
61
|
-
isHorizontal ? '
|
|
60
|
+
'svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-65fdbade2025 svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d svadmin-u-b4cf72cd1cd8',
|
|
61
|
+
isHorizontal ? 'svadmin-u-020ba687fa12' : '',
|
|
62
62
|
spanClass(Math.min(item.span ?? 1, columns)),
|
|
63
63
|
)}
|
|
64
64
|
>
|
|
65
65
|
<dt
|
|
66
66
|
class={cn(
|
|
67
|
-
'
|
|
68
|
-
isCompact ? '
|
|
69
|
-
isHorizontal ? '
|
|
67
|
+
'svadmin-u-2859c861d7de svadmin-u-2689f3958069 svadmin-u-bfa603190748 svadmin-u-012fbd121f37 svadmin-u-65fdbade2025 svadmin-u-a968a4123359 svadmin-u-27165ed73e86 svadmin-u-cdf6e054e5e0',
|
|
68
|
+
isCompact ? 'svadmin-u-0e17f2bd9074 svadmin-u-ec0091ee009b svadmin-u-359090c2d529' : 'svadmin-u-f0faeb26d656 svadmin-u-e7ee55ac7ffe svadmin-u-359090c2d529 svadmin-u-e2327d142859',
|
|
69
|
+
isHorizontal ? 'svadmin-u-b03f3c253900' : '',
|
|
70
70
|
)}
|
|
71
71
|
>
|
|
72
72
|
{item.label}
|
|
73
73
|
</dt>
|
|
74
74
|
<dd
|
|
75
75
|
class={cn(
|
|
76
|
-
'
|
|
77
|
-
isCompact ? '
|
|
76
|
+
'svadmin-u-170cee3ff4e4 svadmin-u-2689f3958069 svadmin-u-d4108abe6359 svadmin-u-cd0ad9a56558 svadmin-u-36e579c0b41c svadmin-u-7e0b7cdf1a94',
|
|
77
|
+
isCompact ? 'svadmin-u-0e17f2bd9074 svadmin-u-ec0091ee009b svadmin-u-359090c2d529' : 'svadmin-u-f0faeb26d656 svadmin-u-e7ee55ac7ffe svadmin-u-359090c2d529 svadmin-u-e2327d142859',
|
|
78
78
|
)}
|
|
79
79
|
>
|
|
80
80
|
{#if item.href}
|
|
81
|
-
<a class="
|
|
81
|
+
<a class="svadmin-u-20aaf08a7ed1 svadmin-u-02af9e5da98e svadmin-u-f673f4a7d061" href={item.href}>{String(item.value ?? '—')}</a>
|
|
82
82
|
{:else}
|
|
83
83
|
{item.value != null ? String(item.value) : '—'}
|
|
84
84
|
{/if}
|
|
85
85
|
{#if item.description}
|
|
86
|
-
<p class="
|
|
86
|
+
<p class="svadmin-u-15e1b1f444fe svadmin-u-359090c2d529 svadmin-u-8ecebc9f80e6 svadmin-u-bfa603190748">{item.description}</p>
|
|
87
87
|
{/if}
|
|
88
88
|
</dd>
|
|
89
89
|
</div>
|
|
@@ -93,42 +93,42 @@
|
|
|
93
93
|
{:else}
|
|
94
94
|
<dl
|
|
95
95
|
class={cn(
|
|
96
|
-
'
|
|
96
|
+
'svadmin-u-f3c543ad5fe9',
|
|
97
97
|
columnClass,
|
|
98
|
-
isCompact ? '
|
|
98
|
+
isCompact ? 'svadmin-u-513d5c30bf66 svadmin-u-bcf14a5a5472' : 'svadmin-u-706c16d853e6 svadmin-u-375f36f67650',
|
|
99
99
|
className,
|
|
100
100
|
)}
|
|
101
101
|
>
|
|
102
102
|
{#each items as item, idx (item.label ? `${item.label}-${idx}` : idx)}
|
|
103
103
|
<div
|
|
104
104
|
class={cn(
|
|
105
|
-
'
|
|
106
|
-
isHorizontal ? '
|
|
105
|
+
'svadmin-u-7e0b7cdf1a94',
|
|
106
|
+
isHorizontal ? 'svadmin-u-60fbb7713999 svadmin-u-b7012bb243cc svadmin-u-77a2a20e90d4' : '',
|
|
107
107
|
spanClass(Math.min(item.span ?? 1, columns)),
|
|
108
108
|
)}
|
|
109
109
|
>
|
|
110
110
|
<dt
|
|
111
111
|
class={cn(
|
|
112
|
-
'
|
|
113
|
-
isCompact ? '
|
|
114
|
-
isHorizontal ? '
|
|
112
|
+
'svadmin-u-2689f3958069 svadmin-u-bfa603190748',
|
|
113
|
+
isCompact ? 'svadmin-u-359090c2d529' : 'svadmin-u-359090c2d529',
|
|
114
|
+
isHorizontal ? 'svadmin-u-012fbd121f37 svadmin-u-2e7a6d18a20d' : '',
|
|
115
115
|
)}
|
|
116
116
|
>
|
|
117
117
|
{item.label}
|
|
118
118
|
</dt>
|
|
119
119
|
<dd
|
|
120
120
|
class={cn(
|
|
121
|
-
'
|
|
122
|
-
isHorizontal ? '
|
|
121
|
+
'svadmin-u-170cee3ff4e4 svadmin-u-2689f3958069 svadmin-u-d4108abe6359 svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c',
|
|
122
|
+
isHorizontal ? 'svadmin-u-359090c2d529 svadmin-u-e2327d142859' : isCompact ? 'svadmin-u-15e1b1f444fe svadmin-u-359090c2d529 svadmin-u-e2327d142859' : 'svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb',
|
|
123
123
|
)}
|
|
124
124
|
>
|
|
125
125
|
{#if item.href}
|
|
126
|
-
<a class="
|
|
126
|
+
<a class="svadmin-u-20aaf08a7ed1 svadmin-u-02af9e5da98e svadmin-u-f673f4a7d061" href={item.href}>{String(item.value ?? '—')}</a>
|
|
127
127
|
{:else}
|
|
128
128
|
{item.value != null ? String(item.value) : '—'}
|
|
129
129
|
{/if}
|
|
130
130
|
{#if item.description}
|
|
131
|
-
<p class="
|
|
131
|
+
<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-8ecebc9f80e6 svadmin-u-bfa603190748">{item.description}</p>
|
|
132
132
|
{/if}
|
|
133
133
|
</dd>
|
|
134
134
|
</div>
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
const isBlocking = $derived(priority === 'blocking' || tone === 'danger');
|
|
26
26
|
const toneClass = $derived(
|
|
27
27
|
tone === 'danger'
|
|
28
|
-
? '
|
|
28
|
+
? 'svadmin-u-26e4f7bdbd56 svadmin-u-7a0854fdbc30 svadmin-u-811148b13d1e'
|
|
29
29
|
: tone === 'warning'
|
|
30
|
-
? '
|
|
31
|
-
: '
|
|
30
|
+
? 'svadmin-u-d008dee27eaa svadmin-u-283481e780bb svadmin-u-3a4ff758c2ab'
|
|
31
|
+
: 'svadmin-u-18049387f0af svadmin-u-b00f43c30c2b svadmin-u-d4108abe6359',
|
|
32
32
|
);
|
|
33
33
|
</script>
|
|
34
34
|
|
|
@@ -39,23 +39,23 @@
|
|
|
39
39
|
role={isBlocking ? 'alert' : 'status'}
|
|
40
40
|
aria-live={isBlocking ? 'assertive' : 'polite'}
|
|
41
41
|
class={cn(
|
|
42
|
-
'
|
|
43
|
-
isBlocking && '
|
|
42
|
+
'svadmin-u-60fbb7713999 svadmin-u-6da6a3c3f741 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-0e17f2bd9074 svadmin-u-e7ee55ac7ffe svadmin-u-fc7473ca09eb svadmin-u-020ba687fa12 svadmin-u-9f76a62f4f44',
|
|
43
|
+
isBlocking && 'svadmin-u-f57e7530965b',
|
|
44
44
|
toneClass,
|
|
45
45
|
className,
|
|
46
46
|
)}
|
|
47
47
|
>
|
|
48
|
-
<div class="
|
|
48
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c svadmin-u-60541e1e26f8 svadmin-u-7e9a2a250cc3">
|
|
49
49
|
{#if tone === 'danger'}
|
|
50
|
-
<CircleAlert class="
|
|
50
|
+
<CircleAlert class="svadmin-u-15e1b1f444fe svadmin-u-f7b5fa971871 svadmin-u-012fbd121f37" aria-hidden="true" />
|
|
51
51
|
{:else if tone === 'warning'}
|
|
52
|
-
<TriangleAlert class="
|
|
52
|
+
<TriangleAlert class="svadmin-u-15e1b1f444fe svadmin-u-f7b5fa971871 svadmin-u-012fbd121f37" aria-hidden="true" />
|
|
53
53
|
{:else}
|
|
54
|
-
<Info class="
|
|
54
|
+
<Info class="svadmin-u-15e1b1f444fe svadmin-u-f7b5fa971871 svadmin-u-012fbd121f37 svadmin-u-bfa603190748" aria-hidden="true" />
|
|
55
55
|
{/if}
|
|
56
|
-
<p class="
|
|
56
|
+
<p class="svadmin-u-7e0b7cdf1a94 svadmin-u-7054e2767710">{message}</p>
|
|
57
57
|
</div>
|
|
58
58
|
{#if action}
|
|
59
|
-
<div class="
|
|
59
|
+
<div class="svadmin-u-012fbd121f37">{@render action()}</div>
|
|
60
60
|
{/if}
|
|
61
61
|
</div>
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
{#if resolvedState}
|
|
14
14
|
<DataState state={resolvedState} title={stateTitle ?? emptyTitle} description={stateDescription ?? emptyDescription} {retry} {retryLabel} {loadingLabel} class={className} />
|
|
15
15
|
{:else}
|
|
16
|
-
<div class={'
|
|
16
|
+
<div class={'svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 ' + className}>
|
|
17
17
|
{#each files as file, index (file.id ?? file.name + '-' + index)}
|
|
18
|
-
<div class="
|
|
18
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-1004c0c3954c svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><span class="svadmin-u-60fbb7713999 svadmin-u-665f07fe73cc svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748"><File class="svadmin-u-f7b5fa971871" /></span><div class="svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c"><p class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{file.name}</p><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{file.size ?? file.type ?? (i18n.locale === 'zh-CN' ? '文件' : 'File')}{file.updatedAt ? ' / ' + file.updatedAt : ''}</p></div>{#if ondownload}<Button variant="ghost" size="icon-sm" aria-label={(i18n.locale === 'zh-CN' ? '下载 ' : 'Download ') + file.name} onclick={() => ondownload?.(file)}><Download class="svadmin-u-f7b5fa971871" /></Button>{/if}{#if onremove}<Button variant="ghost" size="icon-sm" aria-label={(i18n.locale === 'zh-CN' ? '移除 ' : 'Remove ') + file.name} onclick={() => onremove?.(file)}><Trash2 class="svadmin-u-f7b5fa971871" /></Button>{/if}</div>
|
|
19
19
|
{/each}
|
|
20
20
|
</div>
|
|
21
21
|
{/if}
|
|
@@ -42,33 +42,33 @@
|
|
|
42
42
|
const advancedPanelId = `svadmin-filter-toolbar-advanced-${uid}`;
|
|
43
43
|
</script>
|
|
44
44
|
|
|
45
|
-
<div class={cn('
|
|
46
|
-
<div class="
|
|
45
|
+
<div class={cn('svadmin-filter-toolbar', className)} data-density={density} data-svadmin-filter-toolbar data-advanced-open={advanced && advancedOpen ? 'true' : 'false'}>
|
|
46
|
+
<div class="svadmin-filter-toolbar__row">
|
|
47
47
|
{#if showSearch}
|
|
48
|
-
<div class="
|
|
49
|
-
<Search class=
|
|
48
|
+
<div class="svadmin-filter-toolbar__search">
|
|
49
|
+
<Search class="svadmin-filter-toolbar__search-icon" aria-hidden="true" />
|
|
50
50
|
<Input
|
|
51
51
|
bind:value={query}
|
|
52
52
|
{placeholder}
|
|
53
|
-
class=
|
|
53
|
+
class="svadmin-filter-toolbar__input"
|
|
54
54
|
aria-label={placeholder}
|
|
55
55
|
/>
|
|
56
56
|
{#if query}
|
|
57
57
|
<Button
|
|
58
58
|
variant="ghost"
|
|
59
59
|
size="icon-xs"
|
|
60
|
-
class="
|
|
60
|
+
class="svadmin-filter-toolbar__clear"
|
|
61
61
|
aria-label={clearLabel}
|
|
62
62
|
title={clearLabel}
|
|
63
63
|
onclick={() => query = ''}
|
|
64
64
|
>
|
|
65
|
-
<X class="
|
|
65
|
+
<X class="svadmin-filter-toolbar__control-icon" aria-hidden="true" />
|
|
66
66
|
</Button>
|
|
67
67
|
{/if}
|
|
68
68
|
</div>
|
|
69
69
|
{/if}
|
|
70
70
|
{#if filters}
|
|
71
|
-
<div class="
|
|
71
|
+
<div class="svadmin-filter-toolbar__filters">
|
|
72
72
|
{@render filters()}
|
|
73
73
|
</div>
|
|
74
74
|
{/if}
|
|
@@ -76,33 +76,33 @@
|
|
|
76
76
|
<Button
|
|
77
77
|
variant={advancedOpen ? 'secondary' : 'outline'}
|
|
78
78
|
size={isCompact ? 'sm' : 'default'}
|
|
79
|
-
class=
|
|
79
|
+
class="svadmin-filter-toolbar__toggle"
|
|
80
80
|
onclick={() => advancedOpen = !advancedOpen}
|
|
81
81
|
aria-expanded={advancedOpen}
|
|
82
82
|
aria-controls={advancedPanelId}
|
|
83
83
|
>
|
|
84
|
-
<SlidersHorizontal class="
|
|
84
|
+
<SlidersHorizontal class="svadmin-filter-toolbar__control-icon" aria-hidden="true" />
|
|
85
85
|
<span>{advancedLabel}</span>
|
|
86
86
|
{#if activeFilterCount > 0}
|
|
87
|
-
<Badge variant="secondary" class="
|
|
87
|
+
<Badge variant="secondary" class="svadmin-filter-toolbar__count">
|
|
88
88
|
{activeFilterCount}
|
|
89
89
|
</Badge>
|
|
90
90
|
{/if}
|
|
91
91
|
{#if advancedOpen}
|
|
92
|
-
<ChevronUp class="
|
|
92
|
+
<ChevronUp class="svadmin-filter-toolbar__chevron" aria-hidden="true" />
|
|
93
93
|
{:else}
|
|
94
|
-
<ChevronDown class="
|
|
94
|
+
<ChevronDown class="svadmin-filter-toolbar__chevron" aria-hidden="true" />
|
|
95
95
|
{/if}
|
|
96
96
|
</Button>
|
|
97
97
|
{/if}
|
|
98
98
|
{#if actions}
|
|
99
|
-
<div class="
|
|
99
|
+
<div class="svadmin-filter-toolbar__actions">
|
|
100
100
|
{@render actions()}
|
|
101
101
|
</div>
|
|
102
102
|
{/if}
|
|
103
103
|
</div>
|
|
104
104
|
{#if advanced && advancedOpen}
|
|
105
|
-
<div id={advancedPanelId} role="region" aria-label={advancedLabel} class="svadmin-filter-toolbar-advanced
|
|
105
|
+
<div id={advancedPanelId} role="region" aria-label={advancedLabel} class="svadmin-filter-toolbar-advanced" aria-hidden="false">
|
|
106
106
|
{@render advanced()}
|
|
107
107
|
</div>
|
|
108
108
|
{/if}
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
if (files?.length) onimport?.(files);
|
|
11
11
|
}
|
|
12
12
|
</script>
|
|
13
|
-
<div class={'
|
|
14
|
-
<UploadCloud class="
|
|
15
|
-
<Input class="
|
|
16
|
-
{#if loading}<p class="
|
|
17
|
-
{#if status}<p class="
|
|
18
|
-
{#if !loading && files?.length}<Button class="
|
|
13
|
+
<div class={'svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-a29b7a649c77 svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-0478c89a150f svadmin-u-ca6bf63030aa ' + className} data-svadmin-import-dropzone>
|
|
14
|
+
<UploadCloud class="svadmin-u-0e12dc7de920 svadmin-u-d8f5213f0fe0 svadmin-u-bfa603190748" /><p class="svadmin-u-eccd13ef4f2f svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">Import records</p><p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-bfa603190748">CSV or spreadsheet files are accepted.</p>
|
|
15
|
+
<Input class="svadmin-u-0e12dc7de920 svadmin-u-0ab8667228fd svadmin-u-2472e9b81a97" type="file" {accept} onchange={choose} disabled={loading} />
|
|
16
|
+
{#if loading}<p class="svadmin-u-eccd13ef4f2f svadmin-u-359090c2d529 svadmin-u-bfa603190748" aria-live="polite">Importing...</p>{/if}
|
|
17
|
+
{#if status}<p class="svadmin-u-eccd13ef4f2f svadmin-u-359090c2d529 svadmin-u-76747e5e02ff" role="status">{status}</p>{/if}
|
|
18
|
+
{#if !loading && files?.length}<Button class="svadmin-u-0ab8667228fd" size="sm" onclick={() => onimport?.(files)}>Import {files.length} file{files.length === 1 ? '' : 's'}</Button>{/if}
|
|
19
19
|
</div>
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
let { integration, onconnect, class: className = '' }: Props = $props();
|
|
9
9
|
</script>
|
|
10
10
|
<Card.Card class={className}>
|
|
11
|
-
<Card.CardContent class="
|
|
12
|
-
<span class="
|
|
13
|
-
<div class="
|
|
14
|
-
{#if onconnect}<Button variant={integration.connected ? 'outline' : 'default'} size="sm" onclick={onconnect}>{integration.connected ? 'Manage' : 'Connect'}{#if !integration.connected}<ExternalLink class="
|
|
11
|
+
<Card.CardContent class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb">
|
|
12
|
+
<span class="svadmin-u-60fbb7713999 svadmin-u-665f07fe73cc svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748"><PlugZap class="svadmin-u-f7b5fa971871" /></span>
|
|
13
|
+
<div class="svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c"><div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4"><h3 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{integration.name}</h3>{#if integration.connected}<Badge variant="outline" class="svadmin-u-18a6e7a36f29 svadmin-u-17a9f7af2265 svadmin-u-76747e5e02ff"><Check class="svadmin-u-ef2d6f74d3d0" />Connected</Badge>{/if}</div><p class="svadmin-u-b6b02c0ebef6 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{integration.description ?? 'Connect this provider to unlock synchronized workflows.'}</p>{#if integration.account}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-bfa603190748">{integration.account}</p>{/if}</div>
|
|
14
|
+
{#if onconnect}<Button variant={integration.connected ? 'outline' : 'default'} size="sm" onclick={onconnect}>{integration.connected ? 'Manage' : 'Connect'}{#if !integration.connected}<ExternalLink class="svadmin-u-783b0d9d1e2c" />{/if}</Button>{/if}
|
|
15
15
|
</Card.CardContent>
|
|
16
16
|
</Card.Card>
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
|| (src && !mimeType && !fileName && !/\.(pdf|docx?|xlsx?|zip|tar|gz|txt|csv|json)$/i.test(src))
|
|
50
50
|
));
|
|
51
51
|
const sizeClasses: Record<MediaThumbnailSize, string> = {
|
|
52
|
-
sm: '
|
|
53
|
-
md: '
|
|
54
|
-
lg: '
|
|
55
|
-
full: '
|
|
52
|
+
sm: 'svadmin-u-acaee62117b1 svadmin-u-0277bd2c2996 svadmin-u-ecf9478d01e6',
|
|
53
|
+
md: 'svadmin-u-3f2a1ff6358f svadmin-u-520bb7118c41 svadmin-u-6da6a3c3f741',
|
|
54
|
+
lg: 'svadmin-u-152267a018a5 svadmin-u-e5738cbd2714 svadmin-u-6da6a3c3f741',
|
|
55
|
+
full: 'svadmin-u-668b21aa5409 svadmin-u-6da6a3c3f741',
|
|
56
56
|
};
|
|
57
57
|
const fitClasses: Record<MediaThumbnailFit, string> = {
|
|
58
58
|
contain: 'object-contain',
|
|
@@ -79,31 +79,31 @@
|
|
|
79
79
|
</script>
|
|
80
80
|
|
|
81
81
|
{#if isImage && src}
|
|
82
|
-
<div class={cn('
|
|
83
|
-
<img {src} alt={alt || title || fileName || 'Thumbnail'} class={cn('
|
|
82
|
+
<div class={cn('svadmin-u-d89972fe17d6 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-2859c861d7de svadmin-u-ceb69a6b0e5f', sizeClasses[size], className)} style:aspect-ratio={aspectRatio} data-slot="media-thumbnail" data-size={size} data-media-state={imageState} aria-busy={imageState === 'loading' || undefined}>
|
|
83
|
+
<img {src} alt={alt || title || fileName || 'Thumbnail'} class={cn('svadmin-u-0214b4b355d1 svadmin-u-a201da4b0d91 svadmin-u-c0980a65a70d svadmin-u-eadef238231e svadmin-u-625a4c3fbeb2', showOverlay && 'svadmin-u-7b9cdafaf68a', fitClasses[fit], imageState !== 'loaded' && 'invisible')} loading="lazy" onload={() => imageState = 'loaded'} onerror={() => imageState = 'error'} />
|
|
84
84
|
|
|
85
85
|
{#if imageState === 'loading'}
|
|
86
|
-
<div class="
|
|
86
|
+
<div class="svadmin-u-da4dbfbc4fdc svadmin-u-7b7df0449b80 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-b00f43c30c2b" role="status" aria-label={loadingLabel}><Loader2 class="svadmin-u-f7b5fa971871 svadmin-u-afbdd13a380e svadmin-u-bfa603190748" aria-hidden="true" /></div>
|
|
87
87
|
{:else if imageState === 'error'}
|
|
88
|
-
<div class="
|
|
88
|
+
<div class="svadmin-u-da4dbfbc4fdc svadmin-u-7b7df0449b80 svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-44ee8ba0a421 svadmin-u-eb6e8b881acd svadmin-u-ca6bf63030aa svadmin-u-359090c2d529 svadmin-u-bfa603190748" role="img" aria-label={errorLabel} data-slot="media-thumbnail-error"><ImageOff class="svadmin-u-add63bc6753d" aria-hidden="true" /><span class="svadmin-u-4bfac3b6a99f svadmin-u-f283ea9bea0e svadmin-u-d058ca6de60f">{errorLabel}</span></div>
|
|
89
89
|
{:else if showOverlay}
|
|
90
90
|
<Dialog.Root bind:open={previewOpen}>
|
|
91
|
-
<button type="button" class="group
|
|
92
|
-
<span class="
|
|
91
|
+
<button type="button" class="group svadmin-u-da4dbfbc4fdc svadmin-u-7b7df0449b80 svadmin-u-3bbc8c13feec svadmin-u-df37b1fd9495 svadmin-u-793c80e97ffb svadmin-u-9c1295a6914a svadmin-u-77923ba6606a" onclick={openMedia} aria-label={alt ? `Preview ${alt}` : overlayText}>
|
|
92
|
+
<span class="svadmin-u-a4326536b8f5 svadmin-u-da4dbfbc4fdc svadmin-u-7b7df0449b80 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-58284b4ea568 svadmin-u-f160abf88b25 svadmin-u-d4108abe6359 svadmin-u-7065497e1ca0 svadmin-u-67d6184a0024 svadmin-u-181f3d6c9821 svadmin-u-bd301bde45ea" aria-hidden="true"><Eye class="svadmin-u-f7b5fa971871" /><span class="svadmin-u-359090c2d529 svadmin-u-e83a7042bc91">{overlayText}</span></span>
|
|
93
93
|
</button>
|
|
94
94
|
{#if !onopen}
|
|
95
|
-
<Dialog.Content class="
|
|
96
|
-
<Dialog.Header class="
|
|
97
|
-
<img {src} alt={alt || title || fileName || 'Media preview'} class="
|
|
95
|
+
<Dialog.Content class="svadmin-u-53eae0624db1 svadmin-u-4a5f0ea04648 svadmin-u-7f19cdf4c5bb svadmin-u-8a539c7fe216 svadmin-u-ad47d17e603c">
|
|
96
|
+
<Dialog.Header class="svadmin-u-2daa8e5e2f2e"><Dialog.Title>{alt || title || fileName || 'Media preview'}</Dialog.Title><Dialog.Description>{alt || title || fileName || 'Expanded media preview'}</Dialog.Description></Dialog.Header>
|
|
97
|
+
<img {src} alt={alt || title || fileName || 'Media preview'} class="svadmin-u-467420585af4 svadmin-u-6da6a3c3f741 svadmin-u-421ac2be5045 svadmin-u-b1104f41444a" />
|
|
98
98
|
</Dialog.Content>
|
|
99
99
|
{/if}
|
|
100
100
|
</Dialog.Root>
|
|
101
101
|
{/if}
|
|
102
102
|
</div>
|
|
103
103
|
{:else if src || fileName}
|
|
104
|
-
<button type="button" class={cn('
|
|
105
|
-
<FileText class="
|
|
104
|
+
<button type="button" class={cn('svadmin-u-52083e7da442 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-967d113a1451 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-2eba0d65d059 svadmin-u-359090c2d529 svadmin-u-d4108abe6359 svadmin-u-ceb69a6b0e5f svadmin-u-f6e31b39b8e4', className)} onclick={openDocument} data-slot="media-thumbnail-document">
|
|
105
|
+
<FileText class="svadmin-u-f7b5fa971871 svadmin-u-012fbd121f37 svadmin-u-bfa603190748" /><span class="svadmin-u-f283ea9bea0e svadmin-u-2689f3958069" title={fileName || alt || title}>{fileName || alt || title || 'Document'}</span>
|
|
106
106
|
</button>
|
|
107
107
|
{:else}
|
|
108
|
-
<span class={cn('
|
|
108
|
+
<span class={cn('svadmin-u-52083e7da442 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421 svadmin-u-359090c2d529 svadmin-u-bfa603190748', className)} data-media-state="empty"><ImageOff class="svadmin-u-783b0d9d1e2c" aria-hidden="true" /><span>{emptyLabel}</span></span>
|
|
109
109
|
{/if}
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
{#if resolvedState}
|
|
17
17
|
<DataState state={resolvedState} title={stateTitle ?? emptyTitle} description={stateDescription ?? emptyDescription} {retry} {retryLabel} {loadingLabel} class={className} />
|
|
18
18
|
{:else}
|
|
19
|
-
<div class={'
|
|
19
|
+
<div class={'svadmin-u-fa6acbf81d74 svadmin-u-e783642739e3 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 ' + className}>
|
|
20
20
|
{#each members as member (member.id)}
|
|
21
|
-
<div class="
|
|
21
|
+
<div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-1004c0c3954c svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12"><Avatar src={member.avatar} alt={member.name} fallback={initials(member.name)} size="sm" /><div class="svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c"><p class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{member.name}</p><p class="svadmin-u-f283ea9bea0e svadmin-u-359090c2d529 svadmin-u-bfa603190748">{member.email ?? member.department ?? i18n.t('profileSections.members')}</p></div>{#if member.role}<span class="svadmin-u-99d72c7fc3e2 svadmin-u-359090c2d529 svadmin-u-bfa603190748 svadmin-u-ee3c1259a368">{member.role}</span>{/if}{#if member.status}<StatusBadge status={member.status} label={member.status} />{/if}{#if onaction}<Button variant="ghost" size="icon-sm" aria-label={i18n.t('common.actions') + ' ' + member.name} onclick={() => onaction?.(member)}><MoreHorizontal class="svadmin-u-f7b5fa971871" /></Button>{/if}</div>
|
|
22
22
|
{/each}
|
|
23
23
|
</div>
|
|
24
24
|
{/if}
|