@zerops/web-components 0.3.0 → 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.
- package/README.md +12 -0
- package/chunks/index-RTjd7i0F.js +2968 -0
- package/containers-cards.d.ts +12 -0
- package/containers-cards.js +872 -0
- package/managed-service-diagram.js +215 -3163
- package/package.json +5 -1
- package/recipes/zerops-showcase.json +1 -1
|
@@ -0,0 +1,872 @@
|
|
|
1
|
+
var ce = (n) => {
|
|
2
|
+
throw TypeError(n);
|
|
3
|
+
};
|
|
4
|
+
var Q = (n, e, t) => e.has(n) || ce("Cannot " + t);
|
|
5
|
+
var y = (n, e, t) => (Q(n, e, "read from private field"), t ? t.call(n) : e.get(n)), v = (n, e, t) => e.has(n) ? ce("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(n) : e.set(n, t), w = (n, e, t, s) => (Q(n, e, "write to private field"), s ? s.call(n, t) : e.set(n, t), t), T = (n, e, t) => (Q(n, e, "access private method"), t);
|
|
6
|
+
import { a7 as m, r as ae, bh as Te, aW as xe, aQ as Ae, aX as ye, au as Ie, aw as Y, ax as Ye, az as l, l as k, aM as re, p as we, n as Me, F as oe, bD as U, ar as Fe, as as Ve, at as r, a2 as u, av as i, al as A, bE as Be, bF as $e, bq as Ne, br as qe } from "./chunks/app-CrO8M3t-.js";
|
|
7
|
+
import { i as je, r as Ce, b as Qe, f as z, c as K, s as Ue, d as Je, p as Ke, v as Xe, e as Ze, g as en, h as nn, w as tn, n as Re, j as sn, a as be } from "./chunks/index-RTjd7i0F.js";
|
|
8
|
+
function an(n) {
|
|
9
|
+
return je(n) && "offsetHeight" in n && !("ownerSVGElement" in n);
|
|
10
|
+
}
|
|
11
|
+
const F = /* @__PURE__ */ new WeakMap();
|
|
12
|
+
let V;
|
|
13
|
+
const Oe = (n, e, t) => (s, a) => a && a[0] ? a[0][n + "Size"] : Qe(s) && "getBBox" in s ? s.getBBox()[e] : s[t], rn = /* @__PURE__ */ Oe("inline", "width", "offsetWidth"), on = /* @__PURE__ */ Oe("block", "height", "offsetHeight");
|
|
14
|
+
function ln({ target: n, borderBoxSize: e }) {
|
|
15
|
+
F.get(n)?.forEach((t) => {
|
|
16
|
+
t(n, {
|
|
17
|
+
get width() {
|
|
18
|
+
return rn(n, e);
|
|
19
|
+
},
|
|
20
|
+
get height() {
|
|
21
|
+
return on(n, e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function cn(n) {
|
|
27
|
+
n.forEach(ln);
|
|
28
|
+
}
|
|
29
|
+
function dn() {
|
|
30
|
+
typeof ResizeObserver > "u" || (V = new ResizeObserver(cn));
|
|
31
|
+
}
|
|
32
|
+
function pn(n, e) {
|
|
33
|
+
V || dn();
|
|
34
|
+
const t = Ce(n);
|
|
35
|
+
return t.forEach((s) => {
|
|
36
|
+
let a = F.get(s);
|
|
37
|
+
a || (a = /* @__PURE__ */ new Set(), F.set(s, a)), a.add(e), V?.observe(s);
|
|
38
|
+
}), () => {
|
|
39
|
+
t.forEach((s) => {
|
|
40
|
+
const a = F.get(s);
|
|
41
|
+
a?.delete(e), a?.size || V?.unobserve(s);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const B = /* @__PURE__ */ new Set();
|
|
46
|
+
let C;
|
|
47
|
+
function fn() {
|
|
48
|
+
C = () => {
|
|
49
|
+
const n = {
|
|
50
|
+
get width() {
|
|
51
|
+
return window.innerWidth;
|
|
52
|
+
},
|
|
53
|
+
get height() {
|
|
54
|
+
return window.innerHeight;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
B.forEach((e) => e(n));
|
|
58
|
+
}, window.addEventListener("resize", C);
|
|
59
|
+
}
|
|
60
|
+
function gn(n) {
|
|
61
|
+
return B.add(n), C || fn(), () => {
|
|
62
|
+
B.delete(n), !B.size && typeof C == "function" && (window.removeEventListener("resize", C), C = void 0);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function un(n, e) {
|
|
66
|
+
return typeof n == "function" ? gn(n) : pn(n, e);
|
|
67
|
+
}
|
|
68
|
+
function Pe(n, e) {
|
|
69
|
+
let t;
|
|
70
|
+
const s = () => {
|
|
71
|
+
const { currentTime: a } = e, c = (a === null ? 0 : a.value) / 100;
|
|
72
|
+
t !== c && n(c), t = c;
|
|
73
|
+
};
|
|
74
|
+
return z.preUpdate(s, !0), () => K(s);
|
|
75
|
+
}
|
|
76
|
+
function $(n) {
|
|
77
|
+
return typeof window > "u" ? !1 : n ? Ue() : Je();
|
|
78
|
+
}
|
|
79
|
+
const _n = 50, de = () => ({
|
|
80
|
+
current: 0,
|
|
81
|
+
offset: [],
|
|
82
|
+
progress: 0,
|
|
83
|
+
scrollLength: 0,
|
|
84
|
+
targetOffset: 0,
|
|
85
|
+
targetLength: 0,
|
|
86
|
+
containerLength: 0,
|
|
87
|
+
velocity: 0
|
|
88
|
+
}), hn = () => ({
|
|
89
|
+
time: 0,
|
|
90
|
+
x: de(),
|
|
91
|
+
y: de()
|
|
92
|
+
}), mn = {
|
|
93
|
+
x: {
|
|
94
|
+
length: "Width",
|
|
95
|
+
position: "Left"
|
|
96
|
+
},
|
|
97
|
+
y: {
|
|
98
|
+
length: "Height",
|
|
99
|
+
position: "Top"
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
function pe(n, e, t, s) {
|
|
103
|
+
const a = t[e], { length: o, position: c } = mn[e], f = a.current, g = t.time;
|
|
104
|
+
a.current = Math.abs(n[`scroll${c}`]), a.scrollLength = n[`scroll${o}`] - n[`client${o}`], a.offset.length = 0, a.offset[0] = 0, a.offset[1] = a.scrollLength, a.progress = Ke(0, a.scrollLength, a.current);
|
|
105
|
+
const d = s - g;
|
|
106
|
+
a.velocity = d > _n ? 0 : Xe(a.current - f, d);
|
|
107
|
+
}
|
|
108
|
+
function vn(n, e, t) {
|
|
109
|
+
pe(n, "x", e, t), pe(n, "y", e, t), e.time = t;
|
|
110
|
+
}
|
|
111
|
+
function xn(n, e) {
|
|
112
|
+
const t = { x: 0, y: 0 };
|
|
113
|
+
let s = n;
|
|
114
|
+
for (; s && s !== e; )
|
|
115
|
+
if (an(s))
|
|
116
|
+
t.x += s.offsetLeft, t.y += s.offsetTop, s = s.offsetParent;
|
|
117
|
+
else if (s.tagName === "svg") {
|
|
118
|
+
const a = s.getBoundingClientRect();
|
|
119
|
+
s = s.parentElement;
|
|
120
|
+
const o = s.getBoundingClientRect();
|
|
121
|
+
t.x += a.left - o.left, t.y += a.top - o.top;
|
|
122
|
+
} else if (s instanceof SVGGraphicsElement) {
|
|
123
|
+
const { x: a, y: o } = s.getBBox();
|
|
124
|
+
t.x += a, t.y += o;
|
|
125
|
+
let c = null, f = s.parentNode;
|
|
126
|
+
for (; !c; )
|
|
127
|
+
f.tagName === "svg" && (c = f), f = s.parentNode;
|
|
128
|
+
s = c;
|
|
129
|
+
} else
|
|
130
|
+
break;
|
|
131
|
+
return t;
|
|
132
|
+
}
|
|
133
|
+
const X = {
|
|
134
|
+
start: 0,
|
|
135
|
+
center: 0.5,
|
|
136
|
+
end: 1
|
|
137
|
+
};
|
|
138
|
+
function fe(n, e, t = 0) {
|
|
139
|
+
let s = 0;
|
|
140
|
+
if (n in X && (n = X[n]), typeof n == "string") {
|
|
141
|
+
const a = parseFloat(n);
|
|
142
|
+
n.endsWith("px") ? s = a : n.endsWith("%") ? n = a / 100 : n.endsWith("vw") ? s = a / 100 * document.documentElement.clientWidth : n.endsWith("vh") ? s = a / 100 * document.documentElement.clientHeight : n = a;
|
|
143
|
+
}
|
|
144
|
+
return typeof n == "number" && (s = e * n), t + s;
|
|
145
|
+
}
|
|
146
|
+
const yn = [0, 0];
|
|
147
|
+
function wn(n, e, t, s) {
|
|
148
|
+
let a = Array.isArray(n) ? n : yn, o = 0, c = 0;
|
|
149
|
+
return typeof n == "number" ? a = [n, n] : typeof n == "string" && (n = n.trim(), n.includes(" ") ? a = n.split(" ") : a = [n, X[n] ? n : "0"]), o = fe(a[0], t, s), c = fe(a[1], e), o - c;
|
|
150
|
+
}
|
|
151
|
+
const E = {
|
|
152
|
+
Enter: [
|
|
153
|
+
[0, 1],
|
|
154
|
+
[1, 1]
|
|
155
|
+
],
|
|
156
|
+
Exit: [
|
|
157
|
+
[0, 0],
|
|
158
|
+
[1, 0]
|
|
159
|
+
],
|
|
160
|
+
Any: [
|
|
161
|
+
[1, 0],
|
|
162
|
+
[0, 1]
|
|
163
|
+
],
|
|
164
|
+
All: [
|
|
165
|
+
[0, 0],
|
|
166
|
+
[1, 1]
|
|
167
|
+
]
|
|
168
|
+
}, Mn = { x: 0, y: 0 };
|
|
169
|
+
function Cn(n) {
|
|
170
|
+
return "getBBox" in n && n.tagName !== "svg" ? n.getBBox() : { width: n.clientWidth, height: n.clientHeight };
|
|
171
|
+
}
|
|
172
|
+
function Rn(n, e, t) {
|
|
173
|
+
const { offset: s = E.All } = t, { target: a = n, axis: o = "y" } = t, c = o === "y" ? "height" : "width", f = a !== n ? xn(a, n) : Mn, g = a === n ? { width: n.scrollWidth, height: n.scrollHeight } : Cn(a), d = {
|
|
174
|
+
width: n.clientWidth,
|
|
175
|
+
height: n.clientHeight
|
|
176
|
+
};
|
|
177
|
+
e[o].offset.length = 0;
|
|
178
|
+
let p = !e[o].interpolate;
|
|
179
|
+
const h = s.length;
|
|
180
|
+
for (let _ = 0; _ < h; _++) {
|
|
181
|
+
const x = wn(s[_], d[c], g[c], f[o]);
|
|
182
|
+
!p && x !== e[o].interpolatorOffsets[_] && (p = !0), e[o].offset[_] = x;
|
|
183
|
+
}
|
|
184
|
+
p && (e[o].interpolate = Ze(e[o].offset, en(s), { clamp: !1 }), e[o].interpolatorOffsets = [...e[o].offset]), e[o].progress = nn(0, 1, e[o].interpolate(e[o].current));
|
|
185
|
+
}
|
|
186
|
+
function bn(n, e = n, t) {
|
|
187
|
+
if (t.x.targetOffset = 0, t.y.targetOffset = 0, e !== n) {
|
|
188
|
+
let s = e;
|
|
189
|
+
for (; s && s !== n; )
|
|
190
|
+
t.x.targetOffset += s.offsetLeft, t.y.targetOffset += s.offsetTop, s = s.offsetParent;
|
|
191
|
+
}
|
|
192
|
+
t.x.targetLength = e === n ? e.scrollWidth : e.clientWidth, t.y.targetLength = e === n ? e.scrollHeight : e.clientHeight, t.x.containerLength = n.clientWidth, t.y.containerLength = n.clientHeight, process.env.NODE_ENV !== "production" && n && e && e !== n && tn(getComputedStyle(n).position !== "static", "Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly.");
|
|
193
|
+
}
|
|
194
|
+
function On(n, e, t, s = {}) {
|
|
195
|
+
return {
|
|
196
|
+
measure: (a) => {
|
|
197
|
+
bn(n, s.target, t), vn(n, t, a), (s.offset || s.target) && Rn(n, t, s);
|
|
198
|
+
},
|
|
199
|
+
notify: () => e(t)
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
const M = /* @__PURE__ */ new WeakMap(), ge = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap(), ue = /* @__PURE__ */ new WeakMap(), I = /* @__PURE__ */ new WeakMap(), _e = (n) => n === document.scrollingElement ? window : n;
|
|
203
|
+
function Se(n, { container: e = document.scrollingElement, trackContentSize: t = !1, ...s } = {}) {
|
|
204
|
+
if (!e)
|
|
205
|
+
return Re;
|
|
206
|
+
let a = J.get(e);
|
|
207
|
+
a || (a = /* @__PURE__ */ new Set(), J.set(e, a));
|
|
208
|
+
const o = hn(), c = On(e, n, o, s);
|
|
209
|
+
if (a.add(c), !M.has(e)) {
|
|
210
|
+
const g = () => {
|
|
211
|
+
for (const _ of a)
|
|
212
|
+
_.measure(sn.timestamp);
|
|
213
|
+
z.preUpdate(d);
|
|
214
|
+
}, d = () => {
|
|
215
|
+
for (const _ of a)
|
|
216
|
+
_.notify();
|
|
217
|
+
}, p = () => z.read(g);
|
|
218
|
+
M.set(e, p);
|
|
219
|
+
const h = _e(e);
|
|
220
|
+
window.addEventListener("resize", p), e !== document.documentElement && ge.set(e, un(e, p)), h.addEventListener("scroll", p), p();
|
|
221
|
+
}
|
|
222
|
+
if (t && !I.has(e)) {
|
|
223
|
+
const g = M.get(e), d = {
|
|
224
|
+
width: e.scrollWidth,
|
|
225
|
+
height: e.scrollHeight
|
|
226
|
+
};
|
|
227
|
+
ue.set(e, d);
|
|
228
|
+
const p = () => {
|
|
229
|
+
const _ = e.scrollWidth, x = e.scrollHeight;
|
|
230
|
+
(d.width !== _ || d.height !== x) && (g(), d.width = _, d.height = x);
|
|
231
|
+
}, h = z.read(p, !0);
|
|
232
|
+
I.set(e, h);
|
|
233
|
+
}
|
|
234
|
+
const f = M.get(e);
|
|
235
|
+
return z.read(f, !1, !0), () => {
|
|
236
|
+
K(f);
|
|
237
|
+
const g = J.get(e);
|
|
238
|
+
if (!g || (g.delete(c), g.size))
|
|
239
|
+
return;
|
|
240
|
+
const d = M.get(e);
|
|
241
|
+
M.delete(e), d && (_e(e).removeEventListener("scroll", d), ge.get(e)?.(), window.removeEventListener("resize", d));
|
|
242
|
+
const p = I.get(e);
|
|
243
|
+
p && (K(p), I.delete(e)), ue.delete(e);
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
const Pn = [
|
|
247
|
+
[E.Enter, "entry"],
|
|
248
|
+
[E.Exit, "exit"],
|
|
249
|
+
[E.Any, "cover"],
|
|
250
|
+
[E.All, "contain"]
|
|
251
|
+
], he = {
|
|
252
|
+
start: 0,
|
|
253
|
+
end: 1
|
|
254
|
+
};
|
|
255
|
+
function Sn(n) {
|
|
256
|
+
const e = n.trim().split(/\s+/);
|
|
257
|
+
if (e.length !== 2)
|
|
258
|
+
return;
|
|
259
|
+
const t = he[e[0]], s = he[e[1]];
|
|
260
|
+
if (!(t === void 0 || s === void 0))
|
|
261
|
+
return [t, s];
|
|
262
|
+
}
|
|
263
|
+
function zn(n) {
|
|
264
|
+
if (n.length !== 2)
|
|
265
|
+
return;
|
|
266
|
+
const e = [];
|
|
267
|
+
for (const t of n)
|
|
268
|
+
if (Array.isArray(t))
|
|
269
|
+
e.push(t);
|
|
270
|
+
else if (typeof t == "string") {
|
|
271
|
+
const s = Sn(t);
|
|
272
|
+
if (!s)
|
|
273
|
+
return;
|
|
274
|
+
e.push(s);
|
|
275
|
+
} else
|
|
276
|
+
return;
|
|
277
|
+
return e;
|
|
278
|
+
}
|
|
279
|
+
function En(n, e) {
|
|
280
|
+
const t = zn(n);
|
|
281
|
+
if (!t)
|
|
282
|
+
return !1;
|
|
283
|
+
for (let s = 0; s < 2; s++) {
|
|
284
|
+
const a = t[s], o = e[s];
|
|
285
|
+
if (a[0] !== o[0] || a[1] !== o[1])
|
|
286
|
+
return !1;
|
|
287
|
+
}
|
|
288
|
+
return !0;
|
|
289
|
+
}
|
|
290
|
+
function ze(n) {
|
|
291
|
+
if (!n)
|
|
292
|
+
return { rangeStart: "contain 0%", rangeEnd: "contain 100%" };
|
|
293
|
+
for (const [e, t] of Pn)
|
|
294
|
+
if (En(n, e))
|
|
295
|
+
return { rangeStart: `${t} 0%`, rangeEnd: `${t} 100%` };
|
|
296
|
+
}
|
|
297
|
+
const me = /* @__PURE__ */ new Map();
|
|
298
|
+
function ve(n) {
|
|
299
|
+
const e = { value: 0 }, t = Se((s) => {
|
|
300
|
+
e.value = s[n.axis].progress * 100;
|
|
301
|
+
}, n);
|
|
302
|
+
return { currentTime: e, cancel: t };
|
|
303
|
+
}
|
|
304
|
+
function Ee({ source: n, container: e, ...t }) {
|
|
305
|
+
const { axis: s } = t;
|
|
306
|
+
n && (e = n);
|
|
307
|
+
let a = me.get(e);
|
|
308
|
+
a || (a = /* @__PURE__ */ new Map(), me.set(e, a));
|
|
309
|
+
const o = t.target ?? "self";
|
|
310
|
+
let c = a.get(o);
|
|
311
|
+
c || (c = {}, a.set(o, c));
|
|
312
|
+
const f = s + (t.offset ?? []).join(",");
|
|
313
|
+
return c[f] || (t.target && $(t.target) ? ze(t.offset) ? c[f] = new ViewTimeline({
|
|
314
|
+
subject: t.target,
|
|
315
|
+
axis: s
|
|
316
|
+
}) : c[f] = ve({
|
|
317
|
+
container: e,
|
|
318
|
+
...t
|
|
319
|
+
}) : $() ? c[f] = new ScrollTimeline({
|
|
320
|
+
source: e,
|
|
321
|
+
axis: s
|
|
322
|
+
}) : c[f] = ve({
|
|
323
|
+
container: e,
|
|
324
|
+
...t
|
|
325
|
+
})), c[f];
|
|
326
|
+
}
|
|
327
|
+
function kn(n, e) {
|
|
328
|
+
const t = Ee(e), s = e.target ? ze(e.offset) : void 0, a = e.target ? $(e.target) && !!s : $();
|
|
329
|
+
return n.attachTimeline({
|
|
330
|
+
timeline: a ? t : void 0,
|
|
331
|
+
...s && a && {
|
|
332
|
+
rangeStart: s.rangeStart,
|
|
333
|
+
rangeEnd: s.rangeEnd
|
|
334
|
+
},
|
|
335
|
+
observe: (o) => (o.pause(), Pe((c) => {
|
|
336
|
+
o.time = o.iterationDuration * c;
|
|
337
|
+
}, t))
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
function Dn(n) {
|
|
341
|
+
return n.length === 2;
|
|
342
|
+
}
|
|
343
|
+
function Gn(n, e) {
|
|
344
|
+
return Dn(n) ? Se((t) => {
|
|
345
|
+
n(t[e.axis].progress, t);
|
|
346
|
+
}, e) : Pe(n, Ee(e));
|
|
347
|
+
}
|
|
348
|
+
function Hn(n, { axis: e = "y", container: t = document.scrollingElement, ...s } = {}) {
|
|
349
|
+
if (!t)
|
|
350
|
+
return Re;
|
|
351
|
+
const a = { axis: e, container: t, ...s };
|
|
352
|
+
return typeof n == "function" ? Gn(n, a) : kn(n, a);
|
|
353
|
+
}
|
|
354
|
+
const Ln = {
|
|
355
|
+
some: 0,
|
|
356
|
+
all: 1
|
|
357
|
+
};
|
|
358
|
+
function ke(n, e, { root: t, margin: s, amount: a = "some" } = {}) {
|
|
359
|
+
const o = Ce(n), c = /* @__PURE__ */ new WeakMap(), f = (d) => {
|
|
360
|
+
d.forEach((p) => {
|
|
361
|
+
const h = c.get(p.target);
|
|
362
|
+
if (p.isIntersecting !== !!h)
|
|
363
|
+
if (p.isIntersecting) {
|
|
364
|
+
const _ = e(p.target, p);
|
|
365
|
+
typeof _ == "function" ? c.set(p.target, _) : g.unobserve(p.target);
|
|
366
|
+
} else typeof h == "function" && (h(p), c.delete(p.target));
|
|
367
|
+
});
|
|
368
|
+
}, g = new IntersectionObserver(f, {
|
|
369
|
+
root: t,
|
|
370
|
+
rootMargin: s,
|
|
371
|
+
threshold: typeof a == "number" ? a : Ln[a]
|
|
372
|
+
});
|
|
373
|
+
return o.forEach((d) => g.observe(d)), () => g.disconnect();
|
|
374
|
+
}
|
|
375
|
+
function Wn(n, e) {
|
|
376
|
+
n & 1 && (xe(0, "span", 5), l(1, "zerops"), ye());
|
|
377
|
+
}
|
|
378
|
+
const R = class R {
|
|
379
|
+
constructor() {
|
|
380
|
+
this.mode = m("mark");
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
R.ɵfac = function(t) {
|
|
384
|
+
return new (t || R)();
|
|
385
|
+
}, R.ɵcmp = /* @__PURE__ */ ae({ type: R, selectors: [["zui-logo"]], inputs: { mode: [1, "mode"] }, decls: 6, vars: 1, consts: [["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 42.27 50.48", 1, "__svg"], ["d", "M20.19.7L3 7.27A4 4 0 0 0 .46 11v16.54L8.36 23v-9.3L21.6 8.62V.44a4 4 0 0 0-1.41.26z", "transform", "translate(-.46 -.44)", 1, "__main"], ["d", "M8.5 37.74l13.1-7.55v-9.12L1.36 32.74a1.82 1.82 0 0 0-.9 1.56v6.11A4 4 0 0 0 3 44.1l17.19 6.57a4 4 0 0 0 1.41.26v-8.18z", "transform", "translate(-.46 -.44)", 1, "__main"], ["d", "M41.9 18.47a1.67 1.67 0 0 0 .84-1.47v-6a4 4 0 0 0-2.54-3.73L23 .7a4 4 0 0 0-1.4-.26v8.18l13 5-13 7.49v9.12z", "transform", "translate(-.46 -.44)", 1, "__secondary"], ["d", "M23 50.67l17.2-6.57a4 4 0 0 0 2.54-3.69V23.7l-7.9 4.56v9.43L21.6 42.75v8.18a4 4 0 0 0 1.4-.26z", "transform", "translate(-.46 -.44)", 1, "__secondary"], [1, "__wordmark"]], template: function(t, s) {
|
|
386
|
+
t & 1 && (Te(), xe(0, "svg", 0), Ae(1, "path", 1)(2, "path", 2)(3, "path", 3)(4, "path", 4), ye(), Ie(5, Wn, 2, 0, "span", 5)), t & 2 && (Y(5), Ye(s.mode() === "full" ? 5 : -1));
|
|
387
|
+
}, styles: [`[_nghost-%COMP%] {
|
|
388
|
+
display: inline-flex;
|
|
389
|
+
align-items: center;
|
|
390
|
+
gap: 4.27px;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.__svg[_ngcontent-%COMP%] {
|
|
394
|
+
width: 100%;
|
|
395
|
+
height: 100%;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
[_nghost-%COMP%]:has(.__wordmark) .__svg[_ngcontent-%COMP%] {
|
|
399
|
+
width: auto;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.__main[_ngcontent-%COMP%] {
|
|
403
|
+
fill: var(--mat-sys-primary);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.__secondary[_ngcontent-%COMP%] {
|
|
407
|
+
fill: var(--mat-sys-primary);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.__wordmark[_ngcontent-%COMP%] {
|
|
411
|
+
font-family: var(--font-family-brand);
|
|
412
|
+
font-weight: 600;
|
|
413
|
+
font-size: 17.32px;
|
|
414
|
+
line-height: 22px;
|
|
415
|
+
color: var(--mat-sys-on-surface);
|
|
416
|
+
}`], changeDetection: 0 });
|
|
417
|
+
let Z = R;
|
|
418
|
+
var D, G, N, De;
|
|
419
|
+
const b = class b {
|
|
420
|
+
constructor() {
|
|
421
|
+
v(this, N);
|
|
422
|
+
v(this, D);
|
|
423
|
+
v(this, G);
|
|
424
|
+
this.scrollRevealY = m(0), this.scrollRevealDelay = m(0), this.scrollRevealDuration = m(0.4), this.scrollRevealMargin = m("-80px"), w(this, D, k(Me)), w(this, G, k(oe)), re(() => T(this, N, De).call(this));
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
D = new WeakMap(), G = new WeakMap(), N = new WeakSet(), De = function() {
|
|
428
|
+
const e = y(this, D).nativeElement, t = this.scrollRevealY();
|
|
429
|
+
t && (e.style.transform = `translateY(${t}px)`, e.style.willChange = "transform, opacity");
|
|
430
|
+
let s = !1;
|
|
431
|
+
const a = ke(e, () => {
|
|
432
|
+
if (s)
|
|
433
|
+
return;
|
|
434
|
+
s = !0;
|
|
435
|
+
const o = {
|
|
436
|
+
opacity: [0, 1]
|
|
437
|
+
};
|
|
438
|
+
t && (o.transform = [`translateY(${t}px)`, "translateY(0)"]), be(e, o, {
|
|
439
|
+
duration: this.scrollRevealDuration(),
|
|
440
|
+
delay: this.scrollRevealDelay(),
|
|
441
|
+
ease: [0.4, 0, 0.6, 1]
|
|
442
|
+
}).then(() => {
|
|
443
|
+
e.style.willChange = "auto";
|
|
444
|
+
}).catch(() => {
|
|
445
|
+
}), queueMicrotask(() => a());
|
|
446
|
+
}, { margin: this.scrollRevealMargin() });
|
|
447
|
+
y(this, G).onDestroy(() => a());
|
|
448
|
+
}, b.ɵfac = function(t) {
|
|
449
|
+
return new (t || b)();
|
|
450
|
+
}, b.ɵdir = /* @__PURE__ */ we({ type: b, selectors: [["", "zuiScrollReveal", ""]], hostAttrs: [2, "opacity", "0", "will-change", "opacity"], inputs: { scrollRevealY: [1, "scrollRevealY"], scrollRevealDelay: [1, "scrollRevealDelay"], scrollRevealDuration: [1, "scrollRevealDuration"], scrollRevealMargin: [1, "scrollRevealMargin"] } });
|
|
451
|
+
let ee = b;
|
|
452
|
+
var H, L, q, Ge;
|
|
453
|
+
const O = class O {
|
|
454
|
+
constructor() {
|
|
455
|
+
v(this, q);
|
|
456
|
+
v(this, H);
|
|
457
|
+
v(this, L);
|
|
458
|
+
this.scrollRevealGroupY = m(0), this.scrollRevealGroupStagger = m(0.025), this.scrollRevealGroupDelay = m(0), this.scrollRevealGroupDuration = m(0.3), this.scrollRevealGroupMargin = m("-64px"), this.scrollRevealGroupSelector = m(":scope > *"), w(this, H, k(Me)), w(this, L, k(oe)), re(() => T(this, q, Ge).call(this));
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
H = new WeakMap(), L = new WeakMap(), q = new WeakSet(), Ge = function() {
|
|
462
|
+
const e = y(this, H).nativeElement, t = this.scrollRevealGroupY(), s = this.scrollRevealGroupSelector();
|
|
463
|
+
let a = !1;
|
|
464
|
+
const o = (d) => {
|
|
465
|
+
d.dataset.srHidden || (d.style.opacity = "0", t && (d.style.transform = `translateY(${t}px)`), d.style.willChange = "opacity", d.dataset.srHidden = "1");
|
|
466
|
+
};
|
|
467
|
+
e.querySelectorAll(s).forEach((d) => o(d));
|
|
468
|
+
const c = new MutationObserver(() => {
|
|
469
|
+
if (a) {
|
|
470
|
+
c.disconnect();
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
e.querySelectorAll(s).forEach((d) => o(d));
|
|
474
|
+
});
|
|
475
|
+
c.observe(e, { childList: !0 });
|
|
476
|
+
const f = () => {
|
|
477
|
+
if (a)
|
|
478
|
+
return;
|
|
479
|
+
const d = Array.from(e.querySelectorAll(s));
|
|
480
|
+
if (d.length === 0)
|
|
481
|
+
return;
|
|
482
|
+
a = !0, c.disconnect();
|
|
483
|
+
const p = this.scrollRevealGroupStagger(), h = this.scrollRevealGroupDelay(), _ = this.scrollRevealGroupDuration(), x = [0.4, 0, 0.6, 1];
|
|
484
|
+
d.forEach((ie, Le) => {
|
|
485
|
+
const We = h + Le * p, le = { opacity: [0, 1] };
|
|
486
|
+
t && (le.transform = [`translateY(${t}px)`, "translateY(0)"]), be(ie, le, { duration: _, delay: We, ease: x }).then(() => {
|
|
487
|
+
ie.style.willChange = "auto";
|
|
488
|
+
}).catch(() => {
|
|
489
|
+
});
|
|
490
|
+
}), queueMicrotask(() => g());
|
|
491
|
+
}, g = ke(e, () => (f(), () => {
|
|
492
|
+
}), { margin: this.scrollRevealGroupMargin() });
|
|
493
|
+
y(this, L).onDestroy(() => {
|
|
494
|
+
g(), c.disconnect();
|
|
495
|
+
});
|
|
496
|
+
}, O.ɵfac = function(t) {
|
|
497
|
+
return new (t || O)();
|
|
498
|
+
}, O.ɵdir = /* @__PURE__ */ we({ type: O, selectors: [["", "zuiScrollRevealGroup", ""]], inputs: { scrollRevealGroupY: [1, "scrollRevealGroupY"], scrollRevealGroupStagger: [1, "scrollRevealGroupStagger"], scrollRevealGroupDelay: [1, "scrollRevealGroupDelay"], scrollRevealGroupDuration: [1, "scrollRevealGroupDuration"], scrollRevealGroupMargin: [1, "scrollRevealGroupMargin"], scrollRevealGroupSelector: [1, "scrollRevealGroupSelector"] } });
|
|
499
|
+
let ne = O;
|
|
500
|
+
const Tn = ["cardsStage"], An = ["appCard"], In = ["vmCard"];
|
|
501
|
+
var W, j, He;
|
|
502
|
+
const P = class P {
|
|
503
|
+
constructor() {
|
|
504
|
+
v(this, j);
|
|
505
|
+
v(this, W);
|
|
506
|
+
w(this, W, k(oe)), this.cardsStage = U("cardsStage"), this.appCard = U("appCard"), this.vmCard = U("vmCard"), re(() => T(this, j, He).call(this));
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
W = new WeakMap(), j = new WeakSet(), He = function() {
|
|
510
|
+
const e = this.cardsStage()?.nativeElement, t = this.appCard()?.nativeElement, s = this.vmCard()?.nativeElement;
|
|
511
|
+
if (!e || !t || !s)
|
|
512
|
+
return;
|
|
513
|
+
const a = window.matchMedia("(min-width: 1100px)");
|
|
514
|
+
let o = null;
|
|
515
|
+
const c = () => {
|
|
516
|
+
o = Hn((d) => {
|
|
517
|
+
const p = (d - 0.5) * 2;
|
|
518
|
+
t.style.translate = `0 ${p * -14}px`, s.style.translate = `0 ${p * 14}px`;
|
|
519
|
+
}, { target: e, offset: ["start end", "end start"] });
|
|
520
|
+
}, f = () => {
|
|
521
|
+
o?.(), o = null, t.style.translate = "", s.style.translate = "";
|
|
522
|
+
}, g = () => a.matches ? c() : f();
|
|
523
|
+
g(), a.addEventListener("change", g), y(this, W).onDestroy(() => {
|
|
524
|
+
f(), a.removeEventListener("change", g);
|
|
525
|
+
});
|
|
526
|
+
}, P.ɵfac = function(t) {
|
|
527
|
+
return new (t || P)();
|
|
528
|
+
}, P.ɵcmp = /* @__PURE__ */ ae({ type: P, selectors: [["zw-containers-cards"]], viewQuery: function(t, s) {
|
|
529
|
+
t & 1 && Be(s.cardsStage, Tn, 5)(s.appCard, An, 5)(s.vmCard, In, 5), t & 2 && $e(3);
|
|
530
|
+
}, decls: 153, vars: 13, consts: [["cardsStage", ""], ["appCard", ""], ["vmCard", ""], ["zuiScrollRevealGroup", "", "scrollRevealGroupMargin", "-80px", "scrollRevealGroupSelector", ".__card", 1, "__cards-stage", 3, "scrollRevealGroupY", "scrollRevealGroupStagger", "scrollRevealGroupDelay", "scrollRevealGroupDuration"], [1, "__glow", "__glow--teal"], [1, "__glow", "__glow--orange"], ["zuiScrollReveal", "", "scrollRevealMargin", "-80px", 1, "__vline", "__vline--1", 3, "scrollRevealY", "scrollRevealDuration", "scrollRevealDelay"], [1, "__vline-rule"], ["zuiScrollReveal", "", "scrollRevealMargin", "-80px", 1, "__vline", "__vline--2", 3, "scrollRevealY", "scrollRevealDuration", "scrollRevealDelay"], ["zuiScrollReveal", "", "scrollRevealMargin", "-80px", 1, "__vline", "__vline--3", 3, "scrollRevealY", "scrollRevealDuration", "scrollRevealDelay"], [1, "__card", "__card--app"], [1, "__card-tech"], ["svgIcon", "docker", 1, "__card-tech-icon"], ["svgIcon", "oci", 1, "__card-tech-icon"], [1, "__card-title"], [1, "__features"], [1, "__feature", "__feature--yes"], [1, "__feature-dot"], [1, "__feature", "__feature--no"], [1, "__card", "__card--system"], [1, "__card-top"], [1, "__card-zerops"], [1, "__card-zerops-mark"], [1, "__card-zerops-name"], [1, "__card-subtitle"], [1, "__terminal"], [1, "__terminal-file"], [1, "__example"], [1, "__example-label"], [1, "__code"], [1, "__yk"], [1, "__ci"], [1, "__ci2"], [1, "__card", "__card--vm"], ["svgIcon", "proxmox", 1, "__card-tech-icon"], ["svgIcon", "linux", 1, "__card-tech-icon"]], template: function(t, s) {
|
|
531
|
+
t & 1 && (r(0, "div", 3, 0), u(2, "div", 4)(3, "div", 5), r(4, "div", 6), u(5, "div", 7), i(), r(6, "div", 8), u(7, "div", 7), i(), r(8, "div", 9), u(9, "div", 7), i(), r(10, "div", 10, 1)(12, "div", 11), u(13, "mat-icon", 12)(14, "mat-icon", 13), i(), r(15, "span", 14), l(16, "App Containers"), i(), r(17, "div", 15)(18, "div", 16), u(19, "span", 17), r(20, "span"), l(21, "Fast startup"), i()(), r(22, "div", 16), u(23, "span", 17), r(24, "span"), l(25, "High density"), i()(), r(26, "div", 18), u(27, "span", 17), r(28, "span"), l(29, "Install packages"), i()(), r(30, "div", 18), u(31, "span", 17), r(32, "span"), l(33, "Multiple processes"), i()(), r(34, "div", 18), u(35, "span", 17), r(36, "span"), l(37, "SSH access"), i()()()(), r(38, "div", 19)(39, "div", 20)(40, "div", 21), u(41, "zui-logo", 22), r(42, "span", 23), l(43, "Zerops"), i()(), r(44, "span", 14), l(45, "System Containers"), i(), r(46, "span", 24), l(47, "Powered by Incus"), i(), r(48, "div", 15)(49, "div", 16), u(50, "span", 17), r(51, "span"), l(52, "Fast startup"), i()(), r(53, "div", 16), u(54, "span", 17), r(55, "span"), l(56, "High density"), i()(), r(57, "div", 16), u(58, "span", 17), r(59, "span"), l(60, "Install packages"), i()(), r(61, "div", 16), u(62, "span", 17), r(63, "span"), l(64, "Multiple processes"), i()(), r(65, "div", 16), u(66, "span", 17), r(67, "span"), l(68, "SSH access"), i()()()(), r(69, "div", 25)(70, "span", 26), l(71, "zerops.yaml"), i(), r(72, "div", 27)(73, "span", 28), l(74, "Install any system package"), i(), r(75, "div", 29)(76, "div")(77, "span", 30), l(78, "prepareCommands"), i(), l(79, ":"), i(), r(80, "div", 31), l(81, "- sudo apt-get i -y ffmpeg"), i()()(), r(82, "div", 27)(83, "span", 28), l(84, "Run multiple processes"), i(), r(85, "div", 29)(86, "div")(87, "span", 30), l(88, "startCommands"), i(), l(89, ":"), i(), r(90, "div", 31), l(91, "- "), r(92, "span", 30), l(93, "name"), i(), l(94, ": api"), i(), r(95, "div", 32)(96, "span", 30), l(97, "command"), i(), l(98, ": npm start"), i(), r(99, "div", 31), l(100, "- "), r(101, "span", 30), l(102, "name"), i(), l(103, ": worker"), i(), r(104, "div", 32)(105, "span", 30), l(106, "command"), i(), l(107, ": npm run worker"), i()()(), r(108, "div", 27)(109, "span", 28), l(110, "Schedule recurring tasks"), i(), r(111, "div", 29)(112, "div")(113, "span", 30), l(114, "crontab"), i(), l(115, ":"), i(), r(116, "div", 31), l(117, "- "), r(118, "span", 30), l(119, "command"), i(), l(120, ": rm -rf /tmp/*"), i(), r(121, "div", 32)(122, "span", 30), l(123, "timing"), i(), l(124, ": 0 0 * * *"), i()()()()(), r(125, "div", 33, 2)(127, "div", 11), u(128, "mat-icon", 34)(129, "mat-icon", 35), i(), r(130, "span", 14), l(131, "Full VMs"), i(), r(132, "div", 15)(133, "div", 18), u(134, "span", 17), r(135, "span"), l(136, "Fast startup"), i()(), r(137, "div", 18), u(138, "span", 17), r(139, "span"), l(140, "High density"), i()(), r(141, "div", 16), u(142, "span", 17), r(143, "span"), l(144, "Install packages"), i()(), r(145, "div", 16), u(146, "span", 17), r(147, "span"), l(148, "Multiple processes"), i()(), r(149, "div", 16), u(150, "span", 17), r(151, "span"), l(152, "SSH access"), i()()()()()), t & 2 && (A("scrollRevealGroupY", 12)("scrollRevealGroupStagger", 0.06)("scrollRevealGroupDelay", 0.1)("scrollRevealGroupDuration", 0.45), Y(4), A("scrollRevealY", 0)("scrollRevealDuration", 0.6)("scrollRevealDelay", 0.15), Y(2), A("scrollRevealY", 0)("scrollRevealDuration", 0.6)("scrollRevealDelay", 0.25), Y(2), A("scrollRevealY", 0)("scrollRevealDuration", 0.6)("scrollRevealDelay", 0.35));
|
|
532
|
+
}, dependencies: [Fe, Ve, Z, ee, ne], styles: [`[_nghost-%COMP%] {
|
|
533
|
+
display: block;
|
|
534
|
+
width: 100%;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.__cards-stage[_ngcontent-%COMP%] {
|
|
538
|
+
position: relative;
|
|
539
|
+
min-height: 440px;
|
|
540
|
+
overflow: visible;
|
|
541
|
+
}
|
|
542
|
+
@media (max-width: 649px) {
|
|
543
|
+
.__cards-stage[_ngcontent-%COMP%] {
|
|
544
|
+
display: grid;
|
|
545
|
+
grid-template-columns: 1fr 1fr;
|
|
546
|
+
gap: 12px;
|
|
547
|
+
min-height: auto;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
@media (min-width: 650px) {
|
|
551
|
+
.__cards-stage[_ngcontent-%COMP%] {
|
|
552
|
+
width: 580px;
|
|
553
|
+
margin-left: auto;
|
|
554
|
+
margin-right: auto;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
.__card[_ngcontent-%COMP%] {
|
|
559
|
+
background: var(--alt-card-bg);
|
|
560
|
+
border-radius: 10px;
|
|
561
|
+
padding: 16px;
|
|
562
|
+
position: absolute;
|
|
563
|
+
display: flex;
|
|
564
|
+
flex-direction: column;
|
|
565
|
+
gap: 12px;
|
|
566
|
+
border: 1px solid light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.06));
|
|
567
|
+
}
|
|
568
|
+
@media (max-width: 649px) {
|
|
569
|
+
.__card[_ngcontent-%COMP%] {
|
|
570
|
+
position: static;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.__card--app[_ngcontent-%COMP%],
|
|
575
|
+
.__card--vm[_ngcontent-%COMP%] {
|
|
576
|
+
width: 185px;
|
|
577
|
+
background: color-mix(in srgb, var(--alt-card-bg) 88%, transparent);
|
|
578
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.02);
|
|
579
|
+
backdrop-filter: blur(12px);
|
|
580
|
+
will-change: transform;
|
|
581
|
+
}
|
|
582
|
+
@media (max-width: 649px) {
|
|
583
|
+
.__card--app[_ngcontent-%COMP%],
|
|
584
|
+
.__card--vm[_ngcontent-%COMP%] {
|
|
585
|
+
width: auto;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
.__card--app[_ngcontent-%COMP%] {
|
|
590
|
+
left: 0;
|
|
591
|
+
top: 55px;
|
|
592
|
+
z-index: 1;
|
|
593
|
+
}
|
|
594
|
+
@media (max-width: 649px) {
|
|
595
|
+
.__card--app[_ngcontent-%COMP%] {
|
|
596
|
+
left: auto;
|
|
597
|
+
top: auto;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.__card--vm[_ngcontent-%COMP%] {
|
|
602
|
+
left: 395px;
|
|
603
|
+
top: 70px;
|
|
604
|
+
z-index: 1;
|
|
605
|
+
padding-left: 24px;
|
|
606
|
+
}
|
|
607
|
+
@media (max-width: 649px) {
|
|
608
|
+
.__card--vm[_ngcontent-%COMP%] {
|
|
609
|
+
left: auto;
|
|
610
|
+
top: auto;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.__card--system[_ngcontent-%COMP%] {
|
|
615
|
+
width: 240px;
|
|
616
|
+
left: 165px;
|
|
617
|
+
top: 0;
|
|
618
|
+
z-index: 3;
|
|
619
|
+
padding: 0;
|
|
620
|
+
overflow: hidden;
|
|
621
|
+
border: 1px solid light-dark(rgba(21, 215, 196, 0.15), rgba(21, 215, 196, 0.12));
|
|
622
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04), 0 12px 28px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(21, 215, 196, 0.06);
|
|
623
|
+
}
|
|
624
|
+
@media (max-width: 649px) {
|
|
625
|
+
.__card--system[_ngcontent-%COMP%] {
|
|
626
|
+
width: auto;
|
|
627
|
+
left: auto;
|
|
628
|
+
top: auto;
|
|
629
|
+
grid-column: 1/-1;
|
|
630
|
+
order: -1;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.__card-title[_ngcontent-%COMP%] {
|
|
635
|
+
font-family: var(--font-family-brand);
|
|
636
|
+
font-weight: 500;
|
|
637
|
+
font-size: 10px;
|
|
638
|
+
line-height: 12px;
|
|
639
|
+
letter-spacing: 0.09em;
|
|
640
|
+
text-transform: uppercase;
|
|
641
|
+
color: var(--mat-sys-on-surface);
|
|
642
|
+
font-variation-settings: "CRSV" 0, "SHRP" 0, "slnt" 0;
|
|
643
|
+
margin: 0;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
.__card--system[_ngcontent-%COMP%] .__card-title[_ngcontent-%COMP%] {
|
|
647
|
+
color: var(--alt-card-accent);
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
.__card-tech[_ngcontent-%COMP%] {
|
|
651
|
+
display: flex;
|
|
652
|
+
align-items: center;
|
|
653
|
+
gap: 5px;
|
|
654
|
+
margin-bottom: -4px;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
.__card-tech-icon[_ngcontent-%COMP%] {
|
|
658
|
+
width: 18px !important;
|
|
659
|
+
height: 18px !important;
|
|
660
|
+
font-size: 18px !important;
|
|
661
|
+
line-height: 18px !important;
|
|
662
|
+
opacity: 0.35;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.__card-zerops[_ngcontent-%COMP%] {
|
|
666
|
+
display: flex;
|
|
667
|
+
align-items: center;
|
|
668
|
+
gap: 5px;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
.__card-zerops-mark[_ngcontent-%COMP%] {
|
|
672
|
+
height: 16px;
|
|
673
|
+
width: auto;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
.__card-zerops-name[_ngcontent-%COMP%] {
|
|
677
|
+
font-family: var(--font-family-brand);
|
|
678
|
+
font-size: 11px;
|
|
679
|
+
font-weight: 600;
|
|
680
|
+
color: var(--mat-sys-on-surface);
|
|
681
|
+
letter-spacing: 0.02em;
|
|
682
|
+
font-variation-settings: "CRSV" 0, "SHRP" 100;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.__card-subtitle[_ngcontent-%COMP%] {
|
|
686
|
+
font-family: var(--font-family-brand);
|
|
687
|
+
font-size: 8px;
|
|
688
|
+
font-weight: 420;
|
|
689
|
+
letter-spacing: 0.04em;
|
|
690
|
+
color: var(--mat-sys-on-surface);
|
|
691
|
+
opacity: 0.3;
|
|
692
|
+
font-variation-settings: "CRSV" 0, "SHRP" 0;
|
|
693
|
+
margin-top: -10px;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
.__card-top[_ngcontent-%COMP%] {
|
|
697
|
+
padding: 16px 16px 12px;
|
|
698
|
+
display: flex;
|
|
699
|
+
flex-direction: column;
|
|
700
|
+
gap: 12px;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.__features[_ngcontent-%COMP%] {
|
|
704
|
+
display: flex;
|
|
705
|
+
flex-direction: column;
|
|
706
|
+
gap: 7px;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
.__feature[_ngcontent-%COMP%] {
|
|
710
|
+
display: flex;
|
|
711
|
+
align-items: center;
|
|
712
|
+
gap: 8px;
|
|
713
|
+
font-family: var(--font-family-brand);
|
|
714
|
+
font-size: 11.5px;
|
|
715
|
+
font-weight: 380;
|
|
716
|
+
line-height: 1;
|
|
717
|
+
letter-spacing: 0.01em;
|
|
718
|
+
color: var(--mat-sys-on-surface);
|
|
719
|
+
font-variation-settings: "CRSV" 0, "SHRP" 0;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
.__feature-dot[_ngcontent-%COMP%] {
|
|
723
|
+
width: 6px;
|
|
724
|
+
height: 6px;
|
|
725
|
+
border-radius: 50%;
|
|
726
|
+
flex-shrink: 0;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
.__feature--yes[_ngcontent-%COMP%] .__feature-dot[_ngcontent-%COMP%] {
|
|
730
|
+
background: var(--alt-card-accent);
|
|
731
|
+
box-shadow: 0 0 6px rgba(21, 215, 196, 0.4);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
.__feature--no[_ngcontent-%COMP%] {
|
|
735
|
+
opacity: 0.3;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
.__feature--no[_ngcontent-%COMP%] .__feature-dot[_ngcontent-%COMP%] {
|
|
739
|
+
background: transparent;
|
|
740
|
+
border: 1px solid currentColor;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.__terminal[_ngcontent-%COMP%] {
|
|
744
|
+
background: var(--code-block-bg);
|
|
745
|
+
padding: 12px 16px 16px;
|
|
746
|
+
display: flex;
|
|
747
|
+
flex-direction: column;
|
|
748
|
+
gap: 10px;
|
|
749
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
.__terminal-file[_ngcontent-%COMP%] {
|
|
753
|
+
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
754
|
+
font-size: 9px;
|
|
755
|
+
letter-spacing: 0.02em;
|
|
756
|
+
color: rgba(255, 255, 255, 0.25);
|
|
757
|
+
padding-bottom: 2px;
|
|
758
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
.__example[_ngcontent-%COMP%] {
|
|
762
|
+
display: flex;
|
|
763
|
+
flex-direction: column;
|
|
764
|
+
gap: 5px;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
.__example-label[_ngcontent-%COMP%] {
|
|
768
|
+
font-family: var(--font-family-brand);
|
|
769
|
+
font-size: 9px;
|
|
770
|
+
font-weight: 500;
|
|
771
|
+
letter-spacing: 0.06em;
|
|
772
|
+
text-transform: uppercase;
|
|
773
|
+
color: rgba(255, 255, 255, 0.4);
|
|
774
|
+
line-height: 1.2;
|
|
775
|
+
font-variation-settings: "CRSV" 0, "SHRP" 100;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
.__code[_ngcontent-%COMP%] {
|
|
779
|
+
font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
780
|
+
font-size: 10px;
|
|
781
|
+
line-height: 15px;
|
|
782
|
+
color: #c8c8cd;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
.__ci[_ngcontent-%COMP%] {
|
|
786
|
+
padding-left: 12px;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
.__ci2[_ngcontent-%COMP%] {
|
|
790
|
+
padding-left: 24px;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
.__yk[_ngcontent-%COMP%] {
|
|
794
|
+
color: #6ecab8;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
.__glow[_ngcontent-%COMP%] {
|
|
798
|
+
position: absolute;
|
|
799
|
+
border-radius: 50%;
|
|
800
|
+
pointer-events: none;
|
|
801
|
+
z-index: 2;
|
|
802
|
+
}
|
|
803
|
+
@media (max-width: 649px) {
|
|
804
|
+
.__glow[_ngcontent-%COMP%] {
|
|
805
|
+
display: none;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
.__glow--teal[_ngcontent-%COMP%] {
|
|
810
|
+
width: 120px;
|
|
811
|
+
height: 120px;
|
|
812
|
+
background: var(--alt-card-accent);
|
|
813
|
+
filter: blur(120px);
|
|
814
|
+
opacity: 0.5;
|
|
815
|
+
left: 220px;
|
|
816
|
+
top: 180px;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
.__glow--orange[_ngcontent-%COMP%] {
|
|
820
|
+
width: 80px;
|
|
821
|
+
height: 80px;
|
|
822
|
+
background: #FF8233;
|
|
823
|
+
filter: blur(100px);
|
|
824
|
+
opacity: 0.4;
|
|
825
|
+
left: 300px;
|
|
826
|
+
top: 30px;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
.__vline[_ngcontent-%COMP%] {
|
|
830
|
+
position: absolute;
|
|
831
|
+
display: flex;
|
|
832
|
+
flex-direction: column;
|
|
833
|
+
align-items: center;
|
|
834
|
+
height: 100%;
|
|
835
|
+
top: 0;
|
|
836
|
+
z-index: 0;
|
|
837
|
+
}
|
|
838
|
+
@media (max-width: 649px) {
|
|
839
|
+
.__vline[_ngcontent-%COMP%] {
|
|
840
|
+
display: none;
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
.__vline--1[_ngcontent-%COMP%] {
|
|
845
|
+
left: 88px;
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
.__vline--2[_ngcontent-%COMP%] {
|
|
849
|
+
left: 285px;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
.__vline--3[_ngcontent-%COMP%] {
|
|
853
|
+
left: 487px;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
.__vline-rule[_ngcontent-%COMP%] {
|
|
857
|
+
flex: 1;
|
|
858
|
+
width: 0;
|
|
859
|
+
border-right: 1px solid rgba(0, 0, 0, 0.05);
|
|
860
|
+
}`], changeDetection: 0 });
|
|
861
|
+
let te = P;
|
|
862
|
+
const S = class S {
|
|
863
|
+
};
|
|
864
|
+
S.ɵfac = function(t) {
|
|
865
|
+
return new (t || S)();
|
|
866
|
+
}, S.ɵcmp = /* @__PURE__ */ ae({ type: S, selectors: [["zwe-containers-cards-element"]], decls: 2, vars: 0, consts: [[1, "zerops"]], template: function(t, s) {
|
|
867
|
+
t & 1 && (r(0, "div", 0), u(1, "zw-containers-cards"), i());
|
|
868
|
+
}, dependencies: [te], styles: ["[_nghost-%COMP%] { display: block; }"], changeDetection: 0 });
|
|
869
|
+
let se = S;
|
|
870
|
+
Ne().then((n) => {
|
|
871
|
+
customElements.get("zerops-containers-cards") || customElements.define("zerops-containers-cards", qe(se, { injector: n.injector }));
|
|
872
|
+
});
|