fix(deps): bump dependencies and devDependencies, update watch script, add npmextra preset, and remove Playwright artifacts
24
.gitignore
vendored
@@ -1 +1,23 @@
|
||||
node_modules
|
||||
.nogit/
|
||||
|
||||
# artifacts
|
||||
coverage/
|
||||
public/
|
||||
|
||||
# installs
|
||||
node_modules/
|
||||
|
||||
# caches
|
||||
.yarn/
|
||||
.cache/
|
||||
.rpt2_cache
|
||||
|
||||
# builds
|
||||
dist/
|
||||
dist_*/
|
||||
|
||||
# AI
|
||||
.claude/
|
||||
.serena/
|
||||
|
||||
#------# custom
|
||||
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 79 KiB |
16
changelog.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-02-20 - 1.0.1 - fix(deps)
|
||||
bump dependencies and devDependencies, update watch script, add npmextra preset, and remove Playwright artifacts
|
||||
|
||||
- package.json: bump @design.estate/dees-catalog ^3.29.1 → ^3.43.0, @design.estate/dees-domtools ^2.3.6 → ^2.3.8, @design.estate/dees-element ^2.1.3 → ^2.1.6, @design.estate/dees-wcctools ^3.4.0 → ^3.8.0
|
||||
- devDependencies: bump @git.zone/tsbuild ^4.0.2 → ^4.1.2, @git.zone/tsbundle ^2.6.3 → ^2.8.3, @git.zone/tstest ^3.1.3 → ^3.1.8, @git.zone/tswatch ^2.3.13 → ^3.1.0, @types/node ^25.0.3 → ^25.3.0
|
||||
- scripts: change watch from "tswatch element" to "tswatch" (simplify dev workflow)
|
||||
- npmextra.json: add preset for @git.zone/tswatch (preset: "element")
|
||||
- repo cleanup: expand .gitignore and remove large Playwright screenshots/artifacts from .playwright-mcp
|
||||
|
||||
## 2026-01-03 - 1.0.0 - maintenance
|
||||
General maintenance update; the commit message provides no detailed information.
|
||||
|
||||
- Commit message: "update" (no further details).
|
||||
- No specific user-facing or functional changes are documented.
|
||||
33573
dist_bundle/bundle.js
33
dist_ts_web/elements/index.d.ts
vendored
@@ -1,33 +0,0 @@
|
||||
export * from './sz-stat-card.js';
|
||||
export * from './sz-resource-usage-card.js';
|
||||
export * from './sz-traffic-card.js';
|
||||
export * from './sz-platform-services-card.js';
|
||||
export * from './sz-certificates-card.js';
|
||||
export * from './sz-reverse-proxy-card.js';
|
||||
export * from './sz-dns-ssl-card.js';
|
||||
export * from './sz-quick-actions-card.js';
|
||||
export * from './sz-status-grid-cluster.js';
|
||||
export * from './sz-status-grid-services.js';
|
||||
export * from './sz-status-grid-network.js';
|
||||
export * from './sz-status-grid-infra.js';
|
||||
export * from './sz-dashboard-view.js';
|
||||
export * from './sz-network-proxy-view.js';
|
||||
export * from './sz-network-dns-view.js';
|
||||
export * from './sz-network-domains-view.js';
|
||||
export * from './sz-registry-onebox-view.js';
|
||||
export * from './sz-registry-external-view.js';
|
||||
export * from './sz-services-list-view.js';
|
||||
export * from './sz-services-backups-view.js';
|
||||
export * from './sz-service-detail-view.js';
|
||||
export * from './sz-tokens-view.js';
|
||||
export * from './sz-settings-view.js';
|
||||
export * from './sz-login-view.js';
|
||||
export * from './sz-service-create-view.js';
|
||||
export * from './sz-platform-service-detail-view.js';
|
||||
export * from './sz-domain-detail-view.js';
|
||||
export * from './sz-demo-view-dashboard.js';
|
||||
export * from './sz-demo-view-services.js';
|
||||
export * from './sz-demo-view-network.js';
|
||||
export * from './sz-demo-view-registries.js';
|
||||
export * from './sz-demo-view-tokens.js';
|
||||
export * from './sz-demo-view-settings.js';
|
||||
@@ -1,45 +0,0 @@
|
||||
// Dashboard Cards
|
||||
export * from './sz-stat-card.js';
|
||||
export * from './sz-resource-usage-card.js';
|
||||
export * from './sz-traffic-card.js';
|
||||
export * from './sz-platform-services-card.js';
|
||||
export * from './sz-certificates-card.js';
|
||||
export * from './sz-reverse-proxy-card.js';
|
||||
export * from './sz-dns-ssl-card.js';
|
||||
export * from './sz-quick-actions-card.js';
|
||||
// Grid Components
|
||||
export * from './sz-status-grid-cluster.js';
|
||||
export * from './sz-status-grid-services.js';
|
||||
export * from './sz-status-grid-network.js';
|
||||
export * from './sz-status-grid-infra.js';
|
||||
export * from './sz-dashboard-view.js';
|
||||
// Network Views
|
||||
export * from './sz-network-proxy-view.js';
|
||||
export * from './sz-network-dns-view.js';
|
||||
export * from './sz-network-domains-view.js';
|
||||
// Registry Views
|
||||
export * from './sz-registry-onebox-view.js';
|
||||
export * from './sz-registry-external-view.js';
|
||||
// Services Views
|
||||
export * from './sz-services-list-view.js';
|
||||
export * from './sz-services-backups-view.js';
|
||||
export * from './sz-service-detail-view.js';
|
||||
// Tokens View
|
||||
export * from './sz-tokens-view.js';
|
||||
// Settings View
|
||||
export * from './sz-settings-view.js';
|
||||
// Auth & Login
|
||||
export * from './sz-login-view.js';
|
||||
// Service Create
|
||||
export * from './sz-service-create-view.js';
|
||||
// Detail Views
|
||||
export * from './sz-platform-service-detail-view.js';
|
||||
export * from './sz-domain-detail-view.js';
|
||||
// Demo Views
|
||||
export * from './sz-demo-view-dashboard.js';
|
||||
export * from './sz-demo-view-services.js';
|
||||
export * from './sz-demo-view-network.js';
|
||||
export * from './sz-demo-view-registries.js';
|
||||
export * from './sz-demo-view-tokens.js';
|
||||
export * from './sz-demo-view-settings.js';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCO0FBQ2xCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxrQkFBa0I7QUFDbEIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGdCQUFnQjtBQUNoQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxpQkFBaUI7QUFDakIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjO0FBQ2QsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxnQkFBZ0I7QUFDaEIsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxlQUFlO0FBQ2YsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxpQkFBaUI7QUFDakIsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxlQUFlO0FBQ2YsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGFBQWE7QUFDYixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQyJ9
|
||||
14
dist_ts_web/elements/sz-certificates-card.d.ts
vendored
@@ -1,14 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-certificates-card': SzCertificatesCard;
|
||||
}
|
||||
}
|
||||
export declare class SzCertificatesCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor validCount: number;
|
||||
accessor expiringCount: number;
|
||||
accessor expiredCount: number;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,210 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzCertificatesCard = (() => {
|
||||
let _classDecorators = [customElement('sz-certificates-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _validCount_decorators;
|
||||
let _validCount_initializers = [];
|
||||
let _validCount_extraInitializers = [];
|
||||
let _expiringCount_decorators;
|
||||
let _expiringCount_initializers = [];
|
||||
let _expiringCount_extraInitializers = [];
|
||||
let _expiredCount_decorators;
|
||||
let _expiredCount_initializers = [];
|
||||
let _expiredCount_extraInitializers = [];
|
||||
var SzCertificatesCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_validCount_decorators = [property({ type: Number })];
|
||||
_expiringCount_decorators = [property({ type: Number })];
|
||||
_expiredCount_decorators = [property({ type: Number })];
|
||||
__esDecorate(this, null, _validCount_decorators, { kind: "accessor", name: "validCount", static: false, private: false, access: { has: obj => "validCount" in obj, get: obj => obj.validCount, set: (obj, value) => { obj.validCount = value; } }, metadata: _metadata }, _validCount_initializers, _validCount_extraInitializers);
|
||||
__esDecorate(this, null, _expiringCount_decorators, { kind: "accessor", name: "expiringCount", static: false, private: false, access: { has: obj => "expiringCount" in obj, get: obj => obj.expiringCount, set: (obj, value) => { obj.expiringCount = value; } }, metadata: _metadata }, _expiringCount_initializers, _expiringCount_extraInitializers);
|
||||
__esDecorate(this, null, _expiredCount_decorators, { kind: "accessor", name: "expiredCount", static: false, private: false, access: { has: obj => "expiredCount" in obj, get: obj => obj.expiredCount, set: (obj, value) => { obj.expiredCount = value; } }, metadata: _metadata }, _expiredCount_initializers, _expiredCount_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzCertificatesCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; display: flex; gap: 16px; flex-wrap: wrap;">
|
||||
<sz-certificates-card validCount="2"></sz-certificates-card>
|
||||
<sz-certificates-card validCount="5" expiringCount="2"></sz-certificates-card>
|
||||
<sz-certificates-card validCount="0" expiredCount="1"></sz-certificates-card>
|
||||
</div>
|
||||
`;
|
||||
#validCount_accessor_storage = __runInitializers(this, _validCount_initializers, 0);
|
||||
get validCount() { return this.#validCount_accessor_storage; }
|
||||
set validCount(value) { this.#validCount_accessor_storage = value; }
|
||||
#expiringCount_accessor_storage = (__runInitializers(this, _validCount_extraInitializers), __runInitializers(this, _expiringCount_initializers, 0));
|
||||
get expiringCount() { return this.#expiringCount_accessor_storage; }
|
||||
set expiringCount(value) { this.#expiringCount_accessor_storage = value; }
|
||||
#expiredCount_accessor_storage = (__runInitializers(this, _expiringCount_extraInitializers), __runInitializers(this, _expiredCount_initializers, 0));
|
||||
get expiredCount() { return this.#expiredCount_accessor_storage; }
|
||||
set expiredCount(value) { this.#expiredCount_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
min-width: 200px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.status {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.status-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.status-icon.valid {
|
||||
color: ${cssManager.bdTheme('#22c55e', '#22c55e')};
|
||||
}
|
||||
|
||||
.status-icon.warning {
|
||||
color: ${cssManager.bdTheme('#facc15', '#facc15')};
|
||||
}
|
||||
|
||||
.status-icon.error {
|
||||
color: ${cssManager.bdTheme('#ef4444', '#ef4444')};
|
||||
}
|
||||
|
||||
.status-text {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.status-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">Certificates</div>
|
||||
<div class="subtitle">SSL/TLS certificate status</div>
|
||||
</div>
|
||||
|
||||
<div class="status-list">
|
||||
${this.validCount > 0 ? html `
|
||||
<div class="status">
|
||||
<svg class="status-icon valid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<polyline points="20 6 9 17 4 12"></polyline>
|
||||
</svg>
|
||||
<span class="status-text">${this.validCount} valid</span>
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
${this.expiringCount > 0 ? html `
|
||||
<div class="status">
|
||||
<svg class="status-icon warning" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
|
||||
<line x1="12" y1="9" x2="12" y2="13"></line>
|
||||
<line x1="12" y1="17" x2="12.01" y2="17"></line>
|
||||
</svg>
|
||||
<span class="status-text">${this.expiringCount} expiring soon</span>
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
${this.expiredCount > 0 ? html `
|
||||
<div class="status">
|
||||
<svg class="status-icon error" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<line x1="15" y1="9" x2="9" y2="15"></line>
|
||||
<line x1="9" y1="9" x2="15" y2="15"></line>
|
||||
</svg>
|
||||
<span class="status-text">${this.expiredCount} expired</span>
|
||||
</div>
|
||||
` : ''}
|
||||
|
||||
${this.validCount === 0 && this.expiringCount === 0 && this.expiredCount === 0 ? html `
|
||||
<div class="status">
|
||||
<span class="status-text">No certificates</span>
|
||||
</div>
|
||||
` : ''}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _expiredCount_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzCertificatesCard = _classThis;
|
||||
})();
|
||||
export { SzCertificatesCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otY2VydGlmaWNhdGVzLWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otY2VydGlmaWNhdGVzLWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0lBU3hCLGtCQUFrQjs0QkFEOUIsYUFBYSxDQUFDLHNCQUFzQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7a0NBQW5CLFNBQVEsV0FBVzs7OztzQ0FTaEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO3lDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7d0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUwzQixtTEFBZ0IsVUFBVSw2QkFBVixVQUFVLCtGQUFhO1lBR3ZDLDRMQUFnQixhQUFhLDZCQUFiLGFBQWEscUdBQWE7WUFHMUMseUxBQWdCLFlBQVksNkJBQVosWUFBWSxtR0FBYTtZQWhCM0MsNktBeUlDOzs7O1FBeElRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7R0FNOUIsQ0FBQztRQUdGLGlGQUFxQyxDQUFDLEVBQUM7UUFBdkMsSUFBZ0IsVUFBVSxnREFBYTtRQUF2QyxJQUFnQixVQUFVLHNEQUFhO1FBR3ZDLGdKQUF3QyxDQUFDLEdBQUM7UUFBMUMsSUFBZ0IsYUFBYSxtREFBYTtRQUExQyxJQUFnQixhQUFhLHlEQUFhO1FBRzFDLGlKQUF1QyxDQUFDLEdBQUM7UUFBekMsSUFBZ0IsWUFBWSxrREFBYTtRQUF6QyxJQUFnQixZQUFZLHdEQUFhO1FBRWxDLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsVUFBVSxDQUFDLGFBQWE7WUFDeEIsR0FBRyxDQUFBOzs7Ozs7OztzQkFRZSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7NEJBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7aUJBY25ELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7aUJBS3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztpQkFnQnhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztpQkFJeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O2lCQUl4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7O0tBUXBEO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7WUFRSCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7OzswQ0FLSSxJQUFJLENBQUMsVUFBVTs7V0FFOUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFFSixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7Ozs7OzBDQU9DLElBQUksQ0FBQyxhQUFhOztXQUVqRCxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUVKLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7MENBT0UsSUFBSSxDQUFDLFlBQVk7O1dBRWhELENBQUMsQ0FBQyxDQUFDLEVBQUU7O1lBRUosSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7OztXQUlwRixDQUFDLENBQUMsQ0FBQyxFQUFFOzs7S0FHWCxDQUFDO1FBQ0osQ0FBQzs7Ozs7O1lBeElVLHVEQUFrQjs7Ozs7U0FBbEIsa0JBQWtCIn0=
|
||||
33
dist_ts_web/elements/sz-dashboard-view.d.ts
vendored
@@ -1,33 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-status-grid-cluster.js';
|
||||
import './sz-status-grid-services.js';
|
||||
import './sz-status-grid-network.js';
|
||||
import './sz-status-grid-infra.js';
|
||||
import type { IClusterStats } from './sz-status-grid-cluster.js';
|
||||
import type { IResourceUsage } from './sz-resource-usage-card.js';
|
||||
import type { IPlatformService } from './sz-platform-services-card.js';
|
||||
import type { ITrafficData } from './sz-traffic-card.js';
|
||||
import type { IProxyStatus, ICertificateStatus } from './sz-status-grid-network.js';
|
||||
import type { IQuickAction } from './sz-quick-actions-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-dashboard-view': SzDashboardView;
|
||||
}
|
||||
}
|
||||
export interface IDashboardData {
|
||||
cluster: IClusterStats;
|
||||
resourceUsage: IResourceUsage;
|
||||
platformServices: IPlatformService[];
|
||||
traffic: ITrafficData;
|
||||
proxy: IProxyStatus;
|
||||
certificates: ICertificateStatus;
|
||||
dnsConfigured: boolean;
|
||||
acmeConfigured: boolean;
|
||||
quickActions: IQuickAction[];
|
||||
}
|
||||
export declare class SzDashboardView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor data: IDashboardData;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,242 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
import './sz-status-grid-cluster.js';
|
||||
import './sz-status-grid-services.js';
|
||||
import './sz-status-grid-network.js';
|
||||
import './sz-status-grid-infra.js';
|
||||
let SzDashboardView = (() => {
|
||||
let _classDecorators = [customElement('sz-dashboard-view')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _data_decorators;
|
||||
let _data_initializers = [];
|
||||
let _data_extraInitializers = [];
|
||||
var SzDashboardView = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_data_decorators = [property({ type: Object })];
|
||||
__esDecorate(this, null, _data_decorators, { kind: "accessor", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzDashboardView = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 1400px;">
|
||||
<sz-dashboard-view
|
||||
.data=${{
|
||||
cluster: {
|
||||
totalServices: 7,
|
||||
running: 7,
|
||||
stopped: 0,
|
||||
dockerStatus: 'running',
|
||||
},
|
||||
resourceUsage: {
|
||||
cpu: 0.5,
|
||||
memoryUsed: '191 MB',
|
||||
memoryTotal: '429.2 GB',
|
||||
networkIn: '38.9 KB/s',
|
||||
networkOut: '1.7 KB/s',
|
||||
topConsumers: [
|
||||
{ name: 'test-nginx', memory: '32.1 MB' },
|
||||
{ name: 'test-v2', memory: '31.7 MB' },
|
||||
],
|
||||
},
|
||||
platformServices: [
|
||||
{ name: 'MongoDB', status: '1 DB', running: true },
|
||||
{ name: 'S3 Storage (MinIO)', status: '1 bucket', running: true },
|
||||
{ name: 'Caddy Reverse Proxy', status: 'Running', running: true },
|
||||
{ name: 'ClickHouse', status: '1 DB', running: true },
|
||||
],
|
||||
traffic: {
|
||||
requests: 1250,
|
||||
errors: 15,
|
||||
errorPercent: 1.2,
|
||||
avgResponse: 145,
|
||||
reqPerMin: 21,
|
||||
status2xx: 85,
|
||||
status3xx: 5,
|
||||
status4xx: 8,
|
||||
status5xx: 2,
|
||||
},
|
||||
proxy: {
|
||||
httpPort: '80',
|
||||
httpsPort: '443',
|
||||
httpActive: true,
|
||||
httpsActive: true,
|
||||
routeCount: '12',
|
||||
},
|
||||
certificates: {
|
||||
valid: 8,
|
||||
expiring: 2,
|
||||
expired: 0,
|
||||
},
|
||||
dnsConfigured: true,
|
||||
acmeConfigured: true,
|
||||
quickActions: [
|
||||
{ label: 'Deploy Service', icon: 'plus', primary: true },
|
||||
{ label: 'View All Services' },
|
||||
{ label: 'Platform Services' },
|
||||
{ label: 'Manage Domains' },
|
||||
],
|
||||
}}
|
||||
></sz-dashboard-view>
|
||||
</div>
|
||||
`;
|
||||
#data_accessor_storage = __runInitializers(this, _data_initializers, {
|
||||
cluster: {
|
||||
totalServices: 0,
|
||||
running: 0,
|
||||
stopped: 0,
|
||||
dockerStatus: 'stopped',
|
||||
},
|
||||
resourceUsage: {
|
||||
cpu: 0,
|
||||
memoryUsed: '0 MB',
|
||||
memoryTotal: '0 GB',
|
||||
networkIn: '0 KB/s',
|
||||
networkOut: '0 KB/s',
|
||||
topConsumers: [],
|
||||
},
|
||||
platformServices: [],
|
||||
traffic: {
|
||||
requests: 0,
|
||||
errors: 0,
|
||||
errorPercent: 0,
|
||||
avgResponse: 0,
|
||||
reqPerMin: 0,
|
||||
status2xx: 0,
|
||||
status3xx: 0,
|
||||
status4xx: 0,
|
||||
status5xx: 0,
|
||||
},
|
||||
proxy: {
|
||||
httpPort: '80',
|
||||
httpsPort: '443',
|
||||
httpActive: false,
|
||||
httpsActive: false,
|
||||
routeCount: '0',
|
||||
},
|
||||
certificates: {
|
||||
valid: 0,
|
||||
expiring: 0,
|
||||
expired: 0,
|
||||
},
|
||||
dnsConfigured: false,
|
||||
acmeConfigured: false,
|
||||
quickActions: [],
|
||||
});
|
||||
get data() { return this.#data_accessor_storage; }
|
||||
set data(value) { this.#data_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dashboard {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="dashboard">
|
||||
<section class="section">
|
||||
<h2 class="section-title">Cluster Overview</h2>
|
||||
<sz-status-grid-cluster
|
||||
.stats=${this.data.cluster}
|
||||
></sz-status-grid-cluster>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h2 class="section-title">Services & Resources</h2>
|
||||
<sz-status-grid-services
|
||||
.resourceUsage=${this.data.resourceUsage}
|
||||
.platformServices=${this.data.platformServices}
|
||||
></sz-status-grid-services>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h2 class="section-title">Network & Traffic</h2>
|
||||
<sz-status-grid-network
|
||||
.traffic=${this.data.traffic}
|
||||
.proxy=${this.data.proxy}
|
||||
.certificates=${this.data.certificates}
|
||||
></sz-status-grid-network>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h2 class="section-title">Infrastructure</h2>
|
||||
<sz-status-grid-infra
|
||||
?dnsConfigured=${this.data.dnsConfigured}
|
||||
?acmeConfigured=${this.data.acmeConfigured}
|
||||
.actions=${this.data.quickActions}
|
||||
@action-click=${(e) => this.dispatchEvent(new CustomEvent('action-click', { detail: e.detail, bubbles: true, composed: true }))}
|
||||
></sz-status-grid-infra>
|
||||
</section>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _data_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzDashboardView = _classThis;
|
||||
})();
|
||||
export { SzDashboardView };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZGFzaGJvYXJkLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otZGFzaGJvYXJkLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sNkJBQTZCLENBQUM7QUFDckMsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sMkJBQTJCLENBQUM7SUE0QnRCLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7OytCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBZ0U3QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsaUtBQWdCLElBQUksNkJBQUosSUFBSSxtRkEwQ2xCO1lBM0dKLDZLQStLQzs7OztRQTlLUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O2dCQUdqQjtZQUNOLE9BQU8sRUFBRTtnQkFDUCxhQUFhLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsWUFBWSxFQUFFLFNBQVM7YUFDeEI7WUFDRCxhQUFhLEVBQUU7Z0JBQ2IsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixTQUFTLEVBQUUsV0FBVztnQkFDdEIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDWixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtvQkFDekMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7aUJBQ3ZDO2FBQ0Y7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDaEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtnQkFDbEQsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2dCQUNqRSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7Z0JBQ2pFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7YUFDdEQ7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLEdBQUc7Z0JBQ2pCLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixTQUFTLEVBQUUsRUFBRTtnQkFDYixTQUFTLEVBQUUsRUFBRTtnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQzthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRSxDQUFDO2dCQUNSLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxhQUFhLEVBQUUsSUFBSTtZQUNuQixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUU7Z0JBQ1osRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2dCQUN4RCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtnQkFDOUIsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzlCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO2FBQzVCO1NBQ0Y7OztHQUdOLENBQUM7UUFHRixxRUFBdUM7WUFDckMsT0FBTyxFQUFFO2dCQUNQLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsQ0FBQztnQkFDVixZQUFZLEVBQUUsU0FBUzthQUN4QjtZQUNELGFBQWEsRUFBRTtnQkFDYixHQUFHLEVBQUUsQ0FBQztnQkFDTixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsV0FBVyxFQUFFLE1BQU07Z0JBQ25CLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxZQUFZLEVBQUUsQ0FBQztnQkFDZixXQUFXLEVBQUUsQ0FBQztnQkFDZCxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQzthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixVQUFVLEVBQUUsS0FBSztnQkFDakIsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFVBQVUsRUFBRSxHQUFHO2FBQ2hCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRSxDQUFDO2dCQUNSLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxhQUFhLEVBQUUsS0FBSztZQUNwQixjQUFjLEVBQUUsS0FBSztZQUNyQixZQUFZLEVBQUUsRUFBRTtTQUNqQixFQUFDO1FBMUNGLElBQWdCLElBQUksMENBMENsQjtRQTFDRixJQUFnQixJQUFJLGdEQTBDbEI7UUFFSyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7aUJBY1UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7OztLQVFwRDtTQUNGLENBQUM7UUFFSyxNQUFNO1lBQ1gsT0FBTyxJQUFJLENBQUE7Ozs7O3FCQUtNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzs7Ozs7Ozs2QkFPVCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0NBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCOzs7Ozs7O3VCQU9uQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87cUJBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSzs0QkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7Ozs7Ozs7NkJBT3JCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTs4QkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO3VCQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7NEJBQ2pCLENBQUMsQ0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Ozs7S0FJbkosQ0FBQztRQUNKLENBQUM7Ozs7OztZQTlLVSx1REFBZTs7Ozs7U0FBZixlQUFlIn0=
|
||||
18
dist_ts_web/elements/sz-demo-view-dashboard.d.ts
vendored
@@ -1,18 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-dashboard': SzDemoViewDashboard;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewDashboard extends DeesElement {
|
||||
private appui;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
onDeactivate(): void;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,184 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, } from '@design.estate/dees-element';
|
||||
import './index.js';
|
||||
let SzDemoViewDashboard = (() => {
|
||||
let _classDecorators = [customElement('sz-demo-view-dashboard')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
var SzDemoViewDashboard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzDemoViewDashboard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
appui = null;
|
||||
async onActivate(context) {
|
||||
this.appui = context.appui;
|
||||
// Dashboard secondary menu with quick actions
|
||||
this.appui.setSecondaryMenu({
|
||||
heading: 'Dashboard',
|
||||
groups: [
|
||||
{
|
||||
name: 'Quick Actions',
|
||||
items: [
|
||||
{ type: 'action', key: 'Deploy Service', iconName: 'lucide:Rocket', action: () => { console.log('Deploy service'); } },
|
||||
{ type: 'action', key: 'Add Domain', iconName: 'lucide:Globe', action: () => { console.log('Add domain'); } },
|
||||
{ type: 'action', key: 'Create Token', iconName: 'lucide:Key', action: () => { console.log('Create token'); } },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'System',
|
||||
items: [
|
||||
{ type: 'action', key: 'Refresh Stats', iconName: 'lucide:RefreshCw', action: () => { console.log('Refresh'); } },
|
||||
{ type: 'action', key: 'View Logs', iconName: 'lucide:Terminal', action: () => { console.log('View logs'); } },
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
onDeactivate() {
|
||||
// Cleanup if needed
|
||||
}
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
padding: 24px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin: 0;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="page-header">
|
||||
<h1 class="page-title">Dashboard</h1>
|
||||
<p class="page-subtitle">Overview of your onebox infrastructure</p>
|
||||
</div>
|
||||
|
||||
<sz-dashboard-view
|
||||
.clusterStats=${{
|
||||
totalServices: 12,
|
||||
running: 9,
|
||||
stopped: 3,
|
||||
dockerStatus: 'running',
|
||||
}}
|
||||
.resourceUsage=${{
|
||||
cpu: 45,
|
||||
memoryUsed: '6.2 GB',
|
||||
memoryTotal: '16 GB',
|
||||
networkIn: '2.5 MB/s',
|
||||
networkOut: '1.2 MB/s',
|
||||
topConsumers: [
|
||||
{ name: 'mongodb', memory: '1.2 GB' },
|
||||
{ name: 'clickhouse', memory: '980 MB' },
|
||||
{ name: 'nginx-proxy', memory: '256 MB' },
|
||||
],
|
||||
}}
|
||||
.platformServices=${[
|
||||
{ name: 'MongoDB', status: 'running', icon: 'database' },
|
||||
{ name: 'S3 Storage', status: 'running', icon: 'storage' },
|
||||
{ name: 'ClickHouse', status: 'stopped', icon: 'analytics' },
|
||||
{ name: 'Redis Cache', status: 'running', icon: 'cache' },
|
||||
]}
|
||||
.traffic=${{
|
||||
requests: 15420,
|
||||
errors: 23,
|
||||
errorPercent: 0.15,
|
||||
avgResponse: 145,
|
||||
reqPerMin: 856,
|
||||
status2xx: 14850,
|
||||
status3xx: 320,
|
||||
status4xx: 227,
|
||||
status5xx: 23,
|
||||
}}
|
||||
.proxy=${{
|
||||
httpPort: '80',
|
||||
httpsPort: '443',
|
||||
httpActive: true,
|
||||
httpsActive: true,
|
||||
routeCount: '24',
|
||||
}}
|
||||
.certificates=${{
|
||||
valid: 18,
|
||||
expiring: 2,
|
||||
expired: 0,
|
||||
}}
|
||||
.dns=${{
|
||||
records: 45,
|
||||
zones: 8,
|
||||
pendingChanges: 0,
|
||||
}}
|
||||
.ssl=${{
|
||||
activeCerts: 20,
|
||||
autoRenew: true,
|
||||
provider: "Let's Encrypt",
|
||||
}}
|
||||
@quick-action=${(e) => console.log('Quick action:', e.detail)}
|
||||
></sz-dashboard-view>
|
||||
`;
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzDemoViewDashboard = _classThis;
|
||||
})();
|
||||
export { SzDemoViewDashboard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZGVtby12aWV3LWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1kZW1vLXZpZXctZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsR0FFWCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sWUFBWSxDQUFDO0lBU1AsbUJBQW1COzRCQUQvQixhQUFhLENBQUMsd0JBQXdCLENBQUM7Ozs7c0JBQ0MsV0FBVzttQ0FBbkIsU0FBUSxXQUFXOzs7O1lBQXBELDZLQW1JQzs7OztRQWxJUyxLQUFLLEdBQXFCLElBQUksQ0FBQztRQUV2QyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQTZDO1lBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUUzQiw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDMUIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDTjt3QkFDRSxJQUFJLEVBQUUsZUFBZTt3QkFDckIsS0FBSyxFQUFFOzRCQUNMLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUN0SCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENB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
|
||||
32
dist_ts_web/elements/sz-demo-view-network.d.ts
vendored
@@ -1,32 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-network': SzDemoViewNetwork;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewNetwork extends DeesElement {
|
||||
private appui;
|
||||
private accessor currentTab;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
private updateSecondaryMenu;
|
||||
onDeactivate(): void;
|
||||
private accessor selectedDomain;
|
||||
private demoProxyRoutes;
|
||||
private demoAccessLogs;
|
||||
private demoDnsRecords;
|
||||
private demoDomains;
|
||||
private demoDomainDetail;
|
||||
private demoCertificate;
|
||||
private demoDomainDnsRecords;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private renderProxyView;
|
||||
private renderDnsView;
|
||||
private renderDomainsView;
|
||||
private renderDomainDetail;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-registries': SzDemoViewRegistries;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewRegistries extends DeesElement {
|
||||
private appui;
|
||||
private accessor currentTab;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
private updateSecondaryMenu;
|
||||
onDeactivate(): void;
|
||||
private demoOneboxImages;
|
||||
private demoExternalRegistries;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
32
dist_ts_web/elements/sz-demo-view-services.d.ts
vendored
@@ -1,32 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-services': SzDemoViewServices;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewServices extends DeesElement {
|
||||
private appui;
|
||||
private accessor currentView;
|
||||
private accessor selectedService;
|
||||
private accessor selectedPlatformService;
|
||||
private demoServices;
|
||||
private demoPlatformService;
|
||||
private demoPlatformLogs;
|
||||
private demoBackupSchedules;
|
||||
private demoBackups;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private renderListView;
|
||||
private renderCreateView;
|
||||
private renderDetailView;
|
||||
private renderBackupsView;
|
||||
private renderPlatformDetailView;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
private updateSecondaryMenu;
|
||||
onDeactivate(): void;
|
||||
}
|
||||
19
dist_ts_web/elements/sz-demo-view-settings.d.ts
vendored
@@ -1,19 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-settings': SzDemoViewSettings;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewSettings extends DeesElement {
|
||||
private appui;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
onDeactivate(): void;
|
||||
private demoSettings;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,151 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, } from '@design.estate/dees-element';
|
||||
import './index.js';
|
||||
let SzDemoViewSettings = (() => {
|
||||
let _classDecorators = [customElement('sz-demo-view-settings')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
var SzDemoViewSettings = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzDemoViewSettings = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
appui = null;
|
||||
async onActivate(context) {
|
||||
this.appui = context.appui;
|
||||
// Settings doesn't need content tabs, but we set up the secondary menu
|
||||
this.appui.setSecondaryMenu({
|
||||
heading: 'Settings',
|
||||
groups: [
|
||||
{
|
||||
name: 'Categories',
|
||||
items: [
|
||||
{ key: 'General', iconName: 'lucide:Settings', action: () => { console.log('General settings'); } },
|
||||
{ key: 'Network', iconName: 'lucide:Network', action: () => { console.log('Network settings'); } },
|
||||
{ key: 'Security', iconName: 'lucide:Shield', action: () => { console.log('Security settings'); } },
|
||||
{ key: 'Certificates', iconName: 'lucide:FileBadge', action: () => { console.log('Certificate settings'); } },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Actions',
|
||||
items: [
|
||||
{ type: 'action', key: 'Export Config', iconName: 'lucide:Download', action: () => { console.log('Export config'); } },
|
||||
{ type: 'action', key: 'Import Config', iconName: 'lucide:Upload', action: () => { console.log('Import config'); } },
|
||||
{ type: 'action', variant: 'danger', key: 'Reset to Default', iconName: 'lucide:RotateCcw', confirmMessage: 'Are you sure you want to reset all settings to default?', action: () => { console.log('Reset settings'); } },
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
onDeactivate() {
|
||||
// Cleanup if needed
|
||||
}
|
||||
demoSettings = {
|
||||
darkMode: true,
|
||||
cloudflareToken: '',
|
||||
cloudflareZoneId: '',
|
||||
autoRenewCerts: true,
|
||||
renewalThreshold: 30,
|
||||
acmeEmail: 'admin@serve.zone',
|
||||
httpPort: 80,
|
||||
httpsPort: 443,
|
||||
forceHttps: true,
|
||||
};
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
padding: 24px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.settings-container {
|
||||
max-width: 800px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="page-header">
|
||||
<h1 class="page-title">Settings</h1>
|
||||
<p class="page-subtitle">Configure your onebox instance</p>
|
||||
</div>
|
||||
|
||||
<div class="settings-container">
|
||||
<sz-settings-view
|
||||
.settings=${this.demoSettings}
|
||||
currentUser="admin"
|
||||
@setting-change=${(e) => console.log('Setting change:', e.detail)}
|
||||
@change-password=${(e) => console.log('Change password:', e.detail)}
|
||||
@reset=${() => console.log('Reset settings')}
|
||||
@save=${(e) => console.log('Save settings:', e.detail)}
|
||||
></sz-settings-view>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzDemoViewSettings = _classThis;
|
||||
})();
|
||||
export { SzDemoViewSettings };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZGVtby12aWV3LXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LWRlbW8tdmlldy1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEdBRVgsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLFlBQVksQ0FBQztJQVNQLGtCQUFrQjs0QkFEOUIsYUFBYSxDQUFDLHVCQUF1QixDQUFDOzs7O3NCQUNDLFdBQVc7a0NBQW5CLFNBQVEsV0FBVzs7OztZQUFuRCw2S0FtR0M7Ozs7UUFsR1MsS0FBSyxHQUFxQixJQUFJLENBQUM7UUFFdkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUE2QztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFFM0IsdUVBQXVFO1lBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixNQUFNLEVBQUU7b0JBQ047d0JBQ0UsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLEtBQUssRUFBRTs0QkFDTCxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ25HLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDbEcsRUFBRSxHQUFHLEVBQUUsVUFB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
|
||||
20
dist_ts_web/elements/sz-demo-view-tokens.d.ts
vendored
@@ -1,20 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import type { DeesAppui } from '@design.estate/dees-catalog';
|
||||
import './index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-view-tokens': SzDemoViewTokens;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoViewTokens extends DeesElement {
|
||||
private appui;
|
||||
onActivate(context: {
|
||||
appui: DeesAppui;
|
||||
viewId: string;
|
||||
}): Promise<void>;
|
||||
onDeactivate(): void;
|
||||
private demoGlobalTokens;
|
||||
private demoCiTokens;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, } from '@design.estate/dees-element';
|
||||
import './index.js';
|
||||
let SzDemoViewTokens = (() => {
|
||||
let _classDecorators = [customElement('sz-demo-view-tokens')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
var SzDemoViewTokens = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzDemoViewTokens = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
appui = null;
|
||||
async onActivate(context) {
|
||||
this.appui = context.appui;
|
||||
// Tokens secondary menu
|
||||
this.appui.setSecondaryMenu({
|
||||
heading: 'Tokens',
|
||||
groups: [
|
||||
{
|
||||
name: 'Actions',
|
||||
items: [
|
||||
{ type: 'action', key: 'Create Global Token', iconName: 'lucide:Plus', action: () => { console.log('Create global token'); } },
|
||||
{ type: 'action', key: 'Create CI Token', iconName: 'lucide:GitBranch', action: () => { console.log('Create CI token'); } },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Token Types',
|
||||
items: [
|
||||
{ key: 'Global Tokens', iconName: 'lucide:Key', badge: '3', action: () => { console.log('Filter global'); } },
|
||||
{ key: 'CI Tokens', iconName: 'lucide:Cpu', badge: '3', action: () => { console.log('Filter CI'); } },
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
onDeactivate() {
|
||||
// Cleanup if needed
|
||||
}
|
||||
demoGlobalTokens = [
|
||||
{ id: '1', name: 'CI/CD Pipeline', type: 'global', createdAt: '2024-01-15', lastUsed: '2024-01-20' },
|
||||
{ id: '2', name: 'Development', type: 'global', createdAt: '2024-01-10' },
|
||||
{ id: '3', name: 'Production Deploy', type: 'global', createdAt: '2024-01-05', lastUsed: '2024-01-19' },
|
||||
];
|
||||
demoCiTokens = [
|
||||
{ id: '4', name: 'api-gateway-ci', type: 'ci', service: 'api-gateway', createdAt: '2024-01-18', lastUsed: '2024-01-20' },
|
||||
{ id: '5', name: 'frontend-ci', type: 'ci', service: 'frontend', createdAt: '2024-01-12', lastUsed: '2024-01-19' },
|
||||
{ id: '6', name: 'worker-service-ci', type: 'ci', service: 'worker-service', createdAt: '2024-01-08' },
|
||||
];
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
padding: 24px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin: 0;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="page-header">
|
||||
<h1 class="page-title">Tokens</h1>
|
||||
<p class="page-subtitle">Manage registry access tokens for CI/CD pipelines</p>
|
||||
</div>
|
||||
|
||||
<sz-tokens-view
|
||||
.globalTokens=${this.demoGlobalTokens}
|
||||
.ciTokens=${this.demoCiTokens}
|
||||
@create=${(e) => console.log('Create token:', e.detail)}
|
||||
@copy=${(e) => console.log('Copy token:', e.detail)}
|
||||
@regenerate=${(e) => console.log('Regenerate token:', e.detail)}
|
||||
@delete=${(e) => console.log('Delete token:', e.detail)}
|
||||
></sz-tokens-view>
|
||||
`;
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzDemoViewTokens = _classThis;
|
||||
})();
|
||||
export { SzDemoViewTokens };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZGVtby12aWV3LXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1kZW1vLXZpZXctdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsR0FFWCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sWUFBWSxDQUFDO0lBU1AsZ0JBQWdCOzRCQUQ1QixhQUFhLENBQUMscUJBQXFCLENBQUM7Ozs7c0JBQ0MsV0FBVztnQ0FBbkIsU0FBUSxXQUFXOzs7O1lBQWpELDZLQTBGQzs7OztRQXpGUyxLQUFLLEdBQXFCLElBQUksQ0FBQztRQUV2QyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQTZDO1lBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUUzQix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDMUIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE1BQU0sRUFBRTtvQkFDTjt3QkFDRSxJQUFJLEVBQUUsU0FBUzt3QkFDZixLQUFLLEVBQUU7NEJBQ0wsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQzlILEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FB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
|
||||
13
dist_ts_web/elements/sz-dns-ssl-card.d.ts
vendored
@@ -1,13 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-dns-ssl-card': SzDnsSslCard;
|
||||
}
|
||||
}
|
||||
export declare class SzDnsSslCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor dnsConfigured: boolean;
|
||||
accessor acmeConfigured: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,180 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzDnsSslCard = (() => {
|
||||
let _classDecorators = [customElement('sz-dns-ssl-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _dnsConfigured_decorators;
|
||||
let _dnsConfigured_initializers = [];
|
||||
let _dnsConfigured_extraInitializers = [];
|
||||
let _acmeConfigured_decorators;
|
||||
let _acmeConfigured_initializers = [];
|
||||
let _acmeConfigured_extraInitializers = [];
|
||||
var SzDnsSslCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_dnsConfigured_decorators = [property({ type: Boolean })];
|
||||
_acmeConfigured_decorators = [property({ type: Boolean })];
|
||||
__esDecorate(this, null, _dnsConfigured_decorators, { kind: "accessor", name: "dnsConfigured", static: false, private: false, access: { has: obj => "dnsConfigured" in obj, get: obj => obj.dnsConfigured, set: (obj, value) => { obj.dnsConfigured = value; } }, metadata: _metadata }, _dnsConfigured_initializers, _dnsConfigured_extraInitializers);
|
||||
__esDecorate(this, null, _acmeConfigured_decorators, { kind: "accessor", name: "acmeConfigured", static: false, private: false, access: { has: obj => "acmeConfigured" in obj, get: obj => obj.acmeConfigured, set: (obj, value) => { obj.acmeConfigured = value; } }, metadata: _metadata }, _acmeConfigured_initializers, _acmeConfigured_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzDnsSslCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 400px;">
|
||||
<sz-dns-ssl-card
|
||||
dnsConfigured
|
||||
acmeConfigured
|
||||
></sz-dns-ssl-card>
|
||||
</div>
|
||||
`;
|
||||
#dnsConfigured_accessor_storage = __runInitializers(this, _dnsConfigured_initializers, false);
|
||||
get dnsConfigured() { return this.#dnsConfigured_accessor_storage; }
|
||||
set dnsConfigured(value) { this.#dnsConfigured_accessor_storage = value; }
|
||||
#acmeConfigured_accessor_storage = (__runInitializers(this, _dnsConfigured_extraInitializers), __runInitializers(this, _acmeConfigured_initializers, false));
|
||||
get acmeConfigured() { return this.#acmeConfigured_accessor_storage; }
|
||||
set acmeConfigured(value) { this.#acmeConfigured_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item-label {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 2px 10px;
|
||||
border-radius: 9999px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.badge.configured {
|
||||
background: ${cssManager.bdTheme('#dbeafe', 'rgba(59, 130, 246, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
||||
}
|
||||
|
||||
.badge.not-configured {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">DNS & SSL</div>
|
||||
<div class="subtitle">Configuration status</div>
|
||||
</div>
|
||||
|
||||
<div class="items">
|
||||
<div class="item">
|
||||
<span class="item-label">Cloudflare DNS</span>
|
||||
<span class="badge ${this.dnsConfigured ? 'configured' : 'not-configured'}">
|
||||
${this.dnsConfigured ? 'Configured' : 'Not configured'}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="item-label">ACME (Let's Encrypt)</span>
|
||||
<span class="badge ${this.acmeConfigured ? 'configured' : 'not-configured'}">
|
||||
${this.acmeConfigured ? 'Configured' : 'Not configured'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _acmeConfigured_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzDnsSslCard = _classThis;
|
||||
})();
|
||||
export { SzDnsSslCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZG5zLXNzbC1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LWRucy1zc2wtY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7SUFTeEIsWUFBWTs0QkFEeEIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7NEJBQW5CLFNBQVEsV0FBVzs7Ozt5Q0FVMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDOzBDQUczQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFGNUIsNExBQWdCLGFBQWEsNkJBQWIsYUFBYSxxR0FBa0I7WUFHL0MsK0xBQWdCLGNBQWMsNkJBQWQsY0FBYyx1R0FBa0I7WUFkbEQsNktBZ0hDOzs7O1FBL0dRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7O0dBTzlCLENBQUM7UUFHRix1RkFBeUMsS0FBSyxFQUFDO1FBQS9DLElBQWdCLGFBQWEsbURBQWtCO1FBQS9DLElBQWdCLGFBQWEseURBQWtCO1FBRy9DLHFKQUEwQyxLQUFLLEdBQUM7UUFBaEQsSUFBZ0IsY0FBYyxvREFBa0I7UUFBaEQsSUFBZ0IsY0FBYywwREFBa0I7UUFFekMsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7c0JBT2UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzRCQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7O2lCQWNuRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQkFrQnhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7OztzQkFhbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUM7aUJBQzdELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2lCQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7O0tBRXBEO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7OztpQ0FVa0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCOzs7OztpQ0FLbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQ3RFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCOzs7OztLQUtoRSxDQUFDO1FBQ0osQ0FBQzs7Ozs7O1lBL0dVLHVEQUFZOzs7OztTQUFaLFlBQVkifQ==
|
||||
48
dist_ts_web/elements/sz-domain-detail-view.d.ts
vendored
@@ -1,48 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-domain-detail-view': SzDomainDetailView;
|
||||
}
|
||||
}
|
||||
export interface IDomainDetail {
|
||||
id: string;
|
||||
name: string;
|
||||
status: 'active' | 'pending' | 'error';
|
||||
verified: boolean;
|
||||
createdAt: string;
|
||||
proxyRoutes?: string[];
|
||||
}
|
||||
export interface ICertificateDetail {
|
||||
id: string;
|
||||
domain: string;
|
||||
issuer: string;
|
||||
validFrom: string;
|
||||
validUntil: string;
|
||||
daysRemaining: number;
|
||||
status: 'valid' | 'expiring' | 'expired';
|
||||
autoRenew: boolean;
|
||||
chain?: string[];
|
||||
}
|
||||
export interface IDnsRecordDetail {
|
||||
id: string;
|
||||
type: 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS' | 'SRV';
|
||||
name: string;
|
||||
value: string;
|
||||
ttl: number;
|
||||
priority?: number;
|
||||
}
|
||||
export declare class SzDomainDetailView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor domain: IDomainDetail | null;
|
||||
accessor certificate: ICertificateDetail | null;
|
||||
accessor dnsRecords: IDnsRecordDetail[];
|
||||
accessor actionLoading: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleVerify;
|
||||
private handleDelete;
|
||||
private handleRenewCertificate;
|
||||
private handleAddDnsRecord;
|
||||
private handleEditDnsRecord;
|
||||
private handleDeleteDnsRecord;
|
||||
}
|
||||
18
dist_ts_web/elements/sz-login-view.d.ts
vendored
@@ -1,18 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-login-view': SzLoginView;
|
||||
}
|
||||
}
|
||||
export declare class SzLoginView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor loading: boolean;
|
||||
accessor error: string;
|
||||
accessor title: string;
|
||||
accessor subtitle: string;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleSubmit;
|
||||
clearForm(): void;
|
||||
focusUsername(): void;
|
||||
}
|
||||
20
dist_ts_web/elements/sz-network-dns-view.d.ts
vendored
@@ -1,20 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-network-dns-view': SzNetworkDnsView;
|
||||
}
|
||||
}
|
||||
export interface IDnsRecord {
|
||||
domain: string;
|
||||
type: 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT';
|
||||
value: string;
|
||||
id?: string;
|
||||
}
|
||||
export declare class SzNetworkDnsView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor records: IDnsRecord[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleSync;
|
||||
private handleDelete;
|
||||
}
|
||||
@@ -1,244 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzNetworkDnsView = (() => {
|
||||
let _classDecorators = [customElement('sz-network-dns-view')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _records_decorators;
|
||||
let _records_initializers = [];
|
||||
let _records_extraInitializers = [];
|
||||
var SzNetworkDnsView = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_records_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _records_decorators, { kind: "accessor", name: "records", static: false, private: false, access: { has: obj => "records" in obj, get: obj => obj.records, set: (obj, value) => { obj.records = value; } }, metadata: _metadata }, _records_initializers, _records_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzNetworkDnsView = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 1000px;">
|
||||
<sz-network-dns-view
|
||||
.records=${[
|
||||
{ domain: 'pr.task.vc', type: 'A', value: '195.201.98.232' },
|
||||
{ domain: 'outline.task.vc', type: 'A', value: '195.201.98.232' },
|
||||
{ domain: 'ns1.task.vc', type: 'A', value: '212.95.99.130' },
|
||||
{ domain: 'bleu.de', type: 'A', value: '212.95.99.130' },
|
||||
{ domain: 'mail.bleu.de', type: 'MX', value: '10 mail.bleu.de' },
|
||||
]}
|
||||
></sz-network-dns-view>
|
||||
</div>
|
||||
`;
|
||||
#records_accessor_storage = __runInitializers(this, _records_initializers, []);
|
||||
get records() { return this.#records_accessor_storage; }
|
||||
set records(value) { this.#records_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.sync-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 16px;
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.sync-button:hover {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
|
||||
}
|
||||
|
||||
.table-container {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.table-header {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 80px 2fr 100px;
|
||||
gap: 16px;
|
||||
padding: 12px 16px;
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
border-bottom: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.table-row {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 80px 2fr 100px;
|
||||
gap: 16px;
|
||||
padding: 12px 16px;
|
||||
border-bottom: 1px solid ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
transition: background 200ms ease;
|
||||
}
|
||||
|
||||
.table-row:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.table-row:hover {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
}
|
||||
|
||||
.domain {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.type-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 2px 8px;
|
||||
background: ${cssManager.bdTheme('#dbeafe', 'rgba(59, 130, 246, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.value {
|
||||
font-family: monospace;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
padding: 6px 12px;
|
||||
background: transparent;
|
||||
border: 1px solid ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.3)')};
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.delete-button:hover {
|
||||
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.2)')};
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
padding: 48px 24px;
|
||||
text-align: center;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="header">
|
||||
<span class="description">Manage DNS records synced with Cloudflare</span>
|
||||
<button class="sync-button" @click=${() => this.handleSync()}>
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M21 12a9 9 0 0 1-9 9m9-9a9 9 0 0 0-9-9m9 9H3m9 9a9 9 0 0 1-9-9m9 9c1.66 0 3-4.03 3-9s-1.34-9-3-9m0 18c-1.66 0-3-4.03-3-9s1.34-9 3-9"/>
|
||||
</svg>
|
||||
Sync Cloudflare
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="table-container">
|
||||
<div class="table-header">
|
||||
<span>Domain</span>
|
||||
<span>Type</span>
|
||||
<span>Value</span>
|
||||
<span>Actions</span>
|
||||
</div>
|
||||
${this.records.length > 0 ? this.records.map(record => html `
|
||||
<div class="table-row">
|
||||
<span class="domain">${record.domain}</span>
|
||||
<span><span class="type-badge">${record.type}</span></span>
|
||||
<span class="value">${record.value}</span>
|
||||
<span>
|
||||
<button class="delete-button" @click=${() => this.handleDelete(record)}>Delete</button>
|
||||
</span>
|
||||
</div>
|
||||
`) : html `
|
||||
<div class="empty-state">No DNS records found</div>
|
||||
`}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
handleSync() {
|
||||
this.dispatchEvent(new CustomEvent('sync', { bubbles: true, composed: true }));
|
||||
}
|
||||
handleDelete(record) {
|
||||
this.dispatchEvent(new CustomEvent('delete', { detail: record, bubbles: true, composed: true }));
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _records_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzNetworkDnsView = _classThis;
|
||||
})();
|
||||
export { SzNetworkDnsView };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otbmV0d29yay1kbnMtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1uZXR3b3JrLWRucy12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztJQWdCeEIsZ0JBQWdCOzRCQUQ1QixhQUFhLENBQUMscUJBQXFCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7OztnQ0FBbkIsU0FBUSxXQUFXOzs7O21DQWU5QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDMUIsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFBb0I7WUFoQjdDLDZLQXVMQzs7OztRQXRMUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O21CQUdkO1lBQ1QsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1lBQzVELEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1lBQ2pFLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7WUFDNUQsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtZQUN4RCxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7U0FDakU7OztHQUdOLENBQUM7UUFHRiwyRUFBd0Ms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
|
||||
@@ -1,28 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-stat-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-network-domains-view': SzNetworkDomainsView;
|
||||
}
|
||||
}
|
||||
export interface IDomainRecord {
|
||||
domain: string;
|
||||
provider: string;
|
||||
serviceCount: number;
|
||||
certificateStatus: 'valid' | 'expiring' | 'expired' | 'pending';
|
||||
expiresIn?: string;
|
||||
}
|
||||
export declare class SzNetworkDomainsView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor domains: IDomainRecord[];
|
||||
accessor stats: {
|
||||
total: number;
|
||||
valid: number;
|
||||
expiring: number;
|
||||
expired: number;
|
||||
};
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleSync;
|
||||
private handleView;
|
||||
}
|
||||
39
dist_ts_web/elements/sz-network-proxy-view.d.ts
vendored
@@ -1,39 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-stat-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-network-proxy-view': SzNetworkProxyView;
|
||||
}
|
||||
}
|
||||
export interface ITrafficTarget {
|
||||
type: 'service' | 'registry' | 'platform';
|
||||
name: string;
|
||||
domain: string | null;
|
||||
target: string;
|
||||
status: 'running' | 'stopped';
|
||||
}
|
||||
export interface IAccessLogEntry {
|
||||
timestamp: string;
|
||||
method: string;
|
||||
path: string;
|
||||
status: number;
|
||||
duration: number;
|
||||
ip: string;
|
||||
}
|
||||
export declare class SzNetworkProxyView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor proxyStatus: 'running' | 'stopped';
|
||||
accessor routeCount: string;
|
||||
accessor certificateCount: string;
|
||||
accessor targetCount: string;
|
||||
accessor targets: ITrafficTarget[];
|
||||
accessor logs: IAccessLogEntry[];
|
||||
accessor streaming: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private getStatusClass;
|
||||
private handleRefresh;
|
||||
private handleTargetClick;
|
||||
private toggleStreaming;
|
||||
private handleClearLogs;
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-platform-service-detail-view': SzPlatformServiceDetailView;
|
||||
}
|
||||
}
|
||||
export interface IPlatformServiceDetail {
|
||||
id: string;
|
||||
name: string;
|
||||
type: 'mongodb' | 'minio' | 'clickhouse' | 'redis';
|
||||
status: 'running' | 'stopped' | 'error';
|
||||
version: string;
|
||||
host: string;
|
||||
port: number;
|
||||
credentials?: {
|
||||
username?: string;
|
||||
password?: string;
|
||||
accessKey?: string;
|
||||
secretKey?: string;
|
||||
};
|
||||
config: Record<string, any>;
|
||||
metrics?: {
|
||||
cpu: number;
|
||||
memory: number;
|
||||
storage: number;
|
||||
connections?: number;
|
||||
};
|
||||
}
|
||||
export interface IPlatformLogEntry {
|
||||
timestamp: string;
|
||||
level: 'info' | 'warn' | 'error' | 'debug';
|
||||
message: string;
|
||||
}
|
||||
export declare class SzPlatformServiceDetailView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor service: IPlatformServiceDetail | null;
|
||||
accessor logs: IPlatformLogEntry[];
|
||||
accessor actionLoading: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private renderServiceIcon;
|
||||
private getProgressClass;
|
||||
private formatConfigKey;
|
||||
private formatConfigValue;
|
||||
private copyToClipboard;
|
||||
private handleStart;
|
||||
private handleStop;
|
||||
private handleRestart;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-platform-services-card': SzPlatformServicesCard;
|
||||
}
|
||||
}
|
||||
export interface IPlatformService {
|
||||
name: string;
|
||||
status: string;
|
||||
running: boolean;
|
||||
url?: string;
|
||||
}
|
||||
export declare class SzPlatformServicesCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor services: IPlatformService[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleServiceClick;
|
||||
}
|
||||
@@ -1,196 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzPlatformServicesCard = (() => {
|
||||
let _classDecorators = [customElement('sz-platform-services-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _services_decorators;
|
||||
let _services_initializers = [];
|
||||
let _services_extraInitializers = [];
|
||||
var SzPlatformServicesCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_services_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _services_decorators, { kind: "accessor", name: "services", static: false, private: false, access: { has: obj => "services" in obj, get: obj => obj.services, set: (obj, value) => { obj.services = value; } }, metadata: _metadata }, _services_initializers, _services_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzPlatformServicesCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 500px;">
|
||||
<sz-platform-services-card
|
||||
.services=${[
|
||||
{ name: 'MongoDB', status: '1 DB', running: true },
|
||||
{ name: 'S3 Storage (MinIO)', status: '1 bucket', running: true },
|
||||
{ name: 'Caddy Reverse Proxy', status: 'Running', running: true },
|
||||
{ name: 'ClickHouse', status: '1 DB', running: true },
|
||||
]}
|
||||
></sz-platform-services-card>
|
||||
</div>
|
||||
`;
|
||||
#services_accessor_storage = __runInitializers(this, _services_initializers, []);
|
||||
get services() { return this.#services_accessor_storage; }
|
||||
set services(value) { this.#services_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.services-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.service-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 8px 0;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms ease;
|
||||
}
|
||||
|
||||
.service-item:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.service-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.status-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.status-dot.running {
|
||||
background: ${cssManager.bdTheme('#22c55e', '#22c55e')};
|
||||
box-shadow: 0 0 6px ${cssManager.bdTheme('rgba(34, 197, 94, 0.4)', 'rgba(34, 197, 94, 0.4)')};
|
||||
}
|
||||
|
||||
.status-dot.stopped {
|
||||
background: ${cssManager.bdTheme('#ef4444', '#ef4444')};
|
||||
}
|
||||
|
||||
.service-name {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.service-status {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">Platform Services</div>
|
||||
<div class="subtitle">Infrastructure status</div>
|
||||
</div>
|
||||
|
||||
<div class="services-list">
|
||||
${this.services.map((service) => html `
|
||||
<div class="service-item" @click=${() => this.handleServiceClick(service)}>
|
||||
<div class="service-left">
|
||||
<div class="status-dot ${service.running ? 'running' : 'stopped'}"></div>
|
||||
<span class="service-name">${service.name}</span>
|
||||
</div>
|
||||
<span class="service-status">${service.status}</span>
|
||||
</div>
|
||||
`)}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
handleServiceClick(service) {
|
||||
this.dispatchEvent(new CustomEvent('service-click', {
|
||||
detail: service,
|
||||
bubbles: true,
|
||||
composed: true,
|
||||
}));
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _services_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzPlatformServicesCard = _classThis;
|
||||
})();
|
||||
export { SzPlatformServicesCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcGxhdGZvcm0tc2VydmljZXMtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztJQWdCeEIsc0JBQXNCOzRCQURsQyxhQUFhLENBQUMsMkJBQTJCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7OztzQ0FBbkIsU0FBUSxXQUFXOzs7O29DQWNwRCxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDMUIsNktBQWdCLFFBQVEsNkJBQVIsUUFBUSwyRkFBMEI7WUFmcEQsNktBMElDOzs7O1FBeklRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7b0JBR2I7WUFDVixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ2xELEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNqRSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDakUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUN0RDs7O0dBR04sQ0FBQztRQUdGLDZFQUErQyxFQUFFLEVBQUM7UUFBbEQsSUFBZ0IsUUFBUSw4Q0FBMEI7UUFBbEQsSUFBZ0IsUUFBUSxvREFBMEI7UUFFM0MsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7c0JBT2UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzRCQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7O2lCQWNuRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0JBcUNuQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7OEJBQ2hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUM7Ozs7c0JBSTlFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7O2lCQU03QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7O0tBRXBEO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7WUFRSCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDakIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQTtpREFDb0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQzs7MkNBRTVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUzsrQ0FDbkMsT0FBTyxDQUFDLElBQUk7OytDQUVaLE9BQU8sQ0FBQyxNQUFNOzthQUVoRCxDQUNGOzs7S0FHTixDQUFDO1FBQ0osQ0FBQztRQUVPLGtCQUFrQixDQUFDLE9BQXlCO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRTtnQkFDL0IsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7Ozs7OztZQXpJVSx1REFBc0I7Ozs7O1NBQXRCLHNCQUFzQiJ9
|
||||
19
dist_ts_web/elements/sz-quick-actions-card.d.ts
vendored
@@ -1,19 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-quick-actions-card': SzQuickActionsCard;
|
||||
}
|
||||
}
|
||||
export interface IQuickAction {
|
||||
label: string;
|
||||
icon?: string;
|
||||
primary?: boolean;
|
||||
url?: string;
|
||||
}
|
||||
export declare class SzQuickActionsCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor actions: IQuickAction[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleActionClick;
|
||||
}
|
||||
@@ -1,194 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzQuickActionsCard = (() => {
|
||||
let _classDecorators = [customElement('sz-quick-actions-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _actions_decorators;
|
||||
let _actions_initializers = [];
|
||||
let _actions_extraInitializers = [];
|
||||
var SzQuickActionsCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_actions_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _actions_decorators, { kind: "accessor", name: "actions", static: false, private: false, access: { has: obj => "actions" in obj, get: obj => obj.actions, set: (obj, value) => { obj.actions = value; } }, metadata: _metadata }, _actions_initializers, _actions_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzQuickActionsCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 800px;">
|
||||
<sz-quick-actions-card
|
||||
.actions=${[
|
||||
{ label: 'Deploy Service', icon: 'plus', primary: true },
|
||||
{ label: 'View All Services' },
|
||||
{ label: 'Platform Services' },
|
||||
{ label: 'Manage Domains' },
|
||||
]}
|
||||
></sz-quick-actions-card>
|
||||
</div>
|
||||
`;
|
||||
#actions_accessor_storage = __runInitializers(this, _actions_initializers, []);
|
||||
get actions() { return this.#actions_accessor_storage; }
|
||||
set actions(value) { this.#actions_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.action-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px 16px;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.action-button.primary {
|
||||
background: ${cssManager.bdTheme('#2563eb', '#3b82f6')};
|
||||
color: white;
|
||||
}
|
||||
|
||||
.action-button.primary:hover {
|
||||
background: ${cssManager.bdTheme('#1d4ed8', '#2563eb')};
|
||||
}
|
||||
|
||||
.action-button.secondary {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
}
|
||||
|
||||
.action-button.secondary:hover {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
|
||||
}
|
||||
|
||||
.action-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">Quick Actions</div>
|
||||
<div class="subtitle">Common tasks and shortcuts</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
${this.actions.map((action) => html `
|
||||
<button
|
||||
class="action-button ${action.primary ? 'primary' : 'secondary'}"
|
||||
@click=${() => this.handleActionClick(action)}
|
||||
>
|
||||
${action.icon === 'plus' ? html `
|
||||
<svg class="action-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<line x1="12" y1="5" x2="12" y2="19"></line>
|
||||
<line x1="5" y1="12" x2="19" y2="12"></line>
|
||||
</svg>
|
||||
` : ''}
|
||||
${action.label}
|
||||
</button>
|
||||
`)}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
handleActionClick(action) {
|
||||
this.dispatchEvent(new CustomEvent('action-click', {
|
||||
detail: action,
|
||||
bubbles: true,
|
||||
composed: true,
|
||||
}));
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _actions_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzQuickActionsCard = _classThis;
|
||||
})();
|
||||
export { SzQuickActionsCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcXVpY2stYWN0aW9ucy1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXF1aWNrLWFjdGlvbnMtY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7SUFnQnhCLGtCQUFrQjs0QkFEOUIsYUFBYSxDQUFDLHVCQUF1QixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7a0NBQW5CLFNBQVEsV0FBVzs7OzttQ0FjaEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzFCLDBLQUFnQixPQUFPLDZCQUFQLE9BQU8seUZBQXNCO1lBZi9DLDZLQXdJQzs7OztRQXZJUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O21CQUdkO1lBQ1QsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hELEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1lBQzlCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1lBQzlCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1NBQzVCOzs7R0FHTixDQUFDO1FBR0YsMkVBQTBDLEVBQUUsRUFBQztRQUE3QyxJQUFnQixPQUFPLDZDQUFzQjtRQUE3QyxJQUFnQixPQUFPLG1EQUFzQjtRQUV0QyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7OztzQkFPZSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7NEJBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7aUJBY25ELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7aUJBS3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkF5Qm5DLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7c0JBS3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2lCQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7NEJBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJOUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUN0QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7S0FPM0Q7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7Ozs7OztZQVFILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUNoQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFBOzt1Q0FFVyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVc7eUJBQ3RELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7O2tCQUUzQyxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7OztpQkFLOUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtrQkFDSixNQUFNLENBQUMsS0FBSzs7YUFFakIsQ0FDRjs7O0tBR04sQ0FBQztRQUNKLENBQUM7UUFFTyxpQkFBaUIsQ0FBQyxNQUFvQjtZQUM1QyxJQUFJLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUU7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDOzs7Ozs7WUF2SVUsdURBQWtCOzs7OztTQUFsQixrQkFBa0IifQ==
|
||||
@@ -1,22 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-registry-external-view': SzRegistryExternalView;
|
||||
}
|
||||
}
|
||||
export interface IExternalRegistry {
|
||||
id: string;
|
||||
name: string;
|
||||
url: string;
|
||||
username: string;
|
||||
type: 'dockerhub' | 'ghcr' | 'gcr' | 'ecr' | 'custom';
|
||||
}
|
||||
export declare class SzRegistryExternalView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor registries: IExternalRegistry[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleAdd;
|
||||
private handleEdit;
|
||||
private handleDelete;
|
||||
}
|
||||
@@ -1,313 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzRegistryExternalView = (() => {
|
||||
let _classDecorators = [customElement('sz-registry-external-view')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _registries_decorators;
|
||||
let _registries_initializers = [];
|
||||
let _registries_extraInitializers = [];
|
||||
var SzRegistryExternalView = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_registries_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _registries_decorators, { kind: "accessor", name: "registries", static: false, private: false, access: { has: obj => "registries" in obj, get: obj => obj.registries, set: (obj, value) => { obj.registries = value; } }, metadata: _metadata }, _registries_initializers, _registries_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzRegistryExternalView = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 800px;">
|
||||
<sz-registry-external-view
|
||||
.registries=${[
|
||||
{ id: '1', name: 'Docker Hub', url: 'docker.io', username: 'myuser', type: 'dockerhub' },
|
||||
{ id: '2', name: 'GitHub Container Registry', url: 'ghcr.io', username: 'myorg', type: 'ghcr' },
|
||||
]}
|
||||
></sz-registry-external-view>
|
||||
</div>
|
||||
`;
|
||||
#registries_accessor_storage = __runInitializers(this, _registries_initializers, []);
|
||||
get registries() { return this.#registries_accessor_storage; }
|
||||
set registries(value) { this.#registries_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.header-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.header-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.header-subtitle {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.add-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 8px 14px;
|
||||
background: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#fafafa', '#18181b')};
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.add-button:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.registry-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.registry-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 16px;
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.registry-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.registry-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.registry-details {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.registry-name {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.registry-url {
|
||||
font-size: 13px;
|
||||
font-family: monospace;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.registry-actions {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.action-button {
|
||||
padding: 6px 12px;
|
||||
background: transparent;
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.action-button:hover {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.action-button.delete {
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
border-color: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.3)')};
|
||||
}
|
||||
|
||||
.action-button.delete:hover {
|
||||
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.2)')};
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 48px 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.empty-icon {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin: 0 auto 16px;
|
||||
color: ${cssManager.bdTheme('#a1a1aa', '#52525b')};
|
||||
}
|
||||
|
||||
.empty-title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.empty-description {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.empty-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 8px 14px;
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 6px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
cursor: pointer;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.empty-button:hover {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="header">
|
||||
<div class="header-info">
|
||||
<div class="header-title">External Registries</div>
|
||||
<div class="header-subtitle">Add credentials for private Docker registries</div>
|
||||
</div>
|
||||
<button class="add-button" @click=${() => this.handleAdd()}>Add Registry</button>
|
||||
</div>
|
||||
|
||||
${this.registries.length > 0 ? html `
|
||||
<div class="registry-list">
|
||||
${this.registries.map(registry => html `
|
||||
<div class="registry-item">
|
||||
<div class="registry-info">
|
||||
<div class="registry-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="registry-details">
|
||||
<div class="registry-name">${registry.name}</div>
|
||||
<div class="registry-url">${registry.url} (${registry.username})</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="registry-actions">
|
||||
<button class="action-button" @click=${() => this.handleEdit(registry)}>Edit</button>
|
||||
<button class="action-button delete" @click=${() => this.handleDelete(registry)}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
`)}
|
||||
</div>
|
||||
` : html `
|
||||
<div class="empty-state">
|
||||
<svg class="empty-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
||||
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>
|
||||
<polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline>
|
||||
<line x1="12" y1="22.08" x2="12" y2="12"></line>
|
||||
</svg>
|
||||
<div class="empty-title">No external registries</div>
|
||||
<div class="empty-description">Add credentials for Docker Hub, GitHub Container Registry, or other private registries.</div>
|
||||
<button class="empty-button" @click=${() => this.handleAdd()}>Add External Registry</button>
|
||||
</div>
|
||||
`}
|
||||
`;
|
||||
}
|
||||
handleAdd() {
|
||||
this.dispatchEvent(new CustomEvent('add', { bubbles: true, composed: true }));
|
||||
}
|
||||
handleEdit(registry) {
|
||||
this.dispatchEvent(new CustomEvent('edit', { detail: registry, bubbles: true, composed: true }));
|
||||
}
|
||||
handleDelete(registry) {
|
||||
this.dispatchEvent(new CustomEvent('delete', { detail: registry, bubbles: true, composed: true }));
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _registries_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzRegistryExternalView = _classThis;
|
||||
})();
|
||||
export { SzRegistryExternalView };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yZWdpc3RyeS1leHRlcm5hbC12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztJQWlCeEIsc0JBQXNCOzRCQURsQyxhQUFhLENBQUMsMkJBQTJCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7OztzQ0FBbkIsU0FBUSxXQUFXOzs7O3NDQVlwRCxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDMUIsbUxBQWdCLFVBQVUsNkJBQVYsVUFBVSwrRkFBMkI7WUFidkQsNktBNlBDOzs7O1FBNVBRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7c0JBR1g7WUFDWixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN4RixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1NBQ2hHOzs7R0FHTixDQUFDO1FBR0YsaUZBQWtELEVBQUUsRUFBQztRQUFyRCxJQUFnQixVQUFVLGdEQUEyQjtRQUFyRCxJQUFnQixVQUFVLHNEQUEyQjtRQUU5QyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7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
|
||||
@@ -1,14 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-registry-onebox-view': SzRegistryOneboxView;
|
||||
}
|
||||
}
|
||||
export declare class SzRegistryOneboxView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor status: 'running' | 'stopped';
|
||||
accessor registryUrl: string;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleManageTokens;
|
||||
}
|
||||
@@ -1,307 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzRegistryOneboxView = (() => {
|
||||
let _classDecorators = [customElement('sz-registry-onebox-view')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _status_decorators;
|
||||
let _status_initializers = [];
|
||||
let _status_extraInitializers = [];
|
||||
let _registryUrl_decorators;
|
||||
let _registryUrl_initializers = [];
|
||||
let _registryUrl_extraInitializers = [];
|
||||
var SzRegistryOneboxView = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_status_decorators = [property({ type: String })];
|
||||
_registryUrl_decorators = [property({ type: String })];
|
||||
__esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
|
||||
__esDecorate(this, null, _registryUrl_decorators, { kind: "accessor", name: "registryUrl", static: false, private: false, access: { has: obj => "registryUrl" in obj, get: obj => obj.registryUrl, set: (obj, value) => { obj.registryUrl = value; } }, metadata: _metadata }, _registryUrl_initializers, _registryUrl_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzRegistryOneboxView = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 800px;">
|
||||
<sz-registry-onebox-view
|
||||
status="running"
|
||||
registryUrl="localhost:3000/v2"
|
||||
></sz-registry-onebox-view>
|
||||
</div>
|
||||
`;
|
||||
#status_accessor_storage = __runInitializers(this, _status_initializers, 'stopped');
|
||||
get status() { return this.#status_accessor_storage; }
|
||||
set status(value) { this.#status_accessor_storage = value; }
|
||||
#registryUrl_accessor_storage = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _registryUrl_initializers, ''));
|
||||
get registryUrl() { return this.#registryUrl_accessor_storage; }
|
||||
set registryUrl(value) { this.#registryUrl_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding: 16px;
|
||||
border-bottom: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
}
|
||||
|
||||
.registry-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background: ${cssManager.bdTheme('#dbeafe', 'rgba(59, 130, 246, 0.2)')};
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
||||
}
|
||||
|
||||
.header-info {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.header-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.default-badge {
|
||||
padding: 2px 8px;
|
||||
background: ${cssManager.bdTheme('#dbeafe', 'rgba(59, 130, 246, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
||||
border-radius: 4px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.header-subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.info-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: 16px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.info-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.info-label {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.info-value {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 2px 8px;
|
||||
border-radius: 9999px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.status-badge.running {
|
||||
background: ${cssManager.bdTheme('#dcfce7', 'rgba(34, 197, 94, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
|
||||
}
|
||||
|
||||
.status-badge.stopped {
|
||||
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
}
|
||||
|
||||
.manage-link {
|
||||
color: ${cssManager.bdTheme('#2563eb', '#60a5fa')};
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.manage-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.quick-start {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
|
||||
border-radius: 6px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.quick-start-title {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.quick-start-desc {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.code-block {
|
||||
background: ${cssManager.bdTheme('#18181b', '#0a0a0a')};
|
||||
border-radius: 6px;
|
||||
padding: 12px;
|
||||
font-family: monospace;
|
||||
font-size: 13px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.code-line {
|
||||
color: ${cssManager.bdTheme('#a1a1aa', '#71717a')};
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.code-line:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.code-comment {
|
||||
color: ${cssManager.bdTheme('#6b7280', '#52525b')};
|
||||
}
|
||||
|
||||
.code-command {
|
||||
color: ${cssManager.bdTheme('#fafafa', '#e4e4e7')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="registry-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="header-title">
|
||||
Onebox Registry (Built-in)
|
||||
<span class="default-badge">Default</span>
|
||||
</div>
|
||||
<div class="header-subtitle">Built-in container registry for your services</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-content">
|
||||
<div class="info-grid">
|
||||
<div class="info-item">
|
||||
<span class="info-label">Status</span>
|
||||
<span class="info-value">
|
||||
<span class="status-badge ${this.status}">${this.status === 'running' ? 'Running' : 'Stopped'}</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">Registry URL</span>
|
||||
<span class="info-value">${this.registryUrl}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">Authentication</span>
|
||||
<span class="info-value">
|
||||
<a class="manage-link" @click=${() => this.handleManageTokens()}>Manage Tokens</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="quick-start">
|
||||
<div class="quick-start-title">Quick Start</div>
|
||||
<div class="quick-start-desc">To push images to the Onebox registry, use a CI or Global token:</div>
|
||||
<div class="code-block">
|
||||
<div class="code-line code-comment"># Login to the registry</div>
|
||||
<div class="code-line code-command">docker login ${this.registryUrl.split('/')[0]} -u onebox -p YOUR_TOKEN</div>
|
||||
<div class="code-line code-comment"># Tag and push your image</div>
|
||||
<div class="code-line code-command">docker tag myapp ${this.registryUrl.split('/')[0]}/myservice:latest</div>
|
||||
<div class="code-line code-command">docker push ${this.registryUrl.split('/')[0]}/myservice:latest</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
handleManageTokens() {
|
||||
this.dispatchEvent(new CustomEvent('manage-tokens', { bubbles: true, composed: true }));
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _registryUrl_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzRegistryOneboxView = _classThis;
|
||||
})();
|
||||
export { SzRegistryOneboxView };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcmVnaXN0cnktb25lYm94LXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otcmVnaXN0cnktb25lYm94LXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0lBU3hCLG9CQUFvQjs0QkFEaEMsYUFBYSxDQUFDLHlCQUF5QixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7b0NBQW5CLFNBQVEsV0FBVzs7OztrQ0FVbEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO3VDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFGM0IsdUtBQWdCLE1BQU0sNkJBQU4sTUFBTSx1RkFBb0M7WUFHMUQsc0xBQWdCLFdBQVcsNkJBQVgsV0FBVyxpR0FBYztZQWQzQyw2S0FnUEM7Ozs7UUEvT1EsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7R0FPOUIsQ0FBQztRQUdGLHlFQUFnRCxTQUFTLEVBQUM7UUFBMUQsSUFBZ0IsTUFBTSw0Q0FBb0M7UUFBMUQsSUFBZ0IsTUFBTSxrREFBb0M7UUFHMUQsd0lBQXNDLEVBQUUsR0FBQztRQUF6QyxJQUFnQixXQUFXLGlEQUFjO1FBQXpDLElBQWdCLFdBQVcsdURBQWM7UUFFbEMsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7OztzQkFNZSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7NEJBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNB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
|
||||
25
dist_ts_web/elements/sz-resource-usage-card.d.ts
vendored
@@ -1,25 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-resource-usage-card': SzResourceUsageCard;
|
||||
}
|
||||
}
|
||||
export interface IResourceUsage {
|
||||
cpu: number;
|
||||
memoryUsed: string;
|
||||
memoryTotal: string;
|
||||
networkIn: string;
|
||||
networkOut: string;
|
||||
topConsumers: Array<{
|
||||
name: string;
|
||||
memory: string;
|
||||
}>;
|
||||
}
|
||||
export declare class SzResourceUsageCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor data: IResourceUsage;
|
||||
accessor serviceCount: string;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private calculateMemoryPercent;
|
||||
}
|
||||
@@ -1,323 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzResourceUsageCard = (() => {
|
||||
let _classDecorators = [customElement('sz-resource-usage-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _data_decorators;
|
||||
let _data_initializers = [];
|
||||
let _data_extraInitializers = [];
|
||||
let _serviceCount_decorators;
|
||||
let _serviceCount_initializers = [];
|
||||
let _serviceCount_extraInitializers = [];
|
||||
var SzResourceUsageCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_data_decorators = [property({ type: Object })];
|
||||
_serviceCount_decorators = [property({ type: String })];
|
||||
__esDecorate(this, null, _data_decorators, { kind: "accessor", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
|
||||
__esDecorate(this, null, _serviceCount_decorators, { kind: "accessor", name: "serviceCount", static: false, private: false, access: { has: obj => "serviceCount" in obj, get: obj => obj.serviceCount, set: (obj, value) => { obj.serviceCount = value; } }, metadata: _metadata }, _serviceCount_initializers, _serviceCount_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzResourceUsageCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 800px;">
|
||||
<sz-resource-usage-card
|
||||
.data=${{
|
||||
cpu: 0.5,
|
||||
memoryUsed: '191 MB',
|
||||
memoryTotal: '429.2 GB',
|
||||
networkIn: '38.9 KB/s',
|
||||
networkOut: '1.7 KB/s',
|
||||
topConsumers: [
|
||||
{ name: 'test-nginx', memory: '32.1 MB' },
|
||||
{ name: 'test-v2', memory: '31.7 MB' },
|
||||
],
|
||||
}}
|
||||
serviceCount="7"
|
||||
></sz-resource-usage-card>
|
||||
</div>
|
||||
`;
|
||||
#data_accessor_storage = __runInitializers(this, _data_initializers, {
|
||||
cpu: 0,
|
||||
memoryUsed: '0 MB',
|
||||
memoryTotal: '0 GB',
|
||||
networkIn: '0 KB/s',
|
||||
networkOut: '0 KB/s',
|
||||
topConsumers: [],
|
||||
});
|
||||
get data() { return this.#data_accessor_storage; }
|
||||
set data(value) { this.#data_accessor_storage = value; }
|
||||
#serviceCount_accessor_storage = (__runInitializers(this, _data_extraInitializers), __runInitializers(this, _serviceCount_initializers, '0'));
|
||||
get serviceCount() { return this.#serviceCount_accessor_storage; }
|
||||
set serviceCount(value) { this.#serviceCount_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.view-all {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#3b82f6', '#60a5fa')};
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.view-all:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.metrics {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.metric-row {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.metric-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.metric-label {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.metric-value {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
height: 6px;
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
border-radius: 3px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.progress-fill {
|
||||
height: 100%;
|
||||
background: ${cssManager.bdTheme('#3b82f6', '#60a5fa')};
|
||||
border-radius: 3px;
|
||||
transition: width 300ms ease;
|
||||
}
|
||||
|
||||
.network-row {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.network-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.network-icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.network-icon.down {
|
||||
color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
|
||||
}
|
||||
|
||||
.network-icon.up {
|
||||
color: ${cssManager.bdTheme('#3b82f6', '#60a5fa')};
|
||||
}
|
||||
|
||||
.top-consumers {
|
||||
margin-top: 8px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
}
|
||||
|
||||
.consumers-label {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.consumers-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.consumer-item {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.consumer-name {
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div>
|
||||
<div class="title">Resource Usage</div>
|
||||
<div class="subtitle">Aggregated across ${this.serviceCount} services</div>
|
||||
</div>
|
||||
<a class="view-all">View All</a>
|
||||
</div>
|
||||
|
||||
<div class="metrics">
|
||||
<div class="metric-row">
|
||||
<div class="metric-header">
|
||||
<span class="metric-label">CPU</span>
|
||||
<span class="metric-value">${this.data.cpu.toFixed(1)}%</span>
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" style="width: ${Math.min(this.data.cpu, 100)}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="metric-row">
|
||||
<div class="metric-header">
|
||||
<span class="metric-label">Memory</span>
|
||||
<span class="metric-value">${this.data.memoryUsed} / ${this.data.memoryTotal}</span>
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" style="width: ${this.calculateMemoryPercent()}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="metric-row">
|
||||
<div class="metric-header">
|
||||
<span class="metric-label">Network</span>
|
||||
<div class="network-row">
|
||||
<span class="network-item">
|
||||
<svg class="network-icon down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M12 5v14M19 12l-7 7-7-7"/>
|
||||
</svg>
|
||||
${this.data.networkIn}
|
||||
</span>
|
||||
<span class="network-item">
|
||||
<svg class="network-icon up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M12 19V5M5 12l7-7 7 7"/>
|
||||
</svg>
|
||||
${this.data.networkOut}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
${this.data.topConsumers.length > 0 ? html `
|
||||
<div class="top-consumers">
|
||||
<div class="consumers-label">Top consumers</div>
|
||||
<div class="consumers-list">
|
||||
${this.data.topConsumers.map((consumer) => html `
|
||||
<span class="consumer-item">
|
||||
<span class="consumer-name">${consumer.name}:</span> ${consumer.memory}
|
||||
</span>
|
||||
`)}
|
||||
</div>
|
||||
</div>
|
||||
` : ''}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
calculateMemoryPercent() {
|
||||
// Simple extraction of numbers - in real app would parse properly
|
||||
const used = parseFloat(this.data.memoryUsed);
|
||||
const total = parseFloat(this.data.memoryTotal);
|
||||
if (total === 0)
|
||||
return 0;
|
||||
// Assuming both are in same unit for demo
|
||||
return Math.min((used / total) * 100, 100);
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _serviceCount_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzResourceUsageCard = _classThis;
|
||||
})();
|
||||
export { SzResourceUsageCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcmVzb3VyY2UtdXNhZ2UtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yZXNvdXJjZS11c2FnZS1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztJQWtCeEIsbUJBQW1COzRCQUQvQixhQUFhLENBQUMsd0JBQXdCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7OzttQ0FBbkIsU0FBUSxXQUFXOzs7O2dDQW9CakQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO3dDQVUxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFUM0IsaUtBQWdCLElBQUksNkJBQUosSUFBSSxtRkFPbEI7WUFHRix5TEFBZ0IsWUFBWSw2QkFBWixZQUFZLG1HQUFlO1lBL0I3Qyw2S0FpUUM7Ozs7UUFoUVEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7OztnQkFHakI7WUFDTixHQUFHLEVBQUUsR0FBRztZQUNSLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFlBQVksRUFBRTtnQkFDWixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtnQkFDekMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7YUFDdkM7U0FDRjs7OztHQUlOLENBQUM7UUFHRixxRUFBdUM7WUFDckMsR0FBRyxFQUFFLENBQUM7WUFDTixVQUFVLEVBQUUsTUFBTTtZ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
|
||||
16
dist_ts_web/elements/sz-reverse-proxy-card.d.ts
vendored
@@ -1,16 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-reverse-proxy-card': SzReverseProxyCard;
|
||||
}
|
||||
}
|
||||
export declare class SzReverseProxyCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor httpPort: string;
|
||||
accessor httpsPort: string;
|
||||
accessor httpActive: boolean;
|
||||
accessor httpsActive: boolean;
|
||||
accessor routeCount: string;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,216 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzReverseProxyCard = (() => {
|
||||
let _classDecorators = [customElement('sz-reverse-proxy-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _httpPort_decorators;
|
||||
let _httpPort_initializers = [];
|
||||
let _httpPort_extraInitializers = [];
|
||||
let _httpsPort_decorators;
|
||||
let _httpsPort_initializers = [];
|
||||
let _httpsPort_extraInitializers = [];
|
||||
let _httpActive_decorators;
|
||||
let _httpActive_initializers = [];
|
||||
let _httpActive_extraInitializers = [];
|
||||
let _httpsActive_decorators;
|
||||
let _httpsActive_initializers = [];
|
||||
let _httpsActive_extraInitializers = [];
|
||||
let _routeCount_decorators;
|
||||
let _routeCount_initializers = [];
|
||||
let _routeCount_extraInitializers = [];
|
||||
var SzReverseProxyCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_httpPort_decorators = [property({ type: String })];
|
||||
_httpsPort_decorators = [property({ type: String })];
|
||||
_httpActive_decorators = [property({ type: Boolean })];
|
||||
_httpsActive_decorators = [property({ type: Boolean })];
|
||||
_routeCount_decorators = [property({ type: String })];
|
||||
__esDecorate(this, null, _httpPort_decorators, { kind: "accessor", name: "httpPort", static: false, private: false, access: { has: obj => "httpPort" in obj, get: obj => obj.httpPort, set: (obj, value) => { obj.httpPort = value; } }, metadata: _metadata }, _httpPort_initializers, _httpPort_extraInitializers);
|
||||
__esDecorate(this, null, _httpsPort_decorators, { kind: "accessor", name: "httpsPort", static: false, private: false, access: { has: obj => "httpsPort" in obj, get: obj => obj.httpsPort, set: (obj, value) => { obj.httpsPort = value; } }, metadata: _metadata }, _httpsPort_initializers, _httpsPort_extraInitializers);
|
||||
__esDecorate(this, null, _httpActive_decorators, { kind: "accessor", name: "httpActive", static: false, private: false, access: { has: obj => "httpActive" in obj, get: obj => obj.httpActive, set: (obj, value) => { obj.httpActive = value; } }, metadata: _metadata }, _httpActive_initializers, _httpActive_extraInitializers);
|
||||
__esDecorate(this, null, _httpsActive_decorators, { kind: "accessor", name: "httpsActive", static: false, private: false, access: { has: obj => "httpsActive" in obj, get: obj => obj.httpsActive, set: (obj, value) => { obj.httpsActive = value; } }, metadata: _metadata }, _httpsActive_initializers, _httpsActive_extraInitializers);
|
||||
__esDecorate(this, null, _routeCount_decorators, { kind: "accessor", name: "routeCount", static: false, private: false, access: { has: obj => "routeCount" in obj, get: obj => obj.routeCount, set: (obj, value) => { obj.routeCount = value; } }, metadata: _metadata }, _routeCount_initializers, _routeCount_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzReverseProxyCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 400px;">
|
||||
<sz-reverse-proxy-card
|
||||
httpPort="8080"
|
||||
httpsPort="8443"
|
||||
httpActive
|
||||
httpsActive
|
||||
routeCount="3"
|
||||
></sz-reverse-proxy-card>
|
||||
</div>
|
||||
`;
|
||||
#httpPort_accessor_storage = __runInitializers(this, _httpPort_initializers, '80');
|
||||
get httpPort() { return this.#httpPort_accessor_storage; }
|
||||
set httpPort(value) { this.#httpPort_accessor_storage = value; }
|
||||
#httpsPort_accessor_storage = (__runInitializers(this, _httpPort_extraInitializers), __runInitializers(this, _httpsPort_initializers, '443'));
|
||||
get httpsPort() { return this.#httpsPort_accessor_storage; }
|
||||
set httpsPort(value) { this.#httpsPort_accessor_storage = value; }
|
||||
#httpActive_accessor_storage = (__runInitializers(this, _httpsPort_extraInitializers), __runInitializers(this, _httpActive_initializers, false));
|
||||
get httpActive() { return this.#httpActive_accessor_storage; }
|
||||
set httpActive(value) { this.#httpActive_accessor_storage = value; }
|
||||
#httpsActive_accessor_storage = (__runInitializers(this, _httpActive_extraInitializers), __runInitializers(this, _httpsActive_initializers, false));
|
||||
get httpsActive() { return this.#httpsActive_accessor_storage; }
|
||||
set httpsActive(value) { this.#httpsActive_accessor_storage = value; }
|
||||
#routeCount_accessor_storage = (__runInitializers(this, _httpsActive_extraInitializers), __runInitializers(this, _routeCount_initializers, '0'));
|
||||
get routeCount() { return this.#routeCount_accessor_storage; }
|
||||
set routeCount(value) { this.#routeCount_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item-label {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.item-value {
|
||||
font-size: 14px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 2px 10px;
|
||||
border-radius: 9999px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.badge.active {
|
||||
background: ${cssManager.bdTheme('#dcfce7', 'rgba(34, 197, 94, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
|
||||
}
|
||||
|
||||
.badge.inactive {
|
||||
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">Reverse Proxy</div>
|
||||
<div class="subtitle">HTTP/HTTPS proxy status</div>
|
||||
</div>
|
||||
|
||||
<div class="items">
|
||||
<div class="item">
|
||||
<span class="item-label">HTTP (${this.httpPort})</span>
|
||||
<span class="badge ${this.httpActive ? 'active' : 'inactive'}">
|
||||
${this.httpActive ? 'Active' : 'Inactive'}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="item-label">HTTPS (${this.httpsPort})</span>
|
||||
<span class="badge ${this.httpsActive ? 'active' : 'inactive'}">
|
||||
${this.httpsActive ? 'Active' : 'Inactive'}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="item-label">Routes</span>
|
||||
<span class="item-value">${this.routeCount}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _routeCount_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzReverseProxyCard = _classThis;
|
||||
})();
|
||||
export { SzReverseProxyCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcmV2ZXJzZS1wcm94eS1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXJldmVyc2UtcHJveHktY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7SUFTeEIsa0JBQWtCOzRCQUQ5QixhQUFhLENBQUMsdUJBQXVCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7OztrQ0FBbkIsU0FBUSxXQUFXOzs7O29DQWFoRCxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztzQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3VDQUczQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7c0NBRzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQVgzQiw2S0FBZ0IsUUFBUSw2QkFBUixRQUFRLDJGQUFnQjtZQUd4QyxnTEFBZ0IsU0FBUyw2QkFBVCxTQUFTLDZGQUFpQjtZQUcxQyxtTEFBZ0IsVUFBVSw2QkFBVixVQUFVLCtGQUFrQjtZQUc1QyxzTEFBZ0IsV0FBVyw2QkFBWCxXQUFXLGlHQUFrQjtZQUc3QyxtTEFBZ0IsVUFBVSw2QkFBVixVQUFVLCtGQUFlO1lBMUIzQyw2S0FxSUM7Ozs7UUFwSVEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7R0FVOUIsQ0FBQztRQUdGLDZFQUFtQyxJQUFJLEVBQUM7UUFBeEMsSUFBZ0IsUUFBUSw4Q0FBZ0I7UUFBeEMsSUFBZ0IsUUFBUSxvREFBZ0I7UUFHeEMsc0lBQW9DLEtBQUssR0FBQztRQUExQyxJQUFnQixTQUFTLCtDQUFpQjtRQUExQyxJQUFnQixTQUFTLHFEQUFpQjtRQUcxQyx5SUFBc0MsS0FBSyxHQUFDO1FBQTVDLElBQWdCLFVBQVUsZ0RBQWtCO1FBQTVDLElBQWdCLFVBQVUsc0RBQWtCO1FBRzVDLDRJQUF1QyxLQUFLLEdBQUM7UUFBN0MsSUFBZ0IsV0FBVyxpREFBa0I7UUFBN0MsSUFBZ0IsV0FBVyx1REFBa0I7UUFHN0MsMklBQXFDLEdBQUcsR0FBQztRQUF6QyxJQUFnQixVQUFVLGdEQUFlO1FBQXpDLElBQWdCLFVBQVUsc0RBQWU7UUFFbEMsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7c0JBT2UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzRCQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7O2lCQWNuRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQkFrQnhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7aUJBS3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7OztzQkFhbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUM7aUJBQzVELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUM7aUJBQzVELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7S0FFcEQ7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7Ozs7Ozs7NkNBUzhCLElBQUksQ0FBQyxRQUFRO2lDQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVU7Z0JBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVTs7Ozs4Q0FJVCxJQUFJLENBQUMsU0FBUztpQ0FDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVO2dCQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVU7Ozs7O3VDQUtqQixJQUFJLENBQUMsVUFBVTs7OztLQUlqRCxDQUFDO1FBQ0osQ0FBQzs7Ozs7O1lBcElVLHVEQUFrQjs7Ozs7U0FBbEIsa0JBQWtCIn0=
|
||||
67
dist_ts_web/elements/sz-service-create-view.d.ts
vendored
@@ -1,67 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-service-create-view': SzServiceCreateView;
|
||||
}
|
||||
}
|
||||
export interface IRegistry {
|
||||
id: string;
|
||||
name: string;
|
||||
url: string;
|
||||
}
|
||||
export interface IPortMapping {
|
||||
hostPort: string;
|
||||
containerPort: string;
|
||||
protocol: 'tcp' | 'udp';
|
||||
}
|
||||
export interface IEnvVar {
|
||||
key: string;
|
||||
value: string;
|
||||
}
|
||||
export interface IVolumeMount {
|
||||
hostPath: string;
|
||||
containerPath: string;
|
||||
readOnly: boolean;
|
||||
}
|
||||
export interface IServiceConfig {
|
||||
name: string;
|
||||
image: string;
|
||||
ports: IPortMapping[];
|
||||
envVars: IEnvVar[];
|
||||
volumes: IVolumeMount[];
|
||||
cpuLimit: string;
|
||||
memoryLimit: string;
|
||||
restartPolicy: 'always' | 'on-failure' | 'never';
|
||||
networkMode: string;
|
||||
}
|
||||
export declare class SzServiceCreateView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor registries: IRegistry[];
|
||||
accessor loading: boolean;
|
||||
private accessor serviceName;
|
||||
private accessor imageUrl;
|
||||
private accessor selectedRegistry;
|
||||
private accessor ports;
|
||||
private accessor envVars;
|
||||
private accessor volumes;
|
||||
private accessor cpuLimit;
|
||||
private accessor memoryLimit;
|
||||
private accessor restartPolicy;
|
||||
private accessor networkMode;
|
||||
private accessor showAdvanced;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private isValid;
|
||||
private addPort;
|
||||
private removePort;
|
||||
private updatePort;
|
||||
private addEnvVar;
|
||||
private removeEnvVar;
|
||||
private updateEnvVar;
|
||||
private addVolume;
|
||||
private removeVolume;
|
||||
private updateVolume;
|
||||
private handleCancel;
|
||||
private handleCreate;
|
||||
reset(): void;
|
||||
}
|
||||
57
dist_ts_web/elements/sz-service-detail-view.d.ts
vendored
@@ -1,57 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-stat-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-service-detail-view': SzServiceDetailView;
|
||||
}
|
||||
}
|
||||
export interface IServiceDetail {
|
||||
name: string;
|
||||
status: 'running' | 'stopped' | 'starting' | 'error';
|
||||
image: string;
|
||||
port: number;
|
||||
domain: string | null;
|
||||
containerId: string;
|
||||
created: string;
|
||||
updated: string;
|
||||
registry: string;
|
||||
repository: string;
|
||||
tag: string;
|
||||
}
|
||||
export interface IServiceStats {
|
||||
cpu: number;
|
||||
memory: string;
|
||||
memoryLimit: string;
|
||||
networkIn: string;
|
||||
networkOut: string;
|
||||
}
|
||||
export interface IServiceBackup {
|
||||
id: string;
|
||||
createdAt: string;
|
||||
size: string;
|
||||
type: string;
|
||||
}
|
||||
export interface ILogEntry {
|
||||
timestamp: string;
|
||||
message: string;
|
||||
level?: 'info' | 'warn' | 'error';
|
||||
}
|
||||
export declare class SzServiceDetailView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor service: IServiceDetail;
|
||||
accessor stats: IServiceStats;
|
||||
accessor backups: IServiceBackup[];
|
||||
accessor logs: ILogEntry[];
|
||||
accessor streaming: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleBack;
|
||||
private handleEdit;
|
||||
private handleAction;
|
||||
private toggleStreaming;
|
||||
private handleClearLogs;
|
||||
private handleCreateBackup;
|
||||
private handleDownloadBackup;
|
||||
private handleRestoreBackup;
|
||||
private handleDeleteBackup;
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-services-backups-view': SzServicesBackupsView;
|
||||
}
|
||||
}
|
||||
export interface IBackupSchedule {
|
||||
id: string;
|
||||
scope: string;
|
||||
retention: string;
|
||||
schedule: string;
|
||||
lastRun?: string;
|
||||
nextRun?: string;
|
||||
status: 'active' | 'failed' | 'disabled';
|
||||
error?: string;
|
||||
}
|
||||
export interface IBackup {
|
||||
id: string;
|
||||
service: string;
|
||||
createdAt: string;
|
||||
size: string;
|
||||
includes: string[];
|
||||
}
|
||||
export declare class SzServicesBackupsView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor schedules: IBackupSchedule[];
|
||||
accessor backups: IBackup[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleImport;
|
||||
private handleCreateSchedule;
|
||||
private handleRunNow;
|
||||
private handleToggle;
|
||||
private handleDeleteSchedule;
|
||||
private handleDownload;
|
||||
private handleDeleteBackup;
|
||||
}
|
||||
20
dist_ts_web/elements/sz-services-list-view.d.ts
vendored
@@ -1,20 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-services-list-view': SzServicesListView;
|
||||
}
|
||||
}
|
||||
export interface IService {
|
||||
name: string;
|
||||
image: string;
|
||||
domain: string | null;
|
||||
status: 'running' | 'stopped' | 'starting' | 'error';
|
||||
}
|
||||
export declare class SzServicesListView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor services: IService[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private handleServiceClick;
|
||||
private handleAction;
|
||||
}
|
||||
30
dist_ts_web/elements/sz-settings-view.d.ts
vendored
@@ -1,30 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-settings-view': SzSettingsView;
|
||||
}
|
||||
}
|
||||
export interface ISettings {
|
||||
darkMode: boolean;
|
||||
cloudflareToken: string;
|
||||
cloudflareZoneId: string;
|
||||
autoRenewCerts: boolean;
|
||||
renewalThreshold: number;
|
||||
acmeEmail: string;
|
||||
httpPort: number;
|
||||
httpsPort: number;
|
||||
forceHttps: boolean;
|
||||
}
|
||||
export declare class SzSettingsView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor settings: ISettings;
|
||||
accessor currentUser: string;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private toggleDarkMode;
|
||||
private toggleSetting;
|
||||
private updateSetting;
|
||||
private handleChangePassword;
|
||||
private handleReset;
|
||||
private handleSave;
|
||||
}
|
||||
17
dist_ts_web/elements/sz-stat-card.d.ts
vendored
@@ -1,17 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-stat-card': SzStatCard;
|
||||
}
|
||||
}
|
||||
export declare class SzStatCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor label: string;
|
||||
accessor value: string;
|
||||
accessor icon: string;
|
||||
accessor variant: 'default' | 'success' | 'warning' | 'error';
|
||||
accessor valueBadge: boolean;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private renderIcon;
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzStatCard = (() => {
|
||||
let _classDecorators = [customElement('sz-stat-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _label_decorators;
|
||||
let _label_initializers = [];
|
||||
let _label_extraInitializers = [];
|
||||
let _value_decorators;
|
||||
let _value_initializers = [];
|
||||
let _value_extraInitializers = [];
|
||||
let _icon_decorators;
|
||||
let _icon_initializers = [];
|
||||
let _icon_extraInitializers = [];
|
||||
let _variant_decorators;
|
||||
let _variant_initializers = [];
|
||||
let _variant_extraInitializers = [];
|
||||
let _valueBadge_decorators;
|
||||
let _valueBadge_initializers = [];
|
||||
let _valueBadge_extraInitializers = [];
|
||||
var SzStatCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_label_decorators = [property({ type: String })];
|
||||
_value_decorators = [property({ type: String })];
|
||||
_icon_decorators = [property({ type: String })];
|
||||
_variant_decorators = [property({ type: String })];
|
||||
_valueBadge_decorators = [property({ type: Boolean })];
|
||||
__esDecorate(this, null, _label_decorators, { kind: "accessor", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
|
||||
__esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
||||
__esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
|
||||
__esDecorate(this, null, _variant_decorators, { kind: "accessor", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
|
||||
__esDecorate(this, null, _valueBadge_decorators, { kind: "accessor", name: "valueBadge", static: false, private: false, access: { has: obj => "valueBadge" in obj, get: obj => obj.valueBadge, set: (obj, value) => { obj.valueBadge = value; } }, metadata: _metadata }, _valueBadge_initializers, _valueBadge_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzStatCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<style>
|
||||
.demo-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 16px;
|
||||
padding: 24px;
|
||||
max-width: 800px;
|
||||
}
|
||||
</style>
|
||||
<div class="demo-grid">
|
||||
<sz-stat-card
|
||||
label="Total Services"
|
||||
value="7"
|
||||
icon="server"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Running"
|
||||
value="7"
|
||||
icon="check"
|
||||
variant="success"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Stopped"
|
||||
value="0"
|
||||
icon="stop"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Docker"
|
||||
value="Running"
|
||||
icon="container"
|
||||
variant="success"
|
||||
valueBadge
|
||||
></sz-stat-card>
|
||||
</div>
|
||||
`;
|
||||
#label_accessor_storage = __runInitializers(this, _label_initializers, '');
|
||||
get label() { return this.#label_accessor_storage; }
|
||||
set label(value) { this.#label_accessor_storage = value; }
|
||||
#value_accessor_storage = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _value_initializers, ''));
|
||||
get value() { return this.#value_accessor_storage; }
|
||||
set value(value) { this.#value_accessor_storage = value; }
|
||||
#icon_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _icon_initializers, ''));
|
||||
get icon() { return this.#icon_accessor_storage; }
|
||||
set icon(value) { this.#icon_accessor_storage = value; }
|
||||
#variant_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _variant_initializers, 'default'));
|
||||
get variant() { return this.#variant_accessor_storage; }
|
||||
set variant(value) { this.#variant_accessor_storage = value; }
|
||||
#valueBadge_accessor_storage = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _valueBadge_initializers, false));
|
||||
get valueBadge() { return this.#valueBadge_accessor_storage; }
|
||||
set valueBadge(value) { this.#valueBadge_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
transition: all 200ms ease;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
|
||||
box-shadow: 0 4px 12px ${cssManager.bdTheme('rgba(0,0,0,0.05)', 'rgba(0,0,0,0.2)')};
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.value {
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.value.success {
|
||||
color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
|
||||
}
|
||||
|
||||
.value.warning {
|
||||
color: ${cssManager.bdTheme('#ca8a04', '#facc15')};
|
||||
}
|
||||
|
||||
.value.error {
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 4px 12px;
|
||||
border-radius: 9999px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.badge.success {
|
||||
background: ${cssManager.bdTheme('#dcfce7', 'rgba(34, 197, 94, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#16a34a', '#22c55e')};
|
||||
}
|
||||
|
||||
.badge.warning {
|
||||
background: ${cssManager.bdTheme('#fef9c3', 'rgba(250, 204, 21, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#ca8a04', '#facc15')};
|
||||
}
|
||||
|
||||
.badge.error {
|
||||
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239, 68, 68, 0.2)')};
|
||||
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
||||
}
|
||||
|
||||
.badge.default {
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
const valueClass = this.valueBadge ? `badge ${this.variant}` : `value ${this.variant}`;
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<span class="label">${this.label}</span>
|
||||
${this.renderIcon()}
|
||||
</div>
|
||||
<div class="${valueClass}">${this.value}</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
renderIcon() {
|
||||
const icons = {
|
||||
server: html `<svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg>`,
|
||||
check: html `<svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>`,
|
||||
stop: html `<svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="10" y1="15" x2="10" y2="9"></line><line x1="14" y1="15" x2="14" y2="9"></line></svg>`,
|
||||
container: html `<svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>`,
|
||||
};
|
||||
return icons[this.icon] || html ``;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _valueBadge_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzStatCard = _classThis;
|
||||
})();
|
||||
export { SzStatCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdC1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXN0YXQtY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7SUFTeEIsVUFBVTs0QkFEdEIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUFuQixTQUFRLFdBQVc7Ozs7aUNBc0N4QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7aUNBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO21DQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7c0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQVg1QixvS0FBZ0IsS0FBSyw2QkFBTCxLQUFLLHFGQUFjO1lBR25DLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBQWM7WUFHbkMsaUtBQWdCLElBQUksNkJBQUosSUFBSSxtRkFBYztZQUdsQywwS0FBZ0IsT0FBTyw2QkFBUCxPQUFPLHlGQUEwRDtZQUdqRixtTEFBZ0IsVUFBVSw2QkFBVixVQUFVLCtGQUFrQjtZQW5EOUMsNktBeUtDOzs7O1FBeEtRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DOUIsQ0FBQztRQUdGLHVFQUFnQyxFQUFFLEVBQUM7UUFBbkMsSUFBZ0IsS0FBSywyQ0FBYztRQUFuQyxJQUFnQixLQUFLLGlEQUFjO1FBR25DLDJIQUFnQyxFQUFFLEdBQUM7UUFBbkMsSUFBZ0IsS0FBSywyQ0FBYztRQUFuQyxJQUFnQixLQUFLLGlEQUFjO1FBR25DLHlIQUErQixFQUFFLEdBQUM7UUFBbEMsSUFBZ0IsSUFBSSwwQ0FBYztRQUFsQyxJQUFnQixJQUFJLGdEQUFjO1FBR2xDLDhIQUF1RSxTQUFTLEdBQUM7UUFBakYsSUFBZ0IsT0FBTyw2Q0FBMEQ7UUFBakYsSUFBZ0IsT0FBTyxtREFBMEQ7UUFHakYsdUlBQXNDLEtBQUssR0FBQztRQUE1QyxJQUFnQixVQUFVLGdEQUFrQjtRQUE1QyxJQUFnQixVQUFVLHNEQUFrQjtRQUVyQyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7OztzQkFPZSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7NEJBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7O3dCQVM1QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7aUNBQy9CLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7aUJBYXpFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7O2lCQU14QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7OztpQkFNeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7OztpQkFLeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O2lCQUl4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7aUJBSXhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7OztzQkFhbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUM7aUJBQzVELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUM7aUJBQzdELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUM7aUJBQzVELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7OztzQkFJbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2lCQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7O0tBRXBEO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFdkYsT0FBTyxJQUFJLENBQUE7OztnQ0FHaUIsSUFBSSxDQUFDLEtBQUs7WUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRTs7c0JBRVAsVUFBVSxLQUFLLElBQUksQ0FBQyxLQUFLOztLQUUxQyxDQUFDO1FBQ0osQ0FBQztRQUVPLFVBQVU7WUFDaEIsTUFBTSxLQUFLLEdBQW1DO2dCQUM1QyxNQUFNLEVBQUUsSUFBSSxDQUFBLHlWQUF5VjtnQkFDclcsS0FBSyxFQUFFLElBQUksQ0FBQSxpTEFBaUw7Z0JBQzVMLElBQUksRUFBRSxJQUFJLENBQUEsb1FBQW9RO2dCQUM5USxTQUFTLEVBQUUsSUFBSSxDQUFBLCtRQUErUTthQUMvUixDQUFDO1lBRUYsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQSxFQUFFLENBQUM7UUFDcEMsQ0FBQzs7Ozs7O1lBeEtVLHVEQUFVOzs7OztTQUFWLFVBQVUifQ==
|
||||
19
dist_ts_web/elements/sz-status-grid-cluster.d.ts
vendored
@@ -1,19 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-stat-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-status-grid-cluster': SzStatusGridCluster;
|
||||
}
|
||||
}
|
||||
export interface IClusterStats {
|
||||
totalServices: number;
|
||||
running: number;
|
||||
stopped: number;
|
||||
dockerStatus: 'running' | 'stopped';
|
||||
}
|
||||
export declare class SzStatusGridCluster extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor stats: IClusterStats;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
import './sz-stat-card.js';
|
||||
let SzStatusGridCluster = (() => {
|
||||
let _classDecorators = [customElement('sz-status-grid-cluster')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _stats_decorators;
|
||||
let _stats_initializers = [];
|
||||
let _stats_extraInitializers = [];
|
||||
var SzStatusGridCluster = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_stats_decorators = [property({ type: Object })];
|
||||
__esDecorate(this, null, _stats_decorators, { kind: "accessor", name: "stats", static: false, private: false, access: { has: obj => "stats" in obj, get: obj => obj.stats, set: (obj, value) => { obj.stats = value; } }, metadata: _metadata }, _stats_initializers, _stats_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzStatusGridCluster = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 900px;">
|
||||
<sz-status-grid-cluster
|
||||
.stats=${{
|
||||
totalServices: 7,
|
||||
running: 7,
|
||||
stopped: 0,
|
||||
dockerStatus: 'running',
|
||||
}}
|
||||
></sz-status-grid-cluster>
|
||||
</div>
|
||||
`;
|
||||
#stats_accessor_storage = __runInitializers(this, _stats_initializers, {
|
||||
totalServices: 0,
|
||||
running: 0,
|
||||
stopped: 0,
|
||||
dockerStatus: 'stopped',
|
||||
});
|
||||
get stats() { return this.#stats_accessor_storage; }
|
||||
set stats(value) { this.#stats_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 16px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.grid > * {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.grid {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="grid">
|
||||
<sz-stat-card
|
||||
label="Total Services"
|
||||
value="${this.stats.totalServices}"
|
||||
icon="server"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Running"
|
||||
value="${this.stats.running}"
|
||||
icon="check"
|
||||
variant="success"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Stopped"
|
||||
value="${this.stats.stopped}"
|
||||
icon="stop"
|
||||
variant="${this.stats.stopped > 0 ? 'warning' : 'default'}"
|
||||
></sz-stat-card>
|
||||
<sz-stat-card
|
||||
label="Docker"
|
||||
value="${this.stats.dockerStatus === 'running' ? 'Running' : 'Stopped'}"
|
||||
icon="container"
|
||||
variant="${this.stats.dockerStatus === 'running' ? 'success' : 'error'}"
|
||||
valueBadge
|
||||
></sz-stat-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _stats_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzStatusGridCluster = _classThis;
|
||||
})();
|
||||
export { SzStatusGridCluster };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdHVzLWdyaWQtY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLG1CQUFtQixDQUFDO0lBZ0JkLG1CQUFtQjs0QkFEL0IsYUFBYSxDQUFDLHdCQUF3QixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7bUNBQW5CLFNBQVEsV0FBVzs7OztpQ0FjakQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBS25CO1lBcEJKLDZLQThFQzs7OztRQTdFUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O2lCQUdoQjtZQUNQLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7WUFDVixZQUFZLEVBQUUsU0FBUztTQUN4Qjs7O0dBR04sQ0FBQztRQUdGLHVFQUF1QztZQUNyQyxhQUFhLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1lBQ1YsWUFBWSxFQUFFLFNBQVM7U0FDeEIsRUFBQztRQUxGLElBQWdCLEtBQUssMkNBS25CO1FBTEYsSUFBZ0IsS0FBSyxpREFLbkI7UUFFSyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUJGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7OzttQkFJSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7Ozs7O21CQUt4QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7OzttQkFNbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPOztxQkFFaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7Ozs7bUJBSWhELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTOztxQkFFM0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU87Ozs7S0FJM0UsQ0FBQztRQUNKLENBQUM7Ozs7OztZQTdFVSx1REFBbUI7Ozs7O1NBQW5CLG1CQUFtQiJ9
|
||||
17
dist_ts_web/elements/sz-status-grid-infra.d.ts
vendored
@@ -1,17 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-dns-ssl-card.js';
|
||||
import './sz-quick-actions-card.js';
|
||||
import type { IQuickAction } from './sz-quick-actions-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-status-grid-infra': SzStatusGridInfra;
|
||||
}
|
||||
}
|
||||
export declare class SzStatusGridInfra extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor dnsConfigured: boolean;
|
||||
accessor acmeConfigured: boolean;
|
||||
accessor actions: IQuickAction[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
import './sz-dns-ssl-card.js';
|
||||
import './sz-quick-actions-card.js';
|
||||
let SzStatusGridInfra = (() => {
|
||||
let _classDecorators = [customElement('sz-status-grid-infra')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _dnsConfigured_decorators;
|
||||
let _dnsConfigured_initializers = [];
|
||||
let _dnsConfigured_extraInitializers = [];
|
||||
let _acmeConfigured_decorators;
|
||||
let _acmeConfigured_initializers = [];
|
||||
let _acmeConfigured_extraInitializers = [];
|
||||
let _actions_decorators;
|
||||
let _actions_initializers = [];
|
||||
let _actions_extraInitializers = [];
|
||||
var SzStatusGridInfra = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_dnsConfigured_decorators = [property({ type: Boolean })];
|
||||
_acmeConfigured_decorators = [property({ type: Boolean })];
|
||||
_actions_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _dnsConfigured_decorators, { kind: "accessor", name: "dnsConfigured", static: false, private: false, access: { has: obj => "dnsConfigured" in obj, get: obj => obj.dnsConfigured, set: (obj, value) => { obj.dnsConfigured = value; } }, metadata: _metadata }, _dnsConfigured_initializers, _dnsConfigured_extraInitializers);
|
||||
__esDecorate(this, null, _acmeConfigured_decorators, { kind: "accessor", name: "acmeConfigured", static: false, private: false, access: { has: obj => "acmeConfigured" in obj, get: obj => obj.acmeConfigured, set: (obj, value) => { obj.acmeConfigured = value; } }, metadata: _metadata }, _acmeConfigured_initializers, _acmeConfigured_extraInitializers);
|
||||
__esDecorate(this, null, _actions_decorators, { kind: "accessor", name: "actions", static: false, private: false, access: { has: obj => "actions" in obj, get: obj => obj.actions, set: (obj, value) => { obj.actions = value; } }, metadata: _metadata }, _actions_initializers, _actions_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzStatusGridInfra = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 1200px;">
|
||||
<sz-status-grid-infra
|
||||
dnsConfigured
|
||||
acmeConfigured
|
||||
.actions=${[
|
||||
{ label: 'Deploy Service', icon: 'plus', primary: true },
|
||||
{ label: 'View All Services' },
|
||||
{ label: 'Platform Services' },
|
||||
{ label: 'Manage Domains' },
|
||||
]}
|
||||
></sz-status-grid-infra>
|
||||
</div>
|
||||
`;
|
||||
#dnsConfigured_accessor_storage = __runInitializers(this, _dnsConfigured_initializers, false);
|
||||
get dnsConfigured() { return this.#dnsConfigured_accessor_storage; }
|
||||
set dnsConfigured(value) { this.#dnsConfigured_accessor_storage = value; }
|
||||
#acmeConfigured_accessor_storage = (__runInitializers(this, _dnsConfigured_extraInitializers), __runInitializers(this, _acmeConfigured_initializers, false));
|
||||
get acmeConfigured() { return this.#acmeConfigured_accessor_storage; }
|
||||
set acmeConfigured(value) { this.#acmeConfigured_accessor_storage = value; }
|
||||
#actions_accessor_storage = (__runInitializers(this, _acmeConfigured_extraInitializers), __runInitializers(this, _actions_initializers, []));
|
||||
get actions() { return this.#actions_accessor_storage; }
|
||||
set actions(value) { this.#actions_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.grid > * {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.grid {
|
||||
grid-template-columns: 1fr 2fr;
|
||||
}
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="grid">
|
||||
<sz-dns-ssl-card
|
||||
?dnsConfigured=${this.dnsConfigured}
|
||||
?acmeConfigured=${this.acmeConfigured}
|
||||
></sz-dns-ssl-card>
|
||||
<sz-quick-actions-card
|
||||
.actions=${this.actions}
|
||||
@action-click=${(e) => this.dispatchEvent(new CustomEvent('action-click', { detail: e.detail, bubbles: true, composed: true }))}
|
||||
></sz-quick-actions-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _actions_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzStatusGridInfra = _classThis;
|
||||
})();
|
||||
export { SzStatusGridInfra };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdHVzLWdyaWQtaW5mcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otc3RhdHVzLWdyaWQtaW5mcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyw0QkFBNEIsQ0FBQztJQVd2QixpQkFBaUI7NEJBRDdCLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7O2lDQUFuQixTQUFRLFdBQVc7Ozs7eUNBZ0IvQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7MENBRzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzttQ0FHM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBTDFCLDRMQUFnQixhQUFhLDZCQUFiLGFBQWEscUdBQWtCO1lBRy9DLCtMQUFnQixjQUFjLDZCQUFkLGNBQWMsdUdBQWtCO1lBR2hELDBLQUFnQixPQUFPLDZCQUFQLE9BQU8seUZBQXNCO1lBdkIvQyw2S0FpRUM7Ozs7UUFoRVEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7O21CQUtkO1lBQ1QsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hELEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1lBQzlCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1lBQzlCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1NBQzVCOzs7R0FHTixDQUFDO1FBR0YsdUZBQXlDLEtBQUssRUFBQztRQUEvQyxJQUFnQixhQUFhLG1EQUFrQjtRQUEvQyxJQUFnQixhQUFhLHlEQUFrQjtRQUcvQyxxSkFBMEMsS0FBSyxHQUFDO1FBQWhELElBQWdCLGNBQWMsb0RBQWtCO1FBQWhELElBQWdCLGNBQWMsMERBQWtCO1FBR2hELHdJQUEwQyxFQUFFLEdBQUM7UUFBN0MsSUFBZ0IsT0FBTyw2Q0FBc0I7UUFBN0MsSUFBZ0IsT0FBTyxtREFBc0I7UUFFdEMsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCRjtTQUNGLENBQUM7UUFFSyxNQUFNO1lBQ1gsT0FBTyxJQUFJLENBQUE7OzsyQkFHWSxJQUFJLENBQUMsYUFBYTs0QkFDakIsSUFBSSxDQUFDLGNBQWM7OztxQkFHMUIsSUFBSSxDQUFDLE9BQU87MEJBQ1AsQ0FBQyxDQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzs7O0tBR2pKLENBQUM7UUFDSixDQUFDOzs7Ozs7WUFoRVUsdURBQWlCOzs7OztTQUFqQixpQkFBaUIifQ==
|
||||
30
dist_ts_web/elements/sz-status-grid-network.d.ts
vendored
@@ -1,30 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-traffic-card.js';
|
||||
import './sz-reverse-proxy-card.js';
|
||||
import './sz-certificates-card.js';
|
||||
import type { ITrafficData } from './sz-traffic-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-status-grid-network': SzStatusGridNetwork;
|
||||
}
|
||||
}
|
||||
export interface IProxyStatus {
|
||||
httpPort: string;
|
||||
httpsPort: string;
|
||||
httpActive: boolean;
|
||||
httpsActive: boolean;
|
||||
routeCount: string;
|
||||
}
|
||||
export interface ICertificateStatus {
|
||||
valid: number;
|
||||
expiring: number;
|
||||
expired: number;
|
||||
}
|
||||
export declare class SzStatusGridNetwork extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor traffic: ITrafficData;
|
||||
accessor proxy: IProxyStatus;
|
||||
accessor certificates: ICertificateStatus;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,190 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
import './sz-traffic-card.js';
|
||||
import './sz-reverse-proxy-card.js';
|
||||
import './sz-certificates-card.js';
|
||||
let SzStatusGridNetwork = (() => {
|
||||
let _classDecorators = [customElement('sz-status-grid-network')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _traffic_decorators;
|
||||
let _traffic_initializers = [];
|
||||
let _traffic_extraInitializers = [];
|
||||
let _proxy_decorators;
|
||||
let _proxy_initializers = [];
|
||||
let _proxy_extraInitializers = [];
|
||||
let _certificates_decorators;
|
||||
let _certificates_initializers = [];
|
||||
let _certificates_extraInitializers = [];
|
||||
var SzStatusGridNetwork = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_traffic_decorators = [property({ type: Object })];
|
||||
_proxy_decorators = [property({ type: Object })];
|
||||
_certificates_decorators = [property({ type: Object })];
|
||||
__esDecorate(this, null, _traffic_decorators, { kind: "accessor", name: "traffic", static: false, private: false, access: { has: obj => "traffic" in obj, get: obj => obj.traffic, set: (obj, value) => { obj.traffic = value; } }, metadata: _metadata }, _traffic_initializers, _traffic_extraInitializers);
|
||||
__esDecorate(this, null, _proxy_decorators, { kind: "accessor", name: "proxy", static: false, private: false, access: { has: obj => "proxy" in obj, get: obj => obj.proxy, set: (obj, value) => { obj.proxy = value; } }, metadata: _metadata }, _proxy_initializers, _proxy_extraInitializers);
|
||||
__esDecorate(this, null, _certificates_decorators, { kind: "accessor", name: "certificates", static: false, private: false, access: { has: obj => "certificates" in obj, get: obj => obj.certificates, set: (obj, value) => { obj.certificates = value; } }, metadata: _metadata }, _certificates_initializers, _certificates_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzStatusGridNetwork = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 1400px;">
|
||||
<sz-status-grid-network
|
||||
.traffic=${{
|
||||
totalRequests: 125420,
|
||||
requestsPerMinute: 847,
|
||||
errorRate: 0.12,
|
||||
avgResponseTime: 45,
|
||||
statusDistribution: {
|
||||
'2xx': 95.2,
|
||||
'3xx': 2.1,
|
||||
'4xx': 2.3,
|
||||
'5xx': 0.4,
|
||||
},
|
||||
}}
|
||||
.proxy=${{
|
||||
httpPort: '80',
|
||||
httpsPort: '443',
|
||||
httpActive: true,
|
||||
httpsActive: true,
|
||||
routeCount: '12',
|
||||
}}
|
||||
.certificates=${{
|
||||
valid: 8,
|
||||
expiring: 2,
|
||||
expired: 0,
|
||||
}}
|
||||
></sz-status-grid-network>
|
||||
</div>
|
||||
`;
|
||||
#traffic_accessor_storage = __runInitializers(this, _traffic_initializers, {
|
||||
requests: 0,
|
||||
errors: 0,
|
||||
errorPercent: 0,
|
||||
avgResponse: 0,
|
||||
reqPerMin: 0,
|
||||
status2xx: 0,
|
||||
status3xx: 0,
|
||||
status4xx: 0,
|
||||
status5xx: 0,
|
||||
});
|
||||
get traffic() { return this.#traffic_accessor_storage; }
|
||||
set traffic(value) { this.#traffic_accessor_storage = value; }
|
||||
#proxy_accessor_storage = (__runInitializers(this, _traffic_extraInitializers), __runInitializers(this, _proxy_initializers, {
|
||||
httpPort: '80',
|
||||
httpsPort: '443',
|
||||
httpActive: false,
|
||||
httpsActive: false,
|
||||
routeCount: '0',
|
||||
}));
|
||||
get proxy() { return this.#proxy_accessor_storage; }
|
||||
set proxy(value) { this.#proxy_accessor_storage = value; }
|
||||
#certificates_accessor_storage = (__runInitializers(this, _proxy_extraInitializers), __runInitializers(this, _certificates_initializers, {
|
||||
valid: 0,
|
||||
expiring: 0,
|
||||
expired: 0,
|
||||
}));
|
||||
get certificates() { return this.#certificates_accessor_storage; }
|
||||
set certificates(value) { this.#certificates_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.grid > * {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.grid {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.grid {
|
||||
grid-template-columns: 2fr 1fr 1fr;
|
||||
}
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="grid">
|
||||
<sz-traffic-card
|
||||
.data=${this.traffic}
|
||||
></sz-traffic-card>
|
||||
<sz-reverse-proxy-card
|
||||
httpPort="${this.proxy.httpPort}"
|
||||
httpsPort="${this.proxy.httpsPort}"
|
||||
?httpActive=${this.proxy.httpActive}
|
||||
?httpsActive=${this.proxy.httpsActive}
|
||||
routeCount="${this.proxy.routeCount}"
|
||||
></sz-reverse-proxy-card>
|
||||
<sz-certificates-card
|
||||
valid="${this.certificates.valid}"
|
||||
expiring="${this.certificates.expiring}"
|
||||
expired="${this.certificates.expired}"
|
||||
></sz-certificates-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _certificates_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzStatusGridNetwork = _classThis;
|
||||
})();
|
||||
export { SzStatusGridNetwork };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdHVzLWdyaWQtbmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1zdGF0dXMtZ3JpZC1uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sNEJBQTRCLENBQUM7QUFDcEMsT0FBTywyQkFBMkIsQ0FBQztJQXlCdEIsbUJBQW1COzRCQUQvQixhQUFhLENBQUMsd0JBQXdCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7OzttQ0FBbkIsU0FBUSxXQUFXOzs7O21DQWdDakQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQWExQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7d0NBUzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQXJCM0IsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFVckI7WUFHRixvS0FBZ0IsS0FBSyw2QkFBTCxLQUFLLHFGQU1uQjtZQUdGLHlMQUFnQixZQUFZLDZCQUFaLFlBQVksbUdBSTFCO1lBM0RKLDZLQWtIQzs7OztRQWpIUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O21CQUdkO1lBQ1QsYUFBYSxFQUFFLE1BQU07WUFDckIsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixTQUFTLEVBQUUsSUFBSTtZQUNmLGVBQWUsRUFBRSxFQUFFO1lBQ25CLGtCQUFrQixFQUFFO2dCQUNsQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsR0FBRzthQUNYO1NBQ0Y7aUJBQ1E7WUFDUCxRQUFRLEVBQUUsSUFBSTtZQUNkLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCO3dCQUNlO1lBQ2QsS0FBSyxFQUFFLENBQUM7WUFDUixRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7OztHQUdOLENBQUM7UUFHRiwyRUFBd0M7WUFDdEMsUUFBUSxFQUFFLENBQUM7WUFDWCxNQUFNLEVBQUUsQ0FBQztZQUNULFlBQVksRUFBRSxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUM7WUFDZCxTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsRUFBRSxDQUFDO1lBQ1osU0FBUyxFQUFFLENBQUM7WUFDWixTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsRUFBRSxDQUFDO1NBQ2IsRUFBQztRQVZGLElBQWdCLE9BQU8sNkNBVXJCO1FBVkYsSUFBZ0IsT0FBTyxtREFVckI7UUFHRiw2SEFBc0M7WUFDcEMsUUFBUSxFQUFFLElBQUk7WUFDZCxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixXQUFXLEVBQUUsS0FBSztZQUNsQixVQUFVLEVBQUUsR0FBRztTQUNoQixHQUFDO1FBTkYsSUFBZ0IsS0FBSywyQ0FNbkI7UUFORixJQUFnQixLQUFLLGlEQU1uQjtRQUdGLHlJQUFtRDtZQUNqRCxLQUFLLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7U0FDWCxHQUFDO1FBSkYsSUFBZ0IsWUFBWSxrREFJMUI7UUFKRixJQUFnQixZQUFZLHdEQUkxQjtRQUVLLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsVUFBVSxDQUFDLGFBQWE7WUFDeEIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EyQkY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7a0JBR0csSUFBSSxDQUFDLE9BQU87OztzQkFHUixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7dUJBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUzt3QkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO3lCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7d0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTs7O21CQUcxQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUs7c0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUTtxQkFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPOzs7S0FHekMsQ0FBQztRQUNKLENBQUM7Ozs7OztZQWpIVSx1REFBbUI7Ozs7O1NBQW5CLG1CQUFtQiJ9
|
||||
@@ -1,17 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import './sz-resource-usage-card.js';
|
||||
import './sz-platform-services-card.js';
|
||||
import type { IResourceUsage } from './sz-resource-usage-card.js';
|
||||
import type { IPlatformService } from './sz-platform-services-card.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-status-grid-services': SzStatusGridServices;
|
||||
}
|
||||
}
|
||||
export declare class SzStatusGridServices extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor resourceUsage: IResourceUsage;
|
||||
accessor platformServices: IPlatformService[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
import './sz-resource-usage-card.js';
|
||||
import './sz-platform-services-card.js';
|
||||
let SzStatusGridServices = (() => {
|
||||
let _classDecorators = [customElement('sz-status-grid-services')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _resourceUsage_decorators;
|
||||
let _resourceUsage_initializers = [];
|
||||
let _resourceUsage_extraInitializers = [];
|
||||
let _platformServices_decorators;
|
||||
let _platformServices_initializers = [];
|
||||
let _platformServices_extraInitializers = [];
|
||||
var SzStatusGridServices = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_resourceUsage_decorators = [property({ type: Object })];
|
||||
_platformServices_decorators = [property({ type: Array })];
|
||||
__esDecorate(this, null, _resourceUsage_decorators, { kind: "accessor", name: "resourceUsage", static: false, private: false, access: { has: obj => "resourceUsage" in obj, get: obj => obj.resourceUsage, set: (obj, value) => { obj.resourceUsage = value; } }, metadata: _metadata }, _resourceUsage_initializers, _resourceUsage_extraInitializers);
|
||||
__esDecorate(this, null, _platformServices_decorators, { kind: "accessor", name: "platformServices", static: false, private: false, access: { has: obj => "platformServices" in obj, get: obj => obj.platformServices, set: (obj, value) => { obj.platformServices = value; } }, metadata: _metadata }, _platformServices_initializers, _platformServices_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzStatusGridServices = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 1200px;">
|
||||
<sz-status-grid-services
|
||||
.resourceUsage=${{
|
||||
cpu: { percentage: 45, label: 'CPU Usage' },
|
||||
memory: { percentage: 62, label: 'Memory', used: '4.96 GB', total: '8 GB' },
|
||||
network: { percentage: 23, label: 'Network I/O', rate: '1.2 MB/s' },
|
||||
topConsumers: [
|
||||
{ name: 'api-service', cpu: 25, memory: 512 },
|
||||
{ name: 'web-frontend', cpu: 15, memory: 256 },
|
||||
{ name: 'worker', cpu: 5, memory: 128 },
|
||||
],
|
||||
}}
|
||||
.platformServices=${[
|
||||
{ name: 'MongoDB', status: 'running' },
|
||||
{ name: 'S3 Storage', status: 'running' },
|
||||
{ name: 'ClickHouse', status: 'stopped' },
|
||||
{ name: 'Redis Cache', status: 'running' },
|
||||
]}
|
||||
></sz-status-grid-services>
|
||||
</div>
|
||||
`;
|
||||
#resourceUsage_accessor_storage = __runInitializers(this, _resourceUsage_initializers, {
|
||||
cpu: 0,
|
||||
memoryUsed: '0 GB',
|
||||
memoryTotal: '0 GB',
|
||||
networkIn: '0 MB/s',
|
||||
networkOut: '0 MB/s',
|
||||
topConsumers: [],
|
||||
});
|
||||
get resourceUsage() { return this.#resourceUsage_accessor_storage; }
|
||||
set resourceUsage(value) { this.#resourceUsage_accessor_storage = value; }
|
||||
#platformServices_accessor_storage = (__runInitializers(this, _resourceUsage_extraInitializers), __runInitializers(this, _platformServices_initializers, []));
|
||||
get platformServices() { return this.#platformServices_accessor_storage; }
|
||||
set platformServices(value) { this.#platformServices_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.grid > * {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.grid {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
return html `
|
||||
<div class="grid">
|
||||
<sz-resource-usage-card
|
||||
.usage=${this.resourceUsage}
|
||||
></sz-resource-usage-card>
|
||||
<sz-platform-services-card
|
||||
.services=${this.platformServices}
|
||||
></sz-platform-services-card>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _platformServices_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzStatusGridServices = _classThis;
|
||||
})();
|
||||
export { SzStatusGridServices };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otc3RhdHVzLWdyaWQtc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otc3RhdHVzLWdyaWQtc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxnQ0FBZ0MsQ0FBQztJQVkzQixvQkFBb0I7NEJBRGhDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7O29DQUFuQixTQUFRLFdBQVc7Ozs7eUNBd0JsRCxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7NENBVTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQVQxQiw0TEFBZ0IsYUFBYSw2QkFBYixhQUFhLHFHQU8zQjtZQUdGLHFNQUFnQixnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBMEI7WUFuQzVELDZLQTJFQzs7OztRQTFFUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O3lCQUdSO1lBQ2YsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQzNDLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDM0UsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkUsWUFBWSxFQUFFO2dCQUNaLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQzdDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQzlDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7YUFDeEM7U0FDRjs0QkFDbUI7WUFDbEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDdEMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDekMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDekMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7U0FDM0M7OztHQUdOLENBQUM7UUFHRix1RkFBZ0Q7WUFDOUMsR0FBRyxFQUFFLENBQUM7WUFDTixVQUFVLEVBQUUsTUFBTTtZQUNsQixXQUFXLEVBQUUsTUFBTTtZQUNuQixTQUFTLEVBQUUsUUFBUTtZQUNuQixVQUFVLEVBQUUsUUFBUTtZQUNwQixZQUFZLEVBQUUsRUFBRTtTQUNqQixFQUFDO1FBUEYsSUFBZ0IsYUFBYSxtREFPM0I7UUFQRixJQUFnQixhQUFhLHlEQU8zQjtRQUdGLHlKQUF1RCxFQUFFLEdBQUM7UUFBMUQsSUFBZ0IsZ0JBQWdCLHNEQUEwQjtRQUExRCxJQUFnQixnQkFBZ0IsNERBQTBCO1FBRW5ELE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsVUFBVSxDQUFDLGFBQWE7WUFDeEIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxQkY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7bUJBR0ksSUFBSSxDQUFDLGFBQWE7OztzQkFHZixJQUFJLENBQUMsZ0JBQWdCOzs7S0FHdEMsQ0FBQztRQUNKLENBQUM7Ozs7OztZQTFFVSx1REFBb0I7Ozs7O1NBQXBCLG9CQUFvQiJ9
|
||||
26
dist_ts_web/elements/sz-tokens-view.d.ts
vendored
@@ -1,26 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-tokens-view': SzTokensView;
|
||||
}
|
||||
}
|
||||
export interface IToken {
|
||||
id: string;
|
||||
name: string;
|
||||
type: 'global' | 'ci';
|
||||
service?: string;
|
||||
createdAt: string;
|
||||
lastUsed?: string;
|
||||
}
|
||||
export declare class SzTokensView extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor globalTokens: IToken[];
|
||||
accessor ciTokens: IToken[];
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private renderToken;
|
||||
private handleCreate;
|
||||
private handleCopy;
|
||||
private handleRegenerate;
|
||||
private handleDelete;
|
||||
}
|
||||
24
dist_ts_web/elements/sz-traffic-card.d.ts
vendored
@@ -1,24 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-traffic-card': SzTrafficCard;
|
||||
}
|
||||
}
|
||||
export interface ITrafficData {
|
||||
requests: number;
|
||||
errors: number;
|
||||
errorPercent: number;
|
||||
avgResponse: number;
|
||||
reqPerMin: number;
|
||||
status2xx: number;
|
||||
status3xx: number;
|
||||
status4xx: number;
|
||||
status5xx: number;
|
||||
}
|
||||
export declare class SzTrafficCard extends DeesElement {
|
||||
static demo: () => TemplateResult<1>;
|
||||
accessor data: ITrafficData;
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
private formatNumber;
|
||||
}
|
||||
@@ -1,255 +0,0 @@
|
||||
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||||
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
||||
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||||
var _, done = false;
|
||||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||||
var context = {};
|
||||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||||
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
||||
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
||||
if (kind === "accessor") {
|
||||
if (result === void 0) continue;
|
||||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||||
if (_ = accept(result.get)) descriptor.get = _;
|
||||
if (_ = accept(result.set)) descriptor.set = _;
|
||||
if (_ = accept(result.init)) initializers.unshift(_);
|
||||
}
|
||||
else if (_ = accept(result)) {
|
||||
if (kind === "field") initializers.unshift(_);
|
||||
else descriptor[key] = _;
|
||||
}
|
||||
}
|
||||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||||
done = true;
|
||||
};
|
||||
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
||||
var useValue = arguments.length > 2;
|
||||
for (var i = 0; i < initializers.length; i++) {
|
||||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||||
}
|
||||
return useValue ? value : void 0;
|
||||
};
|
||||
import { DeesElement, customElement, html, css, cssManager, property, } from '@design.estate/dees-element';
|
||||
let SzTrafficCard = (() => {
|
||||
let _classDecorators = [customElement('sz-traffic-card')];
|
||||
let _classDescriptor;
|
||||
let _classExtraInitializers = [];
|
||||
let _classThis;
|
||||
let _classSuper = DeesElement;
|
||||
let _data_decorators;
|
||||
let _data_initializers = [];
|
||||
let _data_extraInitializers = [];
|
||||
var SzTrafficCard = class extends _classSuper {
|
||||
static { _classThis = this; }
|
||||
static {
|
||||
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
||||
_data_decorators = [property({ type: Object })];
|
||||
__esDecorate(this, null, _data_decorators, { kind: "accessor", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
|
||||
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
||||
SzTrafficCard = _classThis = _classDescriptor.value;
|
||||
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
||||
}
|
||||
static demo = () => html `
|
||||
<div style="padding: 24px; max-width: 500px;">
|
||||
<sz-traffic-card
|
||||
.data=${{
|
||||
requests: 1250,
|
||||
errors: 15,
|
||||
errorPercent: 1.2,
|
||||
avgResponse: 145,
|
||||
reqPerMin: 21,
|
||||
status2xx: 85,
|
||||
status3xx: 5,
|
||||
status4xx: 8,
|
||||
status5xx: 2,
|
||||
}}
|
||||
></sz-traffic-card>
|
||||
</div>
|
||||
`;
|
||||
#data_accessor_storage = __runInitializers(this, _data_initializers, {
|
||||
requests: 0,
|
||||
errors: 0,
|
||||
errorPercent: 0,
|
||||
avgResponse: 0,
|
||||
reqPerMin: 0,
|
||||
status2xx: 0,
|
||||
status3xx: 0,
|
||||
status4xx: 0,
|
||||
status5xx: 0,
|
||||
});
|
||||
get data() { return this.#data_accessor_storage; }
|
||||
set data(value) { this.#data_accessor_storage = value; }
|
||||
static styles = [
|
||||
cssManager.defaultStyles,
|
||||
css `
|
||||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
||||
border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.metrics {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.metric {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.metric-label {
|
||||
font-size: 13px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
|
||||
.metric-value {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: ${cssManager.bdTheme('#18181b', '#fafafa')};
|
||||
}
|
||||
|
||||
.status-bar-container {
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
}
|
||||
|
||||
.status-bar {
|
||||
display: flex;
|
||||
height: 8px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.status-segment {
|
||||
height: 100%;
|
||||
transition: width 300ms ease;
|
||||
}
|
||||
|
||||
.status-2xx {
|
||||
background: ${cssManager.bdTheme('#22c55e', '#22c55e')};
|
||||
}
|
||||
|
||||
.status-3xx {
|
||||
background: ${cssManager.bdTheme('#3b82f6', '#60a5fa')};
|
||||
}
|
||||
|
||||
.status-4xx {
|
||||
background: ${cssManager.bdTheme('#facc15', '#facc15')};
|
||||
}
|
||||
|
||||
.status-5xx {
|
||||
background: ${cssManager.bdTheme('#ef4444', '#ef4444')};
|
||||
}
|
||||
|
||||
.status-legend {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.legend-item {
|
||||
font-size: 12px;
|
||||
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
||||
}
|
||||
`,
|
||||
];
|
||||
render() {
|
||||
const total = this.data.status2xx + this.data.status3xx + this.data.status4xx + this.data.status5xx;
|
||||
const p2xx = total > 0 ? (this.data.status2xx / total) * 100 : 0;
|
||||
const p3xx = total > 0 ? (this.data.status3xx / total) * 100 : 0;
|
||||
const p4xx = total > 0 ? (this.data.status4xx / total) * 100 : 0;
|
||||
const p5xx = total > 0 ? (this.data.status5xx / total) * 100 : 0;
|
||||
return html `
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<div class="title">Traffic (Last Hour)</div>
|
||||
<div class="subtitle">Request metrics from access logs</div>
|
||||
</div>
|
||||
|
||||
<div class="metrics">
|
||||
<div class="metric">
|
||||
<span class="metric-label">Requests</span>
|
||||
<span class="metric-value">${this.formatNumber(this.data.requests)}</span>
|
||||
</div>
|
||||
<div class="metric">
|
||||
<span class="metric-label">Errors</span>
|
||||
<span class="metric-value">${this.data.errors} (${this.data.errorPercent}%)</span>
|
||||
</div>
|
||||
<div class="metric">
|
||||
<span class="metric-label">Avg Response</span>
|
||||
<span class="metric-value">${this.data.avgResponse}ms</span>
|
||||
</div>
|
||||
<div class="metric">
|
||||
<span class="metric-label">Req/min</span>
|
||||
<span class="metric-value">${this.data.reqPerMin}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="status-bar-container">
|
||||
<div class="status-bar">
|
||||
<div class="status-segment status-2xx" style="width: ${p2xx}%"></div>
|
||||
<div class="status-segment status-3xx" style="width: ${p3xx}%"></div>
|
||||
<div class="status-segment status-4xx" style="width: ${p4xx}%"></div>
|
||||
<div class="status-segment status-5xx" style="width: ${p5xx}%"></div>
|
||||
</div>
|
||||
<div class="status-legend">
|
||||
<span class="legend-item">2xx</span>
|
||||
<span class="legend-item">3xx</span>
|
||||
<span class="legend-item">4xx</span>
|
||||
<span class="legend-item">5xx</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
formatNumber(num) {
|
||||
if (num >= 1000000)
|
||||
return (num / 1000000).toFixed(1) + 'M';
|
||||
if (num >= 1000)
|
||||
return (num / 1000).toFixed(1) + 'K';
|
||||
return num.toString();
|
||||
}
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
__runInitializers(this, _data_extraInitializers);
|
||||
}
|
||||
static {
|
||||
__runInitializers(_classThis, _classExtraInitializers);
|
||||
}
|
||||
};
|
||||
return SzTrafficCard = _classThis;
|
||||
})();
|
||||
export { SzTrafficCard };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otdHJhZmZpYy1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3N6LXRyYWZmaWMtY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7SUFxQnhCLGFBQWE7NEJBRHpCLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7OzZCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBbUIzQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsaUtBQWdCLElBQUksNkJBQUosSUFBSSxtRkFVbEI7WUE5QkosNktBZ01DOzs7O1FBL0xRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Z0JBR2pCO1lBQ04sUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLFlBQVksRUFBRSxHQUFHO1lBQ2pCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsRUFBRSxDQUFDO1lBQ1osU0FBUyxFQUFFLENBQUM7U0FDYjs7O0dBR04sQ0FBQztRQUdGLHFFQUFxQztZQUNuQyxRQUFRLEVBQUUsQ0FBQztZQUNYLE1BQU0sRUFBRSxDQUFDO1lBQ1QsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsQ0FBQztZQUNkLFNBQVMsRUFBRSxDQUFDO1lBQ1osU0FBUyxFQUFFLENBQUM7WUFDWixTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsRUFBRSxDQUFDO1lBQ1osU0FBUyxFQUFFLENBQUM7U0FDYixFQUFD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
|
||||
2
dist_ts_web/index.d.ts
vendored
@@ -1,2 +0,0 @@
|
||||
export * from './elements/index.js';
|
||||
export * from './pages/index.js';
|
||||
@@ -1,3 +0,0 @@
|
||||
export * from './elements/index.js';
|
||||
export * from './pages/index.js';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c193ZWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIn0=
|
||||
3
dist_ts_web/pages/index.d.ts
vendored
@@ -1,3 +0,0 @@
|
||||
export * from './mainpage.js';
|
||||
export * from './sz-demo-app.js';
|
||||
export * from './sz-demo-app-shell.js';
|
||||
@@ -1,4 +0,0 @@
|
||||
export * from './mainpage.js';
|
||||
export * from './sz-demo-app.js';
|
||||
export * from './sz-demo-app-shell.js';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDIn0=
|
||||
1
dist_ts_web/pages/mainpage.d.ts
vendored
@@ -1 +0,0 @@
|
||||
export declare const mainpage: () => import("@design.estate/dees-element").TemplateResult<1>;
|
||||
@@ -1,46 +0,0 @@
|
||||
import { html } from '@design.estate/dees-element';
|
||||
export const mainpage = () => html `
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.demo-container {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 24px;
|
||||
}
|
||||
.demo-section {
|
||||
background: white;
|
||||
border-radius: 12px;
|
||||
padding: 48px;
|
||||
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
|
||||
max-width: 600px;
|
||||
width: 100%;
|
||||
}
|
||||
h1 {
|
||||
margin: 0 0 32px 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
font-size: 28px;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
.component-demo {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
}
|
||||
</style>
|
||||
<div class="demo-container">
|
||||
<div class="demo-section">
|
||||
<h1>Serve.Zone Catalog</h1>
|
||||
<div class="component-demo">
|
||||
<sz-hello></sz-hello>
|
||||
<sz-hello text="Welcome to Serve.Zone!"></sz-hello>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvbWFpbnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EyQ2pDLENBQUMifQ==
|
||||
13
dist_ts_web/pages/sz-demo-app-shell.d.ts
vendored
@@ -1,13 +0,0 @@
|
||||
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
||||
import '@design.estate/dees-catalog';
|
||||
import '../elements/index.js';
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'sz-demo-app-shell': SzDemoAppShell;
|
||||
}
|
||||
}
|
||||
export declare class SzDemoAppShell extends DeesElement {
|
||||
static styles: import("@design.estate/dees-element").CSSResult[];
|
||||
render(): TemplateResult;
|
||||
firstUpdated(): Promise<void>;
|
||||
}
|
||||
2
dist_ts_web/pages/sz-demo-app.d.ts
vendored
@@ -1,2 +0,0 @@
|
||||
import '../elements/index.js';
|
||||
export declare const szDemoApp: () => import("@design.estate/dees-element").TemplateResult<1>;
|
||||
@@ -1,20 +0,0 @@
|
||||
import { html } from '@design.estate/dees-element';
|
||||
import '../elements/index.js';
|
||||
export const szDemoApp = () => html `
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
sz-demo-app-shell {
|
||||
display: block;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
}
|
||||
</style>
|
||||
<sz-demo-app-shell></sz-demo-app-shell>
|
||||
`;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otZGVtby1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvc3otZGVtby1hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25ELE9BQU8sc0JBQXNCLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCbEMsQ0FBQyJ9
|
||||
180687
dist_watch/bundle.js
@@ -1,17 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="user-scalable=no, initial-scale=1">
|
||||
<meta charset="utf-8" />
|
||||
<link rel="preconnect" href="https://assetbroker.lossless.one/" crossorigin>
|
||||
<link rel="stylesheet" href="https://assetbroker.lossless.one/fonts/fonts.css">
|
||||
<style>
|
||||
body {
|
||||
margin: 0px;
|
||||
background: #222222;
|
||||
}
|
||||
</style>
|
||||
<script type="module" src="/bundle.js"></script>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"@git.zone/tswatch": {
|
||||
"preset": "element"
|
||||
},
|
||||
"@git.zone/cli": {
|
||||
"projectType": "wcc",
|
||||
"module": {
|
||||
|
||||
20
package.json
@@ -9,24 +9,24 @@
|
||||
"scripts": {
|
||||
"test": "tstest test/",
|
||||
"build": "tsbuild tsfolders --allowimplicitany && tsbundle element --production",
|
||||
"watch": "tswatch element"
|
||||
"watch": "tswatch"
|
||||
},
|
||||
"author": "Lossless GmbH",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@design.estate/dees-catalog": "^3.29.1",
|
||||
"@design.estate/dees-domtools": "^2.3.6",
|
||||
"@design.estate/dees-element": "^2.1.3",
|
||||
"@design.estate/dees-wcctools": "^3.4.0"
|
||||
"@design.estate/dees-catalog": "^3.43.0",
|
||||
"@design.estate/dees-domtools": "^2.3.8",
|
||||
"@design.estate/dees-element": "^2.1.6",
|
||||
"@design.estate/dees-wcctools": "^3.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@git.zone/tsbuild": "^4.0.2",
|
||||
"@git.zone/tsbundle": "^2.6.3",
|
||||
"@git.zone/tsbuild": "^4.1.2",
|
||||
"@git.zone/tsbundle": "^2.8.3",
|
||||
"@git.zone/tsrun": "^2.0.1",
|
||||
"@git.zone/tstest": "^3.1.3",
|
||||
"@git.zone/tswatch": "^2.3.13",
|
||||
"@git.zone/tstest": "^3.1.8",
|
||||
"@git.zone/tswatch": "^3.1.0",
|
||||
"@push.rocks/projectinfo": "^5.0.2",
|
||||
"@types/node": "^25.0.3"
|
||||
"@types/node": "^25.3.0"
|
||||
},
|
||||
"files": [
|
||||
"ts/**/*",
|
||||
|
||||
3462
pnpm-lock.yaml
generated
8
ts_web/00_commitinfo_data.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* autocreated commitinfo by @push.rocks/commitinfo
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@serve.zone/catalog',
|
||||
version: '1.0.1',
|
||||
description: 'UI component catalog for serve.zone'
|
||||
}
|
||||