@wakastellar/ui 2.1.2 → 2.3.2

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 (123) hide show
  1. package/dist/blocks/apm-overview/index.d.ts +58 -0
  2. package/dist/blocks/cicd-builder/index.d.ts +47 -0
  3. package/dist/blocks/cloud-cost-dashboard/index.d.ts +49 -0
  4. package/dist/blocks/container-orchestrator/index.d.ts +63 -0
  5. package/dist/blocks/database-admin/index.d.ts +84 -0
  6. package/dist/blocks/gitops-sync-status/index.d.ts +45 -0
  7. package/dist/blocks/incident-manager/index.d.ts +44 -0
  8. package/dist/blocks/index.d.ts +10 -0
  9. package/dist/blocks/infrastructure-map/index.d.ts +32 -0
  10. package/dist/blocks/on-call-schedule/index.d.ts +43 -0
  11. package/dist/blocks/release-notes/index.d.ts +49 -0
  12. package/dist/components/index.d.ts +34 -0
  13. package/dist/components/waka-ad-banner/index.d.ts +36 -0
  14. package/dist/components/waka-ad-fallback/index.d.ts +33 -0
  15. package/dist/components/waka-ad-inline/index.d.ts +15 -0
  16. package/dist/components/waka-ad-interstitial/index.d.ts +26 -0
  17. package/dist/components/waka-ad-placeholder/index.d.ts +17 -0
  18. package/dist/components/waka-ad-provider/index.d.ts +103 -0
  19. package/dist/components/waka-ad-sidebar/index.d.ts +18 -0
  20. package/dist/components/waka-ad-sticky-footer/index.d.ts +17 -0
  21. package/dist/components/waka-alert-panel/index.d.ts +45 -0
  22. package/dist/components/waka-artifact-list/index.d.ts +32 -0
  23. package/dist/components/waka-build-matrix/index.d.ts +36 -0
  24. package/dist/components/waka-config-comparator/index.d.ts +37 -0
  25. package/dist/components/waka-container-list/index.d.ts +51 -0
  26. package/dist/components/waka-content-recommendation/index.d.ts +23 -0
  27. package/dist/components/waka-database-card/index.d.ts +46 -0
  28. package/dist/components/waka-dependency-tree/index.d.ts +38 -0
  29. package/dist/components/waka-env-var-editor/index.d.ts +30 -0
  30. package/dist/components/waka-feature-flag-row/index.d.ts +45 -0
  31. package/dist/components/waka-kubernetes-overview/index.d.ts +98 -0
  32. package/dist/components/waka-log-viewer/index.d.ts +38 -0
  33. package/dist/components/waka-migration-list/index.d.ts +36 -0
  34. package/dist/components/waka-outstream-video/index.d.ts +24 -0
  35. package/dist/components/waka-pod-card/index.d.ts +73 -0
  36. package/dist/components/waka-query-explain/index.d.ts +48 -0
  37. package/dist/components/waka-secret-card/index.d.ts +43 -0
  38. package/dist/components/waka-security-scan-result/index.d.ts +45 -0
  39. package/dist/components/waka-service-graph/index.d.ts +44 -0
  40. package/dist/components/waka-sponsored-badge/index.d.ts +20 -0
  41. package/dist/components/waka-sponsored-card/index.d.ts +25 -0
  42. package/dist/components/waka-sponsored-feed/index.d.ts +31 -0
  43. package/dist/components/waka-test-report/index.d.ts +60 -0
  44. package/dist/components/waka-trace-viewer/index.d.ts +36 -0
  45. package/dist/components/waka-video-ad/index.d.ts +32 -0
  46. package/dist/components/waka-video-overlay/index.d.ts +26 -0
  47. package/dist/index.cjs.js +251 -200
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.es.js +47315 -35823
  50. package/dist/utils/security.d.ts +96 -0
  51. package/package.json +4 -4
  52. package/src/blocks/apm-overview/index.tsx +672 -0
  53. package/src/blocks/cicd-builder/index.tsx +738 -0
  54. package/src/blocks/cloud-cost-dashboard/index.tsx +597 -0
  55. package/src/blocks/container-orchestrator/index.tsx +729 -0
  56. package/src/blocks/database-admin/index.tsx +679 -0
  57. package/src/blocks/gitops-sync-status/index.tsx +557 -0
  58. package/src/blocks/incident-manager/index.tsx +586 -0
  59. package/src/blocks/index.ts +119 -0
  60. package/src/blocks/infrastructure-map/index.tsx +638 -0
  61. package/src/blocks/on-call-schedule/index.tsx +615 -0
  62. package/src/blocks/release-notes/index.tsx +643 -0
  63. package/src/blocks/sidebar/index.tsx +6 -6
  64. package/src/components/DataTable/templates/index.tsx +3 -2
  65. package/src/components/index.ts +283 -0
  66. package/src/components/waka-3d-pie-chart/index.tsx +11 -11
  67. package/src/components/waka-achievement-unlock/index.tsx +16 -16
  68. package/src/components/waka-ad-banner/index.tsx +275 -0
  69. package/src/components/waka-ad-fallback/index.tsx +181 -0
  70. package/src/components/waka-ad-inline/index.tsx +103 -0
  71. package/src/components/waka-ad-interstitial/index.tsx +278 -0
  72. package/src/components/waka-ad-placeholder/index.tsx +84 -0
  73. package/src/components/waka-ad-provider/index.tsx +329 -0
  74. package/src/components/waka-ad-sidebar/index.tsx +113 -0
  75. package/src/components/waka-ad-sticky-footer/index.tsx +125 -0
  76. package/src/components/waka-alert-panel/index.tsx +493 -0
  77. package/src/components/waka-artifact-list/index.tsx +416 -0
  78. package/src/components/waka-badge-showcase/index.tsx +12 -11
  79. package/src/components/waka-build-matrix/index.tsx +396 -0
  80. package/src/components/waka-command-bar/index.tsx +2 -1
  81. package/src/components/waka-config-comparator/index.tsx +416 -0
  82. package/src/components/waka-container-list/index.tsx +475 -0
  83. package/src/components/waka-content-recommendation/index.tsx +294 -0
  84. package/src/components/waka-cost-breakdown/index.tsx +10 -10
  85. package/src/components/waka-database-card/index.tsx +473 -0
  86. package/src/components/waka-dependency-tree/index.tsx +542 -0
  87. package/src/components/waka-env-var-editor/index.tsx +417 -0
  88. package/src/components/waka-feature-flag-row/index.tsx +386 -0
  89. package/src/components/waka-funnel-chart/index.tsx +8 -8
  90. package/src/components/waka-health-pulse/index.tsx +6 -6
  91. package/src/components/waka-kubernetes-overview/index.tsx +536 -0
  92. package/src/components/waka-leaderboard/index.tsx +9 -9
  93. package/src/components/waka-log-viewer/index.tsx +386 -0
  94. package/src/components/waka-loot-box/index.tsx +20 -20
  95. package/src/components/waka-migration-list/index.tsx +487 -0
  96. package/src/components/waka-outstream-video/index.tsx +240 -0
  97. package/src/components/waka-player-card/index.tsx +5 -5
  98. package/src/components/waka-pod-card/index.tsx +528 -0
  99. package/src/components/waka-query-explain/index.tsx +657 -0
  100. package/src/components/waka-quota-bar/index.tsx +4 -4
  101. package/src/components/waka-radar-score/index.tsx +10 -10
  102. package/src/components/waka-scratch-card/index.tsx +5 -4
  103. package/src/components/waka-secret-card/index.tsx +371 -0
  104. package/src/components/waka-security-scan-result/index.tsx +473 -0
  105. package/src/components/waka-server-rack/index.tsx +28 -27
  106. package/src/components/waka-service-graph/index.tsx +445 -0
  107. package/src/components/waka-sponsored-badge/index.tsx +97 -0
  108. package/src/components/waka-sponsored-card/index.tsx +275 -0
  109. package/src/components/waka-sponsored-feed/index.tsx +127 -0
  110. package/src/components/waka-spotlight/index.tsx +2 -1
  111. package/src/components/waka-success-explosion/index.tsx +4 -4
  112. package/src/components/waka-test-report/index.tsx +469 -0
  113. package/src/components/waka-trace-viewer/index.tsx +490 -0
  114. package/src/components/waka-video-ad/index.tsx +406 -0
  115. package/src/components/waka-video-overlay/index.tsx +257 -0
  116. package/src/components/waka-xp-bar/index.tsx +13 -13
  117. package/src/styles/base.css +16 -0
  118. package/src/styles/tailwind.preset.js +12 -0
  119. package/src/styles/themes/forest.css +16 -0
  120. package/src/styles/themes/monochrome.css +16 -0
  121. package/src/styles/themes/perpetuity.css +16 -0
  122. package/src/styles/themes/sunset.css +16 -0
  123. package/src/styles/themes/twilight.css +16 -0
