@wakastellar/ui 2.4.0 → 3.0.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/dist/blocks/antivirus-dashboard/index.d.ts +44 -0
- package/dist/blocks/clamav-service-status/index.d.ts +35 -0
- package/dist/blocks/file-scan-uploader/index.d.ts +29 -0
- package/dist/blocks/index.d.ts +18 -9
- package/dist/blocks/quarantine-manager/index.d.ts +27 -0
- package/dist/blocks/scan-history-log/index.d.ts +28 -0
- package/dist/blocks/scan-policy-editor/index.d.ts +27 -0
- package/dist/blocks/scan-report-generator/index.d.ts +47 -0
- package/dist/blocks/signature-database-manager/index.d.ts +39 -0
- package/dist/blocks/threat-alert-banner/index.d.ts +26 -0
- package/dist/components/index.d.ts +4 -4
- package/dist/components/waka-signature-pad/index.d.ts +1 -1
- package/dist/exceljs.min-BcLLX0PC.js +29 -0
- package/dist/exceljs.min-KOayaaQ4.mjs +23013 -0
- package/dist/export.cjs.js +1 -1
- package/dist/export.d.ts +2 -2
- package/dist/export.es.js +1 -1
- package/dist/index.cjs.js +136 -136
- package/dist/index.es.js +29978 -27215
- package/dist/stories/Button.stories.d.ts +1 -1
- package/dist/stories/Header.stories.d.ts +1 -1
- package/dist/stories/Page.stories.d.ts +1 -1
- package/dist/useDataTableImport-COVnvslz.js +9 -0
- package/dist/useDataTableImport-DAlxBY8w.mjs +237 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/package.json +4 -4
- package/src/blocks/antivirus-dashboard/AntivirusDashboard.stories.tsx +291 -0
- package/src/blocks/antivirus-dashboard/index.tsx +525 -0
- package/src/blocks/clamav-service-status/ClamAVServiceStatus.stories.tsx +195 -0
- package/src/blocks/clamav-service-status/index.tsx +370 -0
- package/src/blocks/file-scan-uploader/FileScanUploader.stories.tsx +257 -0
- package/src/blocks/file-scan-uploader/index.tsx +311 -0
- package/src/blocks/index.ts +163 -11
- package/src/blocks/quarantine-manager/QuarantineManager.stories.tsx +209 -0
- package/src/blocks/quarantine-manager/index.tsx +435 -0
- package/src/blocks/scan-history-log/ScanHistoryLog.stories.tsx +231 -0
- package/src/blocks/scan-history-log/index.tsx +406 -0
- package/src/blocks/scan-policy-editor/ScanPolicyEditor.stories.tsx +106 -0
- package/src/blocks/scan-policy-editor/index.tsx +418 -0
- package/src/blocks/scan-report-generator/ScanReportGenerator.stories.tsx +232 -0
- package/src/blocks/scan-report-generator/index.tsx +612 -0
- package/src/blocks/sidebar/index.tsx +2 -1
- package/src/blocks/signature-database-manager/SignatureDatabaseManager.stories.tsx +279 -0
- package/src/blocks/signature-database-manager/index.tsx +470 -0
- package/src/blocks/theme-creator-block/index.tsx +16 -2
- package/src/blocks/threat-alert-banner/ThreatAlertBanner.stories.tsx +152 -0
- package/src/blocks/threat-alert-banner/index.tsx +320 -0
- package/src/components/DataTable/DataTable.stories.tsx +203 -0
- package/src/components/DataTable/hooks/useDataTableExport.ts +38 -31
- package/src/components/DataTable/hooks/useDataTableImport.ts +31 -20
- package/src/components/error-boundary/ErrorBoundary.stories.tsx +125 -0
- package/src/components/index.ts +45 -4
- package/src/components/language-selector/LanguageSelector.stories.tsx +112 -0
- package/src/components/theme-selector/ThemeSelector.stories.tsx +77 -0
- package/src/components/toaster/Toaster.stories.tsx +67 -0
- package/src/components/waka-activity-feed/WakaActivityFeed.stories.tsx +116 -0
- package/src/components/waka-ad-banner/WakaAdBanner.stories.tsx +102 -0
- package/src/components/waka-ad-fallback/WakaAdFallback.stories.tsx +117 -0
- package/src/components/waka-ad-inline/WakaAdInline.stories.tsx +105 -0
- package/src/components/waka-ad-interstitial/WakaAdInterstitial.stories.tsx +92 -0
- package/src/components/waka-ad-placeholder/WakaAdPlaceholder.stories.tsx +89 -0
- package/src/components/waka-ad-provider/WakaAdProvider.stories.tsx +110 -0
- package/src/components/waka-ad-sidebar/WakaAdSidebar.stories.tsx +89 -0
- package/src/components/waka-ad-sidebar/index.tsx +3 -2
- package/src/components/waka-ad-sticky-footer/WakaAdStickyFooter.stories.tsx +88 -0
- package/src/components/waka-address-autocomplete/WakaAddressAutocomplete.stories.tsx +46 -0
- package/src/components/waka-admincrumb/WakaAdmincrumb.stories.tsx +166 -0
- package/src/components/waka-alert-panel/WakaAlertPanel.stories.tsx +45 -0
- package/src/components/waka-alert-stack/WakaAlertStack.stories.tsx +62 -0
- package/src/components/waka-allocation-matrix/WakaAllocationMatrix.stories.tsx +68 -0
- package/src/components/waka-approval-chain/WakaApprovalChain.stories.tsx +63 -0
- package/src/components/waka-audit-log/WakaAuditLog.stories.tsx +73 -0
- package/src/components/waka-autocomplete/WakaAutocomplete.stories.tsx +132 -172
- package/src/components/waka-biometric-prompt/WakaBiometricPrompt.stories.tsx +48 -0
- package/src/components/waka-breadcrumb/WakaBreadcrumb.stories.tsx +74 -191
- package/src/components/waka-breadcrumb-path/WakaBreadcrumbPath.stories.tsx +40 -0
- package/src/components/waka-budget-burn/WakaBudgetBurn.stories.tsx +86 -0
- package/src/components/waka-capacity-planner/WakaCapacityPlanner.stories.tsx +273 -0
- package/src/components/waka-cart-summary/WakaCartSummary.stories.tsx +176 -0
- package/src/components/waka-cart-summary/index.tsx +19 -10
- package/src/components/waka-challenge-timer/WakaChallengeTimer.stories.tsx +98 -0
- package/src/components/waka-chat-bubble/WakaChatBubble.stories.tsx +118 -0
- package/src/components/waka-checklist/WakaChecklist.stories.tsx +71 -0
- package/src/components/waka-checkout-stepper/WakaCheckoutStepper.stories.tsx +102 -0
- package/src/components/waka-cohort-table/WakaCohortTable.stories.tsx +56 -0
- package/src/components/waka-color-picker/WakaColorPicker.stories.tsx +99 -155
- package/src/components/waka-combo-counter/WakaComboCounter.stories.tsx +128 -0
- package/src/components/waka-command-bar/WakaCommandBar.stories.tsx +45 -0
- package/src/components/waka-compare-period/WakaComparePeriod.stories.tsx +76 -0
- package/src/components/waka-config-comparator/WakaConfigComparator.stories.tsx +143 -0
- package/src/components/waka-connection-matrix/WakaConnectionMatrix.stories.tsx +52 -0
- package/src/components/waka-content-recommendation/WakaContentRecommendation.stories.tsx +41 -0
- package/src/components/waka-coupon-input/WakaCouponInput.stories.tsx +126 -0
- package/src/components/waka-credit-card-input/WakaCreditCardInput.stories.tsx +120 -0
- package/src/components/waka-datetime-picker.form-integration/WakaDateTimePickerForm.stories.tsx +79 -0
- package/src/components/waka-dependency-tree/WakaDependencyTree.stories.tsx +72 -0
- package/src/components/waka-device-trust/WakaDeviceTrust.stories.tsx +109 -0
- package/src/components/waka-empty-state/WakaEmptyState.stories.tsx +87 -0
- package/src/components/waka-feature-announcement/WakaFeatureAnnouncement.stories.tsx +47 -0
- package/src/components/waka-feature-flag-row/WakaFeatureFlagRow.stories.tsx +188 -0
- package/src/components/waka-file-upload/WakaFileUpload.stories.tsx +118 -174
- package/src/components/waka-floating-nav/WakaFloatingNav.stories.tsx +53 -0
- package/src/components/waka-goal-progress/WakaGoalProgress.stories.tsx +137 -0
- package/src/components/waka-hotspot/WakaHotspot.stories.tsx +56 -0
- package/src/components/waka-invoice-preview/WakaInvoicePreview.stories.tsx +169 -0
- package/src/components/waka-kpi-dashboard/WakaKpiDashboard.stories.tsx +46 -0
- package/src/components/waka-level-progress/WakaLevelProgress.stories.tsx +94 -75
- package/src/components/waka-liquid-button/WakaLiquidButton.stories.tsx +45 -0
- package/src/components/waka-magic-link/WakaMagicLink.stories.tsx +61 -0
- package/src/components/waka-magnetic-button/WakaMagneticButton.stories.tsx +40 -0
- package/src/components/waka-mention-input/WakaMentionInput.stories.tsx +140 -0
- package/src/components/waka-milestone-road/WakaMilestoneRoad.stories.tsx +143 -0
- package/src/components/waka-orbital-menu/WakaOrbitalMenu.stories.tsx +54 -0
- package/src/components/waka-order-tracker/WakaOrderTracker.stories.tsx +163 -0
- package/src/components/waka-outstream-video/WakaOutstreamVideo.stories.tsx +94 -0
- package/src/components/waka-pagination/WakaPagination.stories.tsx +110 -280
- package/src/components/waka-password-strength/WakaPasswordStrength.stories.tsx +132 -268
- package/src/components/waka-payment-method-picker/WakaPaymentMethodPicker.stories.tsx +141 -0
- package/src/components/waka-permission-matrix/WakaPermissionMatrix.stories.tsx +124 -0
- package/src/components/waka-phone-input/WakaPhoneInput.stories.tsx +56 -0
- package/src/components/waka-points-popup/WakaPointsPopup.stories.tsx +96 -0
- package/src/components/waka-power-up/WakaPowerUp.stories.tsx +121 -0
- package/src/components/waka-presence-indicator/WakaPresenceIndicator.stories.tsx +49 -0
- package/src/components/waka-pricing-table/WakaPricingTable.stories.tsx +159 -0
- package/src/components/waka-product-card/WakaProductCard.stories.tsx +202 -0
- package/src/components/waka-progress-onboarding/WakaProgressOnboarding.stories.tsx +57 -0
- package/src/components/waka-pull-to-refresh/WakaPullToRefresh.stories.tsx +51 -0
- package/src/components/waka-rank-badge/WakaRankBadge.stories.tsx +108 -0
- package/src/components/waka-rating-input/WakaRatingInput.stories.tsx +51 -0
- package/src/components/waka-reaction-picker/WakaReactionPicker.stories.tsx +52 -0
- package/src/components/waka-region-map/WakaRegionMap.stories.tsx +181 -0
- package/src/components/waka-resource-pool/WakaResourcePool.stories.tsx +70 -0
- package/src/components/waka-rich-text-editor/WakaRichTextEditor.stories.tsx +108 -197
- package/src/components/waka-rollback-slider/WakaRollbackSlider.stories.tsx +41 -0
- package/src/components/waka-schedule-picker/WakaSchedulePicker.stories.tsx +64 -0
- package/src/components/waka-season-pass/WakaSeasonPass.stories.tsx +107 -0
- package/src/components/waka-security-scan-result/WakaSecurityScanResult.stories.tsx +146 -0
- package/src/components/waka-security-score/WakaSecurityScore.stories.tsx +63 -0
- package/src/components/waka-session-manager/WakaSessionManager.stories.tsx +68 -0
- package/src/components/waka-signature-pad/WakaSignaturePad.stories.tsx +159 -0
- package/src/components/waka-signature-pad/index.tsx +5 -3
- package/src/components/waka-sla-tracker/WakaSlaTracker.stories.tsx +65 -0
- package/src/components/waka-slider-range/WakaSliderRange.stories.tsx +66 -0
- package/src/components/waka-sponsored-badge/WakaSponsoredBadge.stories.tsx +60 -0
- package/src/components/waka-sponsored-card/WakaSponsoredCard.stories.tsx +64 -0
- package/src/components/waka-sponsored-feed/WakaSponsoredFeed.stories.tsx +58 -0
- package/src/components/waka-spotlight/WakaSpotlight.stories.tsx +53 -0
- package/src/components/waka-stats-hexagon/WakaStatsHexagon.stories.tsx +161 -0
- package/src/components/waka-stepper/WakaStepper.stories.tsx +137 -410
- package/src/components/waka-swipe-card/WakaSwipeCard.stories.tsx +51 -0
- package/src/components/waka-tag-input/WakaTagInput.stories.tsx +224 -0
- package/src/components/waka-team-banner/WakaTeamBanner.stories.tsx +50 -0
- package/src/components/waka-theme-creator/WakaThemeCreator.stories.tsx +58 -0
- package/src/components/waka-theme-manager/WakaThemeManager.stories.tsx +298 -0
- package/src/components/waka-theme-manager/index.tsx +6 -11
- package/src/components/waka-thread-view/WakaThreadView.stories.tsx +143 -0
- package/src/components/waka-timeline/WakaTimeline.stories.tsx +171 -324
- package/src/components/waka-tooltip-tour/WakaTooltipTour.stories.tsx +92 -0
- package/src/components/waka-tour-guide/WakaTourGuide.stories.tsx +89 -0
- package/src/components/waka-treemap-chart/WakaTreemapChart.stories.tsx +234 -129
- package/src/components/waka-treemap-chart/index.tsx +2 -2
- package/src/components/waka-two-factor-setup/WakaTwoFactorSetup.stories.tsx +142 -0
- package/src/components/waka-typing-indicator/WakaTypingIndicator.stories.tsx +134 -0
- package/src/components/waka-video-ad/WakaVideoAd.stories.tsx +138 -0
- package/src/components/waka-video-call/WakaVideoCall.stories.tsx +186 -0
- package/src/components/waka-video-overlay/WakaVideoOverlay.stories.tsx +100 -0
- package/src/components/waka-voice-message/WakaVoiceMessage.stories.tsx +190 -0
- package/src/components/waka-welcome-modal/WakaWelcomeModal.stories.tsx +87 -0
- package/src/components/waka-xp-bar/WakaXPBar.stories.tsx +29 -29
- package/dist/useDataTableImport-D8R2HQl6.mjs +0 -229
- package/dist/useDataTableImport-S_hhA5Wo.js +0 -9
- package/src/components/DataTable/README.md +0 -446
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type ServiceHealth = "healthy" | "degraded" | "down";
|
|
2
|
+
export type ScanResult = "clean" | "infected" | "error";
|
|
3
|
+
export type ThreatSeverity = "critical" | "high" | "medium" | "low";
|
|
4
|
+
export interface ScanEntry {
|
|
5
|
+
id: string;
|
|
6
|
+
filename: string;
|
|
7
|
+
result: ScanResult;
|
|
8
|
+
threatName?: string;
|
|
9
|
+
scanDate: Date;
|
|
10
|
+
duration: number;
|
|
11
|
+
fileSize: number;
|
|
12
|
+
userId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ThreatInfo {
|
|
15
|
+
name: string;
|
|
16
|
+
count: number;
|
|
17
|
+
severity: ThreatSeverity;
|
|
18
|
+
}
|
|
19
|
+
export interface WeeklyStat {
|
|
20
|
+
day: string;
|
|
21
|
+
scans: number;
|
|
22
|
+
threats: number;
|
|
23
|
+
}
|
|
24
|
+
export interface AntivirusDashboardProps {
|
|
25
|
+
serviceHealth?: ServiceHealth;
|
|
26
|
+
clamavVersion?: string;
|
|
27
|
+
signatureCount?: number;
|
|
28
|
+
lastSignatureUpdate?: Date;
|
|
29
|
+
scansToday?: number;
|
|
30
|
+
threatsDetected?: number;
|
|
31
|
+
quarantinedFiles?: number;
|
|
32
|
+
detectionRate?: number;
|
|
33
|
+
recentScans?: ScanEntry[];
|
|
34
|
+
weeklyStats?: WeeklyStat[];
|
|
35
|
+
topThreats?: ThreatInfo[];
|
|
36
|
+
onStartScan?: () => void;
|
|
37
|
+
onViewQuarantine?: () => void;
|
|
38
|
+
className?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function AntivirusDashboard({ serviceHealth, clamavVersion, signatureCount, lastSignatureUpdate, scansToday, threatsDetected, quarantinedFiles, detectionRate, recentScans, weeklyStats, topThreats, onStartScan, onViewQuarantine, className, }: AntivirusDashboardProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare const defaultRecentScans: ScanEntry[];
|
|
42
|
+
export declare const defaultWeeklyStats: WeeklyStat[];
|
|
43
|
+
export declare const defaultTopThreats: ThreatInfo[];
|
|
44
|
+
export default AntivirusDashboard;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type DaemonStatus = "running" | "stopped" | "error" | "restarting";
|
|
2
|
+
export type FreshclamStatus = "running" | "stopped" | "error" | "updating";
|
|
3
|
+
export interface ClamAVMetrics {
|
|
4
|
+
cpuUsage: number;
|
|
5
|
+
memoryUsage: number;
|
|
6
|
+
threads: number;
|
|
7
|
+
scanQueue: number;
|
|
8
|
+
activeConnections: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SignatureInfo {
|
|
11
|
+
version: string;
|
|
12
|
+
count: number;
|
|
13
|
+
lastUpdate: Date;
|
|
14
|
+
freshclamStatus: FreshclamStatus;
|
|
15
|
+
nextScheduledUpdate?: Date;
|
|
16
|
+
}
|
|
17
|
+
export interface UptimeEntry {
|
|
18
|
+
hour: string;
|
|
19
|
+
status: "up" | "degraded" | "down";
|
|
20
|
+
}
|
|
21
|
+
export interface ClamAVServiceStatusProps {
|
|
22
|
+
status?: DaemonStatus;
|
|
23
|
+
version?: string;
|
|
24
|
+
uptime?: number;
|
|
25
|
+
metrics?: ClamAVMetrics;
|
|
26
|
+
signatures?: SignatureInfo;
|
|
27
|
+
socketType?: "tcp" | "unix";
|
|
28
|
+
socketPath?: string;
|
|
29
|
+
uptimeHistory?: UptimeEntry[];
|
|
30
|
+
onRestart?: () => void;
|
|
31
|
+
onUpdateSignatures?: () => void;
|
|
32
|
+
onViewLogs?: () => void;
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const ClamAVServiceStatus: ({ status, version, uptime, metrics, signatures, socketType, socketPath, uptimeHistory, onRestart, onUpdateSignatures, onViewLogs, className }: ClamAVServiceStatusProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type FileScanStatus = "pending" | "scanning" | "clean" | "infected" | "error";
|
|
2
|
+
export interface ScannedFile {
|
|
3
|
+
id: string;
|
|
4
|
+
file: {
|
|
5
|
+
name: string;
|
|
6
|
+
size: number;
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
status: FileScanStatus;
|
|
10
|
+
progress: number;
|
|
11
|
+
threatName?: string;
|
|
12
|
+
scanDuration?: number;
|
|
13
|
+
scannedAt?: Date;
|
|
14
|
+
}
|
|
15
|
+
export interface FileScanUploaderProps {
|
|
16
|
+
files?: ScannedFile[];
|
|
17
|
+
maxFileSize?: number;
|
|
18
|
+
acceptedTypes?: string[];
|
|
19
|
+
maxConcurrentScans?: number;
|
|
20
|
+
onFilesAdded?: (files: File[]) => void;
|
|
21
|
+
onScanStart?: (fileId: string) => void;
|
|
22
|
+
onScanComplete?: (fileId: string, result: FileScanStatus, threatName?: string) => void;
|
|
23
|
+
onFileRemove?: (fileId: string) => void;
|
|
24
|
+
onScanAll?: () => void;
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function FileScanUploader({ files, maxFileSize, // 100MB default
|
|
28
|
+
acceptedTypes, maxConcurrentScans, onFilesAdded, onScanStart, onScanComplete, onFileRemove, onScanAll, className, }: FileScanUploaderProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export default FileScanUploader;
|
package/dist/blocks/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ export * from './profile';
|
|
|
18
18
|
export * from './user-management';
|
|
19
19
|
export * from './activity-timeline';
|
|
20
20
|
export * from './calendar-view';
|
|
21
|
-
export
|
|
22
|
-
export
|
|
21
|
+
export { WakaChat, defaultChatUser, defaultChatConversations, defaultChatMessages, WakaChatWidget, useChatWidget, type MessageStatus as ChatBlockMessageStatus, type ChatUser as ChatBlockUser, type ChatMessage, type ChatConversation, type WakaChatProps, type WakaChatWidgetProps, type UseChatWidgetOptions, } from './chat';
|
|
22
|
+
export { WakaEmptyState as BlockEmptyState, NoDataState, NoResultsState, NoMessagesState, NoFilesState, EmptyCartState, NoNotificationsState, ErrorState, type EmptyStateType, type EmptyStateAction as BlockEmptyStateAction, type WakaEmptyStateProps as BlockEmptyStateProps, } from './empty-states';
|
|
23
23
|
export * from './error-pages';
|
|
24
24
|
export * from './faq';
|
|
25
25
|
export { WakaFileManager, defaultFiles, defaultBreadcrumbs as defaultFileManagerBreadcrumbs } from './file-manager';
|
|
@@ -27,23 +27,32 @@ export type { WakaFileManagerProps, FileItem, FileType, BreadcrumbItem as FileMa
|
|
|
27
27
|
export { WakaKanbanBoard, defaultKanbanColumns, defaultKanbanLabels } from './kanban-board';
|
|
28
28
|
export type { WakaKanbanBoardProps, KanbanCardPriority, KanbanCardLabel, KanbanCardAssignee, KanbanCard as KanbanBoardCard, KanbanColumn as KanbanBoardColumn } from './kanban-board';
|
|
29
29
|
export * from './landing';
|
|
30
|
-
export
|
|
30
|
+
export { WakaPricing, defaultPricingPlans, defaultPricingFAQ, type PricingFeature as BlockPricingFeature, type PricingPlan, type PricingFAQ, type WakaPricingProps, } from './pricing';
|
|
31
31
|
export * from './wizard';
|
|
32
32
|
export * from './i18n-editor';
|
|
33
33
|
export * from './dashboard-kpi';
|
|
34
|
-
export
|
|
34
|
+
export { CheckoutFlow, defaultShippingMethods, defaultPaymentMethods, defaultCartItems, type CartItem as CheckoutCartItem, type ShippingMethod, type PaymentMethod, type CheckoutAddress, type CheckoutFlowProps, } from './checkout-flow';
|
|
35
35
|
export * from './player-profile';
|
|
36
|
-
export
|
|
36
|
+
export { Auth2FA, defaultBackupCodes, defaultStatus as defaultAuth2FAStatus, type BackupCode as Auth2FABackupCode, type TwoFactorMethod, type TwoFactorStatus, type Auth2FAProps, } from './auth-2fa';
|
|
37
37
|
export { ChatInterface, defaultUsers as defaultChatInterfaceUsers, defaultConversations as defaultChatInterfaceConversations, defaultMessages as defaultChatInterfaceMessages, } from './chat-interface';
|
|
38
38
|
export type { ChatInterfaceProps, ChatUser as ChatInterfaceUser, ChatMessage as ChatInterfaceMessage, ChatConversation as ChatInterfaceConversation, ChatAttachment as ChatInterfaceAttachment, ChatReaction as ChatInterfaceReaction, } from './chat-interface';
|
|
39
|
-
export
|
|
40
|
-
export { IncidentManager, defaultIncidents, type Incident, type IncidentSeverity, type IncidentStatus, type IncidentResponder, type IncidentEvent, type IncidentManagerProps, } from './incident-manager';
|
|
39
|
+
export { DeploymentDashboard, defaultDeployments, defaultPipelines, defaultEnvironments, type Deployment as BlockDeployment, type DeploymentStatus as BlockDeploymentStatus, type Environment as BlockEnvironment, type PipelineStage as BlockPipelineStage, type Pipeline as DeploymentPipeline, type EnvironmentStatus, type DeploymentDashboardProps, } from './deployment-dashboard';
|
|
40
|
+
export { IncidentManager, defaultIncidents, type Incident as BlockIncident, type IncidentSeverity as BlockIncidentSeverity, type IncidentStatus as BlockIncidentStatus, type IncidentResponder, type IncidentEvent, type IncidentManagerProps, } from './incident-manager';
|
|
41
41
|
export { InfrastructureMap, defaultInfraResources, type InfraResource, type ResourceType as InfraResourceType, type ResourceStatus as InfraResourceStatus, type CloudProvider as InfraCloudProvider, type InfrastructureMapProps, } from './infrastructure-map';
|
|
42
42
|
export { CICDBuilder, defaultPipeline, type Pipeline as CICDPipeline, type PipelineStage as CICDPipelineStage, type PipelineStep, type StepType, type StepStatus, type CICDBuilderProps, } from './cicd-builder';
|
|
43
43
|
export { ReleaseNotes, defaultReleases, type Release, type ReleaseType, type ReleaseStatus, type ChangeItem, type ChangeType, type Contributor, type ReleaseNotesProps, } from './release-notes';
|
|
44
44
|
export { OnCallScheduleBlock, defaultOnCallSchedule, type OnCallSchedule, type OnCallShift, type OnCallUser, type RotationType, type EscalationLevel, type OnCallScheduleBlockProps, } from './on-call-schedule';
|
|
45
|
-
export { CloudCostDashboard, defaultCloudCostSummary, defaultCloudCostItems, defaultCostAnomalies, type CostSummary, type CostItem, type CostAnomaly, type CostCategory, type CloudProvider as CostCloudProvider, type TimeRange as CostTimeRange, type CloudCostDashboardProps, } from './cloud-cost-dashboard';
|
|
45
|
+
export { CloudCostDashboard, defaultCloudCostSummary, defaultCloudCostItems, defaultCostAnomalies, type CostSummary, type CostItem as CloudCostItem, type CostAnomaly, type CostCategory, type CloudProvider as CostCloudProvider, type TimeRange as CostTimeRange, type CloudCostDashboardProps, } from './cloud-cost-dashboard';
|
|
46
46
|
export { GitOpsSyncStatus, defaultGitOpsApplications, type GitOpsApplication, type GitOpsResource, type SyncStatus, type HealthStatus as GitOpsHealthStatus, type ResourceKind, type GitOpsSyncStatusProps, } from './gitops-sync-status';
|
|
47
47
|
export { APMOverview, defaultAPMServices, defaultAPMTransactions, type APMService, type APMTransaction, type ServiceMetrics as APMServiceMetrics, type ServiceEndpoint as APMServiceEndpoint, type ServiceStatus as APMServiceStatus, type TimeRange as APMTimeRange, type APMOverviewProps, } from './apm-overview';
|
|
48
|
-
export { ContainerOrchestrator, defaultOrchestratorServices, type OrchestratorService, type OrchestratorContainer, type ContainerStatus as OrchestratorContainerStatus, type ServiceStatus as OrchestratorServiceStatus, type ContainerResource, type ContainerOrchestratorProps, } from './container-orchestrator';
|
|
48
|
+
export { ContainerOrchestrator, defaultOrchestratorServices, type OrchestratorService, type OrchestratorContainer, type ContainerStatus as OrchestratorContainerStatus, type ServiceStatus as OrchestratorServiceStatus, type ContainerResource as OrchestratorContainerResource, type ContainerOrchestratorProps, } from './container-orchestrator';
|
|
49
49
|
export { DatabaseAdmin, defaultDatabaseInstance, type DatabaseInstance, type DatabaseConnection, type DatabaseBackup, type SlowQuery, type DatabaseMetrics as AdminDatabaseMetrics, type DatabaseStatus as AdminDatabaseStatus, type BackupStatus, type QueryStatus, type DatabaseAdminProps, } from './database-admin';
|
|
50
|
+
export { AntivirusDashboard, defaultRecentScans, defaultWeeklyStats, defaultTopThreats, type ServiceHealth as AVServiceHealth, type ScanResult as AVScanResult, type ThreatSeverity as AVThreatSeverity, type ScanEntry, type ThreatInfo, type WeeklyStat, type AntivirusDashboardProps, } from './antivirus-dashboard';
|
|
51
|
+
export { FileScanUploader, type FileScanStatus, type ScannedFile, type FileScanUploaderProps, } from './file-scan-uploader';
|
|
52
|
+
export { QuarantineManager, type ThreatSeverity as QuarantineThreatSeverity, type QuarantinedFile, type QuarantineManagerProps, } from './quarantine-manager';
|
|
53
|
+
export { ScanHistoryLog, type ScanResult as ScanLogResult, type ScanLogEntry, type ScanHistoryLogProps, } from './scan-history-log';
|
|
54
|
+
export { ClamAVServiceStatus, type DaemonStatus, type FreshclamStatus, type ClamAVMetrics, type SignatureInfo as ClamAVSignatureInfo, type UptimeEntry, type ClamAVServiceStatusProps, } from './clamav-service-status';
|
|
55
|
+
export { SignatureDatabaseManager, type UpdateStatus as SignatureUpdateStatus, type SignatureDatabase, type SignatureUpdate, type FreshclamConfig, type SignatureDatabaseManagerProps, } from './signature-database-manager';
|
|
56
|
+
export { ScanPolicyEditor, defaultScanPolicy, type DetectionAction, type ScanPolicy, type ScanPolicyEditorProps, } from './scan-policy-editor';
|
|
57
|
+
export { ThreatAlertBanner, defaultThreatAlerts, type AlertSeverity as ThreatAlertSeverity, type ThreatAction, type ThreatAlert, type ThreatAlertBannerProps, } from './threat-alert-banner';
|
|
58
|
+
export { ScanReportGenerator, type ReportFormat, type ReportType, type ReportConfig, type ReportPreview, type ScanReportGeneratorProps, } from './scan-report-generator';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type ThreatSeverity = "critical" | "high" | "medium" | "low";
|
|
3
|
+
export interface QuarantinedFile {
|
|
4
|
+
id: string;
|
|
5
|
+
originalName: string;
|
|
6
|
+
originalPath: string;
|
|
7
|
+
threatName: string;
|
|
8
|
+
severity: ThreatSeverity;
|
|
9
|
+
quarantinedAt: Date;
|
|
10
|
+
fileSize: number;
|
|
11
|
+
fileHash: string;
|
|
12
|
+
uploadedBy?: string;
|
|
13
|
+
scanEngine: string;
|
|
14
|
+
signatureVersion: string;
|
|
15
|
+
}
|
|
16
|
+
export interface QuarantineManagerProps {
|
|
17
|
+
files?: QuarantinedFile[];
|
|
18
|
+
totalCount?: number;
|
|
19
|
+
onDelete?: (fileId: string) => void;
|
|
20
|
+
onRestore?: (fileId: string) => void;
|
|
21
|
+
onRescan?: (fileId: string) => void;
|
|
22
|
+
onPurgeAll?: () => void;
|
|
23
|
+
onDownloadReport?: (fileId: string) => void;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const QuarantineManager: React.FC<QuarantineManagerProps>;
|
|
27
|
+
export default QuarantineManager;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type ScanResult = "clean" | "infected" | "error";
|
|
2
|
+
export interface ScanLogEntry {
|
|
3
|
+
id: string;
|
|
4
|
+
filename: string;
|
|
5
|
+
fileSize: number;
|
|
6
|
+
fileHash: string;
|
|
7
|
+
result: ScanResult;
|
|
8
|
+
threatName?: string;
|
|
9
|
+
scanDate: Date;
|
|
10
|
+
duration: number;
|
|
11
|
+
userId: string;
|
|
12
|
+
userName: string;
|
|
13
|
+
engineVersion: string;
|
|
14
|
+
signatureVersion: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ScanHistoryLogProps {
|
|
17
|
+
entries?: ScanLogEntry[];
|
|
18
|
+
totalEntries?: number;
|
|
19
|
+
currentPage?: number;
|
|
20
|
+
pageSize?: number;
|
|
21
|
+
periodFilter?: "today" | "7d" | "30d" | "custom";
|
|
22
|
+
onPageChange?: (page: number) => void;
|
|
23
|
+
onFilterChange?: (filters: Record<string, string>) => void;
|
|
24
|
+
onExport?: () => void;
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function ScanHistoryLog({ entries, totalEntries, currentPage, pageSize, periodFilter, onPageChange, onFilterChange, onExport, className, }: ScanHistoryLogProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export default ScanHistoryLog;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type DetectionAction = "quarantine" | "delete" | "notify_only" | "block_and_notify";
|
|
2
|
+
export interface ScanPolicy {
|
|
3
|
+
autoScanOnUpload: boolean;
|
|
4
|
+
maxFileSize: number;
|
|
5
|
+
maxFileSizeUnit: "MB" | "GB";
|
|
6
|
+
scanTimeout: number;
|
|
7
|
+
maxConcurrentScans: number;
|
|
8
|
+
scanArchives: boolean;
|
|
9
|
+
maxArchiveDepth: number;
|
|
10
|
+
excludedExtensions: string[];
|
|
11
|
+
excludedPaths: string[];
|
|
12
|
+
whitelistedHashes: string[];
|
|
13
|
+
detectionAction: DetectionAction;
|
|
14
|
+
notifyAdmin: boolean;
|
|
15
|
+
notifyUser: boolean;
|
|
16
|
+
auditLog: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface ScanPolicyEditorProps {
|
|
19
|
+
policy?: ScanPolicy;
|
|
20
|
+
isLoading?: boolean;
|
|
21
|
+
onSave?: (policy: ScanPolicy) => void;
|
|
22
|
+
onCancel?: () => void;
|
|
23
|
+
onResetDefaults?: () => void;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const defaultScanPolicy: ScanPolicy;
|
|
27
|
+
export declare function ScanPolicyEditor({ policy, isLoading, onSave, onCancel, onResetDefaults, className, }: ScanPolicyEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type ReportFormat = "pdf" | "csv" | "json";
|
|
2
|
+
export type ReportType = "executive_summary" | "detailed" | "iso27001_compliance" | "hds_audit";
|
|
3
|
+
export interface ReportConfig {
|
|
4
|
+
startDate: Date;
|
|
5
|
+
endDate: Date;
|
|
6
|
+
format: ReportFormat;
|
|
7
|
+
type: ReportType;
|
|
8
|
+
includeSections: {
|
|
9
|
+
generalStats: boolean;
|
|
10
|
+
threatDetails: boolean;
|
|
11
|
+
scannedFiles: boolean;
|
|
12
|
+
actionsTaken: boolean;
|
|
13
|
+
recommendations: boolean;
|
|
14
|
+
};
|
|
15
|
+
recipientEmail?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ReportPreview {
|
|
18
|
+
totalScans: number;
|
|
19
|
+
totalThreats: number;
|
|
20
|
+
detectionRate: number;
|
|
21
|
+
quarantinedFiles: number;
|
|
22
|
+
threatsBySeverity: {
|
|
23
|
+
severity: string;
|
|
24
|
+
count: number;
|
|
25
|
+
}[];
|
|
26
|
+
complianceChecks: {
|
|
27
|
+
name: string;
|
|
28
|
+
passed: boolean;
|
|
29
|
+
details: string;
|
|
30
|
+
}[];
|
|
31
|
+
weeklyTrend: {
|
|
32
|
+
week: string;
|
|
33
|
+
scans: number;
|
|
34
|
+
threats: number;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
export interface ScanReportGeneratorProps {
|
|
38
|
+
config?: Partial<ReportConfig>;
|
|
39
|
+
preview?: ReportPreview;
|
|
40
|
+
isGenerating?: boolean;
|
|
41
|
+
generationProgress?: number;
|
|
42
|
+
onGenerate?: (config: ReportConfig) => void;
|
|
43
|
+
onSchedule?: (config: ReportConfig, frequency: "daily" | "weekly" | "monthly") => void;
|
|
44
|
+
onSendEmail?: (config: ReportConfig, email: string) => void;
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function ScanReportGenerator({ config: initialConfig, preview: initialPreview, isGenerating, generationProgress, onGenerate, onSchedule, onSendEmail, className, }: ScanReportGeneratorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type UpdateStatus = "success" | "failed" | "in_progress" | "scheduled";
|
|
2
|
+
export interface SignatureDatabase {
|
|
3
|
+
name: string;
|
|
4
|
+
version: string;
|
|
5
|
+
signatureCount: number;
|
|
6
|
+
size: number;
|
|
7
|
+
lastUpdated: Date;
|
|
8
|
+
buildTime: Date;
|
|
9
|
+
}
|
|
10
|
+
export interface SignatureUpdate {
|
|
11
|
+
id: string;
|
|
12
|
+
date: Date;
|
|
13
|
+
fromVersion: string;
|
|
14
|
+
toVersion: string;
|
|
15
|
+
newSignatures: number;
|
|
16
|
+
removedSignatures: number;
|
|
17
|
+
duration: number;
|
|
18
|
+
status: UpdateStatus;
|
|
19
|
+
source: string;
|
|
20
|
+
}
|
|
21
|
+
export interface FreshclamConfig {
|
|
22
|
+
updateFrequency: number;
|
|
23
|
+
mirror: string;
|
|
24
|
+
lastCheck: Date;
|
|
25
|
+
checksToday: number;
|
|
26
|
+
proxyEnabled: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface SignatureDatabaseManagerProps {
|
|
29
|
+
databases?: SignatureDatabase[];
|
|
30
|
+
updates?: SignatureUpdate[];
|
|
31
|
+
freshclamConfig?: FreshclamConfig;
|
|
32
|
+
totalSignatures?: number;
|
|
33
|
+
isUpdating?: boolean;
|
|
34
|
+
onUpdateNow?: () => void;
|
|
35
|
+
onScheduleUpdate?: (frequency: number) => void;
|
|
36
|
+
onViewChangelog?: (updateId: string) => void;
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function SignatureDatabaseManager({ databases, updates, freshclamConfig, totalSignatures, isUpdating, onUpdateNow, onScheduleUpdate, onViewChangelog, className, }: SignatureDatabaseManagerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type AlertSeverity = "critical" | "high" | "medium" | "low";
|
|
2
|
+
export type ThreatAction = "quarantined" | "deleted" | "blocked" | "allowed";
|
|
3
|
+
export interface ThreatAlert {
|
|
4
|
+
id: string;
|
|
5
|
+
threatName: string;
|
|
6
|
+
filename: string;
|
|
7
|
+
filePath: string;
|
|
8
|
+
severity: AlertSeverity;
|
|
9
|
+
action: ThreatAction;
|
|
10
|
+
detectedAt: Date;
|
|
11
|
+
userId?: string;
|
|
12
|
+
engineVersion: string;
|
|
13
|
+
dismissed: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ThreatAlertBannerProps {
|
|
16
|
+
alerts?: ThreatAlert[];
|
|
17
|
+
maxVisible?: number;
|
|
18
|
+
autoHideAfter?: number;
|
|
19
|
+
onDismiss?: (alertId: string) => void;
|
|
20
|
+
onDismissAll?: () => void;
|
|
21
|
+
onViewDetails?: (alertId: string) => void;
|
|
22
|
+
onViewQuarantine?: () => void;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const ThreatAlertBanner: ({ alerts, maxVisible, autoHideAfter, onDismiss, onDismissAll, onViewDetails, onViewQuarantine, className, }: ThreatAlertBannerProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
export declare const defaultThreatAlerts: ThreatAlert[];
|
|
@@ -167,10 +167,10 @@ export * from './waka-permission-matrix';
|
|
|
167
167
|
export * from './waka-audit-log';
|
|
168
168
|
export * from './waka-security-score';
|
|
169
169
|
export * from './waka-biometric-prompt';
|
|
170
|
-
export
|
|
170
|
+
export { WakaDeviceTrust, useDeviceTrust, type TrustedDevice, type TrustStatus, type ExpiryPeriod, type DeviceTrustConfig, type DeviceType as DeviceTrustDeviceType, type WakaDeviceTrustProps, type UseDeviceTrustOptions, } from './waka-device-trust';
|
|
171
171
|
export * from './waka-chat-bubble';
|
|
172
172
|
export * from './waka-typing-indicator';
|
|
173
|
-
export
|
|
173
|
+
export { WakaVideoCall, useVideoCall, type Participant as VideoCallParticipant, type ConnectionQuality, type VideoCallLayout, type VideoCallState, type WakaVideoCallProps, type UseVideoCallOptions, } from './waka-video-call';
|
|
174
174
|
export * from './waka-thread-view';
|
|
175
175
|
export * from './waka-reaction-picker';
|
|
176
176
|
export * from './waka-voice-message';
|
|
@@ -178,7 +178,7 @@ export * from './waka-funnel-chart';
|
|
|
178
178
|
export * from './waka-cohort-table';
|
|
179
179
|
export * from './waka-kpi-dashboard';
|
|
180
180
|
export * from './waka-goal-progress';
|
|
181
|
-
export
|
|
181
|
+
export { WakaHeatmap, useHeatmap, type WakaHeatmapProps, type HeatmapCell, type HeatmapData, type HeatmapSelection, type ColorScheme as HeatmapColorScheme, type ColorSchemeType as HeatmapColorSchemeType, type UseHeatmapOptions, type UseHeatmapReturn, } from './waka-heatmap';
|
|
182
182
|
export * from './waka-sankey-diagram';
|
|
183
183
|
export * from './waka-treemap-chart';
|
|
184
184
|
export * from './waka-signature-pad';
|
|
@@ -186,7 +186,7 @@ export * from './waka-address-autocomplete';
|
|
|
186
186
|
export * from './waka-phone-input';
|
|
187
187
|
export * from './waka-credit-card-input';
|
|
188
188
|
export * from './waka-tag-input';
|
|
189
|
-
export
|
|
189
|
+
export { WakaSliderRange, useSliderRange, type WakaSliderRangeProps, type ValueFormat as SliderValueFormat, type UseSliderRangeOptions, type UseSliderRangeReturn, } from './waka-slider-range';
|
|
190
190
|
export * from './waka-rating-input';
|
|
191
191
|
export * from './waka-schedule-picker';
|
|
192
192
|
export * from './waka-tour-guide';
|
|
@@ -63,7 +63,7 @@ export interface UseSignaturePadOptions {
|
|
|
63
63
|
onChange?: (isEmpty: boolean) => void;
|
|
64
64
|
}
|
|
65
65
|
export interface UseSignaturePadReturn {
|
|
66
|
-
canvasRef: React.RefObject<HTMLCanvasElement
|
|
66
|
+
canvasRef: React.RefObject<HTMLCanvasElement>;
|
|
67
67
|
strokes: Stroke[];
|
|
68
68
|
currentStroke: Stroke | null;
|
|
69
69
|
isDrawing: boolean;
|