@serve.zone/catalog 1.0.1

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 (122) hide show
  1. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  2. package/dist_ts_web/00_commitinfo_data.js +9 -0
  3. package/dist_ts_web/elements/index.d.ts +33 -0
  4. package/dist_ts_web/elements/index.js +45 -0
  5. package/dist_ts_web/elements/sz-certificates-card.d.ts +14 -0
  6. package/dist_ts_web/elements/sz-certificates-card.js +210 -0
  7. package/dist_ts_web/elements/sz-dashboard-view.d.ts +33 -0
  8. package/dist_ts_web/elements/sz-dashboard-view.js +242 -0
  9. package/dist_ts_web/elements/sz-demo-view-dashboard.d.ts +18 -0
  10. package/dist_ts_web/elements/sz-demo-view-dashboard.js +184 -0
  11. package/dist_ts_web/elements/sz-demo-view-network.d.ts +32 -0
  12. package/dist_ts_web/elements/sz-demo-view-network.js +384 -0
  13. package/dist_ts_web/elements/sz-demo-view-registries.d.ts +22 -0
  14. package/dist_ts_web/elements/sz-demo-view-registries.js +240 -0
  15. package/dist_ts_web/elements/sz-demo-view-services.d.ts +32 -0
  16. package/dist_ts_web/elements/sz-demo-view-services.js +468 -0
  17. package/dist_ts_web/elements/sz-demo-view-settings.d.ts +19 -0
  18. package/dist_ts_web/elements/sz-demo-view-settings.js +151 -0
  19. package/dist_ts_web/elements/sz-demo-view-tokens.d.ts +20 -0
  20. package/dist_ts_web/elements/sz-demo-view-tokens.js +141 -0
  21. package/dist_ts_web/elements/sz-dns-ssl-card.d.ts +13 -0
  22. package/dist_ts_web/elements/sz-dns-ssl-card.js +180 -0
  23. package/dist_ts_web/elements/sz-domain-detail-view.d.ts +48 -0
  24. package/dist_ts_web/elements/sz-domain-detail-view.js +789 -0
  25. package/dist_ts_web/elements/sz-login-view.d.ts +18 -0
  26. package/dist_ts_web/elements/sz-login-view.js +384 -0
  27. package/dist_ts_web/elements/sz-network-dns-view.d.ts +20 -0
  28. package/dist_ts_web/elements/sz-network-dns-view.js +244 -0
  29. package/dist_ts_web/elements/sz-network-domains-view.d.ts +28 -0
  30. package/dist_ts_web/elements/sz-network-domains-view.js +312 -0
  31. package/dist_ts_web/elements/sz-network-proxy-view.d.ts +39 -0
  32. package/dist_ts_web/elements/sz-network-proxy-view.js +510 -0
  33. package/dist_ts_web/elements/sz-platform-service-detail-view.d.ts +49 -0
  34. package/dist_ts_web/elements/sz-platform-service-detail-view.js +733 -0
  35. package/dist_ts_web/elements/sz-platform-services-card.d.ts +19 -0
  36. package/dist_ts_web/elements/sz-platform-services-card.js +196 -0
  37. package/dist_ts_web/elements/sz-quick-actions-card.d.ts +19 -0
  38. package/dist_ts_web/elements/sz-quick-actions-card.js +194 -0
  39. package/dist_ts_web/elements/sz-registry-external-view.d.ts +22 -0
  40. package/dist_ts_web/elements/sz-registry-external-view.js +313 -0
  41. package/dist_ts_web/elements/sz-registry-onebox-view.d.ts +14 -0
  42. package/dist_ts_web/elements/sz-registry-onebox-view.js +307 -0
  43. package/dist_ts_web/elements/sz-resource-usage-card.d.ts +25 -0
  44. package/dist_ts_web/elements/sz-resource-usage-card.js +323 -0
  45. package/dist_ts_web/elements/sz-reverse-proxy-card.d.ts +16 -0
  46. package/dist_ts_web/elements/sz-reverse-proxy-card.js +216 -0
  47. package/dist_ts_web/elements/sz-service-create-view.d.ts +67 -0
  48. package/dist_ts_web/elements/sz-service-create-view.js +828 -0
  49. package/dist_ts_web/elements/sz-service-detail-view.d.ts +57 -0
  50. package/dist_ts_web/elements/sz-service-detail-view.js +728 -0
  51. package/dist_ts_web/elements/sz-services-backups-view.d.ts +37 -0
  52. package/dist_ts_web/elements/sz-services-backups-view.js +413 -0
  53. package/dist_ts_web/elements/sz-services-list-view.d.ts +20 -0
  54. package/dist_ts_web/elements/sz-services-list-view.js +272 -0
  55. package/dist_ts_web/elements/sz-settings-view.d.ts +30 -0
  56. package/dist_ts_web/elements/sz-settings-view.js +448 -0
  57. package/dist_ts_web/elements/sz-stat-card.d.ts +17 -0
  58. package/dist_ts_web/elements/sz-stat-card.js +249 -0
  59. package/dist_ts_web/elements/sz-status-grid-cluster.d.ts +19 -0
  60. package/dist_ts_web/elements/sz-status-grid-cluster.js +142 -0
  61. package/dist_ts_web/elements/sz-status-grid-infra.d.ts +17 -0
  62. package/dist_ts_web/elements/sz-status-grid-infra.js +140 -0
  63. package/dist_ts_web/elements/sz-status-grid-network.d.ts +30 -0
  64. package/dist_ts_web/elements/sz-status-grid-network.js +190 -0
  65. package/dist_ts_web/elements/sz-status-grid-services.d.ts +17 -0
  66. package/dist_ts_web/elements/sz-status-grid-services.js +145 -0
  67. package/dist_ts_web/elements/sz-tokens-view.d.ts +26 -0
  68. package/dist_ts_web/elements/sz-tokens-view.js +344 -0
  69. package/dist_ts_web/elements/sz-traffic-card.d.ts +24 -0
  70. package/dist_ts_web/elements/sz-traffic-card.js +255 -0
  71. package/dist_ts_web/index.d.ts +2 -0
  72. package/dist_ts_web/index.js +3 -0
  73. package/dist_ts_web/pages/index.d.ts +3 -0
  74. package/dist_ts_web/pages/index.js +4 -0
  75. package/dist_ts_web/pages/mainpage.d.ts +1 -0
  76. package/dist_ts_web/pages/mainpage.js +46 -0
  77. package/dist_ts_web/pages/sz-demo-app-shell.d.ts +13 -0
  78. package/dist_ts_web/pages/sz-demo-app-shell.js +212 -0
  79. package/dist_ts_web/pages/sz-demo-app.d.ts +2 -0
  80. package/dist_ts_web/pages/sz-demo-app.js +20 -0
  81. package/npmextra.json +24 -0
  82. package/package.json +45 -0
  83. package/ts_web/00_commitinfo_data.ts +8 -0
  84. package/ts_web/elements/index.ts +54 -0
  85. package/ts_web/elements/sz-certificates-card.ts +155 -0
  86. package/ts_web/elements/sz-dashboard-view.ts +217 -0
  87. package/ts_web/elements/sz-demo-view-dashboard.ts +150 -0
  88. package/ts_web/elements/sz-demo-view-network.ts +354 -0
  89. package/ts_web/elements/sz-demo-view-registries.ts +206 -0
  90. package/ts_web/elements/sz-demo-view-services.ts +434 -0
  91. package/ts_web/elements/sz-demo-view-settings.ts +118 -0
  92. package/ts_web/elements/sz-demo-view-tokens.ts +109 -0
  93. package/ts_web/elements/sz-dns-ssl-card.ts +130 -0
  94. package/ts_web/elements/sz-domain-detail-view.ts +766 -0
  95. package/ts_web/elements/sz-login-view.ts +329 -0
  96. package/ts_web/elements/sz-network-dns-view.ts +208 -0
  97. package/ts_web/elements/sz-network-domains-view.ts +273 -0
  98. package/ts_web/elements/sz-network-proxy-view.ts +456 -0
  99. package/ts_web/elements/sz-platform-service-detail-view.ts +714 -0
  100. package/ts_web/elements/sz-platform-services-card.ts +163 -0
  101. package/ts_web/elements/sz-quick-actions-card.ts +161 -0
  102. package/ts_web/elements/sz-registry-external-view.ts +279 -0
  103. package/ts_web/elements/sz-registry-onebox-view.ts +258 -0
  104. package/ts_web/elements/sz-resource-usage-card.ts +284 -0
  105. package/ts_web/elements/sz-reverse-proxy-card.ts +151 -0
  106. package/ts_web/elements/sz-service-create-view.ts +773 -0
  107. package/ts_web/elements/sz-service-detail-view.ts +710 -0
  108. package/ts_web/elements/sz-services-backups-view.ts +390 -0
  109. package/ts_web/elements/sz-services-list-view.ts +237 -0
  110. package/ts_web/elements/sz-settings-view.ts +417 -0
  111. package/ts_web/elements/sz-stat-card.ts +187 -0
  112. package/ts_web/elements/sz-status-grid-cluster.ts +105 -0
  113. package/ts_web/elements/sz-status-grid-infra.ts +88 -0
  114. package/ts_web/elements/sz-status-grid-network.ts +152 -0
  115. package/ts_web/elements/sz-status-grid-services.ts +99 -0
  116. package/ts_web/elements/sz-tokens-view.ts +308 -0
  117. package/ts_web/elements/sz-traffic-card.ts +222 -0
  118. package/ts_web/index.ts +2 -0
  119. package/ts_web/pages/index.ts +3 -0
  120. package/ts_web/pages/mainpage.ts +46 -0
  121. package/ts_web/pages/sz-demo-app-shell.ts +179 -0
  122. package/ts_web/pages/sz-demo-app.ts +20 -0
