@serve.zone/catalog 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/index.d.ts +6 -0
- package/dist_ts_web/elements/index.js +9 -1
- package/dist_ts_web/elements/sz-config-overview.d.ts +14 -0
- package/dist_ts_web/elements/sz-config-overview.js +141 -0
- package/dist_ts_web/elements/sz-config-section.d.ts +31 -0
- package/dist_ts_web/elements/sz-config-section.js +591 -0
- package/dist_ts_web/elements/sz-demo-view-config.d.ts +11 -0
- package/dist_ts_web/elements/sz-demo-view-config.js +193 -0
- package/dist_ts_web/elements/sz-demo-view-routes.d.ts +22 -0
- package/dist_ts_web/elements/sz-demo-view-routes.js +388 -0
- package/dist_ts_web/elements/sz-route-card.d.ts +78 -0
- package/dist_ts_web/elements/sz-route-card.js +648 -0
- package/dist_ts_web/elements/sz-route-list-view.d.ts +21 -0
- package/dist_ts_web/elements/sz-route-list-view.js +372 -0
- package/dist_ts_web/pages/sz-demo-app-shell.js +8 -2
- package/dist_watch/bundle.js +2074 -152
- package/dist_watch/bundle.js.map +4 -4
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/index.ts +10 -0
- package/ts_web/elements/sz-config-overview.ts +92 -0
- package/ts_web/elements/sz-config-section.ts +531 -0
- package/ts_web/elements/sz-demo-view-config.ts +164 -0
- package/ts_web/elements/sz-demo-view-routes.ts +362 -0
- package/ts_web/elements/sz-route-card.ts +667 -0
- package/ts_web/elements/sz-route-list-view.ts +326 -0
- package/ts_web/pages/sz-demo-app-shell.ts +7 -1
package/dist_watch/bundle.js
CHANGED
|
@@ -1397,7 +1397,7 @@ var init_Subscription = __esm({
|
|
|
1397
1397
|
this._finalizers = null;
|
|
1398
1398
|
}
|
|
1399
1399
|
Subscription2.prototype.unsubscribe = function() {
|
|
1400
|
-
var e_1,
|
|
1400
|
+
var e_1, _a47, e_2, _b;
|
|
1401
1401
|
var errors;
|
|
1402
1402
|
if (!this.closed) {
|
|
1403
1403
|
this.closed = true;
|
|
@@ -1414,7 +1414,7 @@ var init_Subscription = __esm({
|
|
|
1414
1414
|
e_1 = { error: e_1_1 };
|
|
1415
1415
|
} finally {
|
|
1416
1416
|
try {
|
|
1417
|
-
if (_parentage_1_1 && !_parentage_1_1.done && (
|
|
1417
|
+
if (_parentage_1_1 && !_parentage_1_1.done && (_a47 = _parentage_1.return)) _a47.call(_parentage_1);
|
|
1418
1418
|
} finally {
|
|
1419
1419
|
if (e_1) throw e_1.error;
|
|
1420
1420
|
}
|
|
@@ -1464,7 +1464,7 @@ var init_Subscription = __esm({
|
|
|
1464
1464
|
}
|
|
1465
1465
|
};
|
|
1466
1466
|
Subscription2.prototype.add = function(teardown) {
|
|
1467
|
-
var
|
|
1467
|
+
var _a47;
|
|
1468
1468
|
if (teardown && teardown !== this) {
|
|
1469
1469
|
if (this.closed) {
|
|
1470
1470
|
execFinalizer(teardown);
|
|
@@ -1475,7 +1475,7 @@ var init_Subscription = __esm({
|
|
|
1475
1475
|
}
|
|
1476
1476
|
teardown._addParent(this);
|
|
1477
1477
|
}
|
|
1478
|
-
(this._finalizers = (
|
|
1478
|
+
(this._finalizers = (_a47 = this._finalizers) !== null && _a47 !== void 0 ? _a47 : []).push(teardown);
|
|
1479
1479
|
}
|
|
1480
1480
|
}
|
|
1481
1481
|
};
|
|
@@ -1611,7 +1611,7 @@ function errorContext(cb) {
|
|
|
1611
1611
|
}
|
|
1612
1612
|
cb();
|
|
1613
1613
|
if (isRoot) {
|
|
1614
|
-
var
|
|
1614
|
+
var _a47 = context, errorThrown = _a47.errorThrown, error = _a47.error;
|
|
1615
1615
|
context = null;
|
|
1616
1616
|
if (errorThrown) {
|
|
1617
1617
|
throw error;
|
|
@@ -1862,8 +1862,8 @@ var init_pipe = __esm({
|
|
|
1862
1862
|
|
|
1863
1863
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js
|
|
1864
1864
|
function getPromiseCtor(promiseCtor) {
|
|
1865
|
-
var
|
|
1866
|
-
return (
|
|
1865
|
+
var _a47;
|
|
1866
|
+
return (_a47 = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a47 !== void 0 ? _a47 : Promise;
|
|
1867
1867
|
}
|
|
1868
1868
|
function isObserver(value2) {
|
|
1869
1869
|
return value2 && isFunction(value2.next) && isFunction(value2.error) && isFunction(value2.complete);
|
|
@@ -1897,7 +1897,7 @@ var init_Observable = __esm({
|
|
|
1897
1897
|
var _this = this;
|
|
1898
1898
|
var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
|
|
1899
1899
|
errorContext(function() {
|
|
1900
|
-
var
|
|
1900
|
+
var _a47 = _this, operator = _a47.operator, source = _a47.source;
|
|
1901
1901
|
subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
|
|
1902
1902
|
});
|
|
1903
1903
|
return subscriber;
|
|
@@ -1929,8 +1929,8 @@ var init_Observable = __esm({
|
|
|
1929
1929
|
});
|
|
1930
1930
|
};
|
|
1931
1931
|
Observable2.prototype._subscribe = function(subscriber) {
|
|
1932
|
-
var
|
|
1933
|
-
return (
|
|
1932
|
+
var _a47;
|
|
1933
|
+
return (_a47 = this.source) === null || _a47 === void 0 ? void 0 : _a47.subscribe(subscriber);
|
|
1934
1934
|
};
|
|
1935
1935
|
Observable2.prototype[observable] = function() {
|
|
1936
1936
|
return this;
|
|
@@ -2031,11 +2031,11 @@ var init_OperatorSubscriber = __esm({
|
|
|
2031
2031
|
return _this;
|
|
2032
2032
|
}
|
|
2033
2033
|
OperatorSubscriber2.prototype.unsubscribe = function() {
|
|
2034
|
-
var
|
|
2034
|
+
var _a47;
|
|
2035
2035
|
if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
|
|
2036
2036
|
var closed_1 = this.closed;
|
|
2037
2037
|
_super.prototype.unsubscribe.call(this);
|
|
2038
|
-
!closed_1 && ((
|
|
2038
|
+
!closed_1 && ((_a47 = this.onFinalize) === null || _a47 === void 0 ? void 0 : _a47.call(this));
|
|
2039
2039
|
}
|
|
2040
2040
|
};
|
|
2041
2041
|
return OperatorSubscriber2;
|
|
@@ -2291,7 +2291,7 @@ var init_Subject = __esm({
|
|
|
2291
2291
|
Subject2.prototype.next = function(value2) {
|
|
2292
2292
|
var _this = this;
|
|
2293
2293
|
errorContext(function() {
|
|
2294
|
-
var e_1,
|
|
2294
|
+
var e_1, _a47;
|
|
2295
2295
|
_this._throwIfClosed();
|
|
2296
2296
|
if (!_this.isStopped) {
|
|
2297
2297
|
if (!_this.currentObservers) {
|
|
@@ -2306,7 +2306,7 @@ var init_Subject = __esm({
|
|
|
2306
2306
|
e_1 = { error: e_1_1 };
|
|
2307
2307
|
} finally {
|
|
2308
2308
|
try {
|
|
2309
|
-
if (_c && !_c.done && (
|
|
2309
|
+
if (_c && !_c.done && (_a47 = _b.return)) _a47.call(_b);
|
|
2310
2310
|
} finally {
|
|
2311
2311
|
if (e_1) throw e_1.error;
|
|
2312
2312
|
}
|
|
@@ -2347,8 +2347,8 @@ var init_Subject = __esm({
|
|
|
2347
2347
|
};
|
|
2348
2348
|
Object.defineProperty(Subject2.prototype, "observed", {
|
|
2349
2349
|
get: function() {
|
|
2350
|
-
var
|
|
2351
|
-
return ((
|
|
2350
|
+
var _a47;
|
|
2351
|
+
return ((_a47 = this.observers) === null || _a47 === void 0 ? void 0 : _a47.length) > 0;
|
|
2352
2352
|
},
|
|
2353
2353
|
enumerable: false,
|
|
2354
2354
|
configurable: true
|
|
@@ -2364,7 +2364,7 @@ var init_Subject = __esm({
|
|
|
2364
2364
|
};
|
|
2365
2365
|
Subject2.prototype._innerSubscribe = function(subscriber) {
|
|
2366
2366
|
var _this = this;
|
|
2367
|
-
var
|
|
2367
|
+
var _a47 = this, hasError = _a47.hasError, isStopped = _a47.isStopped, observers = _a47.observers;
|
|
2368
2368
|
if (hasError || isStopped) {
|
|
2369
2369
|
return EMPTY_SUBSCRIPTION;
|
|
2370
2370
|
}
|
|
@@ -2376,7 +2376,7 @@ var init_Subject = __esm({
|
|
|
2376
2376
|
});
|
|
2377
2377
|
};
|
|
2378
2378
|
Subject2.prototype._checkFinalizedStatuses = function(subscriber) {
|
|
2379
|
-
var
|
|
2379
|
+
var _a47 = this, hasError = _a47.hasError, thrownError = _a47.thrownError, isStopped = _a47.isStopped;
|
|
2380
2380
|
if (hasError) {
|
|
2381
2381
|
subscriber.error(thrownError);
|
|
2382
2382
|
} else if (isStopped) {
|
|
@@ -2402,20 +2402,20 @@ var init_Subject = __esm({
|
|
|
2402
2402
|
return _this;
|
|
2403
2403
|
}
|
|
2404
2404
|
AnonymousSubject2.prototype.next = function(value2) {
|
|
2405
|
-
var
|
|
2406
|
-
(_b = (
|
|
2405
|
+
var _a47, _b;
|
|
2406
|
+
(_b = (_a47 = this.destination) === null || _a47 === void 0 ? void 0 : _a47.next) === null || _b === void 0 ? void 0 : _b.call(_a47, value2);
|
|
2407
2407
|
};
|
|
2408
2408
|
AnonymousSubject2.prototype.error = function(err) {
|
|
2409
|
-
var
|
|
2410
|
-
(_b = (
|
|
2409
|
+
var _a47, _b;
|
|
2410
|
+
(_b = (_a47 = this.destination) === null || _a47 === void 0 ? void 0 : _a47.error) === null || _b === void 0 ? void 0 : _b.call(_a47, err);
|
|
2411
2411
|
};
|
|
2412
2412
|
AnonymousSubject2.prototype.complete = function() {
|
|
2413
|
-
var
|
|
2414
|
-
(_b = (
|
|
2413
|
+
var _a47, _b;
|
|
2414
|
+
(_b = (_a47 = this.destination) === null || _a47 === void 0 ? void 0 : _a47.complete) === null || _b === void 0 ? void 0 : _b.call(_a47);
|
|
2415
2415
|
};
|
|
2416
2416
|
AnonymousSubject2.prototype._subscribe = function(subscriber) {
|
|
2417
|
-
var
|
|
2418
|
-
return (_b = (
|
|
2417
|
+
var _a47, _b;
|
|
2418
|
+
return (_b = (_a47 = this.source) === null || _a47 === void 0 ? void 0 : _a47.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
|
|
2419
2419
|
};
|
|
2420
2420
|
return AnonymousSubject2;
|
|
2421
2421
|
})(Subject);
|
|
@@ -2448,7 +2448,7 @@ var init_BehaviorSubject = __esm({
|
|
|
2448
2448
|
return subscription;
|
|
2449
2449
|
};
|
|
2450
2450
|
BehaviorSubject2.prototype.getValue = function() {
|
|
2451
|
-
var
|
|
2451
|
+
var _a47 = this, hasError = _a47.hasError, thrownError = _a47.thrownError, _value2 = _a47._value;
|
|
2452
2452
|
if (hasError) {
|
|
2453
2453
|
throw thrownError;
|
|
2454
2454
|
}
|
|
@@ -2507,7 +2507,7 @@ var init_ReplaySubject = __esm({
|
|
|
2507
2507
|
return _this;
|
|
2508
2508
|
}
|
|
2509
2509
|
ReplaySubject2.prototype.next = function(value2) {
|
|
2510
|
-
var
|
|
2510
|
+
var _a47 = this, isStopped = _a47.isStopped, _buffer = _a47._buffer, _infiniteTimeWindow = _a47._infiniteTimeWindow, _timestampProvider = _a47._timestampProvider, _windowTime = _a47._windowTime;
|
|
2511
2511
|
if (!isStopped) {
|
|
2512
2512
|
_buffer.push(value2);
|
|
2513
2513
|
!_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);
|
|
@@ -2519,7 +2519,7 @@ var init_ReplaySubject = __esm({
|
|
|
2519
2519
|
this._throwIfClosed();
|
|
2520
2520
|
this._trimBuffer();
|
|
2521
2521
|
var subscription = this._innerSubscribe(subscriber);
|
|
2522
|
-
var
|
|
2522
|
+
var _a47 = this, _infiniteTimeWindow = _a47._infiniteTimeWindow, _buffer = _a47._buffer;
|
|
2523
2523
|
var copy = _buffer.slice();
|
|
2524
2524
|
for (var i11 = 0; i11 < copy.length && !subscriber.closed; i11 += _infiniteTimeWindow ? 1 : 2) {
|
|
2525
2525
|
subscriber.next(copy[i11]);
|
|
@@ -2528,7 +2528,7 @@ var init_ReplaySubject = __esm({
|
|
|
2528
2528
|
return subscription;
|
|
2529
2529
|
};
|
|
2530
2530
|
ReplaySubject2.prototype._trimBuffer = function() {
|
|
2531
|
-
var
|
|
2531
|
+
var _a47 = this, _bufferSize = _a47._bufferSize, _timestampProvider = _a47._timestampProvider, _buffer = _a47._buffer, _infiniteTimeWindow = _a47._infiniteTimeWindow;
|
|
2532
2532
|
var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
|
|
2533
2533
|
_bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
|
|
2534
2534
|
if (!_infiniteTimeWindow) {
|
|
@@ -2561,7 +2561,7 @@ var init_AsyncSubject = __esm({
|
|
|
2561
2561
|
return _this;
|
|
2562
2562
|
}
|
|
2563
2563
|
AsyncSubject2.prototype._checkFinalizedStatuses = function(subscriber) {
|
|
2564
|
-
var
|
|
2564
|
+
var _a47 = this, hasError = _a47.hasError, _hasValue = _a47._hasValue, _value2 = _a47._value, thrownError = _a47.thrownError, isStopped = _a47.isStopped, _isComplete = _a47._isComplete;
|
|
2565
2565
|
if (hasError) {
|
|
2566
2566
|
subscriber.error(thrownError);
|
|
2567
2567
|
} else if (isStopped || _isComplete) {
|
|
@@ -2576,7 +2576,7 @@ var init_AsyncSubject = __esm({
|
|
|
2576
2576
|
}
|
|
2577
2577
|
};
|
|
2578
2578
|
AsyncSubject2.prototype.complete = function() {
|
|
2579
|
-
var
|
|
2579
|
+
var _a47 = this, _hasValue = _a47._hasValue, _value2 = _a47._value, _isComplete = _a47._isComplete;
|
|
2580
2580
|
if (!_isComplete) {
|
|
2581
2581
|
this._isComplete = true;
|
|
2582
2582
|
_hasValue && _super.prototype.next.call(this, _value2);
|
|
@@ -2654,7 +2654,7 @@ var init_AsyncAction = __esm({
|
|
|
2654
2654
|
return _this;
|
|
2655
2655
|
}
|
|
2656
2656
|
AsyncAction2.prototype.schedule = function(state, delay2) {
|
|
2657
|
-
var
|
|
2657
|
+
var _a47;
|
|
2658
2658
|
if (delay2 === void 0) {
|
|
2659
2659
|
delay2 = 0;
|
|
2660
2660
|
}
|
|
@@ -2669,7 +2669,7 @@ var init_AsyncAction = __esm({
|
|
|
2669
2669
|
}
|
|
2670
2670
|
this.pending = true;
|
|
2671
2671
|
this.delay = delay2;
|
|
2672
|
-
this.id = (
|
|
2672
|
+
this.id = (_a47 = this.id) !== null && _a47 !== void 0 ? _a47 : this.requestAsyncId(scheduler, this.id, delay2);
|
|
2673
2673
|
return this;
|
|
2674
2674
|
};
|
|
2675
2675
|
AsyncAction2.prototype.requestAsyncId = function(scheduler, _id, delay2) {
|
|
@@ -2718,7 +2718,7 @@ var init_AsyncAction = __esm({
|
|
|
2718
2718
|
};
|
|
2719
2719
|
AsyncAction2.prototype.unsubscribe = function() {
|
|
2720
2720
|
if (!this.closed) {
|
|
2721
|
-
var
|
|
2721
|
+
var _a47 = this, id = _a47.id, scheduler = _a47.scheduler;
|
|
2722
2722
|
var actions = scheduler.actions;
|
|
2723
2723
|
this.work = this.state = this.scheduler = null;
|
|
2724
2724
|
this.pending = false;
|
|
@@ -2823,7 +2823,7 @@ var init_AsapAction = __esm({
|
|
|
2823
2823
|
return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, void 0)));
|
|
2824
2824
|
};
|
|
2825
2825
|
AsapAction2.prototype.recycleAsyncId = function(scheduler, id, delay2) {
|
|
2826
|
-
var
|
|
2826
|
+
var _a47;
|
|
2827
2827
|
if (delay2 === void 0) {
|
|
2828
2828
|
delay2 = 0;
|
|
2829
2829
|
}
|
|
@@ -2831,7 +2831,7 @@ var init_AsapAction = __esm({
|
|
|
2831
2831
|
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay2);
|
|
2832
2832
|
}
|
|
2833
2833
|
var actions = scheduler.actions;
|
|
2834
|
-
if (id != null && ((
|
|
2834
|
+
if (id != null && ((_a47 = actions[actions.length - 1]) === null || _a47 === void 0 ? void 0 : _a47.id) !== id) {
|
|
2835
2835
|
immediateProvider.clearImmediate(id);
|
|
2836
2836
|
if (scheduler._scheduled === id) {
|
|
2837
2837
|
scheduler._scheduled = void 0;
|
|
@@ -3069,7 +3069,7 @@ var init_AnimationFrameAction = __esm({
|
|
|
3069
3069
|
}));
|
|
3070
3070
|
};
|
|
3071
3071
|
AnimationFrameAction2.prototype.recycleAsyncId = function(scheduler, id, delay2) {
|
|
3072
|
-
var
|
|
3072
|
+
var _a47;
|
|
3073
3073
|
if (delay2 === void 0) {
|
|
3074
3074
|
delay2 = 0;
|
|
3075
3075
|
}
|
|
@@ -3077,7 +3077,7 @@ var init_AnimationFrameAction = __esm({
|
|
|
3077
3077
|
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay2);
|
|
3078
3078
|
}
|
|
3079
3079
|
var actions = scheduler.actions;
|
|
3080
|
-
if (id != null && id === scheduler._scheduled && ((
|
|
3080
|
+
if (id != null && id === scheduler._scheduled && ((_a47 = actions[actions.length - 1]) === null || _a47 === void 0 ? void 0 : _a47.id) !== id) {
|
|
3081
3081
|
animationFrameProvider.cancelAnimationFrame(id);
|
|
3082
3082
|
scheduler._scheduled = void 0;
|
|
3083
3083
|
}
|
|
@@ -3166,7 +3166,7 @@ var init_VirtualTimeScheduler = __esm({
|
|
|
3166
3166
|
return _this;
|
|
3167
3167
|
}
|
|
3168
3168
|
VirtualTimeScheduler2.prototype.flush = function() {
|
|
3169
|
-
var
|
|
3169
|
+
var _a47 = this, actions = _a47.actions, maxFrames = _a47.maxFrames;
|
|
3170
3170
|
var error;
|
|
3171
3171
|
var action;
|
|
3172
3172
|
while ((action = actions[0]) && action.delay <= maxFrames) {
|
|
@@ -3386,7 +3386,7 @@ var init_isIterable = __esm({
|
|
|
3386
3386
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js
|
|
3387
3387
|
function readableStreamLikeToAsyncGenerator(readableStream) {
|
|
3388
3388
|
return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
|
|
3389
|
-
var reader,
|
|
3389
|
+
var reader, _a47, value2, done;
|
|
3390
3390
|
return __generator(this, function(_b) {
|
|
3391
3391
|
switch (_b.label) {
|
|
3392
3392
|
case 0:
|
|
@@ -3399,7 +3399,7 @@ function readableStreamLikeToAsyncGenerator(readableStream) {
|
|
|
3399
3399
|
if (false) return [3, 8];
|
|
3400
3400
|
return [4, __await(reader.read())];
|
|
3401
3401
|
case 3:
|
|
3402
|
-
|
|
3402
|
+
_a47 = _b.sent(), value2 = _a47.value, done = _a47.done;
|
|
3403
3403
|
if (!done) return [3, 5];
|
|
3404
3404
|
return [4, __await(void 0)];
|
|
3405
3405
|
case 4:
|
|
@@ -3490,7 +3490,7 @@ function fromPromise(promise) {
|
|
|
3490
3490
|
}
|
|
3491
3491
|
function fromIterable(iterable) {
|
|
3492
3492
|
return new Observable(function(subscriber) {
|
|
3493
|
-
var e_1,
|
|
3493
|
+
var e_1, _a47;
|
|
3494
3494
|
try {
|
|
3495
3495
|
for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
|
|
3496
3496
|
var value2 = iterable_1_1.value;
|
|
@@ -3503,7 +3503,7 @@ function fromIterable(iterable) {
|
|
|
3503
3503
|
e_1 = { error: e_1_1 };
|
|
3504
3504
|
} finally {
|
|
3505
3505
|
try {
|
|
3506
|
-
if (iterable_1_1 && !iterable_1_1.done && (
|
|
3506
|
+
if (iterable_1_1 && !iterable_1_1.done && (_a47 = iterable_1.return)) _a47.call(iterable_1);
|
|
3507
3507
|
} finally {
|
|
3508
3508
|
if (e_1) throw e_1.error;
|
|
3509
3509
|
}
|
|
@@ -3523,7 +3523,7 @@ function fromReadableStreamLike(readableStream) {
|
|
|
3523
3523
|
}
|
|
3524
3524
|
function process2(asyncIterable, subscriber) {
|
|
3525
3525
|
var asyncIterable_1, asyncIterable_1_1;
|
|
3526
|
-
var e_2,
|
|
3526
|
+
var e_2, _a47;
|
|
3527
3527
|
return __awaiter(this, void 0, void 0, function() {
|
|
3528
3528
|
var value2, e_2_1;
|
|
3529
3529
|
return __generator(this, function(_b) {
|
|
@@ -3552,8 +3552,8 @@ function process2(asyncIterable, subscriber) {
|
|
|
3552
3552
|
return [3, 11];
|
|
3553
3553
|
case 6:
|
|
3554
3554
|
_b.trys.push([6, , 9, 10]);
|
|
3555
|
-
if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (
|
|
3556
|
-
return [4,
|
|
3555
|
+
if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a47 = asyncIterable_1.return))) return [3, 8];
|
|
3556
|
+
return [4, _a47.call(asyncIterable_1)];
|
|
3557
3557
|
case 7:
|
|
3558
3558
|
_b.sent();
|
|
3559
3559
|
_b.label = 8;
|
|
@@ -3713,11 +3713,11 @@ function scheduleIterable(input, scheduler) {
|
|
|
3713
3713
|
executeSchedule(subscriber, scheduler, function() {
|
|
3714
3714
|
iterator2 = input[iterator]();
|
|
3715
3715
|
executeSchedule(subscriber, scheduler, function() {
|
|
3716
|
-
var
|
|
3716
|
+
var _a47;
|
|
3717
3717
|
var value2;
|
|
3718
3718
|
var done;
|
|
3719
3719
|
try {
|
|
3720
|
-
|
|
3720
|
+
_a47 = iterator2.next(), value2 = _a47.value, done = _a47.done;
|
|
3721
3721
|
} catch (err) {
|
|
3722
3722
|
subscriber.error(err);
|
|
3723
3723
|
return;
|
|
@@ -3871,12 +3871,12 @@ var init_throwError = __esm({
|
|
|
3871
3871
|
|
|
3872
3872
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Notification.js
|
|
3873
3873
|
function observeNotification(notification, observer) {
|
|
3874
|
-
var
|
|
3874
|
+
var _a47, _b, _c;
|
|
3875
3875
|
var _d = notification, kind = _d.kind, value2 = _d.value, error = _d.error;
|
|
3876
3876
|
if (typeof kind !== "string") {
|
|
3877
3877
|
throw new TypeError('Invalid notification, missing "kind"');
|
|
3878
3878
|
}
|
|
3879
|
-
kind === "N" ? (
|
|
3879
|
+
kind === "N" ? (_a47 = observer.next) === null || _a47 === void 0 ? void 0 : _a47.call(observer, value2) : kind === "E" ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);
|
|
3880
3880
|
}
|
|
3881
3881
|
var NotificationKind, Notification;
|
|
3882
3882
|
var init_Notification = __esm({
|
|
@@ -3901,15 +3901,15 @@ var init_Notification = __esm({
|
|
|
3901
3901
|
return observeNotification(this, observer);
|
|
3902
3902
|
};
|
|
3903
3903
|
Notification2.prototype.do = function(nextHandler, errorHandler, completeHandler) {
|
|
3904
|
-
var
|
|
3904
|
+
var _a47 = this, kind = _a47.kind, value2 = _a47.value, error = _a47.error;
|
|
3905
3905
|
return kind === "N" ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value2) : kind === "E" ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();
|
|
3906
3906
|
};
|
|
3907
3907
|
Notification2.prototype.accept = function(nextOrObserver, error, complete) {
|
|
3908
|
-
var
|
|
3909
|
-
return isFunction((
|
|
3908
|
+
var _a47;
|
|
3909
|
+
return isFunction((_a47 = nextOrObserver) === null || _a47 === void 0 ? void 0 : _a47.next) ? this.observe(nextOrObserver) : this.do(nextOrObserver, error, complete);
|
|
3910
3910
|
};
|
|
3911
3911
|
Notification2.prototype.toObservable = function() {
|
|
3912
|
-
var
|
|
3912
|
+
var _a47 = this, kind = _a47.kind, value2 = _a47.value, error = _a47.error;
|
|
3913
3913
|
var result = kind === "N" ? of(value2) : kind === "E" ? throwError(function() {
|
|
3914
3914
|
return error;
|
|
3915
3915
|
}) : kind === "C" ? EMPTY : 0;
|
|
@@ -4022,7 +4022,7 @@ var init_isDate = __esm({
|
|
|
4022
4022
|
|
|
4023
4023
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/timeout.js
|
|
4024
4024
|
function timeout(config3, schedulerArg) {
|
|
4025
|
-
var
|
|
4025
|
+
var _a47 = isValidDate(config3) ? { first: config3 } : typeof config3 === "number" ? { each: config3 } : config3, first2 = _a47.first, each = _a47.each, _b = _a47.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a47.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a47.meta, meta = _d === void 0 ? null : _d;
|
|
4026
4026
|
if (first2 == null && each == null) {
|
|
4027
4027
|
throw new TypeError("No timeout provided.");
|
|
4028
4028
|
}
|
|
@@ -4300,11 +4300,11 @@ function fromEvent(target, eventName, options, resultSelector) {
|
|
|
4300
4300
|
if (resultSelector) {
|
|
4301
4301
|
return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));
|
|
4302
4302
|
}
|
|
4303
|
-
var
|
|
4303
|
+
var _a47 = __read(isEventTarget(target) ? eventTargetMethods.map(function(methodName) {
|
|
4304
4304
|
return function(handler2) {
|
|
4305
4305
|
return target[methodName](eventName, handler2, options);
|
|
4306
4306
|
};
|
|
4307
|
-
}) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add3 =
|
|
4307
|
+
}) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add3 = _a47[0], remove2 = _a47[1];
|
|
4308
4308
|
if (!add3) {
|
|
4309
4309
|
if (isArrayLike(target)) {
|
|
4310
4310
|
return mergeMap(function(subTarget) {
|
|
@@ -4562,7 +4562,7 @@ function bufferCount(bufferSize, startBufferEvery) {
|
|
|
4562
4562
|
var buffers = [];
|
|
4563
4563
|
var count2 = 0;
|
|
4564
4564
|
source.subscribe(createOperatorSubscriber(subscriber, function(value2) {
|
|
4565
|
-
var e_1,
|
|
4565
|
+
var e_1, _a47, e_2, _b;
|
|
4566
4566
|
var toEmit = null;
|
|
4567
4567
|
if (count2++ % startBufferEvery === 0) {
|
|
4568
4568
|
buffers.push([]);
|
|
@@ -4580,7 +4580,7 @@ function bufferCount(bufferSize, startBufferEvery) {
|
|
|
4580
4580
|
e_1 = { error: e_1_1 };
|
|
4581
4581
|
} finally {
|
|
4582
4582
|
try {
|
|
4583
|
-
if (buffers_1_1 && !buffers_1_1.done && (
|
|
4583
|
+
if (buffers_1_1 && !buffers_1_1.done && (_a47 = buffers_1.return)) _a47.call(buffers_1);
|
|
4584
4584
|
} finally {
|
|
4585
4585
|
if (e_1) throw e_1.error;
|
|
4586
4586
|
}
|
|
@@ -4603,7 +4603,7 @@ function bufferCount(bufferSize, startBufferEvery) {
|
|
|
4603
4603
|
}
|
|
4604
4604
|
}
|
|
4605
4605
|
}, function() {
|
|
4606
|
-
var e_3,
|
|
4606
|
+
var e_3, _a47;
|
|
4607
4607
|
try {
|
|
4608
4608
|
for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {
|
|
4609
4609
|
var buffer2 = buffers_2_1.value;
|
|
@@ -4613,7 +4613,7 @@ function bufferCount(bufferSize, startBufferEvery) {
|
|
|
4613
4613
|
e_3 = { error: e_3_1 };
|
|
4614
4614
|
} finally {
|
|
4615
4615
|
try {
|
|
4616
|
-
if (buffers_2_1 && !buffers_2_1.done && (
|
|
4616
|
+
if (buffers_2_1 && !buffers_2_1.done && (_a47 = buffers_2.return)) _a47.call(buffers_2);
|
|
4617
4617
|
} finally {
|
|
4618
4618
|
if (e_3) throw e_3.error;
|
|
4619
4619
|
}
|
|
@@ -4635,12 +4635,12 @@ var init_bufferCount = __esm({
|
|
|
4635
4635
|
|
|
4636
4636
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/bufferTime.js
|
|
4637
4637
|
function bufferTime(bufferTimeSpan) {
|
|
4638
|
-
var
|
|
4638
|
+
var _a47, _b;
|
|
4639
4639
|
var otherArgs = [];
|
|
4640
4640
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
4641
4641
|
otherArgs[_i - 1] = arguments[_i];
|
|
4642
4642
|
}
|
|
4643
|
-
var scheduler = (
|
|
4643
|
+
var scheduler = (_a47 = popScheduler(otherArgs)) !== null && _a47 !== void 0 ? _a47 : asyncScheduler;
|
|
4644
4644
|
var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
|
|
4645
4645
|
var maxBufferSize = otherArgs[1] || Infinity;
|
|
4646
4646
|
return operate(function(source, subscriber) {
|
|
@@ -4675,7 +4675,7 @@ function bufferTime(bufferTimeSpan) {
|
|
|
4675
4675
|
}
|
|
4676
4676
|
startBuffer();
|
|
4677
4677
|
var bufferTimeSubscriber = createOperatorSubscriber(subscriber, function(value2) {
|
|
4678
|
-
var e_1,
|
|
4678
|
+
var e_1, _a48;
|
|
4679
4679
|
var recordsCopy = bufferRecords.slice();
|
|
4680
4680
|
try {
|
|
4681
4681
|
for (var recordsCopy_1 = __values(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) {
|
|
@@ -4688,7 +4688,7 @@ function bufferTime(bufferTimeSpan) {
|
|
|
4688
4688
|
e_1 = { error: e_1_1 };
|
|
4689
4689
|
} finally {
|
|
4690
4690
|
try {
|
|
4691
|
-
if (recordsCopy_1_1 && !recordsCopy_1_1.done && (
|
|
4691
|
+
if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a48 = recordsCopy_1.return)) _a48.call(recordsCopy_1);
|
|
4692
4692
|
} finally {
|
|
4693
4693
|
if (e_1) throw e_1.error;
|
|
4694
4694
|
}
|
|
@@ -5323,7 +5323,7 @@ var init_tap = __esm({
|
|
|
5323
5323
|
// node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/throttle.js
|
|
5324
5324
|
function throttle(durationSelector, config3) {
|
|
5325
5325
|
return operate(function(source, subscriber) {
|
|
5326
|
-
var
|
|
5326
|
+
var _a47 = config3 !== null && config3 !== void 0 ? config3 : {}, _b = _a47.leading, leading = _b === void 0 ? true : _b, _c = _a47.trailing, trailing = _c === void 0 ? false : _c;
|
|
5327
5327
|
var hasValue = false;
|
|
5328
5328
|
var sendValue = null;
|
|
5329
5329
|
var throttled = null;
|
|
@@ -50059,7 +50059,7 @@ var require_sweet_scroll = __commonJS({
|
|
|
50059
50059
|
hash: null
|
|
50060
50060
|
};
|
|
50061
50061
|
this.loop = function(time) {
|
|
50062
|
-
var
|
|
50062
|
+
var _a47 = _this, $el = _a47.$el, ctx = _a47.ctx;
|
|
50063
50063
|
if (!ctx.start) {
|
|
50064
50064
|
ctx.start = time;
|
|
50065
50065
|
}
|
|
@@ -50154,7 +50154,7 @@ var require_sweet_scroll = __commonJS({
|
|
|
50154
50154
|
if (!canUseDOM) {
|
|
50155
50155
|
return;
|
|
50156
50156
|
}
|
|
50157
|
-
var
|
|
50157
|
+
var _a47 = this, $el = _a47.$el, ctx = _a47.ctx, currentOptions = _a47.opts;
|
|
50158
50158
|
var $trigger = ctx.$trigger;
|
|
50159
50159
|
var opts = __assign2({}, currentOptions, options || {});
|
|
50160
50160
|
var optOffset = opts.offset, vertical = opts.vertical, horizontal = opts.horizontal;
|
|
@@ -50221,7 +50221,7 @@ var require_sweet_scroll = __commonJS({
|
|
|
50221
50221
|
if (gotoEnd === void 0) {
|
|
50222
50222
|
gotoEnd = false;
|
|
50223
50223
|
}
|
|
50224
|
-
var
|
|
50224
|
+
var _a47 = this, $el = _a47.$el, ctx = _a47.ctx;
|
|
50225
50225
|
var pos = ctx.pos;
|
|
50226
50226
|
if (!$el || !ctx.progress) {
|
|
50227
50227
|
return;
|
|
@@ -50277,7 +50277,7 @@ var require_sweet_scroll = __commonJS({
|
|
|
50277
50277
|
ctx.id = SweetScroll4.raf(this.loop);
|
|
50278
50278
|
};
|
|
50279
50279
|
SweetScroll4.prototype.complete = function() {
|
|
50280
|
-
var
|
|
50280
|
+
var _a47 = this, $el = _a47.$el, ctx = _a47.ctx;
|
|
50281
50281
|
var hash = ctx.hash, cancel = ctx.cancel, opts = ctx.opts, pos = ctx.pos, $trigger = ctx.$trigger;
|
|
50282
50282
|
if (!$el || !opts) {
|
|
50283
50283
|
return;
|
|
@@ -50303,18 +50303,18 @@ var require_sweet_scroll = __commonJS({
|
|
|
50303
50303
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
50304
50304
|
args[_i - 2] = arguments[_i];
|
|
50305
50305
|
}
|
|
50306
|
-
var
|
|
50306
|
+
var _a47;
|
|
50307
50307
|
var callback = options[type5];
|
|
50308
50308
|
var callbackResult;
|
|
50309
50309
|
var methodResult;
|
|
50310
50310
|
if (isFunction2(callback)) {
|
|
50311
50311
|
callbackResult = callback.apply(this, args.concat([this]));
|
|
50312
50312
|
}
|
|
50313
|
-
methodResult = (
|
|
50313
|
+
methodResult = (_a47 = this)["on" + (type5[0].toUpperCase() + type5.slice(1))].apply(_a47, args);
|
|
50314
50314
|
return callbackResult !== void 0 ? callbackResult : methodResult;
|
|
50315
50315
|
};
|
|
50316
50316
|
SweetScroll4.prototype.bind = function(click, stop) {
|
|
50317
|
-
var
|
|
50317
|
+
var _a47 = this, $el = _a47.$el, opts = _a47.ctx.opts;
|
|
50318
50318
|
if ($el) {
|
|
50319
50319
|
if (click) {
|
|
50320
50320
|
addEvent($el, CONTAINER_CLICK_EVENT, this.handleClick, false);
|
|
@@ -50325,7 +50325,7 @@ var require_sweet_scroll = __commonJS({
|
|
|
50325
50325
|
}
|
|
50326
50326
|
};
|
|
50327
50327
|
SweetScroll4.prototype.unbind = function(click, stop) {
|
|
50328
|
-
var
|
|
50328
|
+
var _a47 = this, $el = _a47.$el, opts = _a47.ctx.opts;
|
|
50329
50329
|
if ($el) {
|
|
50330
50330
|
if (click) {
|
|
50331
50331
|
removeEvent($el, CONTAINER_CLICK_EVENT, this.handleClick, false);
|
|
@@ -54869,26 +54869,26 @@ var init_fontawesome_svg_core = __esm({
|
|
|
54869
54869
|
}
|
|
54870
54870
|
};
|
|
54871
54871
|
parse9 = {
|
|
54872
|
-
icon: function icon(
|
|
54873
|
-
if (
|
|
54872
|
+
icon: function icon(_icon3) {
|
|
54873
|
+
if (_icon3 === null) {
|
|
54874
54874
|
return null;
|
|
54875
54875
|
}
|
|
54876
|
-
if (_typeof(
|
|
54876
|
+
if (_typeof(_icon3) === "object" && _icon3.prefix && _icon3.iconName) {
|
|
54877
54877
|
return {
|
|
54878
|
-
prefix:
|
|
54879
|
-
iconName: byAlias(
|
|
54878
|
+
prefix: _icon3.prefix,
|
|
54879
|
+
iconName: byAlias(_icon3.prefix, _icon3.iconName) || _icon3.iconName
|
|
54880
54880
|
};
|
|
54881
54881
|
}
|
|
54882
|
-
if (Array.isArray(
|
|
54883
|
-
var iconName =
|
|
54884
|
-
var prefix4 = getCanonicalPrefix(
|
|
54882
|
+
if (Array.isArray(_icon3) && _icon3.length === 2) {
|
|
54883
|
+
var iconName = _icon3[1].indexOf("fa-") === 0 ? _icon3[1].slice(3) : _icon3[1];
|
|
54884
|
+
var prefix4 = getCanonicalPrefix(_icon3[0]);
|
|
54885
54885
|
return {
|
|
54886
54886
|
prefix: prefix4,
|
|
54887
54887
|
iconName: byAlias(prefix4, iconName) || iconName
|
|
54888
54888
|
};
|
|
54889
54889
|
}
|
|
54890
|
-
if (typeof
|
|
54891
|
-
var canonicalIcon = getCanonicalIcon(
|
|
54890
|
+
if (typeof _icon3 === "string" && (_icon3.indexOf("".concat(config2.cssPrefix, "-")) > -1 || _icon3.match(ICON_SELECTION_SYNTAX_PATTERN))) {
|
|
54891
|
+
var canonicalIcon = getCanonicalIcon(_icon3.split(" "), {
|
|
54892
54892
|
skipLookups: true
|
|
54893
54893
|
});
|
|
54894
54894
|
return {
|
|
@@ -54896,11 +54896,11 @@ var init_fontawesome_svg_core = __esm({
|
|
|
54896
54896
|
iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
|
|
54897
54897
|
};
|
|
54898
54898
|
}
|
|
54899
|
-
if (typeof
|
|
54899
|
+
if (typeof _icon3 === "string") {
|
|
54900
54900
|
var _prefix = getDefaultUsablePrefix();
|
|
54901
54901
|
return {
|
|
54902
54902
|
prefix: _prefix,
|
|
54903
|
-
iconName: byAlias(_prefix,
|
|
54903
|
+
iconName: byAlias(_prefix, _icon3) || _icon3
|
|
54904
54904
|
};
|
|
54905
54905
|
}
|
|
54906
54906
|
}
|
|
@@ -96697,11 +96697,15 @@ var setupWccTools = (configOrElements, pagesArg) => {
|
|
|
96697
96697
|
var elements_exports = {};
|
|
96698
96698
|
__export(elements_exports, {
|
|
96699
96699
|
SzCertificatesCard: () => SzCertificatesCard,
|
|
96700
|
+
SzConfigOverview: () => SzConfigOverview,
|
|
96701
|
+
SzConfigSection: () => SzConfigSection,
|
|
96700
96702
|
SzDashboardView: () => SzDashboardView,
|
|
96703
|
+
SzDemoViewConfig: () => SzDemoViewConfig,
|
|
96701
96704
|
SzDemoViewDashboard: () => SzDemoViewDashboard,
|
|
96702
96705
|
SzDemoViewMta: () => SzDemoViewMta,
|
|
96703
96706
|
SzDemoViewNetwork: () => SzDemoViewNetwork,
|
|
96704
96707
|
SzDemoViewRegistries: () => SzDemoViewRegistries,
|
|
96708
|
+
SzDemoViewRoutes: () => SzDemoViewRoutes,
|
|
96705
96709
|
SzDemoViewServices: () => SzDemoViewServices,
|
|
96706
96710
|
SzDemoViewSettings: () => SzDemoViewSettings,
|
|
96707
96711
|
SzDemoViewTokens: () => SzDemoViewTokens,
|
|
@@ -96720,6 +96724,8 @@ __export(elements_exports, {
|
|
|
96720
96724
|
SzRegistryExternalView: () => SzRegistryExternalView,
|
|
96721
96725
|
SzResourceUsageCard: () => SzResourceUsageCard,
|
|
96722
96726
|
SzReverseProxyCard: () => SzReverseProxyCard,
|
|
96727
|
+
SzRouteCard: () => SzRouteCard,
|
|
96728
|
+
SzRouteListView: () => SzRouteListView,
|
|
96723
96729
|
SzServiceCreateView: () => SzServiceCreateView,
|
|
96724
96730
|
SzServiceDetailView: () => SzServiceDetailView,
|
|
96725
96731
|
SzServicesBackupsView: () => SzServicesBackupsView,
|
|
@@ -105634,11 +105640,1435 @@ __publicField(SzMtaDetailView, "styles", [
|
|
|
105634
105640
|
]);
|
|
105635
105641
|
__runInitializers(_init29, 1, SzMtaDetailView);
|
|
105636
105642
|
|
|
105643
|
+
// ts_web/elements/sz-route-card.ts
|
|
105644
|
+
init_dist_ts29();
|
|
105645
|
+
var _route_dec, _a30, _SzRouteCard_decorators, _init30, _route;
|
|
105646
|
+
function formatPorts(ports) {
|
|
105647
|
+
if (typeof ports === "number") return String(ports);
|
|
105648
|
+
if (Array.isArray(ports)) {
|
|
105649
|
+
return ports.map((p7) => {
|
|
105650
|
+
if (typeof p7 === "number") return String(p7);
|
|
105651
|
+
return `${p7.from}\u2013${p7.to}`;
|
|
105652
|
+
}).join(", ");
|
|
105653
|
+
}
|
|
105654
|
+
return String(ports);
|
|
105655
|
+
}
|
|
105656
|
+
function formatTargets(targets) {
|
|
105657
|
+
const result = [];
|
|
105658
|
+
for (const t9 of targets) {
|
|
105659
|
+
const hosts = Array.isArray(t9.host) ? t9.host : [t9.host];
|
|
105660
|
+
const portStr = t9.port === "preserve" ? "(preserve)" : String(t9.port);
|
|
105661
|
+
for (const h9 of hosts) {
|
|
105662
|
+
result.push(`${h9}:${portStr}`);
|
|
105663
|
+
}
|
|
105664
|
+
}
|
|
105665
|
+
return result;
|
|
105666
|
+
}
|
|
105667
|
+
_SzRouteCard_decorators = [t4("sz-route-card")];
|
|
105668
|
+
var SzRouteCard = class extends (_a30 = DeesElement, _route_dec = [n5({ type: Object })], _a30) {
|
|
105669
|
+
constructor() {
|
|
105670
|
+
super(...arguments);
|
|
105671
|
+
__privateAdd(this, _route, __runInitializers(_init30, 8, this, null)), __runInitializers(_init30, 11, this);
|
|
105672
|
+
}
|
|
105673
|
+
render() {
|
|
105674
|
+
if (!this.route) {
|
|
105675
|
+
return b2`<div class="card"><div class="no-route">No route data</div></div>`;
|
|
105676
|
+
}
|
|
105677
|
+
const r11 = this.route;
|
|
105678
|
+
const isEnabled = r11.enabled !== false;
|
|
105679
|
+
const match2 = r11.match;
|
|
105680
|
+
const action = r11.action;
|
|
105681
|
+
const security = r11.security;
|
|
105682
|
+
return b2`
|
|
105683
|
+
<div class="card">
|
|
105684
|
+
<!-- Header -->
|
|
105685
|
+
<div class="header">
|
|
105686
|
+
<div class="header-left">
|
|
105687
|
+
<span class="status-dot ${isEnabled ? "enabled" : "disabled"}"></span>
|
|
105688
|
+
<span class="route-name">${r11.name || r11.id || "Unnamed Route"}</span>
|
|
105689
|
+
</div>
|
|
105690
|
+
<div class="header-badges">
|
|
105691
|
+
<span class="badge ${action.type}">${action.type}</span>
|
|
105692
|
+
<span class="badge ${isEnabled ? "enabled" : "disabled"}">${isEnabled ? "enabled" : "disabled"}</span>
|
|
105693
|
+
</div>
|
|
105694
|
+
</div>
|
|
105695
|
+
|
|
105696
|
+
${r11.description ? b2`<div class="description">${r11.description}</div>` : ""}
|
|
105697
|
+
|
|
105698
|
+
<div class="meta-row">
|
|
105699
|
+
${r11.tags && r11.tags.length > 0 ? b2`<div class="tags">${r11.tags.map((t9) => b2`<span class="tag">${t9}</span>`)}</div>` : b2`<div></div>`}
|
|
105700
|
+
${r11.priority != null ? b2`<span class="priority">Priority: ${r11.priority}</span>` : ""}
|
|
105701
|
+
</div>
|
|
105702
|
+
|
|
105703
|
+
<!-- Match Section -->
|
|
105704
|
+
<div class="section match">
|
|
105705
|
+
<div class="section-label">Match</div>
|
|
105706
|
+
<div class="field-row">
|
|
105707
|
+
<span class="field-key">Ports</span>
|
|
105708
|
+
<span class="field-value mono">${formatPorts(match2.ports)}</span>
|
|
105709
|
+
</div>
|
|
105710
|
+
${match2.domains ? b2`
|
|
105711
|
+
<div class="field-row">
|
|
105712
|
+
<span class="field-key">Domains</span>
|
|
105713
|
+
<span class="field-value">${this.renderDomains(match2.domains)}</span>
|
|
105714
|
+
</div>
|
|
105715
|
+
` : ""}
|
|
105716
|
+
${match2.path ? b2`
|
|
105717
|
+
<div class="field-row">
|
|
105718
|
+
<span class="field-key">Path</span>
|
|
105719
|
+
<span class="field-value mono">${match2.path}</span>
|
|
105720
|
+
</div>
|
|
105721
|
+
` : ""}
|
|
105722
|
+
${match2.protocol ? b2`
|
|
105723
|
+
<div class="field-row">
|
|
105724
|
+
<span class="field-key">Protocol</span>
|
|
105725
|
+
<span class="field-value">
|
|
105726
|
+
<span class="protocol-badge ${match2.protocol}">${match2.protocol}</span>
|
|
105727
|
+
</span>
|
|
105728
|
+
</div>
|
|
105729
|
+
` : ""}
|
|
105730
|
+
${match2.clientIp && match2.clientIp.length > 0 ? b2`
|
|
105731
|
+
<div class="field-row">
|
|
105732
|
+
<span class="field-key">Client</span>
|
|
105733
|
+
<span class="field-value mono">${match2.clientIp.join(", ")}</span>
|
|
105734
|
+
</div>
|
|
105735
|
+
` : ""}
|
|
105736
|
+
${match2.tlsVersion && match2.tlsVersion.length > 0 ? b2`
|
|
105737
|
+
<div class="field-row">
|
|
105738
|
+
<span class="field-key">TLS Ver</span>
|
|
105739
|
+
<span class="field-value">${match2.tlsVersion.join(", ")}</span>
|
|
105740
|
+
</div>
|
|
105741
|
+
` : ""}
|
|
105742
|
+
${match2.headers ? b2`
|
|
105743
|
+
<div class="field-row">
|
|
105744
|
+
<span class="field-key">Headers</span>
|
|
105745
|
+
<span class="field-value">
|
|
105746
|
+
${Object.entries(match2.headers).map(
|
|
105747
|
+
([k4, v5]) => b2`<span class="header-pair">${k4}=${v5}</span> `
|
|
105748
|
+
)}
|
|
105749
|
+
</span>
|
|
105750
|
+
</div>
|
|
105751
|
+
` : ""}
|
|
105752
|
+
</div>
|
|
105753
|
+
|
|
105754
|
+
<!-- Action Section -->
|
|
105755
|
+
<div class="section action">
|
|
105756
|
+
<div class="section-label">Action</div>
|
|
105757
|
+
${action.targets && action.targets.length > 0 ? b2`
|
|
105758
|
+
<div class="field-row">
|
|
105759
|
+
<span class="field-key">Targets</span>
|
|
105760
|
+
<span class="field-value mono">${formatTargets(action.targets).join(", ")}</span>
|
|
105761
|
+
</div>
|
|
105762
|
+
` : ""}
|
|
105763
|
+
${action.tls ? b2`
|
|
105764
|
+
<div class="field-row">
|
|
105765
|
+
<span class="field-key">TLS</span>
|
|
105766
|
+
<span class="field-value">
|
|
105767
|
+
${action.tls.mode}
|
|
105768
|
+
${action.tls.certificate ? action.tls.certificate === "auto" ? b2` <span class="tls-badge auto">auto cert</span>` : b2` <span class="tls-badge custom">custom cert</span>` : ""}
|
|
105769
|
+
</span>
|
|
105770
|
+
</div>
|
|
105771
|
+
` : ""}
|
|
105772
|
+
${action.forwardingEngine ? b2`
|
|
105773
|
+
<div class="field-row">
|
|
105774
|
+
<span class="field-key">Engine</span>
|
|
105775
|
+
<span class="field-value"><span class="engine-badge">${action.forwardingEngine}</span></span>
|
|
105776
|
+
</div>
|
|
105777
|
+
` : ""}
|
|
105778
|
+
${action.loadBalancing ? b2`
|
|
105779
|
+
<div class="field-row">
|
|
105780
|
+
<span class="field-key">LB</span>
|
|
105781
|
+
<span class="field-value">${action.loadBalancing.algorithm}</span>
|
|
105782
|
+
</div>
|
|
105783
|
+
` : ""}
|
|
105784
|
+
${action.websocket?.enabled ? b2`
|
|
105785
|
+
<div class="field-row">
|
|
105786
|
+
<span class="field-key">WS</span>
|
|
105787
|
+
<span class="field-value"><span class="badge enabled">enabled</span></span>
|
|
105788
|
+
</div>
|
|
105789
|
+
` : ""}
|
|
105790
|
+
</div>
|
|
105791
|
+
|
|
105792
|
+
<!-- Security Section -->
|
|
105793
|
+
${security ? b2`
|
|
105794
|
+
<div class="section security">
|
|
105795
|
+
<div class="section-label">Security</div>
|
|
105796
|
+
${security.ipAllowList && security.ipAllowList.length > 0 ? b2`
|
|
105797
|
+
<div class="field-row">
|
|
105798
|
+
<span class="field-key">Allow</span>
|
|
105799
|
+
<span class="field-value mono">${security.ipAllowList.join(", ")}</span>
|
|
105800
|
+
</div>
|
|
105801
|
+
` : ""}
|
|
105802
|
+
${security.ipBlockList && security.ipBlockList.length > 0 ? b2`
|
|
105803
|
+
<div class="field-row">
|
|
105804
|
+
<span class="field-key">Block</span>
|
|
105805
|
+
<span class="field-value mono">${security.ipBlockList.join(", ")}</span>
|
|
105806
|
+
</div>
|
|
105807
|
+
` : ""}
|
|
105808
|
+
${security.rateLimit?.enabled ? b2`
|
|
105809
|
+
<div class="field-row">
|
|
105810
|
+
<span class="field-key">Rate</span>
|
|
105811
|
+
<span class="field-value">${security.rateLimit.maxRequests} req / ${security.rateLimit.window}s</span>
|
|
105812
|
+
</div>
|
|
105813
|
+
` : ""}
|
|
105814
|
+
${security.maxConnections ? b2`
|
|
105815
|
+
<div class="field-row">
|
|
105816
|
+
<span class="field-key">Max Conn</span>
|
|
105817
|
+
<span class="field-value">${security.maxConnections}</span>
|
|
105818
|
+
</div>
|
|
105819
|
+
` : ""}
|
|
105820
|
+
</div>
|
|
105821
|
+
` : ""}
|
|
105822
|
+
|
|
105823
|
+
<!-- Feature Icons Row -->
|
|
105824
|
+
${this.renderFeatures()}
|
|
105825
|
+
</div>
|
|
105826
|
+
`;
|
|
105827
|
+
}
|
|
105828
|
+
renderDomains(domains) {
|
|
105829
|
+
const list5 = Array.isArray(domains) ? domains : [domains];
|
|
105830
|
+
return b2`${list5.map(
|
|
105831
|
+
(d6) => b2`<span class="domain-chip ${d6.includes("*") ? "glob" : ""}">${d6}</span>`
|
|
105832
|
+
)}`;
|
|
105833
|
+
}
|
|
105834
|
+
renderFeatures() {
|
|
105835
|
+
if (!this.route) return b2``;
|
|
105836
|
+
const features = [];
|
|
105837
|
+
const action = this.route.action;
|
|
105838
|
+
const security = this.route.security;
|
|
105839
|
+
const headers = this.route.headers;
|
|
105840
|
+
if (action.tls) {
|
|
105841
|
+
features.push(b2`<span class="feature"><span class="feature-icon">🔒</span>TLS</span>`);
|
|
105842
|
+
}
|
|
105843
|
+
if (action.websocket?.enabled) {
|
|
105844
|
+
features.push(b2`<span class="feature"><span class="feature-icon">↔</span>WS</span>`);
|
|
105845
|
+
}
|
|
105846
|
+
if (action.loadBalancing) {
|
|
105847
|
+
features.push(b2`<span class="feature"><span class="feature-icon">⚖</span>LB</span>`);
|
|
105848
|
+
}
|
|
105849
|
+
if (security) {
|
|
105850
|
+
features.push(b2`<span class="feature"><span class="feature-icon">🛡</span>Security</span>`);
|
|
105851
|
+
}
|
|
105852
|
+
if (headers) {
|
|
105853
|
+
features.push(b2`<span class="feature"><span class="feature-icon">⚙</span>Headers</span>`);
|
|
105854
|
+
}
|
|
105855
|
+
if (features.length === 0) return b2``;
|
|
105856
|
+
return b2`<div class="features-row">${features}</div>`;
|
|
105857
|
+
}
|
|
105858
|
+
};
|
|
105859
|
+
_init30 = __decoratorStart(_a30);
|
|
105860
|
+
_route = new WeakMap();
|
|
105861
|
+
__decorateElement(_init30, 4, "route", _route_dec, SzRouteCard, _route);
|
|
105862
|
+
SzRouteCard = __decorateElement(_init30, 0, "SzRouteCard", _SzRouteCard_decorators, SzRouteCard);
|
|
105863
|
+
__publicField(SzRouteCard, "demo", () => b2`
|
|
105864
|
+
<div style="padding: 24px; max-width: 520px;">
|
|
105865
|
+
<sz-route-card
|
|
105866
|
+
.route=${{
|
|
105867
|
+
name: "API Gateway",
|
|
105868
|
+
description: "Main API gateway with TLS termination and load balancing",
|
|
105869
|
+
enabled: true,
|
|
105870
|
+
priority: 10,
|
|
105871
|
+
tags: ["web", "api", "production"],
|
|
105872
|
+
match: {
|
|
105873
|
+
ports: [443, 8443],
|
|
105874
|
+
domains: ["api.example.com", "*.api.serve.zone"],
|
|
105875
|
+
path: "/api/*",
|
|
105876
|
+
protocol: "http",
|
|
105877
|
+
clientIp: ["10.0.0.0/8"]
|
|
105878
|
+
},
|
|
105879
|
+
action: {
|
|
105880
|
+
type: "forward",
|
|
105881
|
+
targets: [
|
|
105882
|
+
{ host: ["10.0.0.1", "10.0.0.2"], port: 8080 }
|
|
105883
|
+
],
|
|
105884
|
+
tls: { mode: "terminate", certificate: "auto" },
|
|
105885
|
+
websocket: { enabled: true },
|
|
105886
|
+
loadBalancing: { algorithm: "round-robin" },
|
|
105887
|
+
forwardingEngine: "nftables"
|
|
105888
|
+
},
|
|
105889
|
+
security: {
|
|
105890
|
+
ipAllowList: ["10.0.0.0/8"],
|
|
105891
|
+
ipBlockList: ["192.168.100.0/24"],
|
|
105892
|
+
rateLimit: { enabled: true, maxRequests: 100, window: 60 },
|
|
105893
|
+
maxConnections: 1e3
|
|
105894
|
+
}
|
|
105895
|
+
}}
|
|
105896
|
+
></sz-route-card>
|
|
105897
|
+
</div>
|
|
105898
|
+
`);
|
|
105899
|
+
__publicField(SzRouteCard, "demoGroups", ["Routes"]);
|
|
105900
|
+
__publicField(SzRouteCard, "styles", [
|
|
105901
|
+
cssManager.defaultStyles,
|
|
105902
|
+
i`
|
|
105903
|
+
:host {
|
|
105904
|
+
display: block;
|
|
105905
|
+
}
|
|
105906
|
+
|
|
105907
|
+
.card {
|
|
105908
|
+
background: ${cssManager.bdTheme("#ffffff", "#09090b")};
|
|
105909
|
+
border: 1px solid ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
105910
|
+
border-radius: 8px;
|
|
105911
|
+
padding: 20px;
|
|
105912
|
+
transition: border-color 200ms ease, box-shadow 200ms ease;
|
|
105913
|
+
}
|
|
105914
|
+
|
|
105915
|
+
.card:hover {
|
|
105916
|
+
border-color: ${cssManager.bdTheme("#d4d4d8", "#3f3f46")};
|
|
105917
|
+
box-shadow: 0 2px 8px ${cssManager.bdTheme("rgba(0,0,0,0.06)", "rgba(0,0,0,0.2)")};
|
|
105918
|
+
}
|
|
105919
|
+
|
|
105920
|
+
/* Header */
|
|
105921
|
+
.header {
|
|
105922
|
+
display: flex;
|
|
105923
|
+
align-items: flex-start;
|
|
105924
|
+
justify-content: space-between;
|
|
105925
|
+
gap: 12px;
|
|
105926
|
+
margin-bottom: 4px;
|
|
105927
|
+
}
|
|
105928
|
+
|
|
105929
|
+
.header-left {
|
|
105930
|
+
display: flex;
|
|
105931
|
+
align-items: center;
|
|
105932
|
+
gap: 8px;
|
|
105933
|
+
min-width: 0;
|
|
105934
|
+
}
|
|
105935
|
+
|
|
105936
|
+
.status-dot {
|
|
105937
|
+
width: 8px;
|
|
105938
|
+
height: 8px;
|
|
105939
|
+
border-radius: 50%;
|
|
105940
|
+
flex-shrink: 0;
|
|
105941
|
+
}
|
|
105942
|
+
|
|
105943
|
+
.status-dot.enabled {
|
|
105944
|
+
background: ${cssManager.bdTheme("#22c55e", "#22c55e")};
|
|
105945
|
+
box-shadow: 0 0 6px ${cssManager.bdTheme("rgba(34,197,94,0.4)", "rgba(34,197,94,0.3)")};
|
|
105946
|
+
}
|
|
105947
|
+
|
|
105948
|
+
.status-dot.disabled {
|
|
105949
|
+
background: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
105950
|
+
}
|
|
105951
|
+
|
|
105952
|
+
.route-name {
|
|
105953
|
+
font-size: 15px;
|
|
105954
|
+
font-weight: 600;
|
|
105955
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
105956
|
+
white-space: nowrap;
|
|
105957
|
+
overflow: hidden;
|
|
105958
|
+
text-overflow: ellipsis;
|
|
105959
|
+
}
|
|
105960
|
+
|
|
105961
|
+
.header-badges {
|
|
105962
|
+
display: flex;
|
|
105963
|
+
gap: 6px;
|
|
105964
|
+
flex-shrink: 0;
|
|
105965
|
+
}
|
|
105966
|
+
|
|
105967
|
+
.badge {
|
|
105968
|
+
display: inline-flex;
|
|
105969
|
+
align-items: center;
|
|
105970
|
+
padding: 2px 8px;
|
|
105971
|
+
border-radius: 9999px;
|
|
105972
|
+
font-size: 11px;
|
|
105973
|
+
font-weight: 500;
|
|
105974
|
+
white-space: nowrap;
|
|
105975
|
+
}
|
|
105976
|
+
|
|
105977
|
+
.badge.forward {
|
|
105978
|
+
background: ${cssManager.bdTheme("#dbeafe", "rgba(59, 130, 246, 0.2)")};
|
|
105979
|
+
color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
|
|
105980
|
+
}
|
|
105981
|
+
|
|
105982
|
+
.badge.socket-handler {
|
|
105983
|
+
background: ${cssManager.bdTheme("#ede9fe", "rgba(139, 92, 246, 0.2)")};
|
|
105984
|
+
color: ${cssManager.bdTheme("#7c3aed", "#a78bfa")};
|
|
105985
|
+
}
|
|
105986
|
+
|
|
105987
|
+
.badge.enabled {
|
|
105988
|
+
background: ${cssManager.bdTheme("#dcfce7", "rgba(34, 197, 94, 0.2)")};
|
|
105989
|
+
color: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
105990
|
+
}
|
|
105991
|
+
|
|
105992
|
+
.badge.disabled {
|
|
105993
|
+
background: ${cssManager.bdTheme("#f4f4f5", "rgba(113, 113, 122, 0.2)")};
|
|
105994
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
105995
|
+
}
|
|
105996
|
+
|
|
105997
|
+
.description {
|
|
105998
|
+
font-size: 13px;
|
|
105999
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106000
|
+
margin-bottom: 8px;
|
|
106001
|
+
line-height: 1.4;
|
|
106002
|
+
}
|
|
106003
|
+
|
|
106004
|
+
.meta-row {
|
|
106005
|
+
display: flex;
|
|
106006
|
+
align-items: center;
|
|
106007
|
+
justify-content: space-between;
|
|
106008
|
+
flex-wrap: wrap;
|
|
106009
|
+
gap: 6px;
|
|
106010
|
+
margin-bottom: 16px;
|
|
106011
|
+
}
|
|
106012
|
+
|
|
106013
|
+
.tags {
|
|
106014
|
+
display: flex;
|
|
106015
|
+
flex-wrap: wrap;
|
|
106016
|
+
gap: 4px;
|
|
106017
|
+
}
|
|
106018
|
+
|
|
106019
|
+
.tag {
|
|
106020
|
+
padding: 2px 8px;
|
|
106021
|
+
background: ${cssManager.bdTheme("#f4f4f5", "#27272a")};
|
|
106022
|
+
border-radius: 4px;
|
|
106023
|
+
font-size: 11px;
|
|
106024
|
+
font-weight: 500;
|
|
106025
|
+
color: ${cssManager.bdTheme("#52525b", "#a1a1aa")};
|
|
106026
|
+
}
|
|
106027
|
+
|
|
106028
|
+
.priority {
|
|
106029
|
+
font-size: 11px;
|
|
106030
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#71717a")};
|
|
106031
|
+
font-weight: 500;
|
|
106032
|
+
}
|
|
106033
|
+
|
|
106034
|
+
/* Sections */
|
|
106035
|
+
.section {
|
|
106036
|
+
border-left: 3px solid;
|
|
106037
|
+
padding: 10px 14px;
|
|
106038
|
+
margin-bottom: 12px;
|
|
106039
|
+
border-radius: 0 6px 6px 0;
|
|
106040
|
+
background: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
106041
|
+
}
|
|
106042
|
+
|
|
106043
|
+
.section:last-of-type {
|
|
106044
|
+
margin-bottom: 0;
|
|
106045
|
+
}
|
|
106046
|
+
|
|
106047
|
+
.section.match {
|
|
106048
|
+
border-left-color: ${cssManager.bdTheme("#3b82f6", "#3b82f6")};
|
|
106049
|
+
}
|
|
106050
|
+
|
|
106051
|
+
.section.action {
|
|
106052
|
+
border-left-color: ${cssManager.bdTheme("#22c55e", "#22c55e")};
|
|
106053
|
+
}
|
|
106054
|
+
|
|
106055
|
+
.section.security {
|
|
106056
|
+
border-left-color: ${cssManager.bdTheme("#f59e0b", "#f59e0b")};
|
|
106057
|
+
}
|
|
106058
|
+
|
|
106059
|
+
.section-label {
|
|
106060
|
+
font-size: 10px;
|
|
106061
|
+
font-weight: 600;
|
|
106062
|
+
text-transform: uppercase;
|
|
106063
|
+
letter-spacing: 0.08em;
|
|
106064
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#71717a")};
|
|
106065
|
+
margin-bottom: 8px;
|
|
106066
|
+
}
|
|
106067
|
+
|
|
106068
|
+
.field-row {
|
|
106069
|
+
display: flex;
|
|
106070
|
+
gap: 8px;
|
|
106071
|
+
margin-bottom: 5px;
|
|
106072
|
+
font-size: 13px;
|
|
106073
|
+
line-height: 1.5;
|
|
106074
|
+
}
|
|
106075
|
+
|
|
106076
|
+
.field-row:last-child {
|
|
106077
|
+
margin-bottom: 0;
|
|
106078
|
+
}
|
|
106079
|
+
|
|
106080
|
+
.field-key {
|
|
106081
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106082
|
+
min-width: 64px;
|
|
106083
|
+
flex-shrink: 0;
|
|
106084
|
+
font-weight: 500;
|
|
106085
|
+
}
|
|
106086
|
+
|
|
106087
|
+
.field-value {
|
|
106088
|
+
color: ${cssManager.bdTheme("#18181b", "#e4e4e7")};
|
|
106089
|
+
word-break: break-all;
|
|
106090
|
+
}
|
|
106091
|
+
|
|
106092
|
+
.domain-chip {
|
|
106093
|
+
display: inline-flex;
|
|
106094
|
+
padding: 1px 6px;
|
|
106095
|
+
background: ${cssManager.bdTheme("#eff6ff", "rgba(59, 130, 246, 0.1)")};
|
|
106096
|
+
border-radius: 3px;
|
|
106097
|
+
font-size: 12px;
|
|
106098
|
+
margin-right: 4px;
|
|
106099
|
+
margin-bottom: 2px;
|
|
106100
|
+
font-family: monospace;
|
|
106101
|
+
}
|
|
106102
|
+
|
|
106103
|
+
.domain-chip.glob {
|
|
106104
|
+
background: ${cssManager.bdTheme("#fef3c7", "rgba(245, 158, 11, 0.15)")};
|
|
106105
|
+
color: ${cssManager.bdTheme("#92400e", "#fbbf24")};
|
|
106106
|
+
}
|
|
106107
|
+
|
|
106108
|
+
.mono {
|
|
106109
|
+
font-family: monospace;
|
|
106110
|
+
font-size: 12px;
|
|
106111
|
+
}
|
|
106112
|
+
|
|
106113
|
+
.protocol-badge {
|
|
106114
|
+
display: inline-flex;
|
|
106115
|
+
padding: 1px 6px;
|
|
106116
|
+
border-radius: 3px;
|
|
106117
|
+
font-size: 11px;
|
|
106118
|
+
font-weight: 500;
|
|
106119
|
+
}
|
|
106120
|
+
|
|
106121
|
+
.protocol-badge.http {
|
|
106122
|
+
background: ${cssManager.bdTheme("#dbeafe", "rgba(59, 130, 246, 0.2)")};
|
|
106123
|
+
color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
|
|
106124
|
+
}
|
|
106125
|
+
|
|
106126
|
+
.protocol-badge.tcp {
|
|
106127
|
+
background: ${cssManager.bdTheme("#dcfce7", "rgba(34, 197, 94, 0.2)")};
|
|
106128
|
+
color: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106129
|
+
}
|
|
106130
|
+
|
|
106131
|
+
.tls-badge {
|
|
106132
|
+
display: inline-flex;
|
|
106133
|
+
padding: 1px 6px;
|
|
106134
|
+
border-radius: 3px;
|
|
106135
|
+
font-size: 11px;
|
|
106136
|
+
font-weight: 500;
|
|
106137
|
+
}
|
|
106138
|
+
|
|
106139
|
+
.tls-badge.auto {
|
|
106140
|
+
background: ${cssManager.bdTheme("#dcfce7", "rgba(34, 197, 94, 0.2)")};
|
|
106141
|
+
color: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106142
|
+
}
|
|
106143
|
+
|
|
106144
|
+
.tls-badge.custom {
|
|
106145
|
+
background: ${cssManager.bdTheme("#ffedd5", "rgba(249, 115, 22, 0.2)")};
|
|
106146
|
+
color: ${cssManager.bdTheme("#c2410c", "#fb923c")};
|
|
106147
|
+
}
|
|
106148
|
+
|
|
106149
|
+
.engine-badge {
|
|
106150
|
+
display: inline-flex;
|
|
106151
|
+
padding: 1px 6px;
|
|
106152
|
+
border-radius: 3px;
|
|
106153
|
+
font-size: 11px;
|
|
106154
|
+
font-weight: 500;
|
|
106155
|
+
background: ${cssManager.bdTheme("#fae8ff", "rgba(168, 85, 247, 0.2)")};
|
|
106156
|
+
color: ${cssManager.bdTheme("#7e22ce", "#c084fc")};
|
|
106157
|
+
}
|
|
106158
|
+
|
|
106159
|
+
.header-pair {
|
|
106160
|
+
display: inline;
|
|
106161
|
+
font-family: monospace;
|
|
106162
|
+
font-size: 12px;
|
|
106163
|
+
}
|
|
106164
|
+
|
|
106165
|
+
/* Feature icons */
|
|
106166
|
+
.features-row {
|
|
106167
|
+
display: flex;
|
|
106168
|
+
flex-wrap: wrap;
|
|
106169
|
+
gap: 10px;
|
|
106170
|
+
margin-top: 14px;
|
|
106171
|
+
padding-top: 12px;
|
|
106172
|
+
border-top: 1px solid ${cssManager.bdTheme("#f4f4f5", "#1a1a1a")};
|
|
106173
|
+
}
|
|
106174
|
+
|
|
106175
|
+
.feature {
|
|
106176
|
+
display: flex;
|
|
106177
|
+
align-items: center;
|
|
106178
|
+
gap: 4px;
|
|
106179
|
+
font-size: 11px;
|
|
106180
|
+
font-weight: 500;
|
|
106181
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106182
|
+
}
|
|
106183
|
+
|
|
106184
|
+
.feature-icon {
|
|
106185
|
+
font-size: 13px;
|
|
106186
|
+
}
|
|
106187
|
+
|
|
106188
|
+
.no-route {
|
|
106189
|
+
text-align: center;
|
|
106190
|
+
padding: 24px;
|
|
106191
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106192
|
+
font-size: 13px;
|
|
106193
|
+
}
|
|
106194
|
+
`
|
|
106195
|
+
]);
|
|
106196
|
+
__runInitializers(_init30, 1, SzRouteCard);
|
|
106197
|
+
|
|
106198
|
+
// ts_web/elements/sz-route-list-view.ts
|
|
106199
|
+
init_dist_ts29();
|
|
106200
|
+
var _enabledFilter_dec, _actionFilter_dec, _searchQuery_dec2, _routes_dec, _a31, _SzRouteListView_decorators, _init31, _routes, _searchQuery2, _actionFilter, _enabledFilter;
|
|
106201
|
+
_SzRouteListView_decorators = [t4("sz-route-list-view")];
|
|
106202
|
+
var SzRouteListView = class extends (_a31 = DeesElement, _routes_dec = [n5({ type: Array })], _searchQuery_dec2 = [r5()], _actionFilter_dec = [r5()], _enabledFilter_dec = [r5()], _a31) {
|
|
106203
|
+
constructor() {
|
|
106204
|
+
super(...arguments);
|
|
106205
|
+
__privateAdd(this, _routes, __runInitializers(_init31, 8, this, [])), __runInitializers(_init31, 11, this);
|
|
106206
|
+
__privateAdd(this, _searchQuery2, __runInitializers(_init31, 12, this, "")), __runInitializers(_init31, 15, this);
|
|
106207
|
+
__privateAdd(this, _actionFilter, __runInitializers(_init31, 16, this, "all")), __runInitializers(_init31, 19, this);
|
|
106208
|
+
__privateAdd(this, _enabledFilter, __runInitializers(_init31, 20, this, "all")), __runInitializers(_init31, 23, this);
|
|
106209
|
+
}
|
|
106210
|
+
get filteredRoutes() {
|
|
106211
|
+
return this.routes.filter((route) => {
|
|
106212
|
+
if (this.actionFilter !== "all" && route.action.type !== this.actionFilter) return false;
|
|
106213
|
+
if (this.enabledFilter === "enabled" && route.enabled === false) return false;
|
|
106214
|
+
if (this.enabledFilter === "disabled" && route.enabled !== false) return false;
|
|
106215
|
+
if (this.searchQuery) {
|
|
106216
|
+
const q = this.searchQuery.toLowerCase();
|
|
106217
|
+
return this.routeMatchesSearch(route, q);
|
|
106218
|
+
}
|
|
106219
|
+
return true;
|
|
106220
|
+
});
|
|
106221
|
+
}
|
|
106222
|
+
routeMatchesSearch(route, q) {
|
|
106223
|
+
if (route.name?.toLowerCase().includes(q)) return true;
|
|
106224
|
+
if (route.description?.toLowerCase().includes(q)) return true;
|
|
106225
|
+
if (route.match.domains) {
|
|
106226
|
+
const domains = Array.isArray(route.match.domains) ? route.match.domains : [route.match.domains];
|
|
106227
|
+
if (domains.some((d6) => d6.toLowerCase().includes(q))) return true;
|
|
106228
|
+
}
|
|
106229
|
+
const portsStr = this.formatPortsForSearch(route.match.ports);
|
|
106230
|
+
if (portsStr.includes(q)) return true;
|
|
106231
|
+
if (route.match.path?.toLowerCase().includes(q)) return true;
|
|
106232
|
+
if (route.match.clientIp?.some((ip) => ip.includes(q))) return true;
|
|
106233
|
+
if (route.action.targets) {
|
|
106234
|
+
for (const t9 of route.action.targets) {
|
|
106235
|
+
const hosts = Array.isArray(t9.host) ? t9.host : [t9.host];
|
|
106236
|
+
if (hosts.some((h9) => h9.toLowerCase().includes(q))) return true;
|
|
106237
|
+
}
|
|
106238
|
+
}
|
|
106239
|
+
if (route.tags?.some((t9) => t9.toLowerCase().includes(q))) return true;
|
|
106240
|
+
return false;
|
|
106241
|
+
}
|
|
106242
|
+
formatPortsForSearch(ports) {
|
|
106243
|
+
if (typeof ports === "number") return String(ports);
|
|
106244
|
+
if (Array.isArray(ports)) {
|
|
106245
|
+
return ports.map((p7) => typeof p7 === "number" ? String(p7) : `${p7.from}-${p7.to}`).join(" ");
|
|
106246
|
+
}
|
|
106247
|
+
return String(ports);
|
|
106248
|
+
}
|
|
106249
|
+
render() {
|
|
106250
|
+
const filtered = this.filteredRoutes;
|
|
106251
|
+
return b2`
|
|
106252
|
+
<div class="filter-bar">
|
|
106253
|
+
<input
|
|
106254
|
+
class="search-input"
|
|
106255
|
+
type="text"
|
|
106256
|
+
placeholder="Search routes by domain, IP, port, path, or tag..."
|
|
106257
|
+
.value=${this.searchQuery}
|
|
106258
|
+
@input=${(e11) => {
|
|
106259
|
+
this.searchQuery = e11.target.value;
|
|
106260
|
+
}}
|
|
106261
|
+
/>
|
|
106262
|
+
<div class="chip-group">
|
|
106263
|
+
${["all", "forward", "socket-handler"].map(
|
|
106264
|
+
(type5) => b2`
|
|
106265
|
+
<button
|
|
106266
|
+
class="chip ${this.actionFilter === type5 ? "active" : ""}"
|
|
106267
|
+
@click=${() => {
|
|
106268
|
+
this.actionFilter = type5;
|
|
106269
|
+
}}
|
|
106270
|
+
>
|
|
106271
|
+
${type5 === "all" ? "All" : type5 === "forward" ? "Forward" : "Socket Handler"}
|
|
106272
|
+
</button>
|
|
106273
|
+
`
|
|
106274
|
+
)}
|
|
106275
|
+
</div>
|
|
106276
|
+
<div class="chip-group">
|
|
106277
|
+
${["all", "enabled", "disabled"].map(
|
|
106278
|
+
(status) => b2`
|
|
106279
|
+
<button
|
|
106280
|
+
class="chip ${this.enabledFilter === status ? "active" : ""}"
|
|
106281
|
+
@click=${() => {
|
|
106282
|
+
this.enabledFilter = status;
|
|
106283
|
+
}}
|
|
106284
|
+
>
|
|
106285
|
+
${status.charAt(0).toUpperCase() + status.slice(1)}
|
|
106286
|
+
</button>
|
|
106287
|
+
`
|
|
106288
|
+
)}
|
|
106289
|
+
</div>
|
|
106290
|
+
</div>
|
|
106291
|
+
|
|
106292
|
+
<div class="results-count">
|
|
106293
|
+
Showing ${filtered.length} of ${this.routes.length} routes
|
|
106294
|
+
</div>
|
|
106295
|
+
|
|
106296
|
+
${filtered.length > 0 ? b2`
|
|
106297
|
+
<div class="grid">
|
|
106298
|
+
${filtered.map(
|
|
106299
|
+
(route) => b2`
|
|
106300
|
+
<sz-route-card
|
|
106301
|
+
.route=${route}
|
|
106302
|
+
@click=${() => this.handleRouteClick(route)}
|
|
106303
|
+
></sz-route-card>
|
|
106304
|
+
`
|
|
106305
|
+
)}
|
|
106306
|
+
</div>
|
|
106307
|
+
` : b2`
|
|
106308
|
+
<div class="empty-state">
|
|
106309
|
+
<div class="empty-state-icon">🔍</div>
|
|
106310
|
+
<div>No routes match your filters</div>
|
|
106311
|
+
</div>
|
|
106312
|
+
`}
|
|
106313
|
+
`;
|
|
106314
|
+
}
|
|
106315
|
+
handleRouteClick(route) {
|
|
106316
|
+
this.dispatchEvent(
|
|
106317
|
+
new CustomEvent("route-click", {
|
|
106318
|
+
detail: route,
|
|
106319
|
+
bubbles: true,
|
|
106320
|
+
composed: true
|
|
106321
|
+
})
|
|
106322
|
+
);
|
|
106323
|
+
}
|
|
106324
|
+
};
|
|
106325
|
+
_init31 = __decoratorStart(_a31);
|
|
106326
|
+
_routes = new WeakMap();
|
|
106327
|
+
_searchQuery2 = new WeakMap();
|
|
106328
|
+
_actionFilter = new WeakMap();
|
|
106329
|
+
_enabledFilter = new WeakMap();
|
|
106330
|
+
__decorateElement(_init31, 4, "routes", _routes_dec, SzRouteListView, _routes);
|
|
106331
|
+
__decorateElement(_init31, 4, "searchQuery", _searchQuery_dec2, SzRouteListView, _searchQuery2);
|
|
106332
|
+
__decorateElement(_init31, 4, "actionFilter", _actionFilter_dec, SzRouteListView, _actionFilter);
|
|
106333
|
+
__decorateElement(_init31, 4, "enabledFilter", _enabledFilter_dec, SzRouteListView, _enabledFilter);
|
|
106334
|
+
SzRouteListView = __decorateElement(_init31, 0, "SzRouteListView", _SzRouteListView_decorators, SzRouteListView);
|
|
106335
|
+
__publicField(SzRouteListView, "demo", () => b2`
|
|
106336
|
+
<div style="padding: 24px; max-width: 1200px;">
|
|
106337
|
+
<sz-route-list-view
|
|
106338
|
+
.routes=${[
|
|
106339
|
+
{
|
|
106340
|
+
name: "HTTPS Gateway",
|
|
106341
|
+
description: "Main web gateway with TLS termination",
|
|
106342
|
+
enabled: true,
|
|
106343
|
+
tags: ["web", "https", "production"],
|
|
106344
|
+
match: { ports: 443, domains: ["*.example.com", "serve.zone"], protocol: "http" },
|
|
106345
|
+
action: {
|
|
106346
|
+
type: "forward",
|
|
106347
|
+
targets: [{ host: "10.0.0.1", port: 8080 }],
|
|
106348
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
106349
|
+
}
|
|
106350
|
+
},
|
|
106351
|
+
{
|
|
106352
|
+
name: "SMTP Inbound",
|
|
106353
|
+
description: "Email relay for incoming mail",
|
|
106354
|
+
enabled: true,
|
|
106355
|
+
tags: ["email", "smtp"],
|
|
106356
|
+
match: { ports: 25, domains: "mail.serve.zone" },
|
|
106357
|
+
action: {
|
|
106358
|
+
type: "forward",
|
|
106359
|
+
targets: [{ host: "10.0.1.5", port: 25 }]
|
|
106360
|
+
}
|
|
106361
|
+
},
|
|
106362
|
+
{
|
|
106363
|
+
name: "WebSocket API",
|
|
106364
|
+
description: "Real-time WebSocket connections",
|
|
106365
|
+
enabled: true,
|
|
106366
|
+
tags: ["web", "api"],
|
|
106367
|
+
match: { ports: 443, domains: "ws.example.com", path: "/ws/*" },
|
|
106368
|
+
action: {
|
|
106369
|
+
type: "forward",
|
|
106370
|
+
targets: [{ host: "10.0.0.3", port: 9090 }],
|
|
106371
|
+
websocket: { enabled: true },
|
|
106372
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
106373
|
+
}
|
|
106374
|
+
},
|
|
106375
|
+
{
|
|
106376
|
+
name: "Maintenance Page",
|
|
106377
|
+
enabled: false,
|
|
106378
|
+
tags: ["web"],
|
|
106379
|
+
match: { ports: [80, 443], domains: "old.example.com" },
|
|
106380
|
+
action: { type: "socket-handler" }
|
|
106381
|
+
}
|
|
106382
|
+
]}
|
|
106383
|
+
></sz-route-list-view>
|
|
106384
|
+
</div>
|
|
106385
|
+
`);
|
|
106386
|
+
__publicField(SzRouteListView, "demoGroups", ["Routes"]);
|
|
106387
|
+
__publicField(SzRouteListView, "styles", [
|
|
106388
|
+
cssManager.defaultStyles,
|
|
106389
|
+
i`
|
|
106390
|
+
:host {
|
|
106391
|
+
display: block;
|
|
106392
|
+
}
|
|
106393
|
+
|
|
106394
|
+
.filter-bar {
|
|
106395
|
+
display: flex;
|
|
106396
|
+
flex-wrap: wrap;
|
|
106397
|
+
gap: 12px;
|
|
106398
|
+
align-items: center;
|
|
106399
|
+
margin-bottom: 12px;
|
|
106400
|
+
}
|
|
106401
|
+
|
|
106402
|
+
.search-input {
|
|
106403
|
+
flex: 1;
|
|
106404
|
+
min-width: 200px;
|
|
106405
|
+
padding: 8px 12px;
|
|
106406
|
+
background: ${cssManager.bdTheme("#ffffff", "#09090b")};
|
|
106407
|
+
border: 1px solid ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
106408
|
+
border-radius: 6px;
|
|
106409
|
+
font-size: 14px;
|
|
106410
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106411
|
+
outline: none;
|
|
106412
|
+
transition: border-color 200ms ease;
|
|
106413
|
+
}
|
|
106414
|
+
|
|
106415
|
+
.search-input::placeholder {
|
|
106416
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106417
|
+
}
|
|
106418
|
+
|
|
106419
|
+
.search-input:focus {
|
|
106420
|
+
border-color: ${cssManager.bdTheme("#2563eb", "#3b82f6")};
|
|
106421
|
+
}
|
|
106422
|
+
|
|
106423
|
+
.chip-group {
|
|
106424
|
+
display: flex;
|
|
106425
|
+
gap: 4px;
|
|
106426
|
+
}
|
|
106427
|
+
|
|
106428
|
+
.chip {
|
|
106429
|
+
padding: 6px 12px;
|
|
106430
|
+
background: transparent;
|
|
106431
|
+
border: 1px solid ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
106432
|
+
border-radius: 9999px;
|
|
106433
|
+
font-size: 12px;
|
|
106434
|
+
font-weight: 500;
|
|
106435
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106436
|
+
cursor: pointer;
|
|
106437
|
+
transition: all 200ms ease;
|
|
106438
|
+
white-space: nowrap;
|
|
106439
|
+
}
|
|
106440
|
+
|
|
106441
|
+
.chip:hover {
|
|
106442
|
+
background: ${cssManager.bdTheme("#f4f4f5", "#18181b")};
|
|
106443
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106444
|
+
}
|
|
106445
|
+
|
|
106446
|
+
.chip.active {
|
|
106447
|
+
background: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106448
|
+
color: ${cssManager.bdTheme("#fafafa", "#18181b")};
|
|
106449
|
+
border-color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106450
|
+
}
|
|
106451
|
+
|
|
106452
|
+
.results-count {
|
|
106453
|
+
font-size: 13px;
|
|
106454
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106455
|
+
margin-bottom: 16px;
|
|
106456
|
+
}
|
|
106457
|
+
|
|
106458
|
+
.grid {
|
|
106459
|
+
display: grid;
|
|
106460
|
+
grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
|
|
106461
|
+
gap: 16px;
|
|
106462
|
+
}
|
|
106463
|
+
|
|
106464
|
+
.grid sz-route-card {
|
|
106465
|
+
cursor: pointer;
|
|
106466
|
+
}
|
|
106467
|
+
|
|
106468
|
+
.empty-state {
|
|
106469
|
+
text-align: center;
|
|
106470
|
+
padding: 48px 24px;
|
|
106471
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106472
|
+
font-size: 14px;
|
|
106473
|
+
}
|
|
106474
|
+
|
|
106475
|
+
.empty-state-icon {
|
|
106476
|
+
font-size: 32px;
|
|
106477
|
+
margin-bottom: 12px;
|
|
106478
|
+
opacity: 0.5;
|
|
106479
|
+
}
|
|
106480
|
+
`
|
|
106481
|
+
]);
|
|
106482
|
+
__runInitializers(_init31, 1, SzRouteListView);
|
|
106483
|
+
|
|
106484
|
+
// ts_web/elements/sz-config-section.ts
|
|
106485
|
+
init_dist_ts29();
|
|
106486
|
+
var _isCollapsed_dec, _collapsed_dec, _collapsible_dec, _fields_dec, _status_dec2, _icon_dec2, _subtitle_dec2, _title_dec2, _a32, _SzConfigSection_decorators, _init32, _title2, _subtitle2, _icon2, _status2, _fields, _collapsible, _collapsed, _isCollapsed;
|
|
106487
|
+
_SzConfigSection_decorators = [t4("sz-config-section")];
|
|
106488
|
+
var SzConfigSection = class extends (_a32 = DeesElement, _title_dec2 = [n5({ type: String })], _subtitle_dec2 = [n5({ type: String })], _icon_dec2 = [n5({ type: String })], _status_dec2 = [n5({ type: String })], _fields_dec = [n5({ type: Array })], _collapsible_dec = [n5({ type: Boolean })], _collapsed_dec = [n5({ type: Boolean })], _isCollapsed_dec = [r5()], _a32) {
|
|
106489
|
+
constructor() {
|
|
106490
|
+
super(...arguments);
|
|
106491
|
+
__privateAdd(this, _title2, __runInitializers(_init32, 8, this, "")), __runInitializers(_init32, 11, this);
|
|
106492
|
+
__privateAdd(this, _subtitle2, __runInitializers(_init32, 12, this, "")), __runInitializers(_init32, 15, this);
|
|
106493
|
+
__privateAdd(this, _icon2, __runInitializers(_init32, 16, this, "")), __runInitializers(_init32, 19, this);
|
|
106494
|
+
__privateAdd(this, _status2, __runInitializers(_init32, 20, this, "enabled")), __runInitializers(_init32, 23, this);
|
|
106495
|
+
__privateAdd(this, _fields, __runInitializers(_init32, 24, this, [])), __runInitializers(_init32, 27, this);
|
|
106496
|
+
__privateAdd(this, _collapsible, __runInitializers(_init32, 28, this, false)), __runInitializers(_init32, 31, this);
|
|
106497
|
+
__privateAdd(this, _collapsed, __runInitializers(_init32, 32, this, false)), __runInitializers(_init32, 35, this);
|
|
106498
|
+
__privateAdd(this, _isCollapsed, __runInitializers(_init32, 36, this, false)), __runInitializers(_init32, 39, this);
|
|
106499
|
+
}
|
|
106500
|
+
async connectedCallback() {
|
|
106501
|
+
await super.connectedCallback();
|
|
106502
|
+
this.isCollapsed = this.collapsed;
|
|
106503
|
+
if (this.collapsible) {
|
|
106504
|
+
this.setAttribute("collapsible", "");
|
|
106505
|
+
}
|
|
106506
|
+
}
|
|
106507
|
+
render() {
|
|
106508
|
+
const statusLabels = {
|
|
106509
|
+
"enabled": "Enabled",
|
|
106510
|
+
"disabled": "Disabled",
|
|
106511
|
+
"not-configured": "Not Configured",
|
|
106512
|
+
"warning": "Warning"
|
|
106513
|
+
};
|
|
106514
|
+
return b2`
|
|
106515
|
+
<div class="section">
|
|
106516
|
+
<div
|
|
106517
|
+
class="section-header"
|
|
106518
|
+
@click=${() => {
|
|
106519
|
+
if (this.collapsible) {
|
|
106520
|
+
this.isCollapsed = !this.isCollapsed;
|
|
106521
|
+
}
|
|
106522
|
+
}}
|
|
106523
|
+
>
|
|
106524
|
+
<div class="header-left">
|
|
106525
|
+
${this.icon ? b2`
|
|
106526
|
+
<div class="header-icon">
|
|
106527
|
+
<dees-icon .icon=${this.icon}></dees-icon>
|
|
106528
|
+
</div>
|
|
106529
|
+
` : ""}
|
|
106530
|
+
<div class="header-text">
|
|
106531
|
+
<div class="header-title">${this.title}</div>
|
|
106532
|
+
${this.subtitle ? b2`<div class="header-subtitle">${this.subtitle}</div>` : ""}
|
|
106533
|
+
</div>
|
|
106534
|
+
</div>
|
|
106535
|
+
<div class="header-right">
|
|
106536
|
+
${this.status ? b2`
|
|
106537
|
+
<span class="status-badge ${this.status}">
|
|
106538
|
+
<span class="status-dot"></span>
|
|
106539
|
+
${statusLabels[this.status] || this.status}
|
|
106540
|
+
</span>
|
|
106541
|
+
` : ""}
|
|
106542
|
+
${this.collapsible ? b2`
|
|
106543
|
+
<span class="chevron ${this.isCollapsed ? "collapsed" : ""}">
|
|
106544
|
+
<dees-icon .icon=${"lucide:chevronDown"}></dees-icon>
|
|
106545
|
+
</span>
|
|
106546
|
+
` : ""}
|
|
106547
|
+
</div>
|
|
106548
|
+
</div>
|
|
106549
|
+
<div class="section-content ${this.isCollapsed ? "collapsed" : ""}">
|
|
106550
|
+
${this.fields.map((field) => this.renderField(field))}
|
|
106551
|
+
<div class="slot-content">
|
|
106552
|
+
<slot></slot>
|
|
106553
|
+
</div>
|
|
106554
|
+
</div>
|
|
106555
|
+
</div>
|
|
106556
|
+
`;
|
|
106557
|
+
}
|
|
106558
|
+
renderField(field) {
|
|
106559
|
+
return b2`
|
|
106560
|
+
<div class="field-row">
|
|
106561
|
+
<div class="field-key">${field.key}</div>
|
|
106562
|
+
<div>
|
|
106563
|
+
${this.renderFieldValue(field)}
|
|
106564
|
+
${field.description ? b2`<div class="field-description">${field.description}</div>` : ""}
|
|
106565
|
+
</div>
|
|
106566
|
+
</div>
|
|
106567
|
+
`;
|
|
106568
|
+
}
|
|
106569
|
+
renderFieldValue(field) {
|
|
106570
|
+
const value2 = field.value;
|
|
106571
|
+
const type5 = field.type || this.inferType(value2);
|
|
106572
|
+
if (value2 === null || value2 === void 0) {
|
|
106573
|
+
return b2`<span class="field-value null-value">Not configured</span>`;
|
|
106574
|
+
}
|
|
106575
|
+
switch (type5) {
|
|
106576
|
+
case "boolean":
|
|
106577
|
+
return b2`
|
|
106578
|
+
<span class="bool-value ${value2 ? "true" : "false"}">
|
|
106579
|
+
<span class="bool-dot"></span>
|
|
106580
|
+
${value2 ? "Enabled" : "Disabled"}
|
|
106581
|
+
</span>
|
|
106582
|
+
`;
|
|
106583
|
+
case "pills":
|
|
106584
|
+
if (Array.isArray(value2) && value2.length === 0) {
|
|
106585
|
+
return b2`<span class="field-value null-value">None</span>`;
|
|
106586
|
+
}
|
|
106587
|
+
return b2`
|
|
106588
|
+
<div class="pills">
|
|
106589
|
+
${value2.map((v5) => b2`<span class="pill">${v5}</span>`)}
|
|
106590
|
+
</div>
|
|
106591
|
+
`;
|
|
106592
|
+
case "code":
|
|
106593
|
+
return b2`<span class="code-value">${String(value2)}</span>`;
|
|
106594
|
+
case "badge":
|
|
106595
|
+
return b2`<span class="badge-value">${String(value2)}</span>`;
|
|
106596
|
+
case "link":
|
|
106597
|
+
return b2`
|
|
106598
|
+
<span
|
|
106599
|
+
class="link-value"
|
|
106600
|
+
@click=${() => {
|
|
106601
|
+
if (field.linkTo) {
|
|
106602
|
+
this.dispatchEvent(new CustomEvent("navigate", {
|
|
106603
|
+
detail: { target: field.linkTo },
|
|
106604
|
+
bubbles: true,
|
|
106605
|
+
composed: true
|
|
106606
|
+
}));
|
|
106607
|
+
}
|
|
106608
|
+
}}
|
|
106609
|
+
>${String(value2)}</span>
|
|
106610
|
+
`;
|
|
106611
|
+
default:
|
|
106612
|
+
return b2`<span class="field-value">${String(value2)}</span>`;
|
|
106613
|
+
}
|
|
106614
|
+
}
|
|
106615
|
+
inferType(value2) {
|
|
106616
|
+
if (typeof value2 === "boolean") return "boolean";
|
|
106617
|
+
if (Array.isArray(value2)) return "pills";
|
|
106618
|
+
return "text";
|
|
106619
|
+
}
|
|
106620
|
+
};
|
|
106621
|
+
_init32 = __decoratorStart(_a32);
|
|
106622
|
+
_title2 = new WeakMap();
|
|
106623
|
+
_subtitle2 = new WeakMap();
|
|
106624
|
+
_icon2 = new WeakMap();
|
|
106625
|
+
_status2 = new WeakMap();
|
|
106626
|
+
_fields = new WeakMap();
|
|
106627
|
+
_collapsible = new WeakMap();
|
|
106628
|
+
_collapsed = new WeakMap();
|
|
106629
|
+
_isCollapsed = new WeakMap();
|
|
106630
|
+
__decorateElement(_init32, 4, "title", _title_dec2, SzConfigSection, _title2);
|
|
106631
|
+
__decorateElement(_init32, 4, "subtitle", _subtitle_dec2, SzConfigSection, _subtitle2);
|
|
106632
|
+
__decorateElement(_init32, 4, "icon", _icon_dec2, SzConfigSection, _icon2);
|
|
106633
|
+
__decorateElement(_init32, 4, "status", _status_dec2, SzConfigSection, _status2);
|
|
106634
|
+
__decorateElement(_init32, 4, "fields", _fields_dec, SzConfigSection, _fields);
|
|
106635
|
+
__decorateElement(_init32, 4, "collapsible", _collapsible_dec, SzConfigSection, _collapsible);
|
|
106636
|
+
__decorateElement(_init32, 4, "collapsed", _collapsed_dec, SzConfigSection, _collapsed);
|
|
106637
|
+
__decorateElement(_init32, 4, "isCollapsed", _isCollapsed_dec, SzConfigSection, _isCollapsed);
|
|
106638
|
+
SzConfigSection = __decorateElement(_init32, 0, "SzConfigSection", _SzConfigSection_decorators, SzConfigSection);
|
|
106639
|
+
__publicField(SzConfigSection, "demo", () => b2`
|
|
106640
|
+
<sz-config-section
|
|
106641
|
+
title="SmartProxy"
|
|
106642
|
+
subtitle="HTTP/HTTPS and TCP/SNI reverse proxy"
|
|
106643
|
+
icon="lucide:network"
|
|
106644
|
+
status="enabled"
|
|
106645
|
+
.fields=${[
|
|
106646
|
+
{ key: "Route Count", value: 12 },
|
|
106647
|
+
{ key: "ACME Enabled", value: true, type: "boolean" },
|
|
106648
|
+
{ key: "Account Email", value: "admin@example.com" },
|
|
106649
|
+
{ key: "Use Production", value: true, type: "boolean" },
|
|
106650
|
+
{ key: "Auto Renew", value: true, type: "boolean" },
|
|
106651
|
+
{ key: "Renew Threshold", value: "30 days" }
|
|
106652
|
+
]}
|
|
106653
|
+
></sz-config-section>
|
|
106654
|
+
<sz-config-section
|
|
106655
|
+
title="Email Server"
|
|
106656
|
+
subtitle="SMTP email handling with smartmta"
|
|
106657
|
+
icon="lucide:mail"
|
|
106658
|
+
status="disabled"
|
|
106659
|
+
.fields=${[
|
|
106660
|
+
{ key: "Ports", value: ["25", "465", "587"], type: "pills" },
|
|
106661
|
+
{ key: "Hostname", value: null },
|
|
106662
|
+
{ key: "Domains", value: ["example.com", "mail.example.com"], type: "pills" }
|
|
106663
|
+
]}
|
|
106664
|
+
></sz-config-section>
|
|
106665
|
+
<sz-config-section
|
|
106666
|
+
title="DNS Server"
|
|
106667
|
+
subtitle="Authoritative DNS with smartdns"
|
|
106668
|
+
icon="lucide:globe"
|
|
106669
|
+
status="not-configured"
|
|
106670
|
+
collapsible
|
|
106671
|
+
.fields=${[
|
|
106672
|
+
{ key: "Port", value: 53 },
|
|
106673
|
+
{ key: "NS Domains", value: ["ns1.example.com", "ns2.example.com"], type: "pills" }
|
|
106674
|
+
]}
|
|
106675
|
+
></sz-config-section>
|
|
106676
|
+
`);
|
|
106677
|
+
__publicField(SzConfigSection, "demoGroups", ["Configuration"]);
|
|
106678
|
+
__publicField(SzConfigSection, "styles", [
|
|
106679
|
+
cssManager.defaultStyles,
|
|
106680
|
+
i`
|
|
106681
|
+
:host {
|
|
106682
|
+
display: block;
|
|
106683
|
+
margin-bottom: 16px;
|
|
106684
|
+
}
|
|
106685
|
+
|
|
106686
|
+
.section {
|
|
106687
|
+
background: ${cssManager.bdTheme("#ffffff", "#09090b")};
|
|
106688
|
+
border: 1px solid ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
106689
|
+
border-radius: 8px;
|
|
106690
|
+
overflow: hidden;
|
|
106691
|
+
}
|
|
106692
|
+
|
|
106693
|
+
.section-header {
|
|
106694
|
+
display: flex;
|
|
106695
|
+
align-items: center;
|
|
106696
|
+
justify-content: space-between;
|
|
106697
|
+
padding: 14px 20px;
|
|
106698
|
+
background: ${cssManager.bdTheme("#f4f4f5", "#18181b")};
|
|
106699
|
+
border-bottom: 1px solid ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
106700
|
+
cursor: default;
|
|
106701
|
+
user-select: none;
|
|
106702
|
+
}
|
|
106703
|
+
|
|
106704
|
+
:host([collapsible]) .section-header {
|
|
106705
|
+
cursor: pointer;
|
|
106706
|
+
}
|
|
106707
|
+
|
|
106708
|
+
:host([collapsible]) .section-header:hover {
|
|
106709
|
+
background: ${cssManager.bdTheme("#ebebed", "#1c1c1f")};
|
|
106710
|
+
}
|
|
106711
|
+
|
|
106712
|
+
.header-left {
|
|
106713
|
+
display: flex;
|
|
106714
|
+
align-items: center;
|
|
106715
|
+
gap: 12px;
|
|
106716
|
+
min-width: 0;
|
|
106717
|
+
}
|
|
106718
|
+
|
|
106719
|
+
.header-icon {
|
|
106720
|
+
display: flex;
|
|
106721
|
+
align-items: center;
|
|
106722
|
+
justify-content: center;
|
|
106723
|
+
width: 36px;
|
|
106724
|
+
height: 36px;
|
|
106725
|
+
background: ${cssManager.bdTheme("#e4e4e7", "#27272a")};
|
|
106726
|
+
border-radius: 8px;
|
|
106727
|
+
flex-shrink: 0;
|
|
106728
|
+
}
|
|
106729
|
+
|
|
106730
|
+
.header-icon dees-icon {
|
|
106731
|
+
font-size: 18px;
|
|
106732
|
+
color: ${cssManager.bdTheme("#52525b", "#a1a1aa")};
|
|
106733
|
+
}
|
|
106734
|
+
|
|
106735
|
+
.header-text {
|
|
106736
|
+
min-width: 0;
|
|
106737
|
+
}
|
|
106738
|
+
|
|
106739
|
+
.header-title {
|
|
106740
|
+
font-size: 15px;
|
|
106741
|
+
font-weight: 600;
|
|
106742
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106743
|
+
line-height: 1.3;
|
|
106744
|
+
}
|
|
106745
|
+
|
|
106746
|
+
.header-subtitle {
|
|
106747
|
+
font-size: 12px;
|
|
106748
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106749
|
+
line-height: 1.3;
|
|
106750
|
+
margin-top: 1px;
|
|
106751
|
+
}
|
|
106752
|
+
|
|
106753
|
+
.header-right {
|
|
106754
|
+
display: flex;
|
|
106755
|
+
align-items: center;
|
|
106756
|
+
gap: 10px;
|
|
106757
|
+
flex-shrink: 0;
|
|
106758
|
+
}
|
|
106759
|
+
|
|
106760
|
+
/* Status badge */
|
|
106761
|
+
.status-badge {
|
|
106762
|
+
display: inline-flex;
|
|
106763
|
+
align-items: center;
|
|
106764
|
+
gap: 6px;
|
|
106765
|
+
padding: 3px 10px;
|
|
106766
|
+
border-radius: 9999px;
|
|
106767
|
+
font-size: 12px;
|
|
106768
|
+
font-weight: 500;
|
|
106769
|
+
white-space: nowrap;
|
|
106770
|
+
}
|
|
106771
|
+
|
|
106772
|
+
.status-badge.enabled {
|
|
106773
|
+
background: ${cssManager.bdTheme("#dcfce7", "rgba(34,197,94,0.2)")};
|
|
106774
|
+
color: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106775
|
+
}
|
|
106776
|
+
|
|
106777
|
+
.status-badge.disabled {
|
|
106778
|
+
background: ${cssManager.bdTheme("#fee2e2", "rgba(239,68,68,0.2)")};
|
|
106779
|
+
color: ${cssManager.bdTheme("#dc2626", "#ef4444")};
|
|
106780
|
+
}
|
|
106781
|
+
|
|
106782
|
+
.status-badge.not-configured {
|
|
106783
|
+
background: ${cssManager.bdTheme("#f4f4f5", "rgba(113,113,122,0.2)")};
|
|
106784
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106785
|
+
}
|
|
106786
|
+
|
|
106787
|
+
.status-badge.warning {
|
|
106788
|
+
background: ${cssManager.bdTheme("#fef3c7", "rgba(245,158,11,0.15)")};
|
|
106789
|
+
color: ${cssManager.bdTheme("#92400e", "#fbbf24")};
|
|
106790
|
+
}
|
|
106791
|
+
|
|
106792
|
+
.status-dot {
|
|
106793
|
+
width: 7px;
|
|
106794
|
+
height: 7px;
|
|
106795
|
+
border-radius: 50%;
|
|
106796
|
+
}
|
|
106797
|
+
|
|
106798
|
+
.status-badge.enabled .status-dot {
|
|
106799
|
+
background: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106800
|
+
}
|
|
106801
|
+
|
|
106802
|
+
.status-badge.disabled .status-dot {
|
|
106803
|
+
background: ${cssManager.bdTheme("#dc2626", "#ef4444")};
|
|
106804
|
+
}
|
|
106805
|
+
|
|
106806
|
+
.status-badge.not-configured .status-dot {
|
|
106807
|
+
background: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106808
|
+
}
|
|
106809
|
+
|
|
106810
|
+
.status-badge.warning .status-dot {
|
|
106811
|
+
background: ${cssManager.bdTheme("#f59e0b", "#fbbf24")};
|
|
106812
|
+
}
|
|
106813
|
+
|
|
106814
|
+
/* Chevron */
|
|
106815
|
+
.chevron {
|
|
106816
|
+
display: flex;
|
|
106817
|
+
align-items: center;
|
|
106818
|
+
transition: transform 200ms ease;
|
|
106819
|
+
}
|
|
106820
|
+
|
|
106821
|
+
.chevron.collapsed {
|
|
106822
|
+
transform: rotate(-90deg);
|
|
106823
|
+
}
|
|
106824
|
+
|
|
106825
|
+
.chevron dees-icon {
|
|
106826
|
+
font-size: 16px;
|
|
106827
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106828
|
+
}
|
|
106829
|
+
|
|
106830
|
+
/* Content */
|
|
106831
|
+
.section-content {
|
|
106832
|
+
padding: 0;
|
|
106833
|
+
}
|
|
106834
|
+
|
|
106835
|
+
.section-content.collapsed {
|
|
106836
|
+
display: none;
|
|
106837
|
+
}
|
|
106838
|
+
|
|
106839
|
+
/* Field rows */
|
|
106840
|
+
.field-row {
|
|
106841
|
+
display: flex;
|
|
106842
|
+
align-items: flex-start;
|
|
106843
|
+
justify-content: space-between;
|
|
106844
|
+
padding: 10px 20px;
|
|
106845
|
+
border-bottom: 1px solid ${cssManager.bdTheme("#f4f4f5", "#1a1a1e")};
|
|
106846
|
+
gap: 16px;
|
|
106847
|
+
}
|
|
106848
|
+
|
|
106849
|
+
.field-row:last-child {
|
|
106850
|
+
border-bottom: none;
|
|
106851
|
+
}
|
|
106852
|
+
|
|
106853
|
+
.field-key {
|
|
106854
|
+
font-size: 13px;
|
|
106855
|
+
font-weight: 500;
|
|
106856
|
+
color: ${cssManager.bdTheme("#71717a", "#a1a1aa")};
|
|
106857
|
+
flex-shrink: 0;
|
|
106858
|
+
min-width: 140px;
|
|
106859
|
+
padding-top: 1px;
|
|
106860
|
+
}
|
|
106861
|
+
|
|
106862
|
+
.field-value {
|
|
106863
|
+
font-size: 13px;
|
|
106864
|
+
font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
|
|
106865
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106866
|
+
text-align: right;
|
|
106867
|
+
word-break: break-all;
|
|
106868
|
+
}
|
|
106869
|
+
|
|
106870
|
+
.field-value.null-value {
|
|
106871
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106872
|
+
font-style: italic;
|
|
106873
|
+
font-family: inherit;
|
|
106874
|
+
}
|
|
106875
|
+
|
|
106876
|
+
/* Boolean display */
|
|
106877
|
+
.bool-value {
|
|
106878
|
+
display: inline-flex;
|
|
106879
|
+
align-items: center;
|
|
106880
|
+
gap: 5px;
|
|
106881
|
+
font-family: inherit;
|
|
106882
|
+
font-size: 13px;
|
|
106883
|
+
font-weight: 500;
|
|
106884
|
+
}
|
|
106885
|
+
|
|
106886
|
+
.bool-value.true {
|
|
106887
|
+
color: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106888
|
+
}
|
|
106889
|
+
|
|
106890
|
+
.bool-value.false {
|
|
106891
|
+
color: ${cssManager.bdTheme("#dc2626", "#ef4444")};
|
|
106892
|
+
}
|
|
106893
|
+
|
|
106894
|
+
.bool-dot {
|
|
106895
|
+
width: 6px;
|
|
106896
|
+
height: 6px;
|
|
106897
|
+
border-radius: 50%;
|
|
106898
|
+
}
|
|
106899
|
+
|
|
106900
|
+
.bool-value.true .bool-dot {
|
|
106901
|
+
background: ${cssManager.bdTheme("#16a34a", "#22c55e")};
|
|
106902
|
+
}
|
|
106903
|
+
|
|
106904
|
+
.bool-value.false .bool-dot {
|
|
106905
|
+
background: ${cssManager.bdTheme("#dc2626", "#ef4444")};
|
|
106906
|
+
}
|
|
106907
|
+
|
|
106908
|
+
/* Pills */
|
|
106909
|
+
.pills {
|
|
106910
|
+
display: flex;
|
|
106911
|
+
flex-wrap: wrap;
|
|
106912
|
+
gap: 5px;
|
|
106913
|
+
justify-content: flex-end;
|
|
106914
|
+
}
|
|
106915
|
+
|
|
106916
|
+
.pill {
|
|
106917
|
+
display: inline-flex;
|
|
106918
|
+
align-items: center;
|
|
106919
|
+
padding: 2px 9px;
|
|
106920
|
+
border-radius: 9999px;
|
|
106921
|
+
font-size: 12px;
|
|
106922
|
+
font-weight: 500;
|
|
106923
|
+
font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
|
|
106924
|
+
background: ${cssManager.bdTheme("#eff6ff", "rgba(59,130,246,0.1)")};
|
|
106925
|
+
color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
|
|
106926
|
+
}
|
|
106927
|
+
|
|
106928
|
+
/* Code value */
|
|
106929
|
+
.code-value {
|
|
106930
|
+
font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
|
|
106931
|
+
font-size: 12px;
|
|
106932
|
+
background: ${cssManager.bdTheme("#f4f4f5", "#18181b")};
|
|
106933
|
+
padding: 2px 8px;
|
|
106934
|
+
border-radius: 4px;
|
|
106935
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
106936
|
+
}
|
|
106937
|
+
|
|
106938
|
+
/* Link value */
|
|
106939
|
+
.link-value {
|
|
106940
|
+
color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
|
|
106941
|
+
cursor: pointer;
|
|
106942
|
+
text-decoration: none;
|
|
106943
|
+
font-family: inherit;
|
|
106944
|
+
font-size: 13px;
|
|
106945
|
+
}
|
|
106946
|
+
|
|
106947
|
+
.link-value:hover {
|
|
106948
|
+
text-decoration: underline;
|
|
106949
|
+
}
|
|
106950
|
+
|
|
106951
|
+
/* Description hint */
|
|
106952
|
+
.field-description {
|
|
106953
|
+
font-size: 11px;
|
|
106954
|
+
color: ${cssManager.bdTheme("#a1a1aa", "#52525b")};
|
|
106955
|
+
margin-top: 3px;
|
|
106956
|
+
text-align: right;
|
|
106957
|
+
}
|
|
106958
|
+
|
|
106959
|
+
/* Slot for custom content */
|
|
106960
|
+
.slot-content {
|
|
106961
|
+
border-top: 1px solid ${cssManager.bdTheme("#f4f4f5", "#1a1a1e")};
|
|
106962
|
+
}
|
|
106963
|
+
|
|
106964
|
+
.slot-content:empty {
|
|
106965
|
+
display: none;
|
|
106966
|
+
border-top: none;
|
|
106967
|
+
}
|
|
106968
|
+
|
|
106969
|
+
/* Badge type */
|
|
106970
|
+
.badge-value {
|
|
106971
|
+
display: inline-flex;
|
|
106972
|
+
align-items: center;
|
|
106973
|
+
padding: 2px 9px;
|
|
106974
|
+
border-radius: 9999px;
|
|
106975
|
+
font-size: 12px;
|
|
106976
|
+
font-weight: 500;
|
|
106977
|
+
background: ${cssManager.bdTheme("#f4f4f5", "#27272a")};
|
|
106978
|
+
color: ${cssManager.bdTheme("#52525b", "#a1a1aa")};
|
|
106979
|
+
}
|
|
106980
|
+
`
|
|
106981
|
+
]);
|
|
106982
|
+
__runInitializers(_init32, 1, SzConfigSection);
|
|
106983
|
+
|
|
106984
|
+
// ts_web/elements/sz-config-overview.ts
|
|
106985
|
+
init_dist_ts29();
|
|
106986
|
+
var _infoText_dec, _heading_dec, _a33, _SzConfigOverview_decorators, _init33, _heading, _infoText;
|
|
106987
|
+
_SzConfigOverview_decorators = [t4("sz-config-overview")];
|
|
106988
|
+
var SzConfigOverview = class extends (_a33 = DeesElement, _heading_dec = [n5({ type: String })], _infoText_dec = [n5({ type: String })], _a33) {
|
|
106989
|
+
constructor() {
|
|
106990
|
+
super(...arguments);
|
|
106991
|
+
__privateAdd(this, _heading, __runInitializers(_init33, 8, this, "")), __runInitializers(_init33, 11, this);
|
|
106992
|
+
__privateAdd(this, _infoText, __runInitializers(_init33, 12, this, "")), __runInitializers(_init33, 15, this);
|
|
106993
|
+
}
|
|
106994
|
+
render() {
|
|
106995
|
+
return b2`
|
|
106996
|
+
${this.heading ? b2`<div class="heading">${this.heading}</div>` : ""}
|
|
106997
|
+
${this.infoText ? b2`
|
|
106998
|
+
<div class="info-banner">
|
|
106999
|
+
<dees-icon .icon=${"lucide:info"}></dees-icon>
|
|
107000
|
+
<span>${this.infoText}</span>
|
|
107001
|
+
</div>
|
|
107002
|
+
` : ""}
|
|
107003
|
+
<slot></slot>
|
|
107004
|
+
`;
|
|
107005
|
+
}
|
|
107006
|
+
};
|
|
107007
|
+
_init33 = __decoratorStart(_a33);
|
|
107008
|
+
_heading = new WeakMap();
|
|
107009
|
+
_infoText = new WeakMap();
|
|
107010
|
+
__decorateElement(_init33, 4, "heading", _heading_dec, SzConfigOverview, _heading);
|
|
107011
|
+
__decorateElement(_init33, 4, "infoText", _infoText_dec, SzConfigOverview, _infoText);
|
|
107012
|
+
SzConfigOverview = __decorateElement(_init33, 0, "SzConfigOverview", _SzConfigOverview_decorators, SzConfigOverview);
|
|
107013
|
+
__publicField(SzConfigOverview, "demo", () => b2`<sz-config-overview
|
|
107014
|
+
heading="Configuration"
|
|
107015
|
+
infoText="This is a read-only view of the current running configuration."
|
|
107016
|
+
>
|
|
107017
|
+
<div style="padding: 20px; text-align: center; color: #71717a; font-size: 14px;">
|
|
107018
|
+
Place <sz-config-section> elements here
|
|
107019
|
+
</div>
|
|
107020
|
+
</sz-config-overview>`);
|
|
107021
|
+
__publicField(SzConfigOverview, "demoGroups", ["Configuration"]);
|
|
107022
|
+
__publicField(SzConfigOverview, "styles", [
|
|
107023
|
+
cssManager.defaultStyles,
|
|
107024
|
+
i`
|
|
107025
|
+
:host {
|
|
107026
|
+
display: block;
|
|
107027
|
+
}
|
|
107028
|
+
|
|
107029
|
+
.heading {
|
|
107030
|
+
font-size: 20px;
|
|
107031
|
+
font-weight: 600;
|
|
107032
|
+
color: ${cssManager.bdTheme("#18181b", "#fafafa")};
|
|
107033
|
+
margin-bottom: 16px;
|
|
107034
|
+
}
|
|
107035
|
+
|
|
107036
|
+
.info-banner {
|
|
107037
|
+
display: flex;
|
|
107038
|
+
align-items: flex-start;
|
|
107039
|
+
gap: 12px;
|
|
107040
|
+
padding: 14px 18px;
|
|
107041
|
+
margin-bottom: 20px;
|
|
107042
|
+
border-radius: 8px;
|
|
107043
|
+
background: ${cssManager.bdTheme("#eff6ff", "rgba(59,130,246,0.08)")};
|
|
107044
|
+
border: 1px solid ${cssManager.bdTheme("#bfdbfe", "rgba(59,130,246,0.2)")};
|
|
107045
|
+
color: ${cssManager.bdTheme("#1e40af", "#93c5fd")};
|
|
107046
|
+
font-size: 13px;
|
|
107047
|
+
line-height: 1.5;
|
|
107048
|
+
}
|
|
107049
|
+
|
|
107050
|
+
.info-banner dees-icon {
|
|
107051
|
+
flex-shrink: 0;
|
|
107052
|
+
font-size: 18px;
|
|
107053
|
+
margin-top: 1px;
|
|
107054
|
+
}
|
|
107055
|
+
|
|
107056
|
+
::slotted(sz-config-section) {
|
|
107057
|
+
margin-bottom: 12px;
|
|
107058
|
+
}
|
|
107059
|
+
|
|
107060
|
+
::slotted(sz-config-section:last-child) {
|
|
107061
|
+
margin-bottom: 0;
|
|
107062
|
+
}
|
|
107063
|
+
`
|
|
107064
|
+
]);
|
|
107065
|
+
__runInitializers(_init33, 1, SzConfigOverview);
|
|
107066
|
+
|
|
105637
107067
|
// ts_web/elements/sz-demo-view-dashboard.ts
|
|
105638
107068
|
init_dist_ts29();
|
|
105639
|
-
var _SzDemoViewDashboard_decorators,
|
|
107069
|
+
var _SzDemoViewDashboard_decorators, _init34, _a34;
|
|
105640
107070
|
_SzDemoViewDashboard_decorators = [t4("sz-demo-view-dashboard")];
|
|
105641
|
-
var SzDemoViewDashboard = class extends (
|
|
107071
|
+
var SzDemoViewDashboard = class extends (_a34 = DeesElement) {
|
|
105642
107072
|
appui = null;
|
|
105643
107073
|
async onActivate(context2) {
|
|
105644
107074
|
this.appui = context2.appui;
|
|
@@ -105774,21 +107204,21 @@ var SzDemoViewDashboard = class extends (_a30 = DeesElement) {
|
|
|
105774
107204
|
`;
|
|
105775
107205
|
}
|
|
105776
107206
|
};
|
|
105777
|
-
|
|
105778
|
-
SzDemoViewDashboard = __decorateElement(
|
|
105779
|
-
__runInitializers(
|
|
107207
|
+
_init34 = __decoratorStart(_a34);
|
|
107208
|
+
SzDemoViewDashboard = __decorateElement(_init34, 0, "SzDemoViewDashboard", _SzDemoViewDashboard_decorators, SzDemoViewDashboard);
|
|
107209
|
+
__runInitializers(_init34, 1, SzDemoViewDashboard);
|
|
105780
107210
|
|
|
105781
107211
|
// ts_web/elements/sz-demo-view-services.ts
|
|
105782
107212
|
init_dist_ts29();
|
|
105783
|
-
var _selectedPlatformService_dec, _selectedService_dec, _currentView_dec2,
|
|
107213
|
+
var _selectedPlatformService_dec, _selectedService_dec, _currentView_dec2, _a35, _SzDemoViewServices_decorators, _init35, _currentView2, _selectedService, _selectedPlatformService;
|
|
105784
107214
|
_SzDemoViewServices_decorators = [t4("sz-demo-view-services")];
|
|
105785
|
-
var SzDemoViewServices = class extends (
|
|
107215
|
+
var SzDemoViewServices = class extends (_a35 = DeesElement, _currentView_dec2 = [r5()], _selectedService_dec = [r5()], _selectedPlatformService_dec = [r5()], _a35) {
|
|
105786
107216
|
constructor() {
|
|
105787
107217
|
super(...arguments);
|
|
105788
107218
|
__publicField(this, "appui", null);
|
|
105789
|
-
__privateAdd(this, _currentView2, __runInitializers(
|
|
105790
|
-
__privateAdd(this, _selectedService, __runInitializers(
|
|
105791
|
-
__privateAdd(this, _selectedPlatformService, __runInitializers(
|
|
107219
|
+
__privateAdd(this, _currentView2, __runInitializers(_init35, 8, this, "list")), __runInitializers(_init35, 11, this);
|
|
107220
|
+
__privateAdd(this, _selectedService, __runInitializers(_init35, 12, this, null)), __runInitializers(_init35, 15, this);
|
|
107221
|
+
__privateAdd(this, _selectedPlatformService, __runInitializers(_init35, 16, this, null)), __runInitializers(_init35, 19, this);
|
|
105792
107222
|
__publicField(this, "demoServices", [
|
|
105793
107223
|
{
|
|
105794
107224
|
id: "1",
|
|
@@ -106069,14 +107499,14 @@ var SzDemoViewServices = class extends (_a31 = DeesElement, _currentView_dec2 =
|
|
|
106069
107499
|
onDeactivate() {
|
|
106070
107500
|
}
|
|
106071
107501
|
};
|
|
106072
|
-
|
|
107502
|
+
_init35 = __decoratorStart(_a35);
|
|
106073
107503
|
_currentView2 = new WeakMap();
|
|
106074
107504
|
_selectedService = new WeakMap();
|
|
106075
107505
|
_selectedPlatformService = new WeakMap();
|
|
106076
|
-
__decorateElement(
|
|
106077
|
-
__decorateElement(
|
|
106078
|
-
__decorateElement(
|
|
106079
|
-
SzDemoViewServices = __decorateElement(
|
|
107506
|
+
__decorateElement(_init35, 4, "currentView", _currentView_dec2, SzDemoViewServices, _currentView2);
|
|
107507
|
+
__decorateElement(_init35, 4, "selectedService", _selectedService_dec, SzDemoViewServices, _selectedService);
|
|
107508
|
+
__decorateElement(_init35, 4, "selectedPlatformService", _selectedPlatformService_dec, SzDemoViewServices, _selectedPlatformService);
|
|
107509
|
+
SzDemoViewServices = __decorateElement(_init35, 0, "SzDemoViewServices", _SzDemoViewServices_decorators, SzDemoViewServices);
|
|
106080
107510
|
__publicField(SzDemoViewServices, "styles", [
|
|
106081
107511
|
cssManager.defaultStyles,
|
|
106082
107512
|
i`
|
|
@@ -106208,18 +107638,18 @@ __publicField(SzDemoViewServices, "styles", [
|
|
|
106208
107638
|
}
|
|
106209
107639
|
`
|
|
106210
107640
|
]);
|
|
106211
|
-
__runInitializers(
|
|
107641
|
+
__runInitializers(_init35, 1, SzDemoViewServices);
|
|
106212
107642
|
|
|
106213
107643
|
// ts_web/elements/sz-demo-view-network.ts
|
|
106214
107644
|
init_dist_ts29();
|
|
106215
|
-
var _selectedDomain_dec, _currentTab_dec,
|
|
107645
|
+
var _selectedDomain_dec, _currentTab_dec, _a36, _SzDemoViewNetwork_decorators, _init36, _currentTab, _selectedDomain;
|
|
106216
107646
|
_SzDemoViewNetwork_decorators = [t4("sz-demo-view-network")];
|
|
106217
|
-
var SzDemoViewNetwork = class extends (
|
|
107647
|
+
var SzDemoViewNetwork = class extends (_a36 = DeesElement, _currentTab_dec = [r5()], _selectedDomain_dec = [r5()], _a36) {
|
|
106218
107648
|
constructor() {
|
|
106219
107649
|
super(...arguments);
|
|
106220
107650
|
__publicField(this, "appui", null);
|
|
106221
|
-
__privateAdd(this, _currentTab, __runInitializers(
|
|
106222
|
-
__privateAdd(this, _selectedDomain, __runInitializers(
|
|
107651
|
+
__privateAdd(this, _currentTab, __runInitializers(_init36, 8, this, "proxy")), __runInitializers(_init36, 11, this);
|
|
107652
|
+
__privateAdd(this, _selectedDomain, __runInitializers(_init36, 12, this, null)), __runInitializers(_init36, 15, this);
|
|
106223
107653
|
__publicField(this, "demoProxyRoutes", [
|
|
106224
107654
|
{ id: "1", domain: "api.example.com", target: "http://api-gateway:3000", ssl: true, status: "active" },
|
|
106225
107655
|
{ id: "2", domain: "app.example.com", target: "http://frontend:8080", ssl: true, status: "active" },
|
|
@@ -106467,12 +107897,12 @@ var SzDemoViewNetwork = class extends (_a32 = DeesElement, _currentTab_dec = [r5
|
|
|
106467
107897
|
`;
|
|
106468
107898
|
}
|
|
106469
107899
|
};
|
|
106470
|
-
|
|
107900
|
+
_init36 = __decoratorStart(_a36);
|
|
106471
107901
|
_currentTab = new WeakMap();
|
|
106472
107902
|
_selectedDomain = new WeakMap();
|
|
106473
|
-
__decorateElement(
|
|
106474
|
-
__decorateElement(
|
|
106475
|
-
SzDemoViewNetwork = __decorateElement(
|
|
107903
|
+
__decorateElement(_init36, 4, "currentTab", _currentTab_dec, SzDemoViewNetwork, _currentTab);
|
|
107904
|
+
__decorateElement(_init36, 4, "selectedDomain", _selectedDomain_dec, SzDemoViewNetwork, _selectedDomain);
|
|
107905
|
+
SzDemoViewNetwork = __decorateElement(_init36, 0, "SzDemoViewNetwork", _SzDemoViewNetwork_decorators, SzDemoViewNetwork);
|
|
106476
107906
|
__publicField(SzDemoViewNetwork, "styles", [
|
|
106477
107907
|
cssManager.defaultStyles,
|
|
106478
107908
|
i`
|
|
@@ -106560,17 +107990,17 @@ __publicField(SzDemoViewNetwork, "styles", [
|
|
|
106560
107990
|
}
|
|
106561
107991
|
`
|
|
106562
107992
|
]);
|
|
106563
|
-
__runInitializers(
|
|
107993
|
+
__runInitializers(_init36, 1, SzDemoViewNetwork);
|
|
106564
107994
|
|
|
106565
107995
|
// ts_web/elements/sz-demo-view-registries.ts
|
|
106566
107996
|
init_dist_ts29();
|
|
106567
|
-
var _currentTab_dec2,
|
|
107997
|
+
var _currentTab_dec2, _a37, _SzDemoViewRegistries_decorators, _init37, _currentTab2;
|
|
106568
107998
|
_SzDemoViewRegistries_decorators = [t4("sz-demo-view-registries")];
|
|
106569
|
-
var SzDemoViewRegistries = class extends (
|
|
107999
|
+
var SzDemoViewRegistries = class extends (_a37 = DeesElement, _currentTab_dec2 = [r5()], _a37) {
|
|
106570
108000
|
constructor() {
|
|
106571
108001
|
super(...arguments);
|
|
106572
108002
|
__publicField(this, "appui", null);
|
|
106573
|
-
__privateAdd(this, _currentTab2, __runInitializers(
|
|
108003
|
+
__privateAdd(this, _currentTab2, __runInitializers(_init37, 8, this, "onebox")), __runInitializers(_init37, 11, this);
|
|
106574
108004
|
__publicField(this, "demoOneboxImages", [
|
|
106575
108005
|
{ id: "1", name: "api-gateway", tags: ["latest", "v2.1.0", "v2.0.0"], size: "256 MB", updated: "2024-01-20", pulls: 142 },
|
|
106576
108006
|
{ id: "2", name: "frontend", tags: ["latest", "v1.5.0"], size: "128 MB", updated: "2024-01-19", pulls: 89 },
|
|
@@ -106687,10 +108117,10 @@ var SzDemoViewRegistries = class extends (_a33 = DeesElement, _currentTab_dec2 =
|
|
|
106687
108117
|
`;
|
|
106688
108118
|
}
|
|
106689
108119
|
};
|
|
106690
|
-
|
|
108120
|
+
_init37 = __decoratorStart(_a37);
|
|
106691
108121
|
_currentTab2 = new WeakMap();
|
|
106692
|
-
__decorateElement(
|
|
106693
|
-
SzDemoViewRegistries = __decorateElement(
|
|
108122
|
+
__decorateElement(_init37, 4, "currentTab", _currentTab_dec2, SzDemoViewRegistries, _currentTab2);
|
|
108123
|
+
SzDemoViewRegistries = __decorateElement(_init37, 0, "SzDemoViewRegistries", _SzDemoViewRegistries_decorators, SzDemoViewRegistries);
|
|
106694
108124
|
__publicField(SzDemoViewRegistries, "styles", [
|
|
106695
108125
|
cssManager.defaultStyles,
|
|
106696
108126
|
i`
|
|
@@ -106758,13 +108188,13 @@ __publicField(SzDemoViewRegistries, "styles", [
|
|
|
106758
108188
|
}
|
|
106759
108189
|
`
|
|
106760
108190
|
]);
|
|
106761
|
-
__runInitializers(
|
|
108191
|
+
__runInitializers(_init37, 1, SzDemoViewRegistries);
|
|
106762
108192
|
|
|
106763
108193
|
// ts_web/elements/sz-demo-view-tokens.ts
|
|
106764
108194
|
init_dist_ts29();
|
|
106765
|
-
var _SzDemoViewTokens_decorators,
|
|
108195
|
+
var _SzDemoViewTokens_decorators, _init38, _a38;
|
|
106766
108196
|
_SzDemoViewTokens_decorators = [t4("sz-demo-view-tokens")];
|
|
106767
|
-
var SzDemoViewTokens = class extends (
|
|
108197
|
+
var SzDemoViewTokens = class extends (_a38 = DeesElement) {
|
|
106768
108198
|
appui = null;
|
|
106769
108199
|
async onActivate(context2) {
|
|
106770
108200
|
this.appui = context2.appui;
|
|
@@ -106855,15 +108285,15 @@ var SzDemoViewTokens = class extends (_a34 = DeesElement) {
|
|
|
106855
108285
|
`;
|
|
106856
108286
|
}
|
|
106857
108287
|
};
|
|
106858
|
-
|
|
106859
|
-
SzDemoViewTokens = __decorateElement(
|
|
106860
|
-
__runInitializers(
|
|
108288
|
+
_init38 = __decoratorStart(_a38);
|
|
108289
|
+
SzDemoViewTokens = __decorateElement(_init38, 0, "SzDemoViewTokens", _SzDemoViewTokens_decorators, SzDemoViewTokens);
|
|
108290
|
+
__runInitializers(_init38, 1, SzDemoViewTokens);
|
|
106861
108291
|
|
|
106862
108292
|
// ts_web/elements/sz-demo-view-settings.ts
|
|
106863
108293
|
init_dist_ts29();
|
|
106864
|
-
var _SzDemoViewSettings_decorators,
|
|
108294
|
+
var _SzDemoViewSettings_decorators, _init39, _a39;
|
|
106865
108295
|
_SzDemoViewSettings_decorators = [t4("sz-demo-view-settings")];
|
|
106866
|
-
var SzDemoViewSettings = class extends (
|
|
108296
|
+
var SzDemoViewSettings = class extends (_a39 = DeesElement) {
|
|
106867
108297
|
appui = null;
|
|
106868
108298
|
async onActivate(context2) {
|
|
106869
108299
|
this.appui = context2.appui;
|
|
@@ -106970,21 +108400,21 @@ var SzDemoViewSettings = class extends (_a35 = DeesElement) {
|
|
|
106970
108400
|
`;
|
|
106971
108401
|
}
|
|
106972
108402
|
};
|
|
106973
|
-
|
|
106974
|
-
SzDemoViewSettings = __decorateElement(
|
|
106975
|
-
__runInitializers(
|
|
108403
|
+
_init39 = __decoratorStart(_a39);
|
|
108404
|
+
SzDemoViewSettings = __decorateElement(_init39, 0, "SzDemoViewSettings", _SzDemoViewSettings_decorators, SzDemoViewSettings);
|
|
108405
|
+
__runInitializers(_init39, 1, SzDemoViewSettings);
|
|
106976
108406
|
|
|
106977
108407
|
// ts_web/elements/sz-demo-view-mta.ts
|
|
106978
108408
|
init_dist_ts29();
|
|
106979
|
-
var _currentDirectionFilter_dec, _selectedEmail_dec, _currentView_dec3,
|
|
108409
|
+
var _currentDirectionFilter_dec, _selectedEmail_dec, _currentView_dec3, _a40, _SzDemoViewMta_decorators, _init40, _currentView3, _selectedEmail, _currentDirectionFilter;
|
|
106980
108410
|
_SzDemoViewMta_decorators = [t4("sz-demo-view-mta")];
|
|
106981
|
-
var SzDemoViewMta = class extends (
|
|
108411
|
+
var SzDemoViewMta = class extends (_a40 = DeesElement, _currentView_dec3 = [r5()], _selectedEmail_dec = [r5()], _currentDirectionFilter_dec = [r5()], _a40) {
|
|
106982
108412
|
constructor() {
|
|
106983
108413
|
super(...arguments);
|
|
106984
108414
|
__publicField(this, "appui", null);
|
|
106985
|
-
__privateAdd(this, _currentView3, __runInitializers(
|
|
106986
|
-
__privateAdd(this, _selectedEmail, __runInitializers(
|
|
106987
|
-
__privateAdd(this, _currentDirectionFilter, __runInitializers(
|
|
108415
|
+
__privateAdd(this, _currentView3, __runInitializers(_init40, 8, this, "list")), __runInitializers(_init40, 11, this);
|
|
108416
|
+
__privateAdd(this, _selectedEmail, __runInitializers(_init40, 12, this, null)), __runInitializers(_init40, 15, this);
|
|
108417
|
+
__privateAdd(this, _currentDirectionFilter, __runInitializers(_init40, 16, this, "all")), __runInitializers(_init40, 19, this);
|
|
106988
108418
|
__publicField(this, "demoEmails", [
|
|
106989
108419
|
{ id: "1", direction: "outbound", status: "delivered", from: "noreply@serve.zone", to: "user@example.com", subject: "Welcome to serve.zone", timestamp: "2024-01-15 14:30:22", messageId: "<abc123@serve.zone>", size: "12.4 KB" },
|
|
106990
108420
|
{ id: "2", direction: "outbound", status: "bounced", from: "alerts@serve.zone", to: "invalid@nowhere.test", subject: "Service Alert: CPU Usage High", timestamp: "2024-01-15 14:28:10", messageId: "<def456@serve.zone>", size: "8.2 KB" },
|
|
@@ -107277,14 +108707,14 @@ var SzDemoViewMta = class extends (_a36 = DeesElement, _currentView_dec3 = [r5()
|
|
|
107277
108707
|
}
|
|
107278
108708
|
}
|
|
107279
108709
|
};
|
|
107280
|
-
|
|
108710
|
+
_init40 = __decoratorStart(_a40);
|
|
107281
108711
|
_currentView3 = new WeakMap();
|
|
107282
108712
|
_selectedEmail = new WeakMap();
|
|
107283
108713
|
_currentDirectionFilter = new WeakMap();
|
|
107284
|
-
__decorateElement(
|
|
107285
|
-
__decorateElement(
|
|
107286
|
-
__decorateElement(
|
|
107287
|
-
SzDemoViewMta = __decorateElement(
|
|
108714
|
+
__decorateElement(_init40, 4, "currentView", _currentView_dec3, SzDemoViewMta, _currentView3);
|
|
108715
|
+
__decorateElement(_init40, 4, "selectedEmail", _selectedEmail_dec, SzDemoViewMta, _selectedEmail);
|
|
108716
|
+
__decorateElement(_init40, 4, "currentDirectionFilter", _currentDirectionFilter_dec, SzDemoViewMta, _currentDirectionFilter);
|
|
108717
|
+
SzDemoViewMta = __decorateElement(_init40, 0, "SzDemoViewMta", _SzDemoViewMta_decorators, SzDemoViewMta);
|
|
107288
108718
|
__publicField(SzDemoViewMta, "styles", [
|
|
107289
108719
|
cssManager.defaultStyles,
|
|
107290
108720
|
i`
|
|
@@ -107297,7 +108727,493 @@ __publicField(SzDemoViewMta, "styles", [
|
|
|
107297
108727
|
}
|
|
107298
108728
|
`
|
|
107299
108729
|
]);
|
|
107300
|
-
__runInitializers(
|
|
108730
|
+
__runInitializers(_init40, 1, SzDemoViewMta);
|
|
108731
|
+
|
|
108732
|
+
// ts_web/elements/sz-demo-view-routes.ts
|
|
108733
|
+
init_dist_ts29();
|
|
108734
|
+
var _currentTab_dec3, _a41, _SzDemoViewRoutes_decorators, _init41, _currentTab3;
|
|
108735
|
+
_SzDemoViewRoutes_decorators = [t4("sz-demo-view-routes")];
|
|
108736
|
+
var SzDemoViewRoutes = class extends (_a41 = DeesElement, _currentTab_dec3 = [r5()], _a41) {
|
|
108737
|
+
constructor() {
|
|
108738
|
+
super(...arguments);
|
|
108739
|
+
__publicField(this, "appui", null);
|
|
108740
|
+
__privateAdd(this, _currentTab3, __runInitializers(_init41, 8, this, "all")), __runInitializers(_init41, 11, this);
|
|
108741
|
+
__publicField(this, "demoRoutes", [
|
|
108742
|
+
// 1. HTTPS with TLS termination + auto cert
|
|
108743
|
+
{
|
|
108744
|
+
id: "route-1",
|
|
108745
|
+
name: "Web Frontend",
|
|
108746
|
+
description: "Main website with TLS termination and automatic certificates",
|
|
108747
|
+
enabled: true,
|
|
108748
|
+
priority: 10,
|
|
108749
|
+
tags: ["web", "https", "production"],
|
|
108750
|
+
match: {
|
|
108751
|
+
ports: 443,
|
|
108752
|
+
domains: ["serve.zone", "www.serve.zone"],
|
|
108753
|
+
protocol: "http"
|
|
108754
|
+
},
|
|
108755
|
+
action: {
|
|
108756
|
+
type: "forward",
|
|
108757
|
+
targets: [{ host: "10.0.0.10", port: 3e3 }],
|
|
108758
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
108759
|
+
}
|
|
108760
|
+
},
|
|
108761
|
+
// 2. HTTP to HTTPS redirect
|
|
108762
|
+
{
|
|
108763
|
+
id: "route-2",
|
|
108764
|
+
name: "HTTP Redirect",
|
|
108765
|
+
description: "Redirects all HTTP traffic to HTTPS",
|
|
108766
|
+
enabled: true,
|
|
108767
|
+
priority: 100,
|
|
108768
|
+
tags: ["web", "http", "redirect"],
|
|
108769
|
+
match: {
|
|
108770
|
+
ports: 80,
|
|
108771
|
+
domains: ["serve.zone", "www.serve.zone"],
|
|
108772
|
+
protocol: "http"
|
|
108773
|
+
},
|
|
108774
|
+
action: {
|
|
108775
|
+
type: "socket-handler"
|
|
108776
|
+
}
|
|
108777
|
+
},
|
|
108778
|
+
// 3. Email SMTP route
|
|
108779
|
+
{
|
|
108780
|
+
id: "route-3",
|
|
108781
|
+
name: "SMTP Inbound",
|
|
108782
|
+
description: "Inbound email relay for serve.zone domain",
|
|
108783
|
+
enabled: true,
|
|
108784
|
+
tags: ["email", "smtp", "production"],
|
|
108785
|
+
match: {
|
|
108786
|
+
ports: 25,
|
|
108787
|
+
domains: "mail.serve.zone"
|
|
108788
|
+
},
|
|
108789
|
+
action: {
|
|
108790
|
+
type: "forward",
|
|
108791
|
+
targets: [{ host: "10.0.1.5", port: 25 }],
|
|
108792
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
108793
|
+
}
|
|
108794
|
+
},
|
|
108795
|
+
// 4. API gateway with path matching, rate limiting, CORS
|
|
108796
|
+
{
|
|
108797
|
+
id: "route-4",
|
|
108798
|
+
name: "API Gateway",
|
|
108799
|
+
description: "API gateway with rate limiting, CORS headers, and load balancing",
|
|
108800
|
+
enabled: true,
|
|
108801
|
+
priority: 20,
|
|
108802
|
+
tags: ["web", "api", "https", "production"],
|
|
108803
|
+
match: {
|
|
108804
|
+
ports: 443,
|
|
108805
|
+
domains: "api.serve.zone",
|
|
108806
|
+
path: "/v2/*",
|
|
108807
|
+
protocol: "http"
|
|
108808
|
+
},
|
|
108809
|
+
action: {
|
|
108810
|
+
type: "forward",
|
|
108811
|
+
targets: [
|
|
108812
|
+
{ host: ["10.0.0.20", "10.0.0.21", "10.0.0.22"], port: 8080 }
|
|
108813
|
+
],
|
|
108814
|
+
tls: { mode: "terminate", certificate: "auto" },
|
|
108815
|
+
loadBalancing: { algorithm: "round-robin" }
|
|
108816
|
+
},
|
|
108817
|
+
security: {
|
|
108818
|
+
rateLimit: { enabled: true, maxRequests: 200, window: 60 },
|
|
108819
|
+
maxConnections: 5e3
|
|
108820
|
+
},
|
|
108821
|
+
headers: {
|
|
108822
|
+
response: {
|
|
108823
|
+
"Access-Control-Allow-Origin": "*",
|
|
108824
|
+
"X-Request-Id": "{{requestId}}"
|
|
108825
|
+
}
|
|
108826
|
+
}
|
|
108827
|
+
},
|
|
108828
|
+
// 5. WebSocket route
|
|
108829
|
+
{
|
|
108830
|
+
id: "route-5",
|
|
108831
|
+
name: "WebSocket Realtime",
|
|
108832
|
+
description: "Real-time WebSocket connections for live updates",
|
|
108833
|
+
enabled: true,
|
|
108834
|
+
tags: ["web", "https", "websocket"],
|
|
108835
|
+
match: {
|
|
108836
|
+
ports: 443,
|
|
108837
|
+
domains: "ws.serve.zone",
|
|
108838
|
+
path: "/ws/*",
|
|
108839
|
+
protocol: "http"
|
|
108840
|
+
},
|
|
108841
|
+
action: {
|
|
108842
|
+
type: "forward",
|
|
108843
|
+
targets: [{ host: "10.0.0.30", port: 9090 }],
|
|
108844
|
+
tls: { mode: "terminate", certificate: "auto" },
|
|
108845
|
+
websocket: { enabled: true }
|
|
108846
|
+
}
|
|
108847
|
+
},
|
|
108848
|
+
// 6. Wildcard domain route
|
|
108849
|
+
{
|
|
108850
|
+
id: "route-6",
|
|
108851
|
+
name: "Tenant Wildcard",
|
|
108852
|
+
description: "Multi-tenant wildcard routing for customer subdomains",
|
|
108853
|
+
enabled: true,
|
|
108854
|
+
priority: 50,
|
|
108855
|
+
tags: ["web", "https", "multi-tenant"],
|
|
108856
|
+
match: {
|
|
108857
|
+
ports: 443,
|
|
108858
|
+
domains: "*.customers.serve.zone",
|
|
108859
|
+
protocol: "http"
|
|
108860
|
+
},
|
|
108861
|
+
action: {
|
|
108862
|
+
type: "forward",
|
|
108863
|
+
targets: [{ host: "10.0.0.40", port: 8080 }],
|
|
108864
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
108865
|
+
},
|
|
108866
|
+
security: {
|
|
108867
|
+
ipAllowList: ["10.0.0.0/8", "172.16.0.0/12"]
|
|
108868
|
+
}
|
|
108869
|
+
},
|
|
108870
|
+
// 7. Load-balanced route with health check
|
|
108871
|
+
{
|
|
108872
|
+
id: "route-7",
|
|
108873
|
+
name: "Microservices LB",
|
|
108874
|
+
description: "Load-balanced microservices backend with IP-hash affinity",
|
|
108875
|
+
enabled: true,
|
|
108876
|
+
tags: ["web", "https", "production"],
|
|
108877
|
+
match: {
|
|
108878
|
+
ports: [443, 8443],
|
|
108879
|
+
domains: "services.serve.zone",
|
|
108880
|
+
protocol: "http"
|
|
108881
|
+
},
|
|
108882
|
+
action: {
|
|
108883
|
+
type: "forward",
|
|
108884
|
+
targets: [
|
|
108885
|
+
{ host: ["10.0.2.1", "10.0.2.2", "10.0.2.3", "10.0.2.4"], port: 3e3 }
|
|
108886
|
+
],
|
|
108887
|
+
tls: { mode: "terminate-and-reencrypt", certificate: "auto" },
|
|
108888
|
+
loadBalancing: { algorithm: "ip-hash" }
|
|
108889
|
+
}
|
|
108890
|
+
},
|
|
108891
|
+
// 8. DNS-over-HTTPS route
|
|
108892
|
+
{
|
|
108893
|
+
id: "route-8",
|
|
108894
|
+
name: "DNS over HTTPS",
|
|
108895
|
+
description: "DNS-over-HTTPS resolver endpoint",
|
|
108896
|
+
enabled: true,
|
|
108897
|
+
tags: ["dns", "https"],
|
|
108898
|
+
match: {
|
|
108899
|
+
ports: 443,
|
|
108900
|
+
domains: "dns.serve.zone",
|
|
108901
|
+
path: "/dns-query",
|
|
108902
|
+
protocol: "http"
|
|
108903
|
+
},
|
|
108904
|
+
action: {
|
|
108905
|
+
type: "forward",
|
|
108906
|
+
targets: [{ host: "10.0.3.1", port: 8053 }],
|
|
108907
|
+
tls: { mode: "terminate", certificate: "auto" }
|
|
108908
|
+
}
|
|
108909
|
+
},
|
|
108910
|
+
// 9. NFTables high-performance route
|
|
108911
|
+
{
|
|
108912
|
+
id: "route-9",
|
|
108913
|
+
name: "High-Perf TCP Proxy",
|
|
108914
|
+
description: "NFTables-accelerated TCP proxy for game servers",
|
|
108915
|
+
enabled: true,
|
|
108916
|
+
tags: ["tcp", "nftables", "production"],
|
|
108917
|
+
match: {
|
|
108918
|
+
ports: [{ from: 27e3, to: 27050 }],
|
|
108919
|
+
protocol: "tcp"
|
|
108920
|
+
},
|
|
108921
|
+
action: {
|
|
108922
|
+
type: "forward",
|
|
108923
|
+
targets: [{ host: "10.0.4.1", port: "preserve" }],
|
|
108924
|
+
forwardingEngine: "nftables"
|
|
108925
|
+
}
|
|
108926
|
+
},
|
|
108927
|
+
// 10. Disabled maintenance route
|
|
108928
|
+
{
|
|
108929
|
+
id: "route-10",
|
|
108930
|
+
name: "Legacy Admin Panel",
|
|
108931
|
+
description: "Deprecated admin panel \u2014 disabled for maintenance",
|
|
108932
|
+
enabled: false,
|
|
108933
|
+
tags: ["web", "https", "deprecated"],
|
|
108934
|
+
match: {
|
|
108935
|
+
ports: 443,
|
|
108936
|
+
domains: "admin-old.serve.zone",
|
|
108937
|
+
protocol: "http"
|
|
108938
|
+
},
|
|
108939
|
+
action: {
|
|
108940
|
+
type: "socket-handler"
|
|
108941
|
+
},
|
|
108942
|
+
security: {
|
|
108943
|
+
ipBlockList: ["0.0.0.0/0"]
|
|
108944
|
+
}
|
|
108945
|
+
}
|
|
108946
|
+
]);
|
|
108947
|
+
}
|
|
108948
|
+
get filteredRoutes() {
|
|
108949
|
+
if (this.currentTab === "all") return this.demoRoutes;
|
|
108950
|
+
if (this.currentTab === "https") {
|
|
108951
|
+
return this.demoRoutes.filter(
|
|
108952
|
+
(r11) => r11.tags?.some((t9) => ["web", "https", "http"].includes(t9))
|
|
108953
|
+
);
|
|
108954
|
+
}
|
|
108955
|
+
if (this.currentTab === "email") {
|
|
108956
|
+
return this.demoRoutes.filter(
|
|
108957
|
+
(r11) => r11.tags?.some((t9) => ["email", "smtp"].includes(t9))
|
|
108958
|
+
);
|
|
108959
|
+
}
|
|
108960
|
+
if (this.currentTab === "dns") {
|
|
108961
|
+
return this.demoRoutes.filter(
|
|
108962
|
+
(r11) => r11.tags?.some((t9) => ["dns"].includes(t9))
|
|
108963
|
+
);
|
|
108964
|
+
}
|
|
108965
|
+
return this.demoRoutes;
|
|
108966
|
+
}
|
|
108967
|
+
async onActivate(context2) {
|
|
108968
|
+
this.appui = context2.appui;
|
|
108969
|
+
this.appui.setContentTabs([
|
|
108970
|
+
{
|
|
108971
|
+
key: "All Routes",
|
|
108972
|
+
action: () => {
|
|
108973
|
+
this.currentTab = "all";
|
|
108974
|
+
this.updateSecondaryMenu();
|
|
108975
|
+
}
|
|
108976
|
+
},
|
|
108977
|
+
{
|
|
108978
|
+
key: "HTTP/S",
|
|
108979
|
+
action: () => {
|
|
108980
|
+
this.currentTab = "https";
|
|
108981
|
+
this.updateSecondaryMenu();
|
|
108982
|
+
}
|
|
108983
|
+
},
|
|
108984
|
+
{
|
|
108985
|
+
key: "Email",
|
|
108986
|
+
action: () => {
|
|
108987
|
+
this.currentTab = "email";
|
|
108988
|
+
this.updateSecondaryMenu();
|
|
108989
|
+
}
|
|
108990
|
+
},
|
|
108991
|
+
{
|
|
108992
|
+
key: "DNS",
|
|
108993
|
+
action: () => {
|
|
108994
|
+
this.currentTab = "dns";
|
|
108995
|
+
this.updateSecondaryMenu();
|
|
108996
|
+
}
|
|
108997
|
+
}
|
|
108998
|
+
]);
|
|
108999
|
+
this.updateSecondaryMenu();
|
|
109000
|
+
}
|
|
109001
|
+
updateSecondaryMenu() {
|
|
109002
|
+
if (!this.appui) return;
|
|
109003
|
+
const total = this.demoRoutes.length;
|
|
109004
|
+
const active = this.demoRoutes.filter((r11) => r11.enabled !== false).length;
|
|
109005
|
+
const forwardCount = this.demoRoutes.filter((r11) => r11.action.type === "forward").length;
|
|
109006
|
+
this.appui.setSecondaryMenu({
|
|
109007
|
+
heading: "Routes",
|
|
109008
|
+
groups: [
|
|
109009
|
+
{
|
|
109010
|
+
name: "Actions",
|
|
109011
|
+
items: [
|
|
109012
|
+
{
|
|
109013
|
+
type: "action",
|
|
109014
|
+
key: "Refresh",
|
|
109015
|
+
iconName: "lucide:RefreshCw",
|
|
109016
|
+
action: () => {
|
|
109017
|
+
console.log("Refresh routes");
|
|
109018
|
+
}
|
|
109019
|
+
},
|
|
109020
|
+
{
|
|
109021
|
+
type: "action",
|
|
109022
|
+
key: "Add Route",
|
|
109023
|
+
iconName: "lucide:Plus",
|
|
109024
|
+
action: () => {
|
|
109025
|
+
console.log("Add route");
|
|
109026
|
+
}
|
|
109027
|
+
}
|
|
109028
|
+
]
|
|
109029
|
+
},
|
|
109030
|
+
{
|
|
109031
|
+
name: "Statistics",
|
|
109032
|
+
items: [
|
|
109033
|
+
{ type: "header", label: `${total} Total Routes` },
|
|
109034
|
+
{ type: "header", label: `${active} Active` },
|
|
109035
|
+
{ type: "header", label: `${forwardCount} Forward` },
|
|
109036
|
+
{ type: "header", label: `${total - forwardCount} Socket Handler` }
|
|
109037
|
+
]
|
|
109038
|
+
}
|
|
109039
|
+
]
|
|
109040
|
+
});
|
|
109041
|
+
}
|
|
109042
|
+
onDeactivate() {
|
|
109043
|
+
}
|
|
109044
|
+
render() {
|
|
109045
|
+
return b2`
|
|
109046
|
+
<sz-route-list-view
|
|
109047
|
+
.routes=${this.filteredRoutes}
|
|
109048
|
+
@route-click=${(e11) => {
|
|
109049
|
+
console.log("Route clicked:", e11.detail.name);
|
|
109050
|
+
}}
|
|
109051
|
+
></sz-route-list-view>
|
|
109052
|
+
`;
|
|
109053
|
+
}
|
|
109054
|
+
};
|
|
109055
|
+
_init41 = __decoratorStart(_a41);
|
|
109056
|
+
_currentTab3 = new WeakMap();
|
|
109057
|
+
__decorateElement(_init41, 4, "currentTab", _currentTab_dec3, SzDemoViewRoutes, _currentTab3);
|
|
109058
|
+
SzDemoViewRoutes = __decorateElement(_init41, 0, "SzDemoViewRoutes", _SzDemoViewRoutes_decorators, SzDemoViewRoutes);
|
|
109059
|
+
__publicField(SzDemoViewRoutes, "styles", [
|
|
109060
|
+
cssManager.defaultStyles,
|
|
109061
|
+
i`
|
|
109062
|
+
:host {
|
|
109063
|
+
display: block;
|
|
109064
|
+
padding: 24px;
|
|
109065
|
+
height: 100%;
|
|
109066
|
+
overflow-y: auto;
|
|
109067
|
+
box-sizing: border-box;
|
|
109068
|
+
}
|
|
109069
|
+
`
|
|
109070
|
+
]);
|
|
109071
|
+
__runInitializers(_init41, 1, SzDemoViewRoutes);
|
|
109072
|
+
|
|
109073
|
+
// ts_web/elements/sz-demo-view-config.ts
|
|
109074
|
+
init_dist_ts29();
|
|
109075
|
+
var _SzDemoViewConfig_decorators, _init42, _a42;
|
|
109076
|
+
_SzDemoViewConfig_decorators = [t4("sz-demo-view-config")];
|
|
109077
|
+
var SzDemoViewConfig = class extends (_a42 = DeesElement) {
|
|
109078
|
+
static styles = [
|
|
109079
|
+
cssManager.defaultStyles,
|
|
109080
|
+
i`
|
|
109081
|
+
:host {
|
|
109082
|
+
display: block;
|
|
109083
|
+
padding: 24px;
|
|
109084
|
+
height: 100%;
|
|
109085
|
+
overflow-y: auto;
|
|
109086
|
+
box-sizing: border-box;
|
|
109087
|
+
}
|
|
109088
|
+
`
|
|
109089
|
+
];
|
|
109090
|
+
render() {
|
|
109091
|
+
const systemFields = [
|
|
109092
|
+
{ key: "Base Directory", value: "/home/user/.serve.zone/dcrouter" },
|
|
109093
|
+
{ key: "Data Directory", value: "/home/user/.serve.zone/dcrouter/data" },
|
|
109094
|
+
{ key: "Public IP", value: "203.0.113.50" },
|
|
109095
|
+
{ key: "Proxy IPs", value: ["203.0.113.10", "203.0.113.11"], type: "pills" },
|
|
109096
|
+
{ key: "Uptime", value: "3d 14h 22m" },
|
|
109097
|
+
{ key: "Storage Backend", value: "filesystem", type: "badge" }
|
|
109098
|
+
];
|
|
109099
|
+
const proxyFields = [
|
|
109100
|
+
{ key: "Route Count", value: 12 },
|
|
109101
|
+
{ key: "ACME Enabled", value: true, type: "boolean" },
|
|
109102
|
+
{ key: "Account Email", value: "admin@serve.zone" },
|
|
109103
|
+
{ key: "Use Production", value: true, type: "boolean" },
|
|
109104
|
+
{ key: "Auto Renew", value: true, type: "boolean" },
|
|
109105
|
+
{ key: "Renew Threshold", value: "30 days" }
|
|
109106
|
+
];
|
|
109107
|
+
const emailFields = [
|
|
109108
|
+
{ key: "Ports", value: ["25", "465", "587"], type: "pills" },
|
|
109109
|
+
{ key: "Hostname", value: "mail.serve.zone" },
|
|
109110
|
+
{ key: "Domains", value: ["serve.zone", "mail.serve.zone"], type: "pills" },
|
|
109111
|
+
{ key: "Email Routes", value: 5 },
|
|
109112
|
+
{ key: "Received Path", value: "/data/emails" }
|
|
109113
|
+
];
|
|
109114
|
+
const dnsFields = [
|
|
109115
|
+
{ key: "Port", value: 53 },
|
|
109116
|
+
{ key: "NS Domains", value: ["ns1.serve.zone", "ns2.serve.zone"], type: "pills" },
|
|
109117
|
+
{ key: "Scopes", value: ["serve.zone", "example.com"], type: "pills" },
|
|
109118
|
+
{ key: "Record Count", value: 24 },
|
|
109119
|
+
{ key: "DNS Challenge", value: true, type: "boolean" }
|
|
109120
|
+
];
|
|
109121
|
+
const tlsFields = [
|
|
109122
|
+
{ key: "Contact Email", value: "admin@serve.zone" },
|
|
109123
|
+
{ key: "Domain", value: "serve.zone" },
|
|
109124
|
+
{ key: "Source", value: "acme", type: "badge" },
|
|
109125
|
+
{ key: "Certificate Path", value: null },
|
|
109126
|
+
{ key: "Key Path", value: null }
|
|
109127
|
+
];
|
|
109128
|
+
const cacheFields = [
|
|
109129
|
+
{ key: "Storage Path", value: "/home/user/.serve.zone/dcrouter/tsmdb" },
|
|
109130
|
+
{ key: "DB Name", value: "dcrouter" },
|
|
109131
|
+
{ key: "Default TTL", value: "30 days" },
|
|
109132
|
+
{ key: "Cleanup Interval", value: "1 hour" }
|
|
109133
|
+
];
|
|
109134
|
+
const radiusFields = [
|
|
109135
|
+
{ key: "Auth Port", value: null },
|
|
109136
|
+
{ key: "Accounting Port", value: null }
|
|
109137
|
+
];
|
|
109138
|
+
const remoteIngressFields = [
|
|
109139
|
+
{ key: "Tunnel Port", value: 8443 },
|
|
109140
|
+
{ key: "Hub Domain", value: "hub.serve.zone" },
|
|
109141
|
+
{ key: "TLS Configured", value: true, type: "boolean" }
|
|
109142
|
+
];
|
|
109143
|
+
return b2`
|
|
109144
|
+
<sz-config-overview
|
|
109145
|
+
infoText="This view displays the current running configuration. DcRouter is configured through code or remote management."
|
|
109146
|
+
>
|
|
109147
|
+
<sz-config-section
|
|
109148
|
+
title="System"
|
|
109149
|
+
subtitle="Base paths and infrastructure"
|
|
109150
|
+
icon="lucide:server"
|
|
109151
|
+
status="enabled"
|
|
109152
|
+
.fields=${systemFields}
|
|
109153
|
+
></sz-config-section>
|
|
109154
|
+
|
|
109155
|
+
<sz-config-section
|
|
109156
|
+
title="SmartProxy"
|
|
109157
|
+
subtitle="HTTP/HTTPS and TCP/SNI reverse proxy"
|
|
109158
|
+
icon="lucide:network"
|
|
109159
|
+
status="enabled"
|
|
109160
|
+
.fields=${proxyFields}
|
|
109161
|
+
></sz-config-section>
|
|
109162
|
+
|
|
109163
|
+
<sz-config-section
|
|
109164
|
+
title="Email Server"
|
|
109165
|
+
subtitle="SMTP email handling with smartmta"
|
|
109166
|
+
icon="lucide:mail"
|
|
109167
|
+
status="enabled"
|
|
109168
|
+
.fields=${emailFields}
|
|
109169
|
+
></sz-config-section>
|
|
109170
|
+
|
|
109171
|
+
<sz-config-section
|
|
109172
|
+
title="DNS Server"
|
|
109173
|
+
subtitle="Authoritative DNS with smartdns"
|
|
109174
|
+
icon="lucide:globe"
|
|
109175
|
+
status="enabled"
|
|
109176
|
+
.fields=${dnsFields}
|
|
109177
|
+
></sz-config-section>
|
|
109178
|
+
|
|
109179
|
+
<sz-config-section
|
|
109180
|
+
title="TLS / Certificates"
|
|
109181
|
+
subtitle="Certificate management and ACME"
|
|
109182
|
+
icon="lucide:shield-check"
|
|
109183
|
+
status="enabled"
|
|
109184
|
+
.fields=${tlsFields}
|
|
109185
|
+
></sz-config-section>
|
|
109186
|
+
|
|
109187
|
+
<sz-config-section
|
|
109188
|
+
title="Cache Database"
|
|
109189
|
+
subtitle="Persistent caching with smartdata"
|
|
109190
|
+
icon="lucide:database"
|
|
109191
|
+
status="enabled"
|
|
109192
|
+
.fields=${cacheFields}
|
|
109193
|
+
></sz-config-section>
|
|
109194
|
+
|
|
109195
|
+
<sz-config-section
|
|
109196
|
+
title="RADIUS Server"
|
|
109197
|
+
subtitle="Network authentication and VLAN assignment"
|
|
109198
|
+
icon="lucide:wifi"
|
|
109199
|
+
status="not-configured"
|
|
109200
|
+
.fields=${radiusFields}
|
|
109201
|
+
></sz-config-section>
|
|
109202
|
+
|
|
109203
|
+
<sz-config-section
|
|
109204
|
+
title="Remote Ingress"
|
|
109205
|
+
subtitle="Edge tunnel nodes"
|
|
109206
|
+
icon="lucide:cloud"
|
|
109207
|
+
status="enabled"
|
|
109208
|
+
.fields=${remoteIngressFields}
|
|
109209
|
+
></sz-config-section>
|
|
109210
|
+
</sz-config-overview>
|
|
109211
|
+
`;
|
|
109212
|
+
}
|
|
109213
|
+
};
|
|
109214
|
+
_init42 = __decoratorStart(_a42);
|
|
109215
|
+
SzDemoViewConfig = __decorateElement(_init42, 0, "SzDemoViewConfig", _SzDemoViewConfig_decorators, SzDemoViewConfig);
|
|
109216
|
+
__runInitializers(_init42, 1, SzDemoViewConfig);
|
|
107301
109217
|
|
|
107302
109218
|
// ts_web/pages/index.ts
|
|
107303
109219
|
var pages_exports = {};
|
|
@@ -111015,9 +112931,9 @@ var DeesAppuiBar = (() => {
|
|
|
111015
112931
|
|
|
111016
112932
|
// node_modules/.pnpm/@design.estate+dees-catalog@3.43.0_@tiptap+pm@2.27.2/node_modules/@design.estate/dees-catalog/dist_ts_web/elements/00group-appui/dees-appui-bottombar/dees-appui-bottombar.demo.js
|
|
111017
112933
|
init_dist_ts29();
|
|
111018
|
-
var
|
|
112934
|
+
var _a43;
|
|
111019
112935
|
var demoFunc5 = () => {
|
|
111020
|
-
return b2(
|
|
112936
|
+
return b2(_a43 || (_a43 = __template([`
|
|
111021
112937
|
<dees-demowrapper>
|
|
111022
112938
|
<style>
|
|
111023
112939
|
.demo-container {
|
|
@@ -112069,7 +113985,7 @@ var DeesPanel = (() => {
|
|
|
112069
113985
|
|
|
112070
113986
|
// node_modules/.pnpm/@design.estate+dees-catalog@3.43.0_@tiptap+pm@2.27.2/node_modules/@design.estate/dees-catalog/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.demo.js
|
|
112071
113987
|
init_dist_ts29();
|
|
112072
|
-
var
|
|
113988
|
+
var _a44;
|
|
112073
113989
|
var generateCpuCores = (count2) => {
|
|
112074
113990
|
return Array.from({ length: count2 }, (_4, i11) => ({
|
|
112075
113991
|
id: i11,
|
|
@@ -112078,7 +113994,7 @@ var generateCpuCores = (count2) => {
|
|
|
112078
113994
|
}));
|
|
112079
113995
|
};
|
|
112080
113996
|
var demoFunc7 = () => {
|
|
112081
|
-
return b2(
|
|
113997
|
+
return b2(_a44 || (_a44 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div id="action-output" style="margin-top: 16px; padding: 12px; background: ', "; border-radius: 6px; font-size: 14px; font-family: monospace; color: ", ';">\n <em>Click on tile actions or grid actions to see the result...</em>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <div class="tile-config">\n <div class="config-section">\n <div class="config-title">Configuration Options</div>\n <div class="config-description">\n Each tile type supports different properties:\n <ul style="margin: 8px 0; padding-left: 20px;">\n <li><strong>Number:</strong> value, unit, color, description</li>\n <li><strong>Gauge:</strong> value, unit, gaugeOptions (min, max, thresholds)</li>\n <li><strong>Percentage:</strong> value (0-100), color, description</li>\n <li><strong>Trend:</strong> value, unit, trendData array, description</li>\n <li><strong>Text:</strong> value (string), color, description</li>\n </ul>\n </div>\n </div>\n </div>\n </dees-panel>\n \n <dees-panel .title=', " .subtitle=", '>\n <h4 style="margin: 0 0 16px 0; font-size: 16px; font-weight: 600;">Compact Layout (180px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", '\n ></dees-statsgrid>\n \n <h4 style="margin: 24px 0 16px 0; font-size: 16px; font-weight: 600;">Spacious Layout (320px tiles)</h4>\n <dees-statsgrid\n .tiles=', "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="cpu-cores-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-statsgrid\n id="interactive-grid"\n .tiles=', "\n .gridActions=", "\n .minTileWidth=", "\n .gap=", "\n ></dees-statsgrid>\n </dees-panel>\n \n <dees-panel .title=", " .subtitle=", '>\n <div class="code-block">', "</div>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-statsgrid\n .tiles=", "\n .minTileWidth=", "\n .gap=", `
|
|
112082
113998
|
></dees-statsgrid>
|
|
112083
113999
|
|
|
112084
114000
|
<div class="tile-config">
|
|
@@ -144975,8 +146891,8 @@ var DeesInputRichtext = (() => {
|
|
|
144975
146891
|
|
|
144976
146892
|
// node_modules/.pnpm/@design.estate+dees-catalog@3.43.0_@tiptap+pm@2.27.2/node_modules/@design.estate/dees-catalog/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.js
|
|
144977
146893
|
init_dist_ts29();
|
|
144978
|
-
var
|
|
144979
|
-
var demoFunc42 = () => b2(
|
|
146894
|
+
var _a45;
|
|
146895
|
+
var demoFunc42 = () => b2(_a45 || (_a45 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .maxTags=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n \n <dees-input-tags\n .label=", "\n .placeholder=", "\n .maxTags=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </div>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .required=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .value=", "\n .disabled=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-form>\n <dees-input-text\n .label=", "\n .placeholder=", "\n .required=", "\n .key=", '\n ></dees-input-text>\n \n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .required=", "\n .key=", "\n .suggestions=", "\n ></dees-input-tags>\n \n <dees-input-tags\n .label=", "\n .placeholder=", "\n .key=", "\n .maxTags=", "\n .suggestions=", "\n ></dees-input-tags>\n </div>\n \n <dees-input-text\n .label=", "\n .inputType=", "\n .placeholder=", "\n .key=", "\n ></dees-input-text>\n \n <dees-form-submit .text=", "></dees-form-submit>\n </dees-form>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-input-tags\n id="interactive-tags"\n .label=', "\n .placeholder=", "\n .suggestions=", "\n @change=", `
|
|
144980
146896
|
></dees-input-tags>
|
|
144981
146897
|
|
|
144982
146898
|
<div class="tag-preview" id="tags-preview">
|
|
@@ -177248,9 +179164,9 @@ init_group_runtime();
|
|
|
177248
179164
|
|
|
177249
179165
|
// ts_web/pages/sz-demo-app-shell.ts
|
|
177250
179166
|
init_dist_ts29();
|
|
177251
|
-
var _SzDemoAppShell_decorators,
|
|
179167
|
+
var _SzDemoAppShell_decorators, _init43, _a46;
|
|
177252
179168
|
_SzDemoAppShell_decorators = [t4("sz-demo-app-shell")];
|
|
177253
|
-
var SzDemoAppShell = class extends (
|
|
179169
|
+
var SzDemoAppShell = class extends (_a46 = DeesElement) {
|
|
177254
179170
|
static styles = [
|
|
177255
179171
|
cssManager.defaultStyles,
|
|
177256
179172
|
i`
|
|
@@ -177402,6 +179318,12 @@ var SzDemoAppShell = class extends (_a40 = DeesElement) {
|
|
|
177402
179318
|
iconName: "lucide:Mail",
|
|
177403
179319
|
content: "sz-demo-view-mta"
|
|
177404
179320
|
},
|
|
179321
|
+
{
|
|
179322
|
+
id: "routes",
|
|
179323
|
+
name: "Routes",
|
|
179324
|
+
iconName: "lucide:Route",
|
|
179325
|
+
content: "sz-demo-view-routes"
|
|
179326
|
+
},
|
|
177405
179327
|
{
|
|
177406
179328
|
id: "settings",
|
|
177407
179329
|
name: "Settings",
|
|
@@ -177417,7 +179339,7 @@ var SzDemoAppShell = class extends (_a40 = DeesElement) {
|
|
|
177417
179339
|
},
|
|
177418
179340
|
{
|
|
177419
179341
|
name: "Infrastructure",
|
|
177420
|
-
views: ["services", "network", "registries", "mta"]
|
|
179342
|
+
views: ["services", "network", "registries", "mta", "routes"]
|
|
177421
179343
|
},
|
|
177422
179344
|
{
|
|
177423
179345
|
name: "Administration",
|
|
@@ -177449,9 +179371,9 @@ var SzDemoAppShell = class extends (_a40 = DeesElement) {
|
|
|
177449
179371
|
]);
|
|
177450
179372
|
}
|
|
177451
179373
|
};
|
|
177452
|
-
|
|
177453
|
-
SzDemoAppShell = __decorateElement(
|
|
177454
|
-
__runInitializers(
|
|
179374
|
+
_init43 = __decoratorStart(_a46);
|
|
179375
|
+
SzDemoAppShell = __decorateElement(_init43, 0, "SzDemoAppShell", _SzDemoAppShell_decorators, SzDemoAppShell);
|
|
179376
|
+
__runInitializers(_init43, 1, SzDemoAppShell);
|
|
177455
179377
|
|
|
177456
179378
|
// html/index.ts
|
|
177457
179379
|
setupWccTools({
|