cat-framework-core 0.1.6 → 0.2.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/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +178 -215
- package/dist/index.mjs.map +1 -1
- package/package.json +33 -33
package/dist/index.mjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
|
-
import { clsx as
|
|
3
|
-
import { twMerge as
|
|
4
|
-
import { cva as
|
|
5
|
-
import * as
|
|
6
|
-
import
|
|
7
|
-
import { Slot as
|
|
2
|
+
import { clsx as G } from "clsx";
|
|
3
|
+
import { twMerge as Z } from "tailwind-merge";
|
|
4
|
+
import { cva as P } from "class-variance-authority";
|
|
5
|
+
import * as v from "react";
|
|
6
|
+
import j, { useState as x, createContext as J, useContext as L, useCallback as Q, useEffect as X } from "react";
|
|
7
|
+
import { Slot as $ } from "@radix-ui/react-slot";
|
|
8
8
|
import { motion as A } from "framer-motion";
|
|
9
|
-
import * as
|
|
10
|
-
import { ChevronDown as F, X as
|
|
11
|
-
import "react-
|
|
12
|
-
function c(...
|
|
13
|
-
return
|
|
9
|
+
import * as y from "@radix-ui/react-accordion";
|
|
10
|
+
import { ChevronDown as F, X as U, Menu as Y, Search as ee, ChevronRight as re, Cloud as te, Star as ae, Check as ne } from "lucide-react";
|
|
11
|
+
import * as H from "@radix-ui/react-label";
|
|
12
|
+
function c(...a) {
|
|
13
|
+
return Z(G(a));
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const ie = P("", {
|
|
16
16
|
variants: {
|
|
17
17
|
variant: {
|
|
18
18
|
h1: "font-display text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl",
|
|
@@ -39,7 +39,7 @@ const se = C("", {
|
|
|
39
39
|
variant: "body",
|
|
40
40
|
color: "default"
|
|
41
41
|
}
|
|
42
|
-
}),
|
|
42
|
+
}), oe = {
|
|
43
43
|
h1: "h1",
|
|
44
44
|
h2: "h2",
|
|
45
45
|
h3: "h3",
|
|
@@ -51,22 +51,22 @@ const se = C("", {
|
|
|
51
51
|
"body-lg": "p",
|
|
52
52
|
caption: "span",
|
|
53
53
|
overline: "span"
|
|
54
|
-
}, m =
|
|
55
|
-
({ className:
|
|
56
|
-
const u = o ||
|
|
54
|
+
}, m = j.forwardRef(
|
|
55
|
+
({ className: a, variant: n = "body", tone: r = "default", as: o, children: s, ...t }, d) => {
|
|
56
|
+
const u = o || oe[n] || "p";
|
|
57
57
|
return /* @__PURE__ */ e(
|
|
58
58
|
u,
|
|
59
59
|
{
|
|
60
60
|
ref: d,
|
|
61
|
-
className: c(
|
|
62
|
-
...
|
|
61
|
+
className: c(ie({ variant: n, color: r, className: a })),
|
|
62
|
+
...t,
|
|
63
63
|
children: s
|
|
64
64
|
}
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
67
|
);
|
|
68
68
|
m.displayName = "Typography";
|
|
69
|
-
const
|
|
69
|
+
const se = P(
|
|
70
70
|
"inline-flex items-center rounded-full px-3 py-0.5 font-body text-xs font-medium transition-fast",
|
|
71
71
|
{
|
|
72
72
|
variants: {
|
|
@@ -81,11 +81,11 @@ const le = C(
|
|
|
81
81
|
},
|
|
82
82
|
defaultVariants: { variant: "default" }
|
|
83
83
|
}
|
|
84
|
-
),
|
|
85
|
-
({ className:
|
|
84
|
+
), de = j.forwardRef(
|
|
85
|
+
({ className: a, variant: n, ...r }, o) => /* @__PURE__ */ e("span", { ref: o, className: c(se({ variant: n, className: a })), ...r })
|
|
86
86
|
);
|
|
87
|
-
|
|
88
|
-
const
|
|
87
|
+
de.displayName = "Badge";
|
|
88
|
+
const le = P(
|
|
89
89
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl font-medium font-body transition-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
90
90
|
{
|
|
91
91
|
variants: {
|
|
@@ -112,17 +112,17 @@ const me = C(
|
|
|
112
112
|
size: "default"
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
), g =
|
|
116
|
-
({ className:
|
|
115
|
+
), g = v.forwardRef(
|
|
116
|
+
({ className: a, variant: n, size: r, asChild: o = !1, ...s }, t) => /* @__PURE__ */ e(o ? $ : "button", { className: c(le({ variant: n, size: r, className: a })), ref: t, ...s })
|
|
117
117
|
);
|
|
118
118
|
g.displayName = "Button";
|
|
119
|
-
const
|
|
120
|
-
headline:
|
|
121
|
-
headlineMobile:
|
|
119
|
+
const ke = ({
|
|
120
|
+
headline: a,
|
|
121
|
+
headlineMobile: n,
|
|
122
122
|
subheadline: r,
|
|
123
123
|
subheadlineMobile: o,
|
|
124
124
|
ctaLabel: s,
|
|
125
|
-
ctaHref:
|
|
125
|
+
ctaHref: t = "#",
|
|
126
126
|
secondaryCtaLabel: d,
|
|
127
127
|
secondaryCtaHref: u = "#",
|
|
128
128
|
backgroundImage: h,
|
|
@@ -150,7 +150,7 @@ const Fe = ({
|
|
|
150
150
|
transition: { duration: 0.4, ease: "easeOut" },
|
|
151
151
|
className: "px-6 py-16 lg:px-8 lg:py-20 max-w-[500px] lg:max-w-[480px]",
|
|
152
152
|
children: [
|
|
153
|
-
/* @__PURE__ */ e(m, { variant: "h1", className: "text-white drop-shadow-lg", as: "h1", children:
|
|
153
|
+
/* @__PURE__ */ e(m, { variant: "h1", className: "text-white drop-shadow-lg", as: "h1", children: a }),
|
|
154
154
|
r && /* @__PURE__ */ e(m, { variant: "body-lg", className: "mt-4 text-white/85 drop-shadow-md", children: r }),
|
|
155
155
|
(s || d) && /* @__PURE__ */ i("div", { className: "mt-8 flex flex-wrap gap-4", children: [
|
|
156
156
|
s && /* @__PURE__ */ e(
|
|
@@ -159,7 +159,7 @@ const Fe = ({
|
|
|
159
159
|
size: "lg",
|
|
160
160
|
className: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",
|
|
161
161
|
asChild: !0,
|
|
162
|
-
children: /* @__PURE__ */ e("a", { href:
|
|
162
|
+
children: /* @__PURE__ */ e("a", { href: t, children: s })
|
|
163
163
|
}
|
|
164
164
|
),
|
|
165
165
|
d && /* @__PURE__ */ e(
|
|
@@ -196,7 +196,7 @@ const Fe = ({
|
|
|
196
196
|
animate: { opacity: 1, y: 0 },
|
|
197
197
|
transition: { duration: 0.4 },
|
|
198
198
|
children: [
|
|
199
|
-
/* @__PURE__ */ e(m, { variant: "h2", className: "text-white drop-shadow-lg", as: "h1", children:
|
|
199
|
+
/* @__PURE__ */ e(m, { variant: "h2", className: "text-white drop-shadow-lg", as: "h1", children: n || a }),
|
|
200
200
|
(o || r) && /* @__PURE__ */ e(m, { variant: "body-lg", className: "mt-3 text-white/90 drop-shadow-lg font-medium leading-relaxed", children: o || r })
|
|
201
201
|
]
|
|
202
202
|
}
|
|
@@ -216,7 +216,7 @@ const Fe = ({
|
|
|
216
216
|
size: "lg",
|
|
217
217
|
className: "w-full bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",
|
|
218
218
|
asChild: !0,
|
|
219
|
-
children: /* @__PURE__ */ e("a", { href:
|
|
219
|
+
children: /* @__PURE__ */ e("a", { href: t, children: s })
|
|
220
220
|
}
|
|
221
221
|
),
|
|
222
222
|
d && /* @__PURE__ */ e(
|
|
@@ -234,13 +234,13 @@ const Fe = ({
|
|
|
234
234
|
)
|
|
235
235
|
] })
|
|
236
236
|
] })
|
|
237
|
-
] }),
|
|
238
|
-
heading:
|
|
239
|
-
text:
|
|
237
|
+
] }), Ce = ({
|
|
238
|
+
heading: a,
|
|
239
|
+
text: n,
|
|
240
240
|
imageSrc: r,
|
|
241
241
|
imageAlt: o,
|
|
242
242
|
ctaLabel: s,
|
|
243
|
-
ctaHref:
|
|
243
|
+
ctaHref: t = "#",
|
|
244
244
|
imagePosition: d = "left",
|
|
245
245
|
className: u,
|
|
246
246
|
...h
|
|
@@ -262,29 +262,29 @@ const Fe = ({
|
|
|
262
262
|
}
|
|
263
263
|
) }),
|
|
264
264
|
/* @__PURE__ */ i("div", { children: [
|
|
265
|
-
/* @__PURE__ */ e(m, { variant: "h2", children:
|
|
266
|
-
/* @__PURE__ */ e(m, { variant: "body", color: "muted", className: "mt-4", children:
|
|
267
|
-
s && /* @__PURE__ */ e(g, { className: "mt-6", asChild: !0, children: /* @__PURE__ */ e("a", { href:
|
|
265
|
+
/* @__PURE__ */ e(m, { variant: "h2", children: a }),
|
|
266
|
+
/* @__PURE__ */ e(m, { variant: "body", color: "muted", className: "mt-4", children: n }),
|
|
267
|
+
s && /* @__PURE__ */ e(g, { className: "mt-6", asChild: !0, children: /* @__PURE__ */ e("a", { href: t, children: s }) })
|
|
268
268
|
] })
|
|
269
269
|
]
|
|
270
270
|
}
|
|
271
|
-
) }),
|
|
272
|
-
heading:
|
|
273
|
-
text:
|
|
271
|
+
) }), Pe = ({
|
|
272
|
+
heading: a,
|
|
273
|
+
text: n,
|
|
274
274
|
imageSrc: r,
|
|
275
275
|
imageAlt: o = "",
|
|
276
276
|
tag: s,
|
|
277
|
-
href:
|
|
277
|
+
href: t,
|
|
278
278
|
className: d,
|
|
279
279
|
...u
|
|
280
280
|
}) => {
|
|
281
|
-
const h =
|
|
281
|
+
const h = t ? "a" : "div", p = t ? { href: t } : {};
|
|
282
282
|
return /* @__PURE__ */ e(
|
|
283
283
|
"article",
|
|
284
284
|
{
|
|
285
285
|
className: c(
|
|
286
286
|
"group overflow-hidden rounded-2xl border border-border bg-card shadow-sm transition-fast hover:shadow-lg",
|
|
287
|
-
|
|
287
|
+
t && "cursor-pointer",
|
|
288
288
|
d
|
|
289
289
|
),
|
|
290
290
|
...u,
|
|
@@ -300,60 +300,60 @@ const Fe = ({
|
|
|
300
300
|
) }),
|
|
301
301
|
/* @__PURE__ */ i("div", { className: "p-6", children: [
|
|
302
302
|
s && /* @__PURE__ */ e(m, { variant: "overline", className: "mb-2", children: s }),
|
|
303
|
-
/* @__PURE__ */ e(m, { variant: "h4", className: "group-hover:text-primary transition-fast", children:
|
|
304
|
-
/* @__PURE__ */ e(m, { variant: "body-sm", color: "muted", className: "mt-2 line-clamp-3", children:
|
|
303
|
+
/* @__PURE__ */ e(m, { variant: "h4", className: "group-hover:text-primary transition-fast", children: a }),
|
|
304
|
+
/* @__PURE__ */ e(m, { variant: "body-sm", color: "muted", className: "mt-2 line-clamp-3", children: n })
|
|
305
305
|
] })
|
|
306
306
|
] })
|
|
307
307
|
}
|
|
308
308
|
);
|
|
309
|
-
},
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
|
|
309
|
+
}, ce = y.Root, R = v.forwardRef(({ className: a, ...n }, r) => /* @__PURE__ */ e(y.Item, { ref: r, className: c("border-b", a), ...n }));
|
|
310
|
+
R.displayName = "AccordionItem";
|
|
311
|
+
const S = v.forwardRef(({ className: a, children: n, ...r }, o) => /* @__PURE__ */ e(y.Header, { className: "flex", children: /* @__PURE__ */ i(
|
|
312
|
+
y.Trigger,
|
|
313
313
|
{
|
|
314
314
|
ref: o,
|
|
315
315
|
className: c(
|
|
316
316
|
"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
317
|
-
|
|
317
|
+
a
|
|
318
318
|
),
|
|
319
319
|
...r,
|
|
320
320
|
children: [
|
|
321
|
-
|
|
321
|
+
n,
|
|
322
322
|
/* @__PURE__ */ e(F, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
|
|
323
323
|
]
|
|
324
324
|
}
|
|
325
325
|
) }));
|
|
326
|
-
|
|
327
|
-
const
|
|
328
|
-
|
|
326
|
+
S.displayName = y.Trigger.displayName;
|
|
327
|
+
const T = v.forwardRef(({ className: a, children: n, ...r }, o) => /* @__PURE__ */ e(
|
|
328
|
+
y.Content,
|
|
329
329
|
{
|
|
330
330
|
ref: o,
|
|
331
331
|
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
332
332
|
...r,
|
|
333
|
-
children: /* @__PURE__ */ e("div", { className: c("pb-4 pt-0",
|
|
333
|
+
children: /* @__PURE__ */ e("div", { className: c("pb-4 pt-0", a), children: n })
|
|
334
334
|
}
|
|
335
335
|
));
|
|
336
|
-
|
|
337
|
-
const
|
|
338
|
-
heading:
|
|
339
|
-
items:
|
|
336
|
+
T.displayName = y.Content.displayName;
|
|
337
|
+
const ze = ({
|
|
338
|
+
heading: a,
|
|
339
|
+
items: n,
|
|
340
340
|
className: r,
|
|
341
341
|
...o
|
|
342
342
|
}) => {
|
|
343
343
|
const s = {
|
|
344
344
|
"@context": "https://schema.org",
|
|
345
345
|
"@type": "FAQPage",
|
|
346
|
-
mainEntity:
|
|
346
|
+
mainEntity: n.map((t) => ({
|
|
347
347
|
"@type": "Question",
|
|
348
|
-
name:
|
|
349
|
-
acceptedAnswer: { "@type": "Answer", text:
|
|
348
|
+
name: t.question,
|
|
349
|
+
acceptedAnswer: { "@type": "Answer", text: t.answer }
|
|
350
350
|
}))
|
|
351
351
|
};
|
|
352
352
|
return /* @__PURE__ */ e("section", { className: c("section-padding", r), ...o, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
353
|
-
|
|
354
|
-
/* @__PURE__ */ e(
|
|
355
|
-
/* @__PURE__ */ e(
|
|
356
|
-
/* @__PURE__ */ e(
|
|
353
|
+
a && /* @__PURE__ */ e(m, { variant: "h2", className: "mb-8 text-center", children: a }),
|
|
354
|
+
/* @__PURE__ */ e(ce, { type: "single", collapsible: !0, className: "w-full", children: n.map((t, d) => /* @__PURE__ */ i(R, { value: `item-${d}`, children: [
|
|
355
|
+
/* @__PURE__ */ e(S, { className: "font-display text-left font-semibold", children: t.question }),
|
|
356
|
+
/* @__PURE__ */ e(T, { className: "font-body text-muted-foreground", children: t.answer })
|
|
357
357
|
] }, d)) }),
|
|
358
358
|
/* @__PURE__ */ e(
|
|
359
359
|
"script",
|
|
@@ -363,85 +363,48 @@ const De = ({
|
|
|
363
363
|
}
|
|
364
364
|
)
|
|
365
365
|
] }) });
|
|
366
|
-
},
|
|
367
|
-
({ className:
|
|
366
|
+
}, C = v.forwardRef(
|
|
367
|
+
({ className: a, type: n, ...r }, o) => /* @__PURE__ */ e(
|
|
368
368
|
"input",
|
|
369
369
|
{
|
|
370
|
-
type:
|
|
370
|
+
type: n,
|
|
371
371
|
className: c(
|
|
372
372
|
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
373
|
-
|
|
373
|
+
a
|
|
374
374
|
),
|
|
375
375
|
ref: o,
|
|
376
376
|
...r
|
|
377
377
|
}
|
|
378
378
|
)
|
|
379
379
|
);
|
|
380
|
-
|
|
381
|
-
const
|
|
380
|
+
C.displayName = "Input";
|
|
381
|
+
const M = v.forwardRef(({ className: a, ...n }, r) => /* @__PURE__ */ e(
|
|
382
382
|
"textarea",
|
|
383
383
|
{
|
|
384
384
|
className: c(
|
|
385
385
|
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
386
|
-
|
|
386
|
+
a
|
|
387
387
|
),
|
|
388
388
|
ref: r,
|
|
389
|
-
...
|
|
389
|
+
...n
|
|
390
390
|
}
|
|
391
391
|
));
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
"
|
|
397
|
-
|
|
398
|
-
"h2",
|
|
399
|
-
"h3",
|
|
400
|
-
"img",
|
|
401
|
-
"input",
|
|
402
|
-
"label",
|
|
403
|
-
"li",
|
|
404
|
-
"nav",
|
|
405
|
-
"ol",
|
|
406
|
-
"p",
|
|
407
|
-
"select",
|
|
408
|
-
"span",
|
|
409
|
-
"svg",
|
|
410
|
-
"ul"
|
|
411
|
-
], fe = ue.reduce((t, a) => {
|
|
412
|
-
const r = Y(`Primitive.${a}`), o = x.forwardRef((s, n) => {
|
|
413
|
-
const { asChild: d, ...u } = s, h = d ? r : a;
|
|
414
|
-
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ e(h, { ...u, ref: n });
|
|
415
|
-
});
|
|
416
|
-
return o.displayName = `Primitive.${a}`, { ...t, [a]: o };
|
|
417
|
-
}, {}), ge = "Label", H = x.forwardRef((t, a) => /* @__PURE__ */ e(
|
|
418
|
-
fe.label,
|
|
419
|
-
{
|
|
420
|
-
...t,
|
|
421
|
-
ref: a,
|
|
422
|
-
onMouseDown: (r) => {
|
|
423
|
-
var s;
|
|
424
|
-
r.target.closest("button, input, select, textarea") || ((s = t.onMouseDown) == null || s.call(t, r), !r.defaultPrevented && r.detail > 1 && r.preventDefault());
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
));
|
|
428
|
-
H.displayName = ge;
|
|
429
|
-
var T = H;
|
|
430
|
-
const pe = C("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), k = x.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e(T, { ref: r, className: c(pe(), t), ...a }));
|
|
431
|
-
k.displayName = T.displayName;
|
|
432
|
-
const Me = ({
|
|
433
|
-
heading: t = "Kontakt",
|
|
434
|
-
description: a,
|
|
392
|
+
M.displayName = "Textarea";
|
|
393
|
+
const me = P("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), k = v.forwardRef(({ className: a, ...n }, r) => /* @__PURE__ */ e(H.Root, { ref: r, className: c(me(), a), ...n }));
|
|
394
|
+
k.displayName = H.Root.displayName;
|
|
395
|
+
const Be = ({
|
|
396
|
+
heading: a = "Kontakt",
|
|
397
|
+
description: n,
|
|
435
398
|
onSubmit: r,
|
|
436
399
|
className: o,
|
|
437
400
|
...s
|
|
438
401
|
}) => {
|
|
439
|
-
const [
|
|
440
|
-
f.preventDefault(), r == null || r(
|
|
402
|
+
const [t, d] = x({ name: "", email: "", message: "" }), [u, h] = x(!1), p = (f) => {
|
|
403
|
+
f.preventDefault(), r == null || r(t), h(!0);
|
|
441
404
|
};
|
|
442
405
|
return /* @__PURE__ */ e("section", { className: c("section-padding", o), ...s, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
443
|
-
/* @__PURE__ */ e(m, { variant: "h2", className: "mb-2", children:
|
|
444
|
-
|
|
406
|
+
/* @__PURE__ */ e(m, { variant: "h2", className: "mb-2", children: a }),
|
|
407
|
+
n && /* @__PURE__ */ e(m, { variant: "body", color: "muted", className: "mb-8", children: n }),
|
|
445
408
|
u ? /* @__PURE__ */ i("div", { className: "rounded-lg border border-success/30 bg-success/5 p-8 text-center", children: [
|
|
446
409
|
/* @__PURE__ */ e(m, { variant: "h4", color: "accent", children: "Vielen Dank für Ihre Nachricht!" }),
|
|
447
410
|
/* @__PURE__ */ e(m, { variant: "body-sm", color: "muted", className: "mt-2", children: "Wir melden uns in Kürze bei Ihnen." })
|
|
@@ -450,12 +413,12 @@ const Me = ({
|
|
|
450
413
|
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
451
414
|
/* @__PURE__ */ e(k, { htmlFor: "name", children: "Name" }),
|
|
452
415
|
/* @__PURE__ */ e(
|
|
453
|
-
|
|
416
|
+
C,
|
|
454
417
|
{
|
|
455
418
|
id: "name",
|
|
456
419
|
required: !0,
|
|
457
|
-
value:
|
|
458
|
-
onChange: (f) => d({ ...
|
|
420
|
+
value: t.name,
|
|
421
|
+
onChange: (f) => d({ ...t, name: f.target.value }),
|
|
459
422
|
placeholder: "Max Mustermann"
|
|
460
423
|
}
|
|
461
424
|
)
|
|
@@ -463,13 +426,13 @@ const Me = ({
|
|
|
463
426
|
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
464
427
|
/* @__PURE__ */ e(k, { htmlFor: "email", children: "E-Mail" }),
|
|
465
428
|
/* @__PURE__ */ e(
|
|
466
|
-
|
|
429
|
+
C,
|
|
467
430
|
{
|
|
468
431
|
id: "email",
|
|
469
432
|
type: "email",
|
|
470
433
|
required: !0,
|
|
471
|
-
value:
|
|
472
|
-
onChange: (f) => d({ ...
|
|
434
|
+
value: t.email,
|
|
435
|
+
onChange: (f) => d({ ...t, email: f.target.value }),
|
|
473
436
|
placeholder: "max@beispiel.de"
|
|
474
437
|
}
|
|
475
438
|
)
|
|
@@ -478,13 +441,13 @@ const Me = ({
|
|
|
478
441
|
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
479
442
|
/* @__PURE__ */ e(k, { htmlFor: "message", children: "Nachricht" }),
|
|
480
443
|
/* @__PURE__ */ e(
|
|
481
|
-
|
|
444
|
+
M,
|
|
482
445
|
{
|
|
483
446
|
id: "message",
|
|
484
447
|
required: !0,
|
|
485
448
|
rows: 5,
|
|
486
|
-
value:
|
|
487
|
-
onChange: (f) => d({ ...
|
|
449
|
+
value: t.message,
|
|
450
|
+
onChange: (f) => d({ ...t, message: f.target.value }),
|
|
488
451
|
placeholder: "Ihre Nachricht..."
|
|
489
452
|
}
|
|
490
453
|
)
|
|
@@ -492,15 +455,15 @@ const Me = ({
|
|
|
492
455
|
/* @__PURE__ */ e(g, { type: "submit", size: "lg", children: "Nachricht senden" })
|
|
493
456
|
] })
|
|
494
457
|
] }) });
|
|
495
|
-
},
|
|
496
|
-
brand:
|
|
497
|
-
items:
|
|
458
|
+
}, Ae = ({
|
|
459
|
+
brand: a,
|
|
460
|
+
items: n,
|
|
498
461
|
ctaLabel: r,
|
|
499
462
|
ctaHref: o = "#",
|
|
500
463
|
className: s,
|
|
501
|
-
...
|
|
464
|
+
...t
|
|
502
465
|
}) => {
|
|
503
|
-
const [d, u] =
|
|
466
|
+
const [d, u] = x(!1);
|
|
504
467
|
return /* @__PURE__ */ i(
|
|
505
468
|
"header",
|
|
506
469
|
{
|
|
@@ -508,12 +471,12 @@ const Me = ({
|
|
|
508
471
|
"sticky top-0 z-50 border-b border-primary/20 bg-primary text-primary-foreground backdrop-blur",
|
|
509
472
|
s
|
|
510
473
|
),
|
|
511
|
-
...
|
|
474
|
+
...t,
|
|
512
475
|
children: [
|
|
513
476
|
/* @__PURE__ */ i("nav", { className: "container-wide flex h-16 items-center justify-between px-4 sm:px-6 lg:px-8", "aria-label": "Main", children: [
|
|
514
|
-
/* @__PURE__ */ e("a", { href: "/", className: "font-display text-lg font-bold text-primary-foreground", children:
|
|
477
|
+
/* @__PURE__ */ e("a", { href: "/", className: "font-display text-lg font-bold text-primary-foreground", children: a }),
|
|
515
478
|
/* @__PURE__ */ i("ul", { className: "hidden items-center gap-1 md:flex", children: [
|
|
516
|
-
|
|
479
|
+
n.map((h) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
517
480
|
"a",
|
|
518
481
|
{
|
|
519
482
|
href: h.href,
|
|
@@ -529,12 +492,12 @@ const Me = ({
|
|
|
529
492
|
className: "md:hidden rounded-full p-2 text-primary-foreground/80 hover:bg-primary-foreground/10",
|
|
530
493
|
onClick: () => u(!d),
|
|
531
494
|
"aria-label": "Menu",
|
|
532
|
-
children: d ? /* @__PURE__ */ e(
|
|
495
|
+
children: d ? /* @__PURE__ */ e(U, { size: 20 }) : /* @__PURE__ */ e(Y, { size: 20 })
|
|
533
496
|
}
|
|
534
497
|
)
|
|
535
498
|
] }),
|
|
536
499
|
d && /* @__PURE__ */ e("div", { className: "border-t border-primary-foreground/20 bg-primary md:hidden", children: /* @__PURE__ */ i("ul", { className: "container-wide space-y-1 px-4 py-4", children: [
|
|
537
|
-
|
|
500
|
+
n.map((h) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
538
501
|
"a",
|
|
539
502
|
{
|
|
540
503
|
href: h.href,
|
|
@@ -548,18 +511,18 @@ const Me = ({
|
|
|
548
511
|
]
|
|
549
512
|
}
|
|
550
513
|
);
|
|
551
|
-
},
|
|
552
|
-
brand:
|
|
553
|
-
columns:
|
|
514
|
+
}, Fe = ({
|
|
515
|
+
brand: a,
|
|
516
|
+
columns: n,
|
|
554
517
|
copyright: r,
|
|
555
518
|
className: o,
|
|
556
519
|
...s
|
|
557
520
|
}) => /* @__PURE__ */ e("footer", { className: c("border-t border-border bg-muted section-padding", o), ...s, children: /* @__PURE__ */ i("div", { className: "container-wide", children: [
|
|
558
521
|
/* @__PURE__ */ i("div", { className: "grid gap-8 sm:grid-cols-2 lg:grid-cols-4", children: [
|
|
559
|
-
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(m, { variant: "h5", children:
|
|
560
|
-
|
|
561
|
-
/* @__PURE__ */ e(m, { variant: "overline", className: "mb-4", children:
|
|
562
|
-
/* @__PURE__ */ e("ul", { className: "space-y-2", children:
|
|
522
|
+
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(m, { variant: "h5", children: a }) }),
|
|
523
|
+
n.map((t) => /* @__PURE__ */ i("div", { children: [
|
|
524
|
+
/* @__PURE__ */ e(m, { variant: "overline", className: "mb-4", children: t.heading }),
|
|
525
|
+
/* @__PURE__ */ e("ul", { className: "space-y-2", children: t.links.map((d) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
563
526
|
"a",
|
|
564
527
|
{
|
|
565
528
|
href: d.href,
|
|
@@ -567,41 +530,41 @@ const Me = ({
|
|
|
567
530
|
children: d.label
|
|
568
531
|
}
|
|
569
532
|
) }, d.href)) })
|
|
570
|
-
] },
|
|
533
|
+
] }, t.heading))
|
|
571
534
|
] }),
|
|
572
535
|
r && /* @__PURE__ */ e("div", { className: "mt-12 border-t border-border pt-6", children: /* @__PURE__ */ e(m, { variant: "caption", children: r }) })
|
|
573
|
-
] }) }),
|
|
574
|
-
({ className:
|
|
575
|
-
/* @__PURE__ */ e(
|
|
536
|
+
] }) }), he = j.forwardRef(
|
|
537
|
+
({ className: a, onSearch: n, ...r }, o) => /* @__PURE__ */ i("div", { className: c("relative", a), children: [
|
|
538
|
+
/* @__PURE__ */ e(ee, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
576
539
|
/* @__PURE__ */ e(
|
|
577
|
-
|
|
540
|
+
C,
|
|
578
541
|
{
|
|
579
542
|
ref: o,
|
|
580
543
|
className: "pl-10",
|
|
581
544
|
placeholder: "Suchen...",
|
|
582
|
-
onChange: (s) =>
|
|
545
|
+
onChange: (s) => n == null ? void 0 : n(s.target.value),
|
|
583
546
|
...r
|
|
584
547
|
}
|
|
585
548
|
)
|
|
586
549
|
] })
|
|
587
550
|
);
|
|
588
|
-
|
|
589
|
-
const
|
|
551
|
+
he.displayName = "SearchBar";
|
|
552
|
+
const je = ({ items: a, className: n, ...r }) => {
|
|
590
553
|
const o = {
|
|
591
554
|
"@context": "https://schema.org",
|
|
592
555
|
"@type": "BreadcrumbList",
|
|
593
|
-
itemListElement:
|
|
556
|
+
itemListElement: a.map((s, t) => ({
|
|
594
557
|
"@type": "ListItem",
|
|
595
|
-
position:
|
|
558
|
+
position: t + 1,
|
|
596
559
|
name: s.label,
|
|
597
560
|
...s.href ? { item: s.href } : {}
|
|
598
561
|
}))
|
|
599
562
|
};
|
|
600
|
-
return /* @__PURE__ */ i("nav", { "aria-label": "Breadcrumb", className: c("font-body text-sm",
|
|
601
|
-
/* @__PURE__ */ e("ol", { className: "flex items-center gap-1", children:
|
|
602
|
-
|
|
603
|
-
s.href &&
|
|
604
|
-
] },
|
|
563
|
+
return /* @__PURE__ */ i("nav", { "aria-label": "Breadcrumb", className: c("font-body text-sm", n), ...r, children: [
|
|
564
|
+
/* @__PURE__ */ e("ol", { className: "flex items-center gap-1", children: a.map((s, t) => /* @__PURE__ */ i("li", { className: "flex items-center gap-1", children: [
|
|
565
|
+
t > 0 && /* @__PURE__ */ e(re, { className: "h-3 w-3 text-muted-foreground" }),
|
|
566
|
+
s.href && t < a.length - 1 ? /* @__PURE__ */ e("a", { href: s.href, className: "text-muted-foreground transition-fast hover:text-foreground", children: s.label }) : /* @__PURE__ */ e("span", { className: "text-foreground font-medium", children: s.label })
|
|
567
|
+
] }, t)) }),
|
|
605
568
|
/* @__PURE__ */ e(
|
|
606
569
|
"script",
|
|
607
570
|
{
|
|
@@ -610,7 +573,7 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
610
573
|
}
|
|
611
574
|
)
|
|
612
575
|
] });
|
|
613
|
-
},
|
|
576
|
+
}, ue = [
|
|
614
577
|
{
|
|
615
578
|
id: "50gb",
|
|
616
579
|
storage: "50 GB",
|
|
@@ -684,24 +647,24 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
684
647
|
ctaLabel: "Zum Angebot",
|
|
685
648
|
ctaHref: "#"
|
|
686
649
|
}
|
|
687
|
-
],
|
|
688
|
-
heading:
|
|
689
|
-
subheading:
|
|
690
|
-
plans: r =
|
|
650
|
+
], Ve = ({
|
|
651
|
+
heading: a = "Cloud-Speicher erweitern",
|
|
652
|
+
subheading: n = "Wählen Sie den passenden Tarif für Ihre Bedürfnisse",
|
|
653
|
+
plans: r = ue,
|
|
691
654
|
defaultOpenId: o = "100gb",
|
|
692
655
|
defaultBilling: s = "yearly",
|
|
693
|
-
className:
|
|
656
|
+
className: t,
|
|
694
657
|
...d
|
|
695
658
|
}) => {
|
|
696
|
-
const [u, h] =
|
|
659
|
+
const [u, h] = x(o), [p, f] = x(s), [N, z] = x(!1), I = r.some((l) => l.hidden), _ = N ? r : r.filter((l) => !l.hidden), E = (l) => {
|
|
697
660
|
h((b) => b === l ? null : l);
|
|
698
|
-
},
|
|
661
|
+
}, K = (l) => p === "yearly" ? l.yearlyPrice : l.monthlyPrice, W = (l) => {
|
|
699
662
|
const b = l.monthlyPrice - l.yearlyPrice;
|
|
700
663
|
return b > 0 ? Math.round(b / l.monthlyPrice * 100) : 0;
|
|
701
664
|
};
|
|
702
|
-
return /* @__PURE__ */ e("section", { className: c("section-padding",
|
|
703
|
-
|
|
704
|
-
|
|
665
|
+
return /* @__PURE__ */ e("section", { className: c("section-padding", t), ...d, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
666
|
+
a && /* @__PURE__ */ e(m, { variant: "h2", className: "mb-2 text-center", children: a }),
|
|
667
|
+
n && /* @__PURE__ */ e(m, { variant: "body", tone: "muted", className: "mb-8 text-center", children: n }),
|
|
705
668
|
/* @__PURE__ */ e("div", { className: "flex items-center justify-center mb-8", children: /* @__PURE__ */ i("div", { className: "inline-flex rounded-xl border border-border bg-muted p-1 gap-1", children: [
|
|
706
669
|
/* @__PURE__ */ e(
|
|
707
670
|
"button",
|
|
@@ -727,7 +690,7 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
727
690
|
)
|
|
728
691
|
] }) }),
|
|
729
692
|
/* @__PURE__ */ e("div", { className: "space-y-3", children: _.map((l) => {
|
|
730
|
-
const b = u === l.id, q =
|
|
693
|
+
const b = u === l.id, q = K(l), V = W(l);
|
|
731
694
|
return /* @__PURE__ */ i(
|
|
732
695
|
"div",
|
|
733
696
|
{
|
|
@@ -740,7 +703,7 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
740
703
|
"div",
|
|
741
704
|
{
|
|
742
705
|
className: "flex items-center gap-4 px-5 py-4 cursor-pointer select-none",
|
|
743
|
-
onClick: () =>
|
|
706
|
+
onClick: () => E(l.id),
|
|
744
707
|
children: [
|
|
745
708
|
/* @__PURE__ */ e(
|
|
746
709
|
"div",
|
|
@@ -749,13 +712,13 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
749
712
|
"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-fast",
|
|
750
713
|
b ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground"
|
|
751
714
|
),
|
|
752
|
-
children: /* @__PURE__ */ e(
|
|
715
|
+
children: /* @__PURE__ */ e(te, { className: "h-5 w-5" })
|
|
753
716
|
}
|
|
754
717
|
),
|
|
755
718
|
/* @__PURE__ */ i("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
756
719
|
/* @__PURE__ */ e(m, { variant: "h4", className: "whitespace-nowrap", children: l.storage }),
|
|
757
720
|
l.badge && /* @__PURE__ */ i("span", { className: "hidden sm:inline-flex items-center gap-1 rounded-full bg-primary/10 px-2.5 py-0.5 text-xs font-semibold text-primary", children: [
|
|
758
|
-
/* @__PURE__ */ e(
|
|
721
|
+
/* @__PURE__ */ e(ae, { className: "h-3 w-3" }),
|
|
759
722
|
l.badge
|
|
760
723
|
] })
|
|
761
724
|
] }),
|
|
@@ -797,28 +760,28 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
797
760
|
b ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
798
761
|
),
|
|
799
762
|
children: /* @__PURE__ */ e("div", { className: "overflow-hidden", children: /* @__PURE__ */ i("div", { className: "px-5 pb-5 pt-1", children: [
|
|
800
|
-
p === "monthly" &&
|
|
763
|
+
p === "monthly" && V > 0 && /* @__PURE__ */ i(
|
|
801
764
|
m,
|
|
802
765
|
{
|
|
803
766
|
variant: "body-sm",
|
|
804
767
|
className: "mb-4 text-primary font-medium",
|
|
805
768
|
children: [
|
|
806
769
|
"Sparen Sie ",
|
|
807
|
-
|
|
770
|
+
V,
|
|
808
771
|
"% im Jahresabo"
|
|
809
772
|
]
|
|
810
773
|
}
|
|
811
774
|
),
|
|
812
|
-
/* @__PURE__ */ e("ul", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5", children: l.features.map((B,
|
|
775
|
+
/* @__PURE__ */ e("ul", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5", children: l.features.map((B, O) => /* @__PURE__ */ i(
|
|
813
776
|
"li",
|
|
814
777
|
{
|
|
815
778
|
className: "flex items-start gap-2 font-body text-sm text-muted-foreground",
|
|
816
779
|
children: [
|
|
817
|
-
/* @__PURE__ */ e(
|
|
780
|
+
/* @__PURE__ */ e(ne, { className: "h-4 w-4 mt-0.5 shrink-0 text-primary" }),
|
|
818
781
|
B
|
|
819
782
|
]
|
|
820
783
|
},
|
|
821
|
-
|
|
784
|
+
O
|
|
822
785
|
)) }),
|
|
823
786
|
l.ctaHref && /* @__PURE__ */ e("a", { href: l.ctaHref, children: /* @__PURE__ */ e(g, { className: "w-full sm:w-auto", size: "lg", children: l.ctaLabel || "Jetzt buchen" }) })
|
|
824
787
|
] }) })
|
|
@@ -829,7 +792,7 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
829
792
|
l.id
|
|
830
793
|
);
|
|
831
794
|
}) }),
|
|
832
|
-
|
|
795
|
+
I && /* @__PURE__ */ e("div", { className: "flex justify-center mt-4", children: /* @__PURE__ */ i(
|
|
833
796
|
g,
|
|
834
797
|
{
|
|
835
798
|
variant: "ghost",
|
|
@@ -856,33 +819,33 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
856
819
|
{ id: "default", name: "Core Framework" },
|
|
857
820
|
{ id: "webde", name: "WEB.DE" },
|
|
858
821
|
{ id: "gmx", name: "GMX" }
|
|
859
|
-
],
|
|
822
|
+
], D = J({
|
|
860
823
|
brand: w[0],
|
|
861
824
|
setBrand: () => {
|
|
862
825
|
}
|
|
863
|
-
}),
|
|
864
|
-
children:
|
|
865
|
-
defaultBrand:
|
|
826
|
+
}), fe = () => L(D), He = ({
|
|
827
|
+
children: a,
|
|
828
|
+
defaultBrand: n = "default"
|
|
866
829
|
}) => {
|
|
867
|
-
const [r, o] =
|
|
868
|
-
w.find((
|
|
869
|
-
), s = Q((
|
|
870
|
-
const d = w.find((u) => u.id ===
|
|
830
|
+
const [r, o] = x(
|
|
831
|
+
w.find((t) => t.id === n) || w[0]
|
|
832
|
+
), s = Q((t) => {
|
|
833
|
+
const d = w.find((u) => u.id === t);
|
|
871
834
|
d && o(d);
|
|
872
835
|
}, []);
|
|
873
836
|
return X(() => {
|
|
874
|
-
const
|
|
875
|
-
return r.id === "default" ?
|
|
876
|
-
}, [r]), /* @__PURE__ */ e(
|
|
877
|
-
},
|
|
878
|
-
const { brand:
|
|
879
|
-
return /* @__PURE__ */ e("div", { className: c("flex items-center gap-1 rounded-xl border border-border bg-muted p-1",
|
|
837
|
+
const t = document.documentElement;
|
|
838
|
+
return r.id === "default" ? t.removeAttribute("data-brand") : t.setAttribute("data-brand", r.id), () => t.removeAttribute("data-brand");
|
|
839
|
+
}, [r]), /* @__PURE__ */ e(D.Provider, { value: { brand: r, setBrand: s }, children: a });
|
|
840
|
+
}, Re = ({ className: a }) => {
|
|
841
|
+
const { brand: n, setBrand: r } = fe();
|
|
842
|
+
return /* @__PURE__ */ e("div", { className: c("flex items-center gap-1 rounded-xl border border-border bg-muted p-1", a), children: w.map((o) => /* @__PURE__ */ e(
|
|
880
843
|
"button",
|
|
881
844
|
{
|
|
882
845
|
onClick: () => r(o.id),
|
|
883
846
|
className: c(
|
|
884
847
|
"rounded-lg px-3 py-1.5 font-body text-xs font-medium transition-fast",
|
|
885
|
-
|
|
848
|
+
n.id === o.id ? "bg-primary text-primary-foreground shadow-sm" : "text-muted-foreground hover:text-foreground hover:bg-background"
|
|
886
849
|
),
|
|
887
850
|
children: o.name
|
|
888
851
|
},
|
|
@@ -890,21 +853,21 @@ const He = ({ items: t, className: a, ...r }) => {
|
|
|
890
853
|
)) });
|
|
891
854
|
};
|
|
892
855
|
export {
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
856
|
+
de as Badge,
|
|
857
|
+
He as BrandProvider,
|
|
858
|
+
Re as BrandSwitcher,
|
|
859
|
+
je as Breadcrumb,
|
|
860
|
+
Be as ContactForm,
|
|
861
|
+
Pe as ContentCard,
|
|
862
|
+
ze as FaqAccordion,
|
|
863
|
+
Fe as Footer,
|
|
864
|
+
ke as Hero,
|
|
865
|
+
Ce as ImageTextTeaser,
|
|
866
|
+
Ae as Navbar,
|
|
867
|
+
he as SearchBar,
|
|
868
|
+
Ve as TariffSelect,
|
|
906
869
|
m as Typography,
|
|
907
870
|
w as brands,
|
|
908
|
-
|
|
871
|
+
fe as useBrand
|
|
909
872
|
};
|
|
910
873
|
//# sourceMappingURL=index.mjs.map
|