@serve.zone/catalog 2.12.4 → 2.12.5
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/.smartconfig.json +23 -5
- package/dist_bundle/bundle.js +5226 -4241
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/sz-status-grid-services.js +2 -2
- package/package.json +18 -18
- package/readme.md +92 -192
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/sz-status-grid-services.ts +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/catalog',
|
|
6
|
-
version: '2.12.
|
|
6
|
+
version: '2.12.5',
|
|
7
7
|
description: 'UI component catalog for serve.zone'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQSJ9
|
|
@@ -126,7 +126,7 @@ let SzStatusGridServices = (() => {
|
|
|
126
126
|
return html `
|
|
127
127
|
<div class="grid">
|
|
128
128
|
<sz-resource-usage-card
|
|
129
|
-
.
|
|
129
|
+
.data=${this.resourceUsage}
|
|
130
130
|
></sz-resource-usage-card>
|
|
131
131
|
<sz-platform-services-card
|
|
132
132
|
.services=${this.platformServices}
|
|
@@ -145,4 +145,4 @@ let SzStatusGridServices = (() => {
|
|
|
145
145
|
return SzStatusGridServices = _classThis;
|
|
146
146
|
})();
|
|
147
147
|
export { SzStatusGridServices };
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdHVzLWdyaWQtc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otc3RhdHVzLWdyaWQtc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxnQ0FBZ0MsQ0FBQztJQVkzQixvQkFBb0I7NEJBRGhDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7O29DQUFuQixTQUFRLFdBQVc7Ozs7eUNBNEJsRCxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7NENBVTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQVQxQiw0TEFBZ0IsYUFBYSw2QkFBYixhQUFhLHFHQU8zQjtZQUdGLHFNQUFnQixnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBMEI7WUF2QzVELDZLQStFQzs7OztRQTlFUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O3lCQUdSO1lBQ2YsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQUUsTUFBTTtZQUNuQixTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVLEVBQUUsVUFBVTtZQUN0QixZQUFZLEVBQUU7Z0JBQ1osRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7Z0JBQ3pDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUMxQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTthQUNyQztTQUNGOzRCQUNtQjtZQUNsQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ2xELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUN6RCxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1NBQzFEOzs7R0FHTixDQUFDO1FBRUssTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHL0MsdUZBQWdEO1lBQzlDLEdBQUcsRUFBRSxDQUFDO1lBQ04sVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLE1BQU07WUFDbkIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsWUFBWSxFQUFFLEVBQUU7U0FDakIsRUFBQztRQVBGLElBQWdCLGFBQWEsbURBTzNCO1FBUEYsSUFBZ0IsYUFBYSx5REFPM0I7UUFHRix5SkFBdUQsRUFBRSxHQUFDO1FBQTFELElBQWdCLGdCQUFnQixzREFBMEI7UUFBMUQsSUFBZ0IsZ0JBQWdCLDREQUEwQjtRQUVuRCxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUJGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7O2tCQUdHLElBQUksQ0FBQyxhQUFhOzs7c0JBR2QsSUFBSSxDQUFDLGdCQUFnQjs7O0tBR3RDLENBQUM7UUFDSixDQUFDOzs7Ozs7WUE5RVUsdURBQW9COzs7OztTQUFwQixvQkFBb0IifQ==
|
package/package.json
CHANGED
|
@@ -1,32 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/catalog",
|
|
3
|
-
"version": "2.12.
|
|
3
|
+
"version": "2.12.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "UI component catalog for serve.zone",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
7
7
|
"typings": "dist_ts_web/index.d.ts",
|
|
8
8
|
"type": "module",
|
|
9
|
-
"
|
|
10
|
-
"test": "tstest test/",
|
|
11
|
-
"build": "tsbuild tsfolders --allowimplicitany && tsbundle",
|
|
12
|
-
"watch": "tswatch"
|
|
13
|
-
},
|
|
14
|
-
"author": "Lossless GmbH",
|
|
9
|
+
"author": "Task Venture Capital GmbH",
|
|
15
10
|
"license": "MIT",
|
|
16
11
|
"dependencies": {
|
|
17
|
-
"@design.estate/dees-catalog": "^3.
|
|
18
|
-
"@design.estate/dees-domtools": "^2.5.
|
|
12
|
+
"@design.estate/dees-catalog": "^3.81.0",
|
|
13
|
+
"@design.estate/dees-domtools": "^2.5.6",
|
|
19
14
|
"@design.estate/dees-element": "^2.2.4",
|
|
20
|
-
"@design.estate/dees-wcctools": "^3.
|
|
15
|
+
"@design.estate/dees-wcctools": "^3.9.0"
|
|
21
16
|
},
|
|
22
17
|
"devDependencies": {
|
|
23
|
-
"@git.zone/tsbuild": "^4.4.
|
|
24
|
-
"@git.zone/tsbundle": "^2.10.
|
|
25
|
-
"@git.zone/tsrun": "^2.0.
|
|
26
|
-
"@git.zone/tstest": "^3.6.
|
|
27
|
-
"@git.zone/tswatch": "^3.3.
|
|
18
|
+
"@git.zone/tsbuild": "^4.4.2",
|
|
19
|
+
"@git.zone/tsbundle": "^2.10.4",
|
|
20
|
+
"@git.zone/tsrun": "^2.0.4",
|
|
21
|
+
"@git.zone/tstest": "^3.6.6",
|
|
22
|
+
"@git.zone/tswatch": "^3.3.5",
|
|
28
23
|
"@push.rocks/projectinfo": "^5.1.0",
|
|
29
|
-
"@types/node": "^25.
|
|
24
|
+
"@types/node": "^25.6.2"
|
|
30
25
|
},
|
|
31
26
|
"files": [
|
|
32
27
|
"ts_web/**/*",
|
|
@@ -40,5 +35,10 @@
|
|
|
40
35
|
],
|
|
41
36
|
"browserslist": [
|
|
42
37
|
"last 1 Chrome versions"
|
|
43
|
-
]
|
|
44
|
-
|
|
38
|
+
],
|
|
39
|
+
"scripts": {
|
|
40
|
+
"test": "tstest test/",
|
|
41
|
+
"build": "tsbuild tsfolders --allowimplicitany && tsbundle",
|
|
42
|
+
"watch": "tswatch"
|
|
43
|
+
}
|
|
44
|
+
}
|
package/readme.md
CHANGED
|
@@ -1,255 +1,155 @@
|
|
|
1
1
|
# @serve.zone/catalog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
pnpm install @serve.zone/catalog
|
|
9
|
-
```
|
|
3
|
+
`@serve.zone/catalog` is the shared web-component catalog for serve.zone dashboards. It packages the UI building blocks used by Onebox, DcRouter-style operations views, and other serve.zone admin surfaces: dashboards, service views, app-store screens, DNS and routing tools, registry panels, email views, settings, tokens, and demo shells.
|
|
10
4
|
|
|
11
5
|
## Issue Reporting and Security
|
|
12
6
|
|
|
13
7
|
For reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.
|
|
14
8
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
`@serve.zone/catalog` provides **34 production-ready web components** covering every aspect of server management:
|
|
18
|
-
|
|
19
|
-
- 📊 **Dashboard** — Real-time cluster overview, resource usage, traffic metrics, quick actions
|
|
20
|
-
- 🐳 **Services** — Docker container management, deployment, logs, live stats, backups, and an integrated IDE workspace
|
|
21
|
-
- 🛒 **App Store** — Browse and deploy pre-configured application templates (WordPress, Gitea, etc.)
|
|
22
|
-
- 🌐 **Network** — Reverse proxy configuration, DNS record management, domain & SSL certificate monitoring
|
|
23
|
-
- 🔀 **Routes** — SmartProxy route configuration, match criteria, TLS modes, security profiles, forwarding targets
|
|
24
|
-
- 📧 **MTA / Email** — Inbound and outbound email management, SMTP transaction logs, authentication results
|
|
25
|
-
- 📦 **Registries** — Container registry management (onebox + external registries like Docker Hub, GHCR, ECR)
|
|
26
|
-
- 🔑 **Auth** — Login view, API token management (global + CI tokens)
|
|
27
|
-
- ⚙️ **Settings** — Appearance, Cloudflare integration, SSL/TLS config, network settings, account management
|
|
28
|
-
- 🏗️ **Platform Services** — MongoDB, MinIO, ClickHouse, Redis, Caddy monitoring and control
|
|
29
|
-
- 📋 **Configuration** — Read-only overview of the running server configuration with collapsible sections
|
|
9
|
+
## Install
|
|
30
10
|
|
|
31
|
-
|
|
11
|
+
```bash
|
|
12
|
+
pnpm add @serve.zone/catalog
|
|
13
|
+
```
|
|
32
14
|
|
|
33
|
-
##
|
|
15
|
+
## What It Provides
|
|
34
16
|
|
|
35
|
-
|
|
17
|
+
The package exports browser-first TypeScript modules from `ts_web/index.ts`:
|
|
36
18
|
|
|
37
19
|
```typescript
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// Or import specific components
|
|
42
|
-
import { SzDashboardView, SzLoginView, SzServiceDetailView } from '@serve.zone/catalog';
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Components auto-register as custom elements when imported. Use them directly in your HTML:
|
|
46
|
-
|
|
47
|
-
```html
|
|
48
|
-
<sz-dashboard-view .data="${dashboardData}"></sz-dashboard-view>
|
|
49
|
-
<sz-login-view @login="${handleLogin}"></sz-login-view>
|
|
50
|
-
<sz-service-detail-view .service="${serviceData}" .logs="${logEntries}"></sz-service-detail-view>
|
|
20
|
+
export * from './elements/index.js';
|
|
21
|
+
export * from './pages/index.js';
|
|
51
22
|
```
|
|
52
23
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
For a complete app experience, use the demo app shell which wires up sidebar navigation, app bar menus, and all views via `dees-appui`:
|
|
24
|
+
Importing a component registers its custom element through `@design.estate/dees-element` decorators. Components use the Dees design system, support light and dark themes through Dees theme helpers, and communicate through DOM properties plus `CustomEvent` dispatching.
|
|
56
25
|
|
|
57
26
|
```typescript
|
|
58
|
-
import
|
|
59
|
-
|
|
27
|
+
import {
|
|
28
|
+
SzDashboardView,
|
|
29
|
+
SzLoginView,
|
|
30
|
+
SzServiceDetailView,
|
|
31
|
+
} from '@serve.zone/catalog';
|
|
60
32
|
```
|
|
61
33
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|-----------|-----|-------------|
|
|
68
|
-
| `SzDashboardView` | `<sz-dashboard-view>` | Main dashboard orchestrating all grid sections — cluster, services, network, infrastructure |
|
|
69
|
-
| `SzStatCard` | `<sz-stat-card>` | Single statistic card with label, value, icon, and color variant |
|
|
70
|
-
| `SzResourceUsageCard` | `<sz-resource-usage-card>` | CPU/memory progress bars, network I/O, top memory consumers |
|
|
71
|
-
| `SzTrafficCard` | `<sz-traffic-card>` | HTTP traffic metrics — requests, errors, response time, status distribution |
|
|
72
|
-
| `SzQuickActionsCard` | `<sz-quick-actions-card>` | Configurable action button grid |
|
|
73
|
-
|
|
74
|
-
### Dashboard Grids
|
|
75
|
-
|
|
76
|
-
| Component | Tag | Description |
|
|
77
|
-
|-----------|-----|-------------|
|
|
78
|
-
| `SzStatusGridCluster` | `<sz-status-grid-cluster>` | 4-column stat card grid — total/running/stopped services, Docker status |
|
|
79
|
-
| `SzStatusGridServices` | `<sz-status-grid-services>` | Resource usage + platform services side by side |
|
|
80
|
-
| `SzStatusGridNetwork` | `<sz-status-grid-network>` | Traffic, reverse proxy, and certificates in a responsive grid |
|
|
81
|
-
| `SzStatusGridInfra` | `<sz-status-grid-infra>` | DNS/SSL status + quick actions |
|
|
82
|
-
|
|
83
|
-
### Services
|
|
84
|
-
|
|
85
|
-
| Component | Tag | Description |
|
|
86
|
-
|-----------|-----|-------------|
|
|
87
|
-
| `SzServicesListView` | `<sz-services-list-view>` | Table of deployed services with status badges and action buttons |
|
|
88
|
-
| `SzServiceDetailView` | `<sz-service-detail-view>` | Full service detail page — info, logs, live stats, actions, backups, and integrated workspace/IDE mode |
|
|
89
|
-
| `SzServiceCreateView` | `<sz-service-create-view>` | Service deployment form — image, ports, env vars, volumes, resource limits |
|
|
90
|
-
| `SzServicesBackupsView` | `<sz-services-backups-view>` | Backup schedule and backup history management |
|
|
91
|
-
|
|
92
|
-
### App Store
|
|
93
|
-
|
|
94
|
-
| Component | Tag | Description |
|
|
95
|
-
|-----------|-----|-------------|
|
|
96
|
-
| `SzAppStoreView` | `<sz-app-store-view>` | App marketplace for deploying pre-configured templates (WordPress, Gitea, etc.) with category filtering |
|
|
97
|
-
|
|
98
|
-
### Platform Services
|
|
34
|
+
```html
|
|
35
|
+
<sz-dashboard-view></sz-dashboard-view>
|
|
36
|
+
<sz-login-view></sz-login-view>
|
|
37
|
+
<sz-service-detail-view></sz-service-detail-view>
|
|
38
|
+
```
|
|
99
39
|
|
|
100
|
-
|
|
101
|
-
|-----------|-----|-------------|
|
|
102
|
-
| `SzPlatformServicesCard` | `<sz-platform-services-card>` | Lists infrastructure services (MongoDB, MinIO, etc.) with status indicators |
|
|
103
|
-
| `SzPlatformServiceDetailView` | `<sz-platform-service-detail-view>` | Detailed platform service view — connection info, config, metrics, logs |
|
|
40
|
+
## Component Areas
|
|
104
41
|
|
|
105
|
-
|
|
42
|
+
| Area | Components |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| Dashboard | `SzDashboardView`, `SzResourceUsageCard`, `SzTrafficCard`, `SzPlatformServicesCard`, `SzCertificatesCard`, `SzReverseProxyCard`, `SzDnsSslCard`, `SzQuickActionsCard`, and status-grid components. |
|
|
45
|
+
| Services | `SzServicesListView`, `SzServiceDetailView`, `SzServiceCreateView`, `SzServicesBackupsView`, and `SzAppStoreView`. |
|
|
46
|
+
| Network and domains | `SzNetworkProxyView`, `SzNetworkDnsView`, `SzNetworkDomainsView`, and `SzDomainDetailView`. |
|
|
47
|
+
| Routes | `SzRouteListView` and `SzRouteCard` for route configuration, match criteria, actions, TLS mode, and security profile display. |
|
|
48
|
+
| Mail | `SzMtaListView` and `SzMtaDetailView` for inbound/outbound email operations views. |
|
|
49
|
+
| Registries | `SzRegistryAdvertisement` and `SzRegistryExternalView`. |
|
|
50
|
+
| Auth and settings | `SzLoginView`, `SzTokensView`, and `SzSettingsView`. |
|
|
51
|
+
| Configuration | `SzConfigOverview` and `SzConfigSection`. |
|
|
52
|
+
| Demo pages | `SzDemoAppShell`, `SzDemoApp`, `Mainpage`, and `SzDemoView*` components used by the development/demo environment. |
|
|
106
53
|
|
|
107
|
-
|
|
108
|
-
|-----------|-----|-------------|
|
|
109
|
-
| `SzNetworkProxyView` | `<sz-network-proxy-view>` | Reverse proxy management — traffic targets table and access log viewer |
|
|
110
|
-
| `SzNetworkDnsView` | `<sz-network-dns-view>` | DNS record management with Cloudflare sync |
|
|
111
|
-
| `SzNetworkDomainsView` | `<sz-network-domains-view>` | Domain list with certificate status and provider info |
|
|
112
|
-
| `SzDomainDetailView` | `<sz-domain-detail-view>` | Domain detail — SSL certificate info, proxy routes, DNS records |
|
|
113
|
-
| `SzReverseProxyCard` | `<sz-reverse-proxy-card>` | Compact proxy status card (HTTP/HTTPS ports, route count) |
|
|
114
|
-
| `SzDnsSslCard` | `<sz-dns-ssl-card>` | Cloudflare DNS and ACME config status |
|
|
115
|
-
| `SzCertificatesCard` | `<sz-certificates-card>` | Certificate status counts — valid, expiring, expired |
|
|
54
|
+
The exported catalog currently contains more than 30 product UI components plus demo orchestration components. Prefer the exported barrel imports over deep file imports unless you are working inside this repository.
|
|
116
55
|
|
|
117
|
-
|
|
56
|
+
## Usage Patterns
|
|
118
57
|
|
|
119
|
-
|
|
120
|
-
|-----------|-----|-------------|
|
|
121
|
-
| `SzRouteListView` | `<sz-route-list-view>` | Route configuration list with type filtering (HTTPS, email, DNS, etc.) |
|
|
122
|
-
| `SzRouteCard` | `<sz-route-card>` | Single route card — match criteria, action type, TLS mode, targets, security profile |
|
|
58
|
+
Most components expose data through typed properties and emit actions as DOM events.
|
|
123
59
|
|
|
124
|
-
|
|
60
|
+
```typescript
|
|
61
|
+
import { html } from '@design.estate/dees-element';
|
|
62
|
+
import '@serve.zone/catalog';
|
|
125
63
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
64
|
+
const dashboardTemplate = html`
|
|
65
|
+
<sz-dashboard-view
|
|
66
|
+
.data=${dashboardData}
|
|
67
|
+
@action-click=${(event: CustomEvent) => {
|
|
68
|
+
console.log('dashboard action selected', event.detail);
|
|
69
|
+
}}
|
|
70
|
+
></sz-dashboard-view>
|
|
71
|
+
`;
|
|
72
|
+
```
|
|
130
73
|
|
|
131
|
-
|
|
74
|
+
For a full app-style demo shell with navigation, import the package and render `<sz-demo-app-shell>`:
|
|
132
75
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
| `SzRegistryExternalView` | `<sz-registry-external-view>` | External registry management (Docker Hub, GHCR, GCR, ECR) |
|
|
76
|
+
```html
|
|
77
|
+
<sz-demo-app-shell></sz-demo-app-shell>
|
|
78
|
+
```
|
|
137
79
|
|
|
138
|
-
|
|
80
|
+
The demo shell is useful for development and visual review. Production apps usually compose the lower-level components into their own routing and data-fetching layer.
|
|
139
81
|
|
|
140
|
-
|
|
141
|
-
|-----------|-----|-------------|
|
|
142
|
-
| `SzLoginView` | `<sz-login-view>` | Login page with serve.zone branding, credentials form, error display |
|
|
143
|
-
| `SzTokensView` | `<sz-tokens-view>` | API token management — global and CI tokens with copy/regenerate/delete |
|
|
144
|
-
| `SzSettingsView` | `<sz-settings-view>` | Full settings panel — appearance, Cloudflare, SSL/TLS, network, account |
|
|
82
|
+
## TypeScript Interfaces
|
|
145
83
|
|
|
146
|
-
|
|
84
|
+
Many components export their own data interfaces alongside the custom element class. These interfaces are intended for UI-facing view models, not as replacements for backend contracts from `@serve.zone/interfaces`.
|
|
147
85
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
86
|
+
```typescript
|
|
87
|
+
import type {
|
|
88
|
+
IDashboardData,
|
|
89
|
+
IRouteConfig,
|
|
90
|
+
IServiceDetail,
|
|
91
|
+
IAppTemplate,
|
|
92
|
+
} from '@serve.zone/catalog';
|
|
93
|
+
```
|
|
152
94
|
|
|
153
|
-
|
|
95
|
+
Use these types to shape component props in the frontend. Use `@serve.zone/interfaces` for API and persisted platform contracts.
|
|
154
96
|
|
|
155
|
-
|
|
97
|
+
## Architecture
|
|
156
98
|
|
|
157
|
-
|
|
99
|
+
The catalog follows a consistent component pattern:
|
|
158
100
|
|
|
159
101
|
```typescript
|
|
160
|
-
import {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
102
|
+
import {
|
|
103
|
+
DeesElement,
|
|
104
|
+
css,
|
|
105
|
+
cssManager,
|
|
106
|
+
customElement,
|
|
107
|
+
html,
|
|
108
|
+
property,
|
|
109
|
+
} from '@design.estate/dees-element';
|
|
110
|
+
|
|
111
|
+
@customElement('sz-example-card')
|
|
112
|
+
export class SzExampleCard extends DeesElement {
|
|
165
113
|
@property({ type: String })
|
|
166
|
-
public accessor label
|
|
114
|
+
public accessor label = '';
|
|
167
115
|
|
|
168
116
|
public static styles = [
|
|
169
117
|
cssManager.defaultStyles,
|
|
170
118
|
css`
|
|
171
|
-
|
|
172
|
-
|
|
119
|
+
:host {
|
|
120
|
+
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
|
121
|
+
}
|
|
173
122
|
`,
|
|
174
123
|
];
|
|
175
124
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
this.dispatchEvent(new CustomEvent('action', {
|
|
179
|
-
detail: { id: this.id },
|
|
180
|
-
bubbles: true,
|
|
181
|
-
composed: true,
|
|
182
|
-
}));
|
|
125
|
+
public render() {
|
|
126
|
+
return html`<span>${this.label}</span>`;
|
|
183
127
|
}
|
|
184
128
|
}
|
|
185
129
|
```
|
|
186
130
|
|
|
187
|
-
|
|
131
|
+
Project layout:
|
|
188
132
|
|
|
189
|
-
```
|
|
133
|
+
```text
|
|
190
134
|
@serve.zone/catalog/
|
|
191
|
-
├── html/
|
|
192
|
-
│ ├── index.html # HTML shell
|
|
193
|
-
│ └── index.ts # WccTools config (pages + elements sections)
|
|
135
|
+
├── html/ # WccTools dev server shell
|
|
194
136
|
├── ts_web/
|
|
195
|
-
│ ├── index.ts
|
|
196
|
-
│ ├── elements/
|
|
197
|
-
│
|
|
198
|
-
|
|
199
|
-
│ │ └── sz-demo-view-*.ts # Demo orchestration wrappers
|
|
200
|
-
│ └── pages/ # Page-level components
|
|
201
|
-
│ ├── sz-demo-app-shell.ts # Full app shell (dees-appui)
|
|
202
|
-
│ └── ...
|
|
203
|
-
└── dist_ts_web/ # Compiled output (npm entry point)
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### TypeScript Interfaces
|
|
207
|
-
|
|
208
|
-
The library exports comprehensive TypeScript interfaces for all data structures:
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
// Dashboard
|
|
212
|
-
import type { IDashboardData, IResourceUsage, ITrafficData, IClusterStats } from '@serve.zone/catalog';
|
|
213
|
-
|
|
214
|
-
// Services
|
|
215
|
-
import type { IServiceDetail, IServiceStats, ILogEntry, IServiceBackup } from '@serve.zone/catalog';
|
|
216
|
-
|
|
217
|
-
// Network
|
|
218
|
-
import type { IDomainDetail, ICertificateDetail, IDnsRecord, ITrafficTarget } from '@serve.zone/catalog';
|
|
219
|
-
|
|
220
|
-
// Routes
|
|
221
|
-
import type { IRouteConfig, IRouteMatch, IRouteAction, IRouteTls, IRouteSecurity } from '@serve.zone/catalog';
|
|
222
|
-
|
|
223
|
-
// MTA / Email
|
|
224
|
-
import type { IEmail, IEmailDetail, ISmtpLogEntry, IConnectionInfo, IAuthenticationResults } from '@serve.zone/catalog';
|
|
225
|
-
|
|
226
|
-
// Configuration
|
|
227
|
-
import type { IConfigField, IConfigSectionAction } from '@serve.zone/catalog';
|
|
228
|
-
|
|
229
|
-
// Settings & Auth
|
|
230
|
-
import type { ISettings, IToken, IExternalRegistry } from '@serve.zone/catalog';
|
|
231
|
-
|
|
232
|
-
// App Store
|
|
233
|
-
import type { IAppTemplate } from '@serve.zone/catalog';
|
|
137
|
+
│ ├── index.ts # package barrel export
|
|
138
|
+
│ ├── elements/ # reusable sz-* web components
|
|
139
|
+
│ └── pages/ # demo app and shell pages
|
|
140
|
+
└── dist_ts_web/ # compiled npm entry point
|
|
234
141
|
```
|
|
235
142
|
|
|
236
|
-
##
|
|
143
|
+
## Development
|
|
237
144
|
|
|
238
145
|
```bash
|
|
239
|
-
# Install dependencies
|
|
240
146
|
pnpm install
|
|
241
|
-
|
|
242
|
-
# Start dev server (wcctools dashboard with live reload)
|
|
243
147
|
pnpm run watch
|
|
244
|
-
|
|
245
|
-
# Production build
|
|
246
148
|
pnpm run build
|
|
247
|
-
|
|
248
|
-
# Run tests
|
|
249
149
|
pnpm test
|
|
250
150
|
```
|
|
251
151
|
|
|
252
|
-
|
|
152
|
+
`pnpm run watch` starts the WccTools development environment for browsing the catalog with demo data. `pnpm run build` compiles TypeScript folders and creates the browser bundle with `tsbundle`.
|
|
253
153
|
|
|
254
154
|
## License and Legal Information
|
|
255
155
|
|
|
@@ -265,7 +165,7 @@ Use of these trademarks must comply with Task Venture Capital GmbH's Trademark G
|
|
|
265
165
|
|
|
266
166
|
### Company Information
|
|
267
167
|
|
|
268
|
-
Task Venture Capital GmbH
|
|
168
|
+
Task Venture Capital GmbH
|
|
269
169
|
Registered at District Court Bremen HRB 35230 HB, Germany
|
|
270
170
|
|
|
271
171
|
For any legal inquiries or further information, please contact us via email at hello@task.vc.
|
|
@@ -92,7 +92,7 @@ export class SzStatusGridServices extends DeesElement {
|
|
|
92
92
|
return html`
|
|
93
93
|
<div class="grid">
|
|
94
94
|
<sz-resource-usage-card
|
|
95
|
-
.
|
|
95
|
+
.data=${this.resourceUsage}
|
|
96
96
|
></sz-resource-usage-card>
|
|
97
97
|
<sz-platform-services-card
|
|
98
98
|
.services=${this.platformServices}
|