@zerops/web-components 0.2.2 → 0.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.
@@ -0,0 +1,1050 @@
1
+ var fn = (d) => {
2
+ throw TypeError(d);
3
+ };
4
+ var en = (d, e, n) => e.has(d) || fn("Cannot " + n);
5
+ var s = (d, e, n) => (en(d, e, "read from private field"), n ? n.call(d) : e.get(d)), g = (d, e, n) => e.has(d) ? fn("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(d) : e.set(d, n), f = (d, e, n, t) => (en(d, e, "write to private field"), t ? t.call(d, n) : e.set(d, n), n), O = (d, e, n) => (en(d, e, "access private method"), n);
6
+ import { a7 as K, l as w, B as Z, aM as H, b8 as pn, r as j, n as L, F as Y, ar as G, as as nn, at as a, aY as hn, a_ as gn, av as i, aw as k, aZ as un, b0 as _n, aT as tn, a2 as c, az as o, aW as W, aX as J, aQ as an, al as Q, bq as Cn, br as Pn } from "./chunks/app-CrO8M3t-.js";
7
+ import { a as mn } from "./chunks/index-RTjd7i0F.js";
8
+ const On = () => [0, 1, 2];
9
+ function kn(d, e) {
10
+ d & 1 && (a(0, "div", 1)(1, "div", 2), c(2, "span", 3)(3, "span", 4)(4, "span", 5), i(), a(5, "div", 6)(6, "mat-icon"), o(7, "check"), i()()());
11
+ }
12
+ var S, T, b, $, xn, bn;
13
+ const D = class D {
14
+ constructor() {
15
+ g(this, $);
16
+ g(this, S);
17
+ g(this, T);
18
+ g(this, b);
19
+ this.active = K(!0), f(this, S, w(L)), f(this, T, Z(!1)), f(this, b, null);
20
+ const e = w(Y);
21
+ H(() => {
22
+ O(this, $, xn).call(this), s(this, T).set(!0);
23
+ }), e.onDestroy(() => s(this, b)?.cancel()), pn(() => {
24
+ const n = this.active();
25
+ s(this, T).call(this) && (n && !s(this, b) ? f(this, b, O(this, $, bn).call(this)) : !n && s(this, b) && (s(this, b).cancel(), f(this, b, null)));
26
+ });
27
+ }
28
+ };
29
+ S = new WeakMap(), T = new WeakMap(), b = new WeakMap(), $ = new WeakSet(), xn = function() {
30
+ s(this, S).nativeElement.querySelectorAll(".card").forEach((e) => {
31
+ const n = e;
32
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
33
+ });
34
+ }, bn = function() {
35
+ const n = s(this, S).nativeElement.querySelectorAll(".card"), t = Array.from(n).map((p) => ({
36
+ card: p,
37
+ bars: p.querySelector(".bars"),
38
+ chk: p.querySelector(".chk mat-icon")
39
+ }));
40
+ for (const p of t)
41
+ p.chk.style.transform = "scale(0)", p.chk.style.opacity = "0";
42
+ const r = [0, 0, 0.58, 1], C = [0.42, 0, 1, 1], _ = [
43
+ { i: 1, s: 0.033 },
44
+ { i: 0, s: 0.283 },
45
+ { i: 2, s: 0.55 }
46
+ ], l = [];
47
+ for (const { i: p } of _) {
48
+ const m = t[p];
49
+ l.push([m.card, { scale: [1, 1], backgroundColor: ["#FDFDFD", "#FDFDFD"] }, { duration: 1e-3, at: 0 }], [m.bars, { scale: [1, 1], opacity: [1, 1] }, { duration: 1e-3, at: 0 }], [m.chk, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }]);
50
+ }
51
+ for (const { i: p, s: m } of _) {
52
+ const h = t[p], U = m + 0.55;
53
+ l.push([h.card, { scale: [1, 0.872] }, { duration: 0.133, at: m, ease: [0.3, 0, 0.7, 1] }]), l.push([h.card, { backgroundColor: ["#FDFDFD", "#08EB9D"] }, { duration: 0.083, at: m, ease: "linear" }]), l.push([h.bars, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.05, at: m + 0.033, ease: C }]), l.push([h.card, { scale: [0.872, 0.894] }, { duration: 0.083, at: m + 0.167, ease: r }]), l.push([h.chk, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.133, at: m + 0.133, ease: r }]), l.push([h.chk, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.133, at: U, ease: C }]), l.push([h.card, { backgroundColor: ["#08EB9D", "#FDFDFD"] }, { duration: 0.133, at: U, ease: "linear" }]), l.push([h.card, { scale: [0.894, 1] }, { duration: 0.167, at: U, ease: r }]), l.push([h.bars, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.083, at: U + 0.033, ease: r }]);
54
+ }
55
+ l.push([t[0].card, { opacity: [1, 1] }, { duration: 1e-3, at: 1.5 - 1e-3 }]);
56
+ let u = null, M, P = !0;
57
+ const x = () => {
58
+ P && (u = mn(l, { duration: 1.5 }), u.finished.then(() => {
59
+ P && (M = setTimeout(x, (2 + Math.random() * 2) * 1e3));
60
+ }));
61
+ };
62
+ return M = setTimeout(x, (0.5 + Math.random() * 1) * 1e3), {
63
+ cancel() {
64
+ P = !1, clearTimeout(M), u?.cancel();
65
+ }
66
+ };
67
+ }, D.ɵfac = function(n) {
68
+ return new (n || D)();
69
+ }, D.ɵcmp = /* @__PURE__ */ j({ type: D, selectors: [["zw-mgmt-health-anim"]], hostVars: 2, hostBindings: function(n, t) {
70
+ n & 2 && tn("__host--paused", !t.active());
71
+ }, inputs: { active: [1, "active"] }, decls: 3, vars: 1, consts: [[1, "pill"], [1, "card"], [1, "bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "chk"]], template: function(n, t) {
72
+ n & 1 && (a(0, "div", 0), hn(1, kn, 8, 0, "div", 1, gn), i()), n & 2 && (k(), un(_n(0, On)));
73
+ }, dependencies: [G, nn], styles: [`[_nghost-%COMP%] { display: block; }
74
+
75
+ .pill[_ngcontent-%COMP%] {
76
+ display: inline-flex;
77
+ align-items: center;
78
+ padding: 5px;
79
+ gap: 6px;
80
+ background: #E8E7E7;
81
+ border-radius: 11px;
82
+ }
83
+
84
+ .card[_ngcontent-%COMP%] {
85
+ width: 30px;
86
+ height: 30px;
87
+ border-radius: 6px;
88
+ background: #FDFDFD;
89
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
90
+ flex-shrink: 0;
91
+ position: relative;
92
+ overflow: hidden;
93
+ }
94
+
95
+ .bars[_ngcontent-%COMP%] {
96
+ position: absolute;
97
+ inset: 0;
98
+ display: flex;
99
+ flex-direction: column;
100
+ align-items: center;
101
+ justify-content: center;
102
+ gap: 3px;
103
+ }
104
+
105
+ .bar[_ngcontent-%COMP%] {
106
+ display: block;
107
+ width: 20px;
108
+ height: 3px;
109
+ border-radius: 2px;
110
+ position: relative;
111
+ background: rgba(216, 215, 215, 0.4);
112
+ overflow: hidden;
113
+ }
114
+
115
+ .bar[_ngcontent-%COMP%]::after {
116
+ content: '';
117
+ position: absolute;
118
+ top: 0;
119
+ left: 0;
120
+ width: 100%;
121
+ height: 100%;
122
+ border-radius: 2px;
123
+ opacity: 0.7;
124
+ transform-origin: left center;
125
+ will-change: transform;
126
+ animation-timing-function: ease-in-out;
127
+ animation-iteration-count: infinite;
128
+ animation-fill-mode: both;
129
+ }
130
+
131
+ .bar--b[_ngcontent-%COMP%]::after {
132
+ background: #82AEE8;
133
+ animation-name: _ngcontent-%COMP%_drift-cpu;
134
+ animation-duration: 16s;
135
+ animation-delay: var(--_d1, 0s);
136
+ }
137
+
138
+ .bar--t[_ngcontent-%COMP%]::after {
139
+ background: #7FABA5;
140
+ animation-name: _ngcontent-%COMP%_drift-ram;
141
+ animation-duration: 23s;
142
+ animation-delay: var(--_d2, 0s);
143
+ }
144
+
145
+ .bar--p[_ngcontent-%COMP%]::after {
146
+ background: #C6758A;
147
+ animation-name: _ngcontent-%COMP%_drift-disk;
148
+ animation-duration: 29s;
149
+ animation-delay: var(--_d3, 0s);
150
+ }
151
+
152
+ @keyframes _ngcontent-%COMP%_drift-cpu {
153
+ 0% { transform: scaleX(0.40); }
154
+ 8% { transform: scaleX(0.42); }
155
+ 18% { transform: scaleX(0.68); }
156
+ 24% { transform: scaleX(0.75); }
157
+ 32% { transform: scaleX(0.52); }
158
+ 45% { transform: scaleX(0.44); }
159
+ 60% { transform: scaleX(0.48); }
160
+ 72% { transform: scaleX(0.58); }
161
+ 85% { transform: scaleX(0.43); }
162
+ 100% { transform: scaleX(0.40); }
163
+ }
164
+
165
+ @keyframes _ngcontent-%COMP%_drift-ram {
166
+ 0% { transform: scaleX(0.58); }
167
+ 20% { transform: scaleX(0.62); }
168
+ 40% { transform: scaleX(0.56); }
169
+ 60% { transform: scaleX(0.60); }
170
+ 80% { transform: scaleX(0.64); }
171
+ 100% { transform: scaleX(0.58); }
172
+ }
173
+
174
+ @keyframes _ngcontent-%COMP%_drift-disk {
175
+ 0% { transform: scaleX(0.38); }
176
+ 25% { transform: scaleX(0.42); }
177
+ 50% { transform: scaleX(0.36); }
178
+ 75% { transform: scaleX(0.40); }
179
+ 100% { transform: scaleX(0.38); }
180
+ }
181
+
182
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
183
+ animation-play-state: paused;
184
+ }
185
+
186
+ @media (prefers-reduced-motion: reduce) {
187
+ .bar[_ngcontent-%COMP%]::after {
188
+ animation: none;
189
+ transform: scaleX(0.5);
190
+ }
191
+ }
192
+
193
+ .chk[_ngcontent-%COMP%] {
194
+ position: absolute;
195
+ inset: 0;
196
+ background: transparent;
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: center;
200
+ color: #fff;
201
+ }
202
+
203
+ .chk[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
204
+ font-size: 20px;
205
+ width: 20px;
206
+ height: 20px;
207
+ line-height: 20px;
208
+ }`], changeDetection: 0 });
209
+ let on = D;
210
+ var z, B, y, N, yn, vn;
211
+ const E = class E {
212
+ constructor() {
213
+ g(this, N);
214
+ g(this, z);
215
+ g(this, B);
216
+ g(this, y);
217
+ this.active = K(!0), f(this, z, w(L)), f(this, B, Z(!1)), f(this, y, null);
218
+ const e = w(Y);
219
+ H(() => {
220
+ O(this, N, yn).call(this), s(this, B).set(!0);
221
+ }), e.onDestroy(() => s(this, y)?.cancel()), pn(() => {
222
+ const n = this.active();
223
+ s(this, B).call(this) && (n && !s(this, y) ? f(this, y, O(this, N, vn).call(this)) : !n && s(this, y) && (s(this, y).cancel(), f(this, y, null)));
224
+ });
225
+ }
226
+ };
227
+ z = new WeakMap(), B = new WeakMap(), y = new WeakMap(), N = new WeakSet(), yn = function() {
228
+ s(this, z).nativeElement.querySelectorAll(".card").forEach((e) => {
229
+ const n = e;
230
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
231
+ });
232
+ }, vn = function() {
233
+ const t = s(this, z).nativeElement, r = t.querySelector(".fo-p1"), C = t.querySelector(".fo-p1-bars"), _ = t.querySelector(".fo-warn"), l = t.querySelector(".fo-del"), u = t.querySelector(".fo-extra"), M = t.querySelector(".fo-extra-bars"), P = [
234
+ // === Resets at t=0 ===
235
+ [r, { x: [0, 0], opacity: [1, 1] }, { duration: 1e-3, at: 0 }],
236
+ [C, { scale: [1, 1], opacity: [1, 1] }, { duration: 1e-3, at: 0 }],
237
+ [_, { opacity: [0, 0], scale: [0, 0], x: [0, 0] }, { duration: 1e-3, at: 0 }],
238
+ [l, { opacity: [0, 0], scale: [0, 0], x: [0, 0] }, { duration: 1e-3, at: 0 }],
239
+ [u, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }],
240
+ [M, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }],
241
+ // === Phase 1: Alert formation ===
242
+ [r, { backgroundColor: ["#FDFDFD", "#FC6465"] }, { duration: 0.1, at: 0.017, ease: "linear" }],
243
+ [C, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.1, at: 0.017, ease: "linear" }],
244
+ [r, { scale: [1, 0.883] }, { duration: 0.15, at: 0.017, ease: [0, 0.7, 0.35, 1] }],
245
+ [_, { opacity: [0, 1], scale: [0, 1] }, { duration: 0.117, at: 0.15, ease: [0, 0, 0.3, 1] }],
246
+ [r, { scale: [0.883, 1.011] }, { duration: 0.7, at: 0.2, ease: [0.15, 0.25, 0.85, 0.85] }],
247
+ // === Phase 2: Slide left + new card pop-in ===
248
+ [r, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
249
+ [_, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
250
+ [l, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
251
+ [u, { opacity: [0, 1] }, { duration: 0.017, at: 1.133, ease: "linear" }],
252
+ [u, { scale: [0, 1.117] }, { duration: 0.15, at: 1.133, ease: [0, 0, 0.35, 1] }],
253
+ [u, { borderRadius: ["15px", "6px"] }, { duration: 0.1, at: 1.133, ease: [0, 0, 0.3, 1] }],
254
+ [M, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.05, at: 1.2, ease: [0, 0, 0.3, 1] }],
255
+ [u, { scale: [1.117, 0.979] }, { duration: 0.234, at: 1.283, ease: [0.35, 0, 0.65, 1] }],
256
+ [u, { scale: [0.979, 1] }, { duration: 0.116, at: 1.517, ease: [0, 0, 0.3, 1] }],
257
+ // === Phase 3: Warning → Trash morph ===
258
+ [r, { scale: [1.011, 0.872] }, { duration: 0.167, at: 2.033, ease: [0.4, 0, 0.8, 1] }],
259
+ [_, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.083, at: 2.1, ease: [0.4, 0, 1, 1] }],
260
+ [l, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.067, at: 2.183, ease: [0, 0, 0.3, 1] }],
261
+ [r, { backgroundColor: ["#FC6465", "#D4D4D4"] }, { duration: 0.167, at: 2.167, ease: "ease-out" }],
262
+ [r, { scale: [0.872, 1] }, { duration: 0.733, at: 2.217, ease: [0.22, 1, 0.36, 1] }],
263
+ // === Phase 4: Portal closing ===
264
+ [r, { scale: [1, 0], borderRadius: ["6px", "15px"] }, { duration: 0.284, at: 3.033, ease: "linear" }],
265
+ [l, { clipPath: ["inset(0px round 6px)", "inset(15px round 15px)"] }, { duration: 0.284, at: 3.033, ease: "linear" }],
266
+ [r, { opacity: [1, 0] }, { duration: 0.184, at: 3.133, ease: "linear" }],
267
+ [l, { opacity: [1, 0] }, { duration: 0.184, at: 3.133, ease: "linear" }]
268
+ ];
269
+ let x = null, p, m = !0;
270
+ const h = () => {
271
+ m && (x = mn(P, { duration: 3.33 }), x.finished.then(() => {
272
+ m && (p = setTimeout(h, (2 + Math.random() * 2) * 1e3));
273
+ }));
274
+ };
275
+ return p = setTimeout(h, (0.5 + Math.random() * 1) * 1e3), {
276
+ cancel() {
277
+ m = !1, clearTimeout(p), x?.cancel();
278
+ }
279
+ };
280
+ }, E.ɵfac = function(n) {
281
+ return new (n || E)();
282
+ }, E.ɵcmp = /* @__PURE__ */ j({ type: E, selectors: [["zw-mgmt-failover-anim"]], hostVars: 2, hostBindings: function(n, t) {
283
+ n & 2 && tn("__host--paused", !t.active());
284
+ }, inputs: { active: [1, "active"] }, decls: 27, vars: 0, consts: [[1, "pill"], [1, "card", "fo-p1"], [1, "bars", "fo-p1-bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "card"], [1, "bars"], [1, "fo-warn"], [1, "fo-del"], [1, "card", "fo-extra"], [1, "bars", "fo-extra-bars"]], template: function(n, t) {
285
+ n & 1 && (a(0, "div", 0)(1, "div", 1)(2, "div", 2), c(3, "span", 3)(4, "span", 4)(5, "span", 5), i()(), a(6, "div", 6)(7, "div", 7), c(8, "span", 3)(9, "span", 4)(10, "span", 5), i()(), a(11, "div", 6)(12, "div", 7), c(13, "span", 3)(14, "span", 4)(15, "span", 5), i()(), a(16, "div", 8)(17, "mat-icon"), o(18, "warning_amber"), i()(), a(19, "div", 9)(20, "mat-icon"), o(21, "delete"), i()(), a(22, "div", 10)(23, "div", 11), c(24, "span", 3)(25, "span", 4)(26, "span", 5), i()()());
286
+ }, dependencies: [G, nn], styles: [`[_nghost-%COMP%] { display: block; }
287
+
288
+ .pill[_ngcontent-%COMP%] {
289
+ display: inline-flex;
290
+ align-items: center;
291
+ padding: 5px;
292
+ gap: 6px;
293
+ background: #E8E7E7;
294
+ border-radius: 11px;
295
+ position: relative;
296
+ overflow: visible;
297
+ }
298
+
299
+ .card[_ngcontent-%COMP%] {
300
+ width: 30px;
301
+ height: 30px;
302
+ border-radius: 6px;
303
+ background: #FDFDFD;
304
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
305
+ flex-shrink: 0;
306
+ position: relative;
307
+ overflow: hidden;
308
+ }
309
+
310
+ .bars[_ngcontent-%COMP%] {
311
+ position: absolute;
312
+ inset: 0;
313
+ display: flex;
314
+ flex-direction: column;
315
+ align-items: center;
316
+ justify-content: center;
317
+ gap: 3px;
318
+ }
319
+
320
+ .bar[_ngcontent-%COMP%] {
321
+ display: block;
322
+ width: 20px;
323
+ height: 3px;
324
+ border-radius: 2px;
325
+ position: relative;
326
+ background: rgba(216, 215, 215, 0.4);
327
+ overflow: hidden;
328
+ }
329
+
330
+ .bar[_ngcontent-%COMP%]::after {
331
+ content: '';
332
+ position: absolute;
333
+ top: 0;
334
+ left: 0;
335
+ width: 100%;
336
+ height: 100%;
337
+ border-radius: 2px;
338
+ opacity: 0.7;
339
+ transform-origin: left center;
340
+ will-change: transform;
341
+ animation-timing-function: ease-in-out;
342
+ animation-iteration-count: infinite;
343
+ animation-fill-mode: both;
344
+ }
345
+
346
+ .bar--b[_ngcontent-%COMP%]::after {
347
+ background: #82AEE8;
348
+ animation-name: _ngcontent-%COMP%_drift-cpu;
349
+ animation-duration: 16s;
350
+ animation-delay: var(--_d1, 0s);
351
+ }
352
+
353
+ .bar--t[_ngcontent-%COMP%]::after {
354
+ background: #7FABA5;
355
+ animation-name: _ngcontent-%COMP%_drift-ram;
356
+ animation-duration: 23s;
357
+ animation-delay: var(--_d2, 0s);
358
+ }
359
+
360
+ .bar--p[_ngcontent-%COMP%]::after {
361
+ background: #C6758A;
362
+ animation-name: _ngcontent-%COMP%_drift-disk;
363
+ animation-duration: 29s;
364
+ animation-delay: var(--_d3, 0s);
365
+ }
366
+
367
+ @keyframes _ngcontent-%COMP%_drift-cpu {
368
+ 0% { transform: scaleX(0.40); }
369
+ 8% { transform: scaleX(0.42); }
370
+ 18% { transform: scaleX(0.68); }
371
+ 24% { transform: scaleX(0.75); }
372
+ 32% { transform: scaleX(0.52); }
373
+ 45% { transform: scaleX(0.44); }
374
+ 60% { transform: scaleX(0.48); }
375
+ 72% { transform: scaleX(0.58); }
376
+ 85% { transform: scaleX(0.43); }
377
+ 100% { transform: scaleX(0.40); }
378
+ }
379
+
380
+ @keyframes _ngcontent-%COMP%_drift-ram {
381
+ 0% { transform: scaleX(0.58); }
382
+ 20% { transform: scaleX(0.62); }
383
+ 40% { transform: scaleX(0.56); }
384
+ 60% { transform: scaleX(0.60); }
385
+ 80% { transform: scaleX(0.64); }
386
+ 100% { transform: scaleX(0.58); }
387
+ }
388
+
389
+ @keyframes _ngcontent-%COMP%_drift-disk {
390
+ 0% { transform: scaleX(0.38); }
391
+ 25% { transform: scaleX(0.42); }
392
+ 50% { transform: scaleX(0.36); }
393
+ 75% { transform: scaleX(0.40); }
394
+ 100% { transform: scaleX(0.38); }
395
+ }
396
+
397
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
398
+ animation-play-state: paused;
399
+ }
400
+
401
+ @media (prefers-reduced-motion: reduce) {
402
+ .bar[_ngcontent-%COMP%]::after {
403
+ animation: none;
404
+ transform: scaleX(0.5);
405
+ }
406
+ }
407
+
408
+ .fo-p1[_ngcontent-%COMP%] { z-index: 1; }
409
+
410
+ .fo-warn[_ngcontent-%COMP%], .fo-del[_ngcontent-%COMP%] {
411
+ position: absolute;
412
+ left: 5px;
413
+ top: 5px;
414
+ width: 30px;
415
+ height: 30px;
416
+ z-index: 2;
417
+ display: flex;
418
+ align-items: center;
419
+ justify-content: center;
420
+ opacity: 0;
421
+ }
422
+
423
+ .fo-warn[_ngcontent-%COMP%] { color: #fff; }
424
+
425
+ .fo-warn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
426
+ font-size: 18px;
427
+ width: 18px;
428
+ height: 18px;
429
+ line-height: 18px;
430
+ }
431
+
432
+ .fo-del[_ngcontent-%COMP%] { color: #3C5F58; }
433
+
434
+ .fo-del[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
435
+ font-size: 16px;
436
+ width: 16px;
437
+ height: 16px;
438
+ line-height: 16px;
439
+ }
440
+
441
+ .fo-extra[_ngcontent-%COMP%] {
442
+ position: absolute;
443
+ top: 5px;
444
+ left: 5px;
445
+ border-radius: 15px;
446
+ }
447
+
448
+ .fo-extra-bars[_ngcontent-%COMP%] {
449
+ opacity: 0;
450
+ transform: scale(0);
451
+ }`], changeDetection: 0 });
452
+ let sn = E;
453
+ var q, R, v, V, wn, Mn;
454
+ const F = class F {
455
+ constructor() {
456
+ g(this, V);
457
+ g(this, q);
458
+ g(this, R);
459
+ g(this, v);
460
+ this.active = K(!0), f(this, q, w(L)), f(this, R, Z(!1)), f(this, v, null);
461
+ const e = w(Y);
462
+ H(() => {
463
+ O(this, V, wn).call(this), s(this, R).set(!0);
464
+ }), e.onDestroy(() => s(this, v)?.cancel()), pn(() => {
465
+ const n = this.active();
466
+ s(this, R).call(this) && (n && !s(this, v) ? f(this, v, O(this, V, Mn).call(this)) : !n && s(this, v) && (s(this, v).cancel(), f(this, v, null)));
467
+ });
468
+ }
469
+ };
470
+ q = new WeakMap(), R = new WeakMap(), v = new WeakMap(), V = new WeakSet(), wn = function() {
471
+ s(this, q).nativeElement.querySelectorAll(".card").forEach((e) => {
472
+ const n = e;
473
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
474
+ });
475
+ }, Mn = function() {
476
+ const n = s(this, q).nativeElement, t = n.querySelector(".bk-ghost"), r = n.querySelector(".bk-lock"), C = -42, _ = 72, l = -42, u = 30, M = [0.42, 0, 0.58, 1], P = [
477
+ [t, { opacity: [0, 0], scale: [1, 1] }, { duration: 1e-3, at: 0 }],
478
+ [t, { left: ["0px", "0px"], width: ["30px", "30px"] }, { duration: 1e-3, at: 0 }],
479
+ [t, { backgroundColor: ["#FDFDFD", "#FDFDFD"] }, { duration: 1e-3, at: 0 }],
480
+ [t, { boxShadow: ["0 0 0 rgba(0,0,0,0)", "0 0 0 rgba(0,0,0,0)"] }, { duration: 1e-3, at: 0 }],
481
+ [r, { opacity: [0, 0], scale: [0, 0], x: ["0px", "0px"] }, { duration: 1e-3, at: 0 }],
482
+ [t, { opacity: [0, 1] }, { duration: 1e-3, at: 0.1 }],
483
+ [
484
+ t,
485
+ { left: ["0px", `${C}px`], width: ["30px", `${_}px`] },
486
+ { duration: 0.067, at: 0.1, ease: [0, 0, 0.58, 1] }
487
+ ],
488
+ [
489
+ t,
490
+ { width: [`${_}px`, `${u}px`] },
491
+ { duration: 0.25, at: 0.167, ease: M }
492
+ ],
493
+ [
494
+ t,
495
+ { boxShadow: ["0 0 0 rgba(0,0,0,0)", "0 2px 8px rgba(0,0,0,0.10)"] },
496
+ { duration: 0.05, at: 0.417 }
497
+ ],
498
+ [t, { backgroundColor: ["#FDFDFD", "#08EB9E"] }, { duration: 0.067, at: 0.533, ease: "linear" }],
499
+ [t, { boxShadow: ["0 2px 8px rgba(0,0,0,0.10)", "0 1px 6px rgba(8,235,158,0.3)"] }, { duration: 0.1, at: 0.533 }],
500
+ [r, { opacity: [0, 1] }, { duration: 0.017, at: 0.567 }],
501
+ [r, { scale: [0, 0.35] }, { duration: 0.033, at: 0.567, ease: [0, 0, 0.58, 1] }],
502
+ [r, { scale: [0.35, 1] }, { duration: 0.3, at: 0.6, ease: [0.1, 0, 0.58, 1] }],
503
+ [t, { scale: [1, 0.97] }, { duration: 0.167, at: 0.533 }],
504
+ [t, { scale: [0.97, 1.12] }, { duration: 0.217, at: 0.7, ease: [0, 0, 0.58, 1] }],
505
+ [t, { left: [`${l}px`, `${l - 65}px`] }, { duration: 0.25, at: 1.883, ease: [0.25, 0, 1, 1] }],
506
+ [t, { scale: [1.12, 0.82] }, { duration: 0.25, at: 1.883, ease: "linear" }],
507
+ [r, { x: ["0px", "-5px"] }, { duration: 0.175, at: 1.883, ease: [0.2, 0, 0.58, 1] }],
508
+ [r, { x: ["-5px", "-1px"] }, { duration: 0.075, at: 2.058, ease: [0, 0, 0.58, 1] }],
509
+ [t, { left: [`${l - 65}px`, `${l - 76}px`] }, { duration: 0.083, at: 2.133, ease: "linear" }],
510
+ [t, { scale: [0.82, 0.25] }, { duration: 0.083, at: 2.133, ease: "linear" }],
511
+ [t, { opacity: [1, 0] }, { duration: 0.067, at: 2.133, ease: "linear" }],
512
+ [t, { opacity: [0, 0] }, { duration: 1e-3, at: 2.333 - 1e-3 }]
513
+ ];
514
+ let x = null, p, m = !0;
515
+ const h = () => {
516
+ m && (x = mn(P, { duration: 2.333 }), x.finished.then(() => {
517
+ m && (p = setTimeout(h, (2 + Math.random() * 2) * 1e3));
518
+ }));
519
+ };
520
+ return p = setTimeout(h, (0.5 + Math.random() * 1) * 1e3), {
521
+ cancel() {
522
+ m = !1, clearTimeout(p), x?.cancel();
523
+ }
524
+ };
525
+ }, F.ɵfac = function(n) {
526
+ return new (n || F)();
527
+ }, F.ɵcmp = /* @__PURE__ */ j({ type: F, selectors: [["zw-mgmt-backup-anim"]], hostVars: 2, hostBindings: function(n, t) {
528
+ n & 2 && tn("__host--paused", !t.active());
529
+ }, inputs: { active: [1, "active"] }, decls: 19, vars: 0, consts: [[1, "pill"], [1, "card", "bk-first"], [1, "bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "bk-ghost"], [1, "bk-lock"], [1, "card"]], template: function(n, t) {
530
+ n & 1 && (a(0, "div", 0)(1, "div", 1)(2, "div", 2), c(3, "span", 3)(4, "span", 4)(5, "span", 5), i(), a(6, "div", 6)(7, "mat-icon", 7), o(8, "lock"), i()()(), a(9, "div", 8)(10, "div", 2), c(11, "span", 3)(12, "span", 4)(13, "span", 5), i()(), a(14, "div", 8)(15, "div", 2), c(16, "span", 3)(17, "span", 4)(18, "span", 5), i()()());
531
+ }, dependencies: [G, nn], styles: [`[_nghost-%COMP%] { display: block; }
532
+
533
+ .pill[_ngcontent-%COMP%] {
534
+ display: inline-flex;
535
+ align-items: center;
536
+ padding: 5px;
537
+ gap: 6px;
538
+ background: #E8E7E7;
539
+ border-radius: 11px;
540
+ overflow: visible;
541
+ }
542
+
543
+ .card[_ngcontent-%COMP%] {
544
+ width: 30px;
545
+ height: 30px;
546
+ border-radius: 6px;
547
+ background: #FDFDFD;
548
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
549
+ flex-shrink: 0;
550
+ position: relative;
551
+ overflow: hidden;
552
+ z-index: 1;
553
+ }
554
+
555
+ .bars[_ngcontent-%COMP%] {
556
+ position: absolute;
557
+ inset: 0;
558
+ display: flex;
559
+ flex-direction: column;
560
+ align-items: center;
561
+ justify-content: center;
562
+ gap: 3px;
563
+ }
564
+
565
+ .bar[_ngcontent-%COMP%] {
566
+ display: block;
567
+ width: 20px;
568
+ height: 3px;
569
+ border-radius: 2px;
570
+ position: relative;
571
+ background: rgba(216, 215, 215, 0.4);
572
+ overflow: hidden;
573
+ }
574
+
575
+ .bar[_ngcontent-%COMP%]::after {
576
+ content: '';
577
+ position: absolute;
578
+ top: 0;
579
+ left: 0;
580
+ width: 100%;
581
+ height: 100%;
582
+ border-radius: 2px;
583
+ opacity: 0.7;
584
+ transform-origin: left center;
585
+ will-change: transform;
586
+ animation-timing-function: ease-in-out;
587
+ animation-iteration-count: infinite;
588
+ animation-fill-mode: both;
589
+ }
590
+
591
+ .bar--b[_ngcontent-%COMP%]::after {
592
+ background: #82AEE8;
593
+ animation-name: _ngcontent-%COMP%_drift-cpu;
594
+ animation-duration: 16s;
595
+ animation-delay: var(--_d1, 0s);
596
+ }
597
+
598
+ .bar--t[_ngcontent-%COMP%]::after {
599
+ background: #7FABA5;
600
+ animation-name: _ngcontent-%COMP%_drift-ram;
601
+ animation-duration: 23s;
602
+ animation-delay: var(--_d2, 0s);
603
+ }
604
+
605
+ .bar--p[_ngcontent-%COMP%]::after {
606
+ background: #C6758A;
607
+ animation-name: _ngcontent-%COMP%_drift-disk;
608
+ animation-duration: 29s;
609
+ animation-delay: var(--_d3, 0s);
610
+ }
611
+
612
+ @keyframes _ngcontent-%COMP%_drift-cpu {
613
+ 0% { transform: scaleX(0.40); }
614
+ 8% { transform: scaleX(0.42); }
615
+ 18% { transform: scaleX(0.68); }
616
+ 24% { transform: scaleX(0.75); }
617
+ 32% { transform: scaleX(0.52); }
618
+ 45% { transform: scaleX(0.44); }
619
+ 60% { transform: scaleX(0.48); }
620
+ 72% { transform: scaleX(0.58); }
621
+ 85% { transform: scaleX(0.43); }
622
+ 100% { transform: scaleX(0.40); }
623
+ }
624
+
625
+ @keyframes _ngcontent-%COMP%_drift-ram {
626
+ 0% { transform: scaleX(0.58); }
627
+ 20% { transform: scaleX(0.62); }
628
+ 40% { transform: scaleX(0.56); }
629
+ 60% { transform: scaleX(0.60); }
630
+ 80% { transform: scaleX(0.64); }
631
+ 100% { transform: scaleX(0.58); }
632
+ }
633
+
634
+ @keyframes _ngcontent-%COMP%_drift-disk {
635
+ 0% { transform: scaleX(0.38); }
636
+ 25% { transform: scaleX(0.42); }
637
+ 50% { transform: scaleX(0.36); }
638
+ 75% { transform: scaleX(0.40); }
639
+ 100% { transform: scaleX(0.38); }
640
+ }
641
+
642
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
643
+ animation-play-state: paused;
644
+ }
645
+
646
+ @media (prefers-reduced-motion: reduce) {
647
+ .bar[_ngcontent-%COMP%]::after {
648
+ animation: none;
649
+ transform: scaleX(0.5);
650
+ }
651
+ }
652
+
653
+ .bk-first[_ngcontent-%COMP%] {
654
+ overflow: visible;
655
+ }
656
+
657
+ .bk-first[_ngcontent-%COMP%] .bars[_ngcontent-%COMP%] { z-index: 2; }
658
+
659
+ .bk-ghost[_ngcontent-%COMP%] {
660
+ position: absolute;
661
+ top: 0;
662
+ left: 0;
663
+ width: 100%;
664
+ height: 100%;
665
+ background: #FDFDFD;
666
+ border-radius: 6px;
667
+ box-shadow: 0 0 0 rgba(0, 0, 0, 0);
668
+ display: flex;
669
+ align-items: center;
670
+ justify-content: center;
671
+ z-index: 1;
672
+ opacity: 0;
673
+ color: #fff;
674
+ }
675
+
676
+ .bk-lock[_ngcontent-%COMP%] {
677
+ opacity: 0;
678
+ font-size: 16px;
679
+ width: 16px;
680
+ height: 16px;
681
+ line-height: 16px;
682
+ }`], changeDetection: 0 });
683
+ let rn = F;
684
+ const Dn = () => [0, 1, 2];
685
+ function En(d, e) {
686
+ d & 1 && (W(0, "div", 1)(1, "div", 2), an(2, "div", 3), J(), W(3, "div", 4), an(4, "div", 3), J(), W(5, "div", 5), an(6, "div", 3), J()());
687
+ }
688
+ const X = class X {
689
+ constructor() {
690
+ this.active = K(!0);
691
+ const e = w(L).nativeElement;
692
+ H(() => {
693
+ e.querySelectorAll(".card").forEach((n) => {
694
+ n.style.setProperty("--_sd", `-${(Math.random() * 4).toFixed(2)}s`);
695
+ });
696
+ });
697
+ }
698
+ };
699
+ X.ɵfac = function(n) {
700
+ return new (n || X)();
701
+ }, X.ɵcmp = /* @__PURE__ */ j({ type: X, selectors: [["zw-mgmt-scaling-anim"]], hostVars: 2, hostBindings: function(n, t) {
702
+ n & 2 && tn("__host--paused", !t.active());
703
+ }, inputs: { active: [1, "active"] }, decls: 3, vars: 1, consts: [[1, "pill"], [1, "card"], [1, "row", "row--b"], [1, "fill"], [1, "row", "row--t"], [1, "row", "row--p"]], template: function(n, t) {
704
+ n & 1 && (W(0, "div", 0), hn(1, En, 7, 0, "div", 1, gn), J()), n & 2 && (k(), un(_n(0, Dn)));
705
+ }, styles: [`[_nghost-%COMP%] { display: block; }
706
+
707
+ .pill[_ngcontent-%COMP%] {
708
+ display: inline-flex;
709
+ align-items: center;
710
+ padding: 5px;
711
+ gap: 6px;
712
+ background: #E8E7E7;
713
+ border-radius: 11px;
714
+ }
715
+
716
+ .card[_ngcontent-%COMP%] {
717
+ width: 30px;
718
+ height: 30px;
719
+ border-radius: 6px;
720
+ background: #FDFDFD;
721
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
722
+ flex-shrink: 0;
723
+ display: flex;
724
+ flex-direction: column;
725
+ align-items: flex-start;
726
+ justify-content: center;
727
+ padding: 0 5px;
728
+ gap: 3px;
729
+ }
730
+
731
+ .row[_ngcontent-%COMP%] {
732
+ width: 20px;
733
+ height: 3px;
734
+ border-radius: 2px;
735
+ background: #EEEEEE;
736
+ position: relative;
737
+ overflow: hidden;
738
+ }
739
+
740
+ .fill[_ngcontent-%COMP%] {
741
+ position: absolute;
742
+ left: 0;
743
+ top: 0;
744
+ height: 100%;
745
+ border-radius: 2px;
746
+ }
747
+
748
+ .row--b[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
749
+ background: #82AEE3;
750
+ animation: _ngcontent-%COMP%_sc-blue 4s linear infinite;
751
+ animation-delay: var(--_sd, 0s);
752
+ }
753
+
754
+ .row--t[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
755
+ background: #80ACA4;
756
+ animation: _ngcontent-%COMP%_sc-teal 4s linear infinite;
757
+ animation-delay: var(--_sd, 0s);
758
+ }
759
+
760
+ .row--p[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
761
+ background: #C9768E;
762
+ animation: _ngcontent-%COMP%_sc-red 4s linear infinite;
763
+ animation-delay: var(--_sd, 0s);
764
+ }
765
+
766
+ @keyframes _ngcontent-%COMP%_sc-blue {
767
+ 0% { width: 20%; }
768
+ 37.5% { width: 20%; }
769
+ 40% { width: 39%; }
770
+ 42.5% { width: 46%; }
771
+ 50% { width: 46%; }
772
+ 52.5% { width: 50%; }
773
+ 55% { width: 61%; }
774
+ 57.5% { width: 76%; }
775
+ 60% { width: 80%; }
776
+ 67.5% { width: 80%; }
777
+ 70% { width: 83%; }
778
+ 72.5% { width: 91%; }
779
+ 75% { width: 94%; }
780
+ 87.5% { width: 94%; }
781
+ 90% { width: 89%; }
782
+ 92.5% { width: 74%; }
783
+ 95% { width: 40%; }
784
+ 97.5% { width: 28%; }
785
+ 100% { width: 20%; }
786
+ }
787
+
788
+ @keyframes _ngcontent-%COMP%_sc-teal {
789
+ 0% { width: 15%; }
790
+ 37.5% { width: 15%; }
791
+ 40% { width: 40%; }
792
+ 42.5% { width: 47%; }
793
+ 50% { width: 47%; }
794
+ 52.5% { width: 51%; }
795
+ 55% { width: 58%; }
796
+ 57.5% { width: 62%; }
797
+ 67.5% { width: 62%; }
798
+ 70% { width: 66%; }
799
+ 72.5% { width: 73%; }
800
+ 75% { width: 86%; }
801
+ 87.5% { width: 86%; }
802
+ 90% { width: 73%; }
803
+ 92.5% { width: 47%; }
804
+ 95% { width: 22%; }
805
+ 97.5% { width: 15%; }
806
+ 100% { width: 15%; }
807
+ }
808
+
809
+ @keyframes _ngcontent-%COMP%_sc-red {
810
+ 0% { width: 20%; }
811
+ 37.5% { width: 20%; }
812
+ 40% { width: 28%; }
813
+ 42.5% { width: 35%; }
814
+ 45% { width: 39%; }
815
+ 50% { width: 39%; }
816
+ 52.5% { width: 43%; }
817
+ 55% { width: 54%; }
818
+ 57.5% { width: 61%; }
819
+ 60% { width: 72%; }
820
+ 67.5% { width: 72%; }
821
+ 70% { width: 83%; }
822
+ 72.5% { width: 91%; }
823
+ 75% { width: 98%; }
824
+ 87.5% { width: 98%; }
825
+ 90% { width: 61%; }
826
+ 92.5% { width: 28%; }
827
+ 95% { width: 17%; }
828
+ 100% { width: 20%; }
829
+ }
830
+
831
+ .__host--paused[_nghost-%COMP%] .fill[_ngcontent-%COMP%] {
832
+ animation-play-state: paused;
833
+ }
834
+
835
+ @media (prefers-reduced-motion: reduce) {
836
+ .fill[_ngcontent-%COMP%] { animation: none; width: 50%; }
837
+ }`], changeDetection: 0 });
838
+ let cn = X;
839
+ const A = class A {
840
+ constructor() {
841
+ this.isInView = Z(!1);
842
+ const e = w(L), n = w(Y);
843
+ H(() => {
844
+ const t = new IntersectionObserver(([r]) => this.isInView.set(r.isIntersecting), { rootMargin: "200px 0px" });
845
+ t.observe(e.nativeElement), n.onDestroy(() => t.disconnect());
846
+ });
847
+ }
848
+ };
849
+ A.ɵfac = function(n) {
850
+ return new (n || A)();
851
+ }, A.ɵcmp = /* @__PURE__ */ j({ type: A, selectors: [["zw-managed-service-diagram"]], decls: 97, vars: 4, consts: [[1, "__outer"], [1, "__title"], [1, "__mgmt-grid"], [1, "__mgmt-row"], [1, "__mgmt-feature"], [1, "__feature-label"], [3, "active"], [1, "__categories"], [1, "__cat-row"], [1, "__cat-card"], [1, "__cat-title"], [1, "__cat-items"], [1, "__cat-item"], ["svgIcon", "postgresql", 1, "__svc-icon"], [1, "__svc-label"], ["svgIcon", "mariadb", 1, "__svc-icon"], ["svgIcon", "clickhouse", 1, "__svc-icon"], ["svgIcon", "elasticsearch", 1, "__svc-icon"], ["svgIcon", "meilisearch", 1, "__svc-icon"], ["svgIcon", "typesense", 1, "__svc-icon"], ["svgIcon", "kafka", 1, "__svc-icon"], ["svgIcon", "nats", 1, "__svc-icon"], ["svgIcon", "valkey", 1, "__svc-icon"], ["svgIcon", "keydb", 1, "__svc-icon"], ["svgIcon", "qdrant", 1, "__svc-icon"], [1, "__cat-items", "__cat-items--text-only"]], template: function(n, t) {
852
+ n & 1 && (a(0, "div", 0)(1, "span", 1), o(2, "Zerops management"), i(), a(3, "div", 2)(4, "div", 3)(5, "div", 4)(6, "span", 5), o(7, "Health monitoring"), i(), c(8, "zw-mgmt-health-anim", 6), i(), a(9, "div", 4)(10, "span", 5), o(11, "Failover"), i(), c(12, "zw-mgmt-failover-anim", 6), i()(), a(13, "div", 3)(14, "div", 4)(15, "span", 5), o(16, "Backup"), i(), c(17, "zw-mgmt-backup-anim", 6), i(), a(18, "div", 4)(19, "span", 5), o(20, "Scaling"), i(), c(21, "zw-mgmt-scaling-anim", 6), i()()(), a(22, "div", 7)(23, "div", 8)(24, "div", 9)(25, "span", 10), o(26, "Databases"), i(), a(27, "div", 11)(28, "div", 12), c(29, "mat-icon", 13), a(30, "span", 14), o(31, "PostgreSQL"), i()(), a(32, "div", 12), c(33, "mat-icon", 15), a(34, "span", 14), o(35, "MariaDB"), i()(), a(36, "div", 12), c(37, "mat-icon", 16), a(38, "span", 14), o(39, "ClickHouse"), i()()()(), a(40, "div", 9)(41, "span", 10), o(42, "Search"), i(), a(43, "div", 11)(44, "div", 12), c(45, "mat-icon", 17), a(46, "span", 14), o(47, "Elasticsearch"), i()(), a(48, "div", 12), c(49, "mat-icon", 18), a(50, "span", 14), o(51, "Meilisearch"), i()(), a(52, "div", 12), c(53, "mat-icon", 19), a(54, "span", 14), o(55, "Typesense"), i()()()(), a(56, "div", 9)(57, "span", 10), o(58, "Queue"), i(), a(59, "div", 11)(60, "div", 12), c(61, "mat-icon", 20), a(62, "span", 14), o(63, "Kafka"), i()(), a(64, "div", 12), c(65, "mat-icon", 21), a(66, "span", 14), o(67, "NATS"), i()()()()(), a(68, "div", 8)(69, "div", 9)(70, "span", 10), o(71, "Cache"), i(), a(72, "div", 11)(73, "div", 12), c(74, "mat-icon", 22), a(75, "span", 14), o(76, "Valkey"), i()(), a(77, "div", 12), c(78, "mat-icon", 23), a(79, "span", 14), o(80, "KeyDB"), i()()()(), a(81, "div", 9)(82, "span", 10), o(83, "Vector"), i(), a(84, "div", 11)(85, "div", 12), c(86, "mat-icon", 24), a(87, "span", 14), o(88, "Qdrant"), i()()()(), a(89, "div", 9)(90, "span", 10), o(91, "Storage"), i(), a(92, "div", 25)(93, "span", 14), o(94, "S3-compatible object"), i(), a(95, "span", 14), o(96, "Shared POSIX"), i()()()()()()), n & 2 && (k(8), Q("active", t.isInView()), k(4), Q("active", t.isInView()), k(5), Q("active", t.isInView()), k(4), Q("active", t.isInView()));
853
+ }, dependencies: [
854
+ G,
855
+ nn,
856
+ on,
857
+ sn,
858
+ rn,
859
+ cn
860
+ ], styles: [`[_nghost-%COMP%] {
861
+ display: block;
862
+ contain: layout style;
863
+ }
864
+
865
+ .__outer[_ngcontent-%COMP%] {
866
+ display: flex;
867
+ flex-direction: column;
868
+ align-items: center;
869
+ padding: 24px 8px 8px;
870
+ gap: 48px;
871
+ width: 536px;
872
+ min-width: 536px;
873
+ border: 1px solid #C6C5C5;
874
+ border-radius: 24px;
875
+ }
876
+ @media (max-width: 599px) {
877
+ .__outer[_ngcontent-%COMP%] {
878
+ width: 100%;
879
+ min-width: 0;
880
+ gap: 32px;
881
+ }
882
+ }
883
+
884
+ .__title[_ngcontent-%COMP%] {
885
+ font-family: var(--font-family-brand);
886
+ font-weight: 600;
887
+ font-size: 8px;
888
+ line-height: 10px;
889
+ text-align: center;
890
+ letter-spacing: 0.12em;
891
+ text-transform: uppercase;
892
+ font-feature-settings: "tnum" on, "lnum" on;
893
+ color: #254E4A;
894
+ font-variation-settings: "CRSV" 0, "SHRP" 100, "slnt" 0;
895
+ align-self: stretch;
896
+ }
897
+
898
+ .__mgmt-grid[_ngcontent-%COMP%] {
899
+ display: flex;
900
+ flex-direction: column;
901
+ gap: 48px;
902
+ width: 100%;
903
+ padding: 0 16px;
904
+ }
905
+ @media (max-width: 599px) {
906
+ .__mgmt-grid[_ngcontent-%COMP%] {
907
+ gap: 24px;
908
+ padding: 0 8px;
909
+ }
910
+ }
911
+
912
+ .__mgmt-row[_ngcontent-%COMP%] {
913
+ display: flex;
914
+ gap: 16px;
915
+ align-items: center;
916
+ width: 100%;
917
+ }
918
+
919
+ .__mgmt-feature[_ngcontent-%COMP%] {
920
+ flex: 1;
921
+ min-width: 0;
922
+ display: flex;
923
+ flex-direction: column;
924
+ align-items: center;
925
+ gap: 8px;
926
+ border-radius: 16px;
927
+ }
928
+
929
+ .__feature-label[_ngcontent-%COMP%] {
930
+ font-family: "Roboto Mono", "JetBrains Mono", ui-monospace, monospace;
931
+ font-weight: 400;
932
+ font-size: 10px;
933
+ line-height: 13px;
934
+ text-align: center;
935
+ letter-spacing: 0.02em;
936
+ color: #254E4A;
937
+ align-self: stretch;
938
+ }
939
+
940
+ .__categories[_ngcontent-%COMP%] {
941
+ display: flex;
942
+ flex-direction: column;
943
+ gap: 16px;
944
+ padding: 8px;
945
+ border-radius: 16px;
946
+ width: 100%;
947
+ }
948
+ @media (max-width: 599px) {
949
+ .__categories[_ngcontent-%COMP%] {
950
+ flex-direction: row;
951
+ flex-wrap: wrap;
952
+ gap: 8px;
953
+ padding: 4px;
954
+ }
955
+ }
956
+
957
+ .__cat-row[_ngcontent-%COMP%] {
958
+ display: flex;
959
+ flex-wrap: wrap;
960
+ gap: 16px;
961
+ width: 100%;
962
+ }
963
+ @media (max-width: 599px) {
964
+ .__cat-row[_ngcontent-%COMP%] {
965
+ display: contents;
966
+ }
967
+ }
968
+
969
+ .__cat-card[_ngcontent-%COMP%] {
970
+ flex: 1;
971
+ min-width: 0;
972
+ display: flex;
973
+ flex-direction: column;
974
+ gap: 16px;
975
+ padding: 16px;
976
+ background: #E8E7E7;
977
+ border-radius: 12px;
978
+ min-height: 94px;
979
+ }
980
+ @media (max-width: 599px) {
981
+ .__cat-card[_ngcontent-%COMP%] {
982
+ flex: 0 0 calc(50% - 4px);
983
+ min-width: calc(50% - 4px);
984
+ gap: 10px;
985
+ padding: 12px;
986
+ min-height: 0;
987
+ }
988
+ }
989
+
990
+ .__cat-title[_ngcontent-%COMP%] {
991
+ font-family: var(--font-family-brand);
992
+ font-weight: 600;
993
+ font-size: 8px;
994
+ line-height: 10px;
995
+ text-align: center;
996
+ letter-spacing: 0.12em;
997
+ text-transform: uppercase;
998
+ font-feature-settings: "tnum" on, "lnum" on;
999
+ color: #254E4A;
1000
+ font-variation-settings: "CRSV" 0, "SHRP" 100, "slnt" 0;
1001
+ align-self: stretch;
1002
+ }
1003
+
1004
+ .__cat-items[_ngcontent-%COMP%] {
1005
+ display: flex;
1006
+ flex-direction: column;
1007
+ gap: 8px;
1008
+ }
1009
+
1010
+ .__cat-items--text-only[_ngcontent-%COMP%] {
1011
+ gap: 4px;
1012
+ }
1013
+
1014
+ .__cat-item[_ngcontent-%COMP%] {
1015
+ display: flex;
1016
+ align-items: center;
1017
+ gap: 8px;
1018
+ white-space: nowrap;
1019
+ }
1020
+
1021
+ .__svc-icon[_ngcontent-%COMP%] {
1022
+ width: 16px !important;
1023
+ height: 16px !important;
1024
+ font-size: 16px !important;
1025
+ line-height: 16px !important;
1026
+ color: #254E4A;
1027
+ flex-shrink: 0;
1028
+ }
1029
+
1030
+ .__svc-label[_ngcontent-%COMP%] {
1031
+ font-family: "Roboto Mono", "JetBrains Mono", ui-monospace, monospace;
1032
+ font-weight: 400;
1033
+ font-size: 10px;
1034
+ line-height: 13px;
1035
+ letter-spacing: 0.02em;
1036
+ color: #254E4A;
1037
+ white-space: nowrap;
1038
+ }`], changeDetection: 0 });
1039
+ let dn = A;
1040
+ const I = class I {
1041
+ };
1042
+ I.ɵfac = function(n) {
1043
+ return new (n || I)();
1044
+ }, I.ɵcmp = /* @__PURE__ */ j({ type: I, selectors: [["zwe-managed-service-diagram-element"]], decls: 2, vars: 0, consts: [[1, "zerops"]], template: function(n, t) {
1045
+ n & 1 && (a(0, "div", 0), c(1, "zw-managed-service-diagram"), i());
1046
+ }, dependencies: [dn], styles: ["[_nghost-%COMP%] { display: block; }"], changeDetection: 0 });
1047
+ let ln = I;
1048
+ Cn().then((d) => {
1049
+ customElements.get("zerops-managed-service-diagram") || customElements.define("zerops-managed-service-diagram", Pn(ln, { injector: d.injector }));
1050
+ });