@@ -0,0 +1,217 @@
1
+ import {
2
+ DeesElement,
3
+ customElement,
4
+ html,
5
+ css,
6
+ cssManager,
7
+ property,
8
+ type TemplateResult,
9
+ } from '@design.estate/dees-element';
10
+
11
+ import './sz-status-grid-cluster.js';
12
+ import './sz-status-grid-services.js';
13
+ import './sz-status-grid-network.js';
14
+ import './sz-status-grid-infra.js';
15
+
16
+ import type { IClusterStats } from './sz-status-grid-cluster.js';
17
+ import type { IResourceUsage } from './sz-resource-usage-card.js';
18
+ import type { IPlatformService } from './sz-platform-services-card.js';
19
+ import type { ITrafficData } from './sz-traffic-card.js';
20
+ import type { IProxyStatus, ICertificateStatus } from './sz-status-grid-network.js';
21
+ import type { IQuickAction } from './sz-quick-actions-card.js';
22
+
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'sz-dashboard-view': SzDashboardView;
26
+ }
27
+ }
28
+
29
+ export interface IDashboardData {
30
+ cluster: IClusterStats;
31
+ resourceUsage: IResourceUsage;
32
+ platformServices: IPlatformService[];
33
+ traffic: ITrafficData;
34
+ proxy: IProxyStatus;
35
+ certificates: ICertificateStatus;
36
+ dnsConfigured: boolean;
37
+ acmeConfigured: boolean;
38
+ quickActions: IQuickAction[];
39
+ }
40
+
41
+ @customElement('sz-dashboard-view')
42
+ export class SzDashboardView extends DeesElement {
43
+ public static demo = () => html`
44
+ <div style="padding: 24px; max-width: 1400px;">
45
+ <sz-dashboard-view
46
+ .data=${{
47
+ cluster: {
48
+ totalServices: 7,
49
+ running: 7,
50
+ stopped: 0,
51
+ dockerStatus: 'running',
52
+ },
53
+ resourceUsage: {
54
+ cpu: 0.5,
55
+ memoryUsed: '191 MB',
56
+ memoryTotal: '429.2 GB',
57
+ networkIn: '38.9 KB/s',
58
+ networkOut: '1.7 KB/s',
59
+ topConsumers: [
60
+ { name: 'test-nginx', memory: '32.1 MB' },
61
+ { name: 'test-v2', memory: '31.7 MB' },
62
+ ],
63
+ },
64
+ platformServices: [
65
+ { name: 'MongoDB', status: '1 DB', running: true },
66
+ { name: 'S3 Storage (MinIO)', status: '1 bucket', running: true },
67
+ { name: 'Caddy Reverse Proxy', status: 'Running', running: true },
68
+ { name: 'ClickHouse', status: '1 DB', running: true },
69
+ ],
70
+ traffic: {
71
+ requests: 1250,
72
+ errors: 15,
73
+ errorPercent: 1.2,
74
+ avgResponse: 145,
75
+ reqPerMin: 21,
76
+ status2xx: 85,
77
+ status3xx: 5,
78
+ status4xx: 8,
79
+ status5xx: 2,
80
+ },
81
+ proxy: {
82
+ httpPort: '80',
83
+ httpsPort: '443',
84
+ httpActive: true,
85
+ httpsActive: true,
86
+ routeCount: '12',
87
+ },
88
+ certificates: {
89
+ valid: 8,
90
+ expiring: 2,
91
+ expired: 0,
92
+ },
93
+ dnsConfigured: true,
94
+ acmeConfigured: true,
95
+ quickActions: [
96
+ { label: 'Deploy Service', icon: 'plus', primary: true },
97
+ { label: 'View All Services' },
98
+ { label: 'Platform Services' },
99
+ { label: 'Manage Domains' },
100
+ ],
101
+ }}
102
+ ></sz-dashboard-view>
103
+ </div>
104
+ `;
105
+
106
+ @property({ type: Object })
107
+ public accessor data: IDashboardData = {
108
+ cluster: {
109
+ totalServices: 0,
110
+ running: 0,
111
+ stopped: 0,
112
+ dockerStatus: 'stopped',
113
+ },
114
+ resourceUsage: {
115
+ cpu: 0,
116
+ memoryUsed: '0 MB',
117
+ memoryTotal: '0 GB',
118
+ networkIn: '0 KB/s',
119
+ networkOut: '0 KB/s',
120
+ topConsumers: [],
121
+ },
122
+ platformServices: [],
123
+ traffic: {
124
+ requests: 0,
125
+ errors: 0,
126
+ errorPercent: 0,
127
+ avgResponse: 0,
128
+ reqPerMin: 0,
129
+ status2xx: 0,
130
+ status3xx: 0,
131
+ status4xx: 0,
132
+ status5xx: 0,
133
+ },
134
+ proxy: {
135
+ httpPort: '80',
136
+ httpsPort: '443',
137
+ httpActive: false,
138
+ httpsActive: false,
139
+ routeCount: '0',
140
+ },
141
+ certificates: {
142
+ valid: 0,
143
+ expiring: 0,
144
+ expired: 0,
145
+ },
146
+ dnsConfigured: false,
147
+ acmeConfigured: false,
148
+ quickActions: [],
149
+ };
150
+
151
+ public static styles = [
152
+ cssManager.defaultStyles,
153
+ css`
154
+ :host {
155
+ display: block;
156
+ }
157
+
158
+ .dashboard {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: 24px;
162
+ }
163
+
164
+ .section-title {
165
+ font-size: 18px;
166
+ font-weight: 600;
167
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
168
+ margin-bottom: 12px;
169
+ }
170
+
171
+ .section {
172
+ display: flex;
173
+ flex-direction: column;
174
+ }
175
+ `,
176
+ ];
177
+
178
+ public render(): TemplateResult {
179
+ return html`
180
+ <div class="dashboard">
181
+ <section class="section">
182
+ <h2 class="section-title">Cluster Overview</h2>
183
+ <sz-status-grid-cluster
184
+ .stats=${this.data.cluster}
185
+ ></sz-status-grid-cluster>
186
+ </section>
187
+
188
+ <section class="section">
189
+ <h2 class="section-title">Services & Resources</h2>
190
+ <sz-status-grid-services
191
+ .resourceUsage=${this.data.resourceUsage}
192
+ .platformServices=${this.data.platformServices}
193
+ ></sz-status-grid-services>
194
+ </section>
195
+
196
+ <section class="section">
197
+ <h2 class="section-title">Network & Traffic</h2>
198
+ <sz-status-grid-network
199
+ .traffic=${this.data.traffic}
200
+ .proxy=${this.data.proxy}
201
+ .certificates=${this.data.certificates}
202
+ ></sz-status-grid-network>
203
+ </section>
204
+
205
+ <section class="section">
206
+ <h2 class="section-title">Infrastructure</h2>
207
+ <sz-status-grid-infra
208
+ ?dnsConfigured=${this.data.dnsConfigured}
209
+ ?acmeConfigured=${this.data.acmeConfigured}
210
+ .actions=${this.data.quickActions}
211
+ @action-click=${(e: CustomEvent) => this.dispatchEvent(new CustomEvent('action-click', { detail: e.detail, bubbles: true, composed: true }))}
212
+ ></sz-status-grid-infra>
213
+ </section>
214
+ </div>
215
+ `;
216
+ }
217
+ }
@@ -0,0 +1,150 @@
1
+ import {
2
+ DeesElement,
3
+ customElement,
4
+ html,
5
+ css,
6
+ cssManager,
7
+ type TemplateResult,
8
+ } from '@design.estate/dees-element';
9
+ import type { DeesAppui } from '@design.estate/dees-catalog';
10
+ import './index.js';
11
+
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'sz-demo-view-dashboard': SzDemoViewDashboard;
15
+ }
16
+ }
17
+
18
+ @customElement('sz-demo-view-dashboard')
19
+ export class SzDemoViewDashboard extends DeesElement {
20
+ private appui: DeesAppui | null = null;
21
+
22
+ async onActivate(context: { appui: DeesAppui; viewId: string }) {
23
+ this.appui = context.appui;
24
+
25
+ // Dashboard secondary menu with quick actions
26
+ this.appui.setSecondaryMenu({
27
+ heading: 'Dashboard',
28
+ groups: [
29
+ {
30
+ name: 'Quick Actions',
31
+ items: [
32
+ { type: 'action', key: 'Deploy Service', iconName: 'lucide:Rocket', action: () => { console.log('Deploy service'); } },
33
+ { type: 'action', key: 'Add Domain', iconName: 'lucide:Globe', action: () => { console.log('Add domain'); } },
34
+ { type: 'action', key: 'Create Token', iconName: 'lucide:Key', action: () => { console.log('Create token'); } },
35
+ ],
36
+ },
37
+ {
38
+ name: 'System',
39
+ items: [
40
+ { type: 'action', key: 'Refresh Stats', iconName: 'lucide:RefreshCw', action: () => { console.log('Refresh'); } },
41
+ { type: 'action', key: 'View Logs', iconName: 'lucide:Terminal', action: () => { console.log('View logs'); } },
42
+ ],
43
+ },
44
+ ],
45
+ });
46
+ }
47
+
48
+ onDeactivate() {
49
+ // Cleanup if needed
50
+ }
51
+ public static styles = [
52
+ cssManager.defaultStyles,
53
+ css`
54
+ :host {
55
+ display: block;
56
+ padding: 24px;
57
+ height: 100%;
58
+ overflow-y: auto;
59
+ box-sizing: border-box;
60
+ }
61
+
62
+ .page-header {
63
+ margin-bottom: 24px;
64
+ }
65
+
66
+ .page-title {
67
+ font-size: 24px;
68
+ font-weight: 700;
69
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
70
+ margin: 0 0 8px 0;
71
+ }
72
+
73
+ .page-subtitle {
74
+ font-size: 14px;
75
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
76
+ margin: 0;
77
+ }
78
+ `,
79
+ ];
80
+
81
+ public render(): TemplateResult {
82
+ return html`
83
+ <div class="page-header">
84
+ <h1 class="page-title">Dashboard</h1>
85
+ <p class="page-subtitle">Overview of your onebox infrastructure</p>
86
+ </div>
87
+
88
+ <sz-dashboard-view
89
+ .clusterStats=${{
90
+ totalServices: 12,
91
+ running: 9,
92
+ stopped: 3,
93
+ dockerStatus: 'running',
94
+ }}
95
+ .resourceUsage=${{
96
+ cpu: 45,
97
+ memoryUsed: '6.2 GB',
98
+ memoryTotal: '16 GB',
99
+ networkIn: '2.5 MB/s',
100
+ networkOut: '1.2 MB/s',
101
+ topConsumers: [
102
+ { name: 'mongodb', memory: '1.2 GB' },
103
+ { name: 'clickhouse', memory: '980 MB' },
104
+ { name: 'nginx-proxy', memory: '256 MB' },
105
+ ],
106
+ }}
107
+ .platformServices=${[
108
+ { name: 'MongoDB', status: 'running', icon: 'database' },
109
+ { name: 'S3 Storage', status: 'running', icon: 'storage' },
110
+ { name: 'ClickHouse', status: 'stopped', icon: 'analytics' },
111
+ { name: 'Redis Cache', status: 'running', icon: 'cache' },
112
+ ]}
113
+ .traffic=${{
114
+ requests: 15420,
115
+ errors: 23,
116
+ errorPercent: 0.15,
117
+ avgResponse: 145,
118
+ reqPerMin: 856,
119
+ status2xx: 14850,
120
+ status3xx: 320,
121
+ status4xx: 227,
122
+ status5xx: 23,
123
+ }}
124
+ .proxy=${{
125
+ httpPort: '80',
126
+ httpsPort: '443',
127
+ httpActive: true,
128
+ httpsActive: true,
129
+ routeCount: '24',
130
+ }}
131
+ .certificates=${{
132
+ valid: 18,
133
+ expiring: 2,
134
+ expired: 0,
135
+ }}
136
+ .dns=${{
137
+ records: 45,
138
+ zones: 8,
139
+ pendingChanges: 0,
140
+ }}
141
+ .ssl=${{
142
+ activeCerts: 20,
143
+ autoRenew: true,
144
+ provider: "Let's Encrypt",
145
+ }}
146
+ @quick-action=${(e: CustomEvent) => console.log('Quick action:', e.detail)}
147
+ ></sz-dashboard-view>
148
+ `;
149
+ }
150
+ }