@@ -0,0 +1,26 @@
1
+ export interface WakaAdInterstitialProps {
2
+ /** Unique slot ID */
3
+ slotId: string;
4
+ /** Whether the interstitial is open */
5
+ open: boolean;
6
+ /** Callback when closed */
7
+ onClose: () => void;
8
+ /** Minimum display time before close button appears (seconds) */
9
+ minDisplayTime?: number;
10
+ /** Auto-close after duration (seconds, 0 = manual close only) */
11
+ autoCloseAfter?: number;
12
+ /** GPT ad unit path */
13
+ adUnitPath?: string;
14
+ /** Show countdown timer */
15
+ showCountdown?: boolean;
16
+ /** Skip button text */
17
+ skipText?: string;
18
+ /** Custom class name */
19
+ className?: string;
20
+ /** Callback when ad loads */
21
+ onLoad?: () => void;
22
+ /** Callback when ad is clicked */
23
+ onClick?: () => void;
24
+ }
25
+ export declare function WakaAdInterstitial({ slotId, open, onClose, minDisplayTime, autoCloseAfter, adUnitPath, showCountdown, skipText, className, onLoad, onClick, }: WakaAdInterstitialProps): import("react/jsx-runtime").JSX.Element | null;
26
+ export default WakaAdInterstitial;
@@ -0,0 +1,17 @@
1
+ import { AdSize } from '../waka-ad-provider';
2
+ export interface WakaAdPlaceholderProps {
3
+ /** Ad size preset */
4
+ size?: AdSize;
5
+ /** Width in pixels (overrides size) */
6
+ width?: number;
7
+ /** Height in pixels (overrides size) */
8
+ height?: number;
9
+ /** Show animated skeleton */
10
+ animated?: boolean;
11
+ /** Show label text */
12
+ showLabel?: boolean;
13
+ /** Custom class name */
14
+ className?: string;
15
+ }
16
+ export declare function WakaAdPlaceholder({ size, width, height, animated, showLabel, className, }: WakaAdPlaceholderProps): import("react/jsx-runtime").JSX.Element;
17
+ export default WakaAdPlaceholder;
@@ -0,0 +1,103 @@
1
+ import * as React from "react";
2
+ export type AdNetwork = "gpt" | "custom" | "adsense";
3
+ export type AdSize = "leaderboard" | "rectangle" | "skyscraper" | "billboard" | "mobile-banner" | "custom";
4
+ export type AdPosition = "top" | "bottom" | "sidebar" | "inline" | "interstitial" | "sticky";
5
+ export interface AdSlot {
6
+ id: string;
7
+ network: AdNetwork;
8
+ size: AdSize;
9
+ position: AdPosition;
10
+ targeting?: Record<string, string | string[]>;
11
+ refreshInterval?: number;
12
+ lazyLoad?: boolean;
13
+ customWidth?: number;
14
+ customHeight?: number;
15
+ }
16
+ export interface AdConfig {
17
+ network: AdNetwork;
18
+ publisherId?: string;
19
+ gptNetworkCode?: string;
20
+ gptAdUnits?: Record<string, string>;
21
+ customAdServer?: string;
22
+ customApiKey?: string;
23
+ enableLazyLoad?: boolean;
24
+ lazyLoadOffset?: number;
25
+ enableRefresh?: boolean;
26
+ defaultRefreshInterval?: number;
27
+ enableConsent?: boolean;
28
+ testMode?: boolean;
29
+ debugMode?: boolean;
30
+ }
31
+ export interface AdEvent {
32
+ type: "impression" | "click" | "viewable" | "error" | "loaded" | "empty";
33
+ slotId: string;
34
+ timestamp: Date;
35
+ data?: Record<string, unknown>;
36
+ }
37
+ export interface CustomAd {
38
+ id: string;
39
+ imageUrl?: string;
40
+ videoUrl?: string;
41
+ targetUrl: string;
42
+ title?: string;
43
+ description?: string;
44
+ sponsor?: string;
45
+ cta?: string;
46
+ trackingPixels?: string[];
47
+ impressionUrl?: string;
48
+ clickUrl?: string;
49
+ }
50
+ interface AdContextValue {
51
+ config: AdConfig;
52
+ isReady: boolean;
53
+ hasConsent: boolean | null;
54
+ setConsent: (consent: boolean) => void;
55
+ registerSlot: (slot: AdSlot) => void;
56
+ unregisterSlot: (slotId: string) => void;
57
+ refreshSlot: (slotId: string) => void;
58
+ refreshAll: () => void;
59
+ getCustomAd: (slotId: string) => Promise<CustomAd | null>;
60
+ trackEvent: (event: AdEvent) => void;
61
+ slots: Map<string, AdSlot>;
62
+ }
63
+ export declare const AD_SIZES: Record<AdSize, {
64
+ width: number;
65
+ height: number;
66
+ label: string;
67
+ }>;
68
+ export declare function useAdContext(): AdContextValue;
69
+ export declare function useAdVisibility(ref: React.RefObject<HTMLElement>, threshold?: number): {
70
+ isVisible: boolean;
71
+ viewableTime: number;
72
+ };
73
+ export declare function useAdConsent(): {
74
+ hasConsent: boolean | null;
75
+ setConsent: (consent: boolean) => void;
76
+ };
77
+ export declare function useAdSlot(slot: AdSlot): {
78
+ refresh: () => void;
79
+ isReady: boolean;
80
+ };
81
+ interface WakaAdProviderProps {
82
+ children: React.ReactNode;
83
+ config: AdConfig;
84
+ onEvent?: (event: AdEvent) => void;
85
+ }
86
+ export declare function WakaAdProvider({ children, config, onEvent }: WakaAdProviderProps): import("react/jsx-runtime").JSX.Element;
87
+ declare global {
88
+ interface Window {
89
+ googletag: {
90
+ cmd: Array<() => void>;
91
+ defineSlot: (adUnitPath: string, size: [number, number], divId: string) => unknown;
92
+ pubads: () => {
93
+ enableSingleRequest: () => void;
94
+ enableLazyLoad: (config: Record<string, unknown>) => void;
95
+ refresh: () => void;
96
+ setTargeting: (key: string, value: string | string[]) => void;
97
+ };
98
+ enableServices: () => void;
99
+ display: (divId: string) => void;
100
+ };
101
+ }
102
+ }
103
+ export default WakaAdProvider;
@@ -0,0 +1,18 @@
1
+ import { WakaAdBannerProps } from '../waka-ad-banner';
2
+ export interface WakaAdSidebarProps extends Omit<WakaAdBannerProps, "size"> {
3
+ /** Enable sticky behavior */
4
+ sticky?: boolean;
5
+ /** Top offset when sticky (in pixels) */
6
+ stickyOffset?: number;
7
+ /** Bottom boundary element selector */
8
+ boundarySelector?: string;
9
+ /** Gap between multiple ads */
10
+ gap?: number;
11
+ /** Additional ads to show below */
12
+ additionalSlots?: Array<{
13
+ slotId: string;
14
+ adUnitPath?: string;
15
+ }>;
16
+ }
17
+ export declare function WakaAdSidebar({ slotId, sticky, stickyOffset, boundarySelector, gap, additionalSlots, className, ...bannerProps }: WakaAdSidebarProps): import("react/jsx-runtime").JSX.Element;
18
+ export default WakaAdSidebar;
@@ -0,0 +1,17 @@
1
+ import { WakaAdBannerProps } from '../waka-ad-banner';
2
+ export interface WakaAdStickyFooterProps extends Omit<WakaAdBannerProps, "size"> {
3
+ /** Allow user to dismiss */
4
+ dismissable?: boolean;
5
+ /** Show close button after delay (seconds) */
6
+ showCloseAfter?: number;
7
+ /** Animation style */
8
+ animation?: "slide" | "fade" | "none";
9
+ /** Safe area padding (for mobile notches) */
10
+ safeAreaPadding?: boolean;
11
+ /** Background blur */
12
+ blur?: boolean;
13
+ /** Container class name */
14
+ containerClassName?: string;
15
+ }
16
+ export declare function WakaAdStickyFooter({ slotId, dismissable, showCloseAfter, animation, safeAreaPadding, blur, className, containerClassName, ...bannerProps }: WakaAdStickyFooterProps): import("react/jsx-runtime").JSX.Element | null;
17
+ export default WakaAdStickyFooter;
@@ -0,0 +1,45 @@
1
+ export type AlertSeverity = "critical" | "warning" | "info";
2
+ export type AlertStatus = "firing" | "acknowledged" | "resolved" | "silenced";
3
+ export interface Alert {
4
+ id: string;
5
+ title: string;
6
+ description?: string;
7
+ severity: AlertSeverity;
8
+ status: AlertStatus;
9
+ source: string;
10
+ startedAt: Date;
11
+ endedAt?: Date;
12
+ acknowledgedAt?: Date;
13
+ acknowledgedBy?: string;
14
+ silencedUntil?: Date;
15
+ labels?: Record<string, string>;
16
+ annotations?: Record<string, string>;
17
+ fingerprint?: string;
18
+ runbookUrl?: string;
19
+ }
20
+ export interface WakaAlertPanelProps {
21
+ /** List of alerts */
22
+ alerts: Alert[];
23
+ /** Callback when acknowledging an alert */
24
+ onAcknowledge?: (alertId: string) => void;
25
+ /** Callback when silencing an alert */
26
+ onSilence?: (alertId: string, duration: number) => void;
27
+ /** Callback when resolving an alert */
28
+ onResolve?: (alertId: string) => void;
29
+ /** Callback when viewing alert details */
30
+ onViewDetails?: (alert: Alert) => void;
31
+ /** Callback when clicking runbook link */
32
+ onRunbook?: (alert: Alert) => void;
33
+ /** Callback when refreshing alerts */
34
+ onRefresh?: () => void;
35
+ /** Whether alerts are loading */
36
+ isLoading?: boolean;
37
+ /** Show resolved alerts */
38
+ showResolved?: boolean;
39
+ /** Custom class name */
40
+ className?: string;
41
+ /** Title */
42
+ title?: string;
43
+ }
44
+ export declare function WakaAlertPanel({ alerts, onAcknowledge, onSilence, onResolve, onViewDetails, onRunbook, onRefresh, isLoading, showResolved, className, title, }: WakaAlertPanelProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare const defaultAlerts: Alert[];
@@ -0,0 +1,32 @@
1
+ export interface Artifact {
2
+ id: string;
3
+ name: string;
4
+ type: "archive" | "binary" | "log" | "report" | "image" | "other";
5
+ size: number;
6
+ createdAt: Date;
7
+ expiresAt?: Date;
8
+ downloadUrl?: string;
9
+ sha256?: string;
10
+ buildId?: string;
11
+ metadata?: Record<string, string>;
12
+ }
13
+ export interface WakaArtifactListProps {
14
+ /** List of artifacts */
15
+ artifacts: Artifact[];
16
+ /** Callback when downloading an artifact */
17
+ onDownload?: (artifact: Artifact) => void;
18
+ /** Callback when deleting an artifact */
19
+ onDelete?: (artifact: Artifact) => void;
20
+ /** Callback when viewing artifact details */
21
+ onView?: (artifact: Artifact) => void;
22
+ /** Title */
23
+ title?: string;
24
+ /** Show expiration */
25
+ showExpiration?: boolean;
26
+ /** Allow deletion */
27
+ allowDelete?: boolean;
28
+ /** Custom class name */
29
+ className?: string;
30
+ }
31
+ export declare function WakaArtifactList({ artifacts, onDownload, onDelete, onView, title, showExpiration, allowDelete, className, }: WakaArtifactListProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare const defaultArtifacts: Artifact[];
@@ -0,0 +1,36 @@
1
+ export type BuildStatus = "success" | "failed" | "running" | "pending" | "skipped" | "cancelled";
2
+ export interface BuildCell {
3
+ id: string;
4
+ status: BuildStatus;
5
+ duration?: number;
6
+ startedAt?: Date;
7
+ finishedAt?: Date;
8
+ url?: string;
9
+ logs?: string;
10
+ }
11
+ export interface BuildMatrixRow {
12
+ label: string;
13
+ description?: string;
14
+ cells: BuildCell[];
15
+ }
16
+ export interface WakaBuildMatrixProps {
17
+ /** Column headers (e.g., OS names or versions) */
18
+ columns: string[];
19
+ /** Row data with cells */
20
+ rows: BuildMatrixRow[];
21
+ /** Callback when clicking on a cell */
22
+ onCellClick?: (rowIndex: number, colIndex: number, cell: BuildCell) => void;
23
+ /** Callback when retrying a build */
24
+ onRetry?: (rowIndex: number, colIndex: number) => void;
25
+ /** Callback when viewing logs */
26
+ onViewLogs?: (cell: BuildCell) => void;
27
+ /** Title of the matrix */
28
+ title?: string;
29
+ /** Show duration in cells */
30
+ showDuration?: boolean;
31
+ /** Custom class name */
32
+ className?: string;
33
+ }
34
+ export declare function WakaBuildMatrix({ columns, rows, onCellClick, onRetry, onViewLogs, title, showDuration, className, }: WakaBuildMatrixProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare const defaultBuildMatrixColumns: string[];
36
+ export declare const defaultBuildMatrixRows: BuildMatrixRow[];
@@ -0,0 +1,37 @@
1
+ export interface ConfigValue {
2
+ key: string;
3
+ value: string | number | boolean | null;
4
+ type?: "string" | "number" | "boolean" | "null";
5
+ }
6
+ export interface ConfigEnvironment {
7
+ id: string;
8
+ name: string;
9
+ values: ConfigValue[];
10
+ }
11
+ export type DiffType = "added" | "removed" | "modified" | "unchanged";
12
+ export interface ConfigDiff {
13
+ key: string;
14
+ leftValue?: string | number | boolean | null;
15
+ rightValue?: string | number | boolean | null;
16
+ diffType: DiffType;
17
+ }
18
+ export interface WakaConfigComparatorProps {
19
+ /** List of environments to compare */
20
+ environments: ConfigEnvironment[];
21
+ /** Left environment ID */
22
+ leftEnvId?: string;
23
+ /** Right environment ID */
24
+ rightEnvId?: string;
25
+ /** Callback when environment selection changes */
26
+ onEnvironmentChange?: (left: string, right: string) => void;
27
+ /** Callback when copying value */
28
+ onCopyValue?: (key: string, value: unknown, fromEnv: string, toEnv: string) => void;
29
+ /** Show only differences */
30
+ showDiffsOnly?: boolean;
31
+ /** Title */
32
+ title?: string;
33
+ /** Custom class name */
34
+ className?: string;
35
+ }
36
+ export declare function WakaConfigComparator({ environments, leftEnvId: initialLeftId, rightEnvId: initialRightId, onEnvironmentChange, onCopyValue, showDiffsOnly: initialShowDiffsOnly, title, className, }: WakaConfigComparatorProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare const defaultConfigEnvironments: ConfigEnvironment[];
@@ -0,0 +1,51 @@
1
+ export type ContainerStatus = "running" | "stopped" | "paused" | "restarting" | "exited" | "created";
2
+ export interface ContainerResource {
3
+ cpu: number;
4
+ memory: number;
5
+ memoryLimit: number;
6
+ networkRx: number;
7
+ networkTx: number;
8
+ }
9
+ export interface Container {
10
+ id: string;
11
+ name: string;
12
+ image: string;
13
+ status: ContainerStatus;
14
+ createdAt: Date;
15
+ startedAt?: Date;
16
+ ports?: Array<{
17
+ host: number;
18
+ container: number;
19
+ protocol: string;
20
+ }>;
21
+ resources?: ContainerResource;
22
+ labels?: Record<string, string>;
23
+ command?: string;
24
+ exitCode?: number;
25
+ }
26
+ export interface WakaContainerListProps {
27
+ /** List of containers */
28
+ containers: Container[];
29
+ /** Callback when starting a container */
30
+ onStart?: (containerId: string) => void;
31
+ /** Callback when stopping a container */
32
+ onStop?: (containerId: string) => void;
33
+ /** Callback when restarting a container */
34
+ onRestart?: (containerId: string) => void;
35
+ /** Callback when removing a container */
36
+ onRemove?: (containerId: string) => void;
37
+ /** Callback when viewing logs */
38
+ onViewLogs?: (containerId: string) => void;
39
+ /** Callback when opening terminal */
40
+ onExec?: (containerId: string) => void;
41
+ /** Callback when refreshing */
42
+ onRefresh?: () => void;
43
+ /** Whether data is loading */
44
+ isLoading?: boolean;
45
+ /** Custom class name */
46
+ className?: string;
47
+ /** Title */
48
+ title?: string;
49
+ }
50
+ export declare function WakaContainerList({ containers, onStart, onStop, onRestart, onRemove, onViewLogs, onExec, onRefresh, isLoading, className, title, }: WakaContainerListProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare const defaultContainers: Container[];
@@ -0,0 +1,23 @@
1
+ export type RecommendationLayout = "grid" | "carousel" | "list";
2
+ export interface WakaContentRecommendationProps {
3
+ /** Widget title */
4
+ title?: string;
5
+ /** Slot IDs for recommendations */
6
+ slotIds: string[];
7
+ /** Layout style */
8
+ layout?: RecommendationLayout;
9
+ /** Number of columns for grid layout */
10
+ columns?: 2 | 3 | 4;
11
+ /** Show navigation arrows for carousel */
12
+ showArrows?: boolean;
13
+ /** Auto-scroll carousel */
14
+ autoScroll?: boolean;
15
+ /** Auto-scroll interval (seconds) */
16
+ autoScrollInterval?: number;
17
+ /** Custom class name */
18
+ className?: string;
19
+ /** Callback when item is clicked */
20
+ onItemClick?: (slotId: string) => void;
21
+ }
22
+ export declare function WakaContentRecommendation({ title, slotIds, layout, columns, showArrows, autoScroll, autoScrollInterval, className, onItemClick, }: WakaContentRecommendationProps): import("react/jsx-runtime").JSX.Element | null;
23
+ export default WakaContentRecommendation;
@@ -0,0 +1,46 @@
1
+ export type DatabaseType = "postgresql" | "mysql" | "mongodb" | "redis" | "elasticsearch" | "other";
2
+ export type DatabaseStatus = "healthy" | "warning" | "critical" | "offline" | "syncing";
3
+ export type ReplicationRole = "primary" | "replica" | "standalone";
4
+ export interface DatabaseMetrics {
5
+ connectionsActive: number;
6
+ connectionsMax: number;
7
+ queriesPerSecond: number;
8
+ slowQueries: number;
9
+ avgQueryTime: number;
10
+ cacheHitRate?: number;
11
+ storageUsed: number;
12
+ storageTotal: number;
13
+ replicationLag?: number;
14
+ uptime?: number;
15
+ }
16
+ export interface DatabaseInfo {
17
+ id: string;
18
+ name: string;
19
+ type: DatabaseType;
20
+ version?: string;
21
+ host: string;
22
+ port: number;
23
+ status: DatabaseStatus;
24
+ role: ReplicationRole;
25
+ metrics: DatabaseMetrics;
26
+ replicas?: number;
27
+ lastBackup?: Date;
28
+ tags?: string[];
29
+ }
30
+ export interface WakaDatabaseCardProps {
31
+ /** Database info */
32
+ database: DatabaseInfo;
33
+ /** Callback when clicking refresh */
34
+ onRefresh?: () => void;
35
+ /** Callback when clicking on the database */
36
+ onClick?: () => void;
37
+ /** Show detailed metrics */
38
+ detailed?: boolean;
39
+ /** Compact mode */
40
+ compact?: boolean;
41
+ /** Custom class name */
42
+ className?: string;
43
+ }
44
+ export declare function WakaDatabaseCard({ database, onRefresh, onClick, detailed, compact, className, }: WakaDatabaseCardProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare const defaultDatabase: DatabaseInfo;
46
+ export declare const defaultDatabases: DatabaseInfo[];
@@ -0,0 +1,38 @@
1
+ export type DependencyType = "direct" | "transitive" | "dev" | "peer" | "optional";
2
+ export type VulnSeverity = "critical" | "high" | "medium" | "low" | "none";
3
+ export interface Dependency {
4
+ id: string;
5
+ name: string;
6
+ version: string;
7
+ latestVersion?: string;
8
+ type: DependencyType;
9
+ license?: string;
10
+ vulnerabilities?: {
11
+ critical: number;
12
+ high: number;
13
+ medium: number;
14
+ low: number;
15
+ };
16
+ outdated?: boolean;
17
+ children?: Dependency[];
18
+ size?: number;
19
+ repository?: string;
20
+ }
21
+ export interface WakaDependencyTreeProps {
22
+ /** Root dependencies */
23
+ dependencies: Dependency[];
24
+ /** Callback when clicking on a dependency */
25
+ onDependencyClick?: (dep: Dependency) => void;
26
+ /** Callback when upgrading a dependency */
27
+ onUpgrade?: (dep: Dependency) => void;
28
+ /** Title */
29
+ title?: string;
30
+ /** Show dev dependencies */
31
+ showDevDeps?: boolean;
32
+ /** Show only vulnerable */
33
+ showVulnerableOnly?: boolean;
34
+ /** Custom class name */
35
+ className?: string;
36
+ }
37
+ export declare function WakaDependencyTree({ dependencies, onDependencyClick, onUpgrade, title, showDevDeps, showVulnerableOnly, className, }: WakaDependencyTreeProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare const defaultDependencies: Dependency[];
@@ -0,0 +1,30 @@
1
+ export interface EnvVariable {
2
+ key: string;
3
+ value: string;
4
+ isSecret?: boolean;
5
+ isRequired?: boolean;
6
+ description?: string;
7
+ source?: string;
8
+ }
9
+ export interface WakaEnvVarEditorProps {
10
+ /** List of environment variables */
11
+ variables: EnvVariable[];
12
+ /** Callback when variables change */
13
+ onChange?: (variables: EnvVariable[]) => void;
14
+ /** Callback when saving */
15
+ onSave?: (variables: EnvVariable[]) => void;
16
+ /** Callback when importing */
17
+ onImport?: (content: string) => void;
18
+ /** Callback when exporting */
19
+ onExport?: () => void;
20
+ /** Read-only mode */
21
+ readOnly?: boolean;
22
+ /** Show source column */
23
+ showSource?: boolean;
24
+ /** Title */
25
+ title?: string;
26
+ /** Custom class name */
27
+ className?: string;
28
+ }
29
+ export declare function WakaEnvVarEditor({ variables: initialVariables, onChange, onSave, onImport, onExport, readOnly, showSource, title, className, }: WakaEnvVarEditorProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare const defaultEnvVariables: EnvVariable[];
@@ -0,0 +1,45 @@
1
+ export type FeatureFlagStatus = "enabled" | "disabled" | "percentage" | "segment";
2
+ export interface FeatureFlagSegment {
3
+ id: string;
4
+ name: string;
5
+ description?: string;
6
+ }
7
+ export interface FeatureFlag {
8
+ id: string;
9
+ key: string;
10
+ name: string;
11
+ description?: string;
12
+ status: FeatureFlagStatus;
13
+ enabled: boolean;
14
+ percentage?: number;
15
+ segments?: FeatureFlagSegment[];
16
+ createdAt: Date;
17
+ updatedAt: Date;
18
+ createdBy?: string;
19
+ environment?: string;
20
+ tags?: string[];
21
+ }
22
+ export interface WakaFeatureFlagRowProps {
23
+ /** Feature flag data */
24
+ flag: FeatureFlag;
25
+ /** Callback when toggling the flag */
26
+ onToggle?: (enabled: boolean) => void;
27
+ /** Callback when changing percentage */
28
+ onPercentageChange?: (percentage: number) => void;
29
+ /** Callback when editing the flag */
30
+ onEdit?: () => void;
31
+ /** Callback when deleting the flag */
32
+ onDelete?: () => void;
33
+ /** Callback when viewing history */
34
+ onViewHistory?: () => void;
35
+ /** Callback when duplicating the flag */
36
+ onDuplicate?: () => void;
37
+ /** Read-only mode */
38
+ readOnly?: boolean;
39
+ /** Compact mode */
40
+ compact?: boolean;
41
+ /** Custom class name */
42
+ className?: string;
43
+ }
44
+ export declare function WakaFeatureFlagRow({ flag, onToggle, onPercentageChange, onEdit, onDelete, onViewHistory, onDuplicate, readOnly, compact, className, }: WakaFeatureFlagRowProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare const defaultFeatureFlags: FeatureFlag[];
@@ -0,0 +1,98 @@
1
+ export type NodeStatus = "Ready" | "NotReady" | "Unknown";
2
+ export type PodPhase = "Running" | "Pending" | "Succeeded" | "Failed" | "Unknown";
3
+ export type DeploymentStatus = "Available" | "Progressing" | "Degraded";
4
+ export interface K8sNode {
5
+ name: string;
6
+ status: NodeStatus;
7
+ roles: string[];
8
+ version: string;
9
+ cpu: {
10
+ used: number;
11
+ total: number;
12
+ };
13
+ memory: {
14
+ used: number;
15
+ total: number;
16
+ };
17
+ pods: {
18
+ running: number;
19
+ total: number;
20
+ };
21
+ conditions?: Array<{
22
+ type: string;
23
+ status: boolean;
24
+ message?: string;
25
+ }>;
26
+ }
27
+ export interface K8sPod {
28
+ name: string;
29
+ namespace: string;
30
+ phase: PodPhase;
31
+ ready: string;
32
+ restarts: number;
33
+ age: string;
34
+ node?: string;
35
+ labels?: Record<string, string>;
36
+ }
37
+ export interface K8sDeployment {
38
+ name: string;
39
+ namespace: string;
40
+ replicas: {
41
+ ready: number;
42
+ desired: number;
43
+ };
44
+ status: DeploymentStatus;
45
+ age: string;
46
+ image?: string;
47
+ }
48
+ export interface K8sService {
49
+ name: string;
50
+ namespace: string;
51
+ type: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
52
+ clusterIP: string;
53
+ externalIP?: string;
54
+ ports: Array<{
55
+ port: number;
56
+ targetPort: number;
57
+ protocol: string;
58
+ }>;
59
+ age: string;
60
+ }
61
+ export interface K8sNamespace {
62
+ name: string;
63
+ status: "Active" | "Terminating";
64
+ age: string;
65
+ labels?: Record<string, string>;
66
+ }
67
+ export interface WakaKubernetesOverviewProps {
68
+ /** Cluster name */
69
+ clusterName?: string;
70
+ /** List of nodes */
71
+ nodes: K8sNode[];
72
+ /** List of pods */
73
+ pods: K8sPod[];
74
+ /** List of deployments */
75
+ deployments: K8sDeployment[];
76
+ /** List of services */
77
+ services: K8sService[];
78
+ /** List of namespaces */
79
+ namespaces: K8sNamespace[];
80
+ /** Selected namespace filter */
81
+ selectedNamespace?: string;
82
+ /** Callback when changing namespace */
83
+ onNamespaceChange?: (namespace: string) => void;
84
+ /** Callback when clicking on a resource */
85
+ onResourceClick?: (type: string, name: string, namespace?: string) => void;
86
+ /** Callback when refreshing */
87
+ onRefresh?: () => void;
88
+ /** Whether data is loading */
89
+ isLoading?: boolean;
90
+ /** Custom class name */
91
+ className?: string;
92
+ }
93
+ export declare function WakaKubernetesOverview({ clusterName, nodes, pods, deployments, services, namespaces, selectedNamespace, onNamespaceChange, onResourceClick, onRefresh, isLoading, className, }: WakaKubernetesOverviewProps): import("react/jsx-runtime").JSX.Element;
94
+ export declare const defaultK8sNodes: K8sNode[];
95
+ export declare const defaultK8sPods: K8sPod[];
96
+ export declare const defaultK8sDeployments: K8sDeployment[];
97
+ export declare const defaultK8sServices: K8sService[];
98
+ export declare const defaultK8sNamespaces: K8sNamespace[];