cat-framework-core 0.4.3 → 0.5.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/CHANGELOG.md +16 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +402 -360
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { clsx as
|
|
3
|
-
import { twMerge as
|
|
1
|
+
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { clsx as J } from "clsx";
|
|
3
|
+
import { twMerge as L } from "tailwind-merge";
|
|
4
4
|
import { cva as B } from "class-variance-authority";
|
|
5
|
-
import * as
|
|
6
|
-
import
|
|
7
|
-
import { Slot as
|
|
8
|
-
import { motion as
|
|
9
|
-
import * as
|
|
10
|
-
import { ChevronDown as
|
|
11
|
-
import * as
|
|
5
|
+
import * as k from "react";
|
|
6
|
+
import V, { useRef as $, useEffect as T, useState as v, createContext as Q, useContext as X, useCallback as U } from "react";
|
|
7
|
+
import { Slot as Y } from "@radix-ui/react-slot";
|
|
8
|
+
import { motion as S } from "framer-motion";
|
|
9
|
+
import * as w from "@radix-ui/react-accordion";
|
|
10
|
+
import { ChevronDown as R, X as ee, Menu as re, Search as te, ChevronRight as ae, Cloud as ne, Star as oe, Check as ie } from "lucide-react";
|
|
11
|
+
import * as I from "@radix-ui/react-label";
|
|
12
12
|
function l(...t) {
|
|
13
|
-
return
|
|
13
|
+
return L(J(t));
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const se = B("", {
|
|
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 oe = B("", {
|
|
|
39
39
|
variant: "body",
|
|
40
40
|
color: "default"
|
|
41
41
|
}
|
|
42
|
-
}),
|
|
42
|
+
}), de = {
|
|
43
43
|
h1: "h1",
|
|
44
44
|
h2: "h2",
|
|
45
45
|
h3: "h3",
|
|
@@ -51,22 +51,22 @@ const oe = B("", {
|
|
|
51
51
|
"body-lg": "p",
|
|
52
52
|
caption: "span",
|
|
53
53
|
overline: "span"
|
|
54
|
-
},
|
|
55
|
-
({ className: t, variant:
|
|
56
|
-
const
|
|
54
|
+
}, u = V.forwardRef(
|
|
55
|
+
({ className: t, variant: a = "body", tone: r = "default", as: o, children: s, ...n }, d) => {
|
|
56
|
+
const f = o || de[a] || "p";
|
|
57
57
|
return /* @__PURE__ */ e(
|
|
58
|
-
|
|
58
|
+
f,
|
|
59
59
|
{
|
|
60
60
|
ref: d,
|
|
61
|
-
className: l(
|
|
62
|
-
...
|
|
61
|
+
className: l(se({ variant: a, color: r, className: t })),
|
|
62
|
+
...n,
|
|
63
63
|
children: s
|
|
64
64
|
}
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
67
|
);
|
|
68
|
-
|
|
69
|
-
const
|
|
68
|
+
u.displayName = "Typography";
|
|
69
|
+
const le = B(
|
|
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 se = B(
|
|
|
81
81
|
},
|
|
82
82
|
defaultVariants: { variant: "default" }
|
|
83
83
|
}
|
|
84
|
-
),
|
|
85
|
-
({ className: t, variant:
|
|
84
|
+
), ce = V.forwardRef(
|
|
85
|
+
({ className: t, variant: a, ...r }, o) => /* @__PURE__ */ e("span", { ref: o, className: l(le({ variant: a, className: t })), ...r })
|
|
86
86
|
);
|
|
87
|
-
|
|
88
|
-
const
|
|
87
|
+
ce.displayName = "Badge";
|
|
88
|
+
const me = B(
|
|
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,139 +112,181 @@ const le = B(
|
|
|
112
112
|
size: "default"
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
), b =
|
|
116
|
-
({ className: t, variant:
|
|
115
|
+
), b = k.forwardRef(
|
|
116
|
+
({ className: t, variant: a, size: r, asChild: o = !1, ...s }, n) => /* @__PURE__ */ e(o ? Y : "button", { className: l(me({ variant: a, size: r, className: t })), ref: n, ...s })
|
|
117
117
|
);
|
|
118
118
|
b.displayName = "Button";
|
|
119
|
-
const
|
|
119
|
+
const M = ({
|
|
120
|
+
src: t,
|
|
121
|
+
className: a,
|
|
122
|
+
poster: r
|
|
123
|
+
}) => {
|
|
124
|
+
const o = $(null);
|
|
125
|
+
return T(() => {
|
|
126
|
+
var s;
|
|
127
|
+
(s = o.current) == null || s.play().catch(() => {
|
|
128
|
+
});
|
|
129
|
+
}, [t]), /* @__PURE__ */ e(
|
|
130
|
+
"video",
|
|
131
|
+
{
|
|
132
|
+
ref: o,
|
|
133
|
+
src: t,
|
|
134
|
+
poster: r,
|
|
135
|
+
autoPlay: !0,
|
|
136
|
+
loop: !0,
|
|
137
|
+
muted: !0,
|
|
138
|
+
playsInline: !0,
|
|
139
|
+
className: a
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
}, ze = ({
|
|
120
143
|
headline: t,
|
|
121
|
-
headlineMobile:
|
|
144
|
+
headlineMobile: a,
|
|
122
145
|
subheadline: r,
|
|
123
|
-
subheadlineMobile:
|
|
146
|
+
subheadlineMobile: o,
|
|
124
147
|
ctaLabel: s,
|
|
125
|
-
ctaHref:
|
|
148
|
+
ctaHref: n = "#",
|
|
126
149
|
secondaryCtaLabel: d,
|
|
127
|
-
secondaryCtaHref:
|
|
128
|
-
backgroundImage:
|
|
150
|
+
secondaryCtaHref: f = "#",
|
|
151
|
+
backgroundImage: m,
|
|
129
152
|
backgroundImageMobile: g,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
loading: "eager"
|
|
142
|
-
}
|
|
143
|
-
),
|
|
144
|
-
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent" }),
|
|
145
|
-
/* @__PURE__ */ e("div", { className: "relative z-10 flex items-center w-full pl-8 lg:pl-16", children: /* @__PURE__ */ o(
|
|
146
|
-
F.div,
|
|
147
|
-
{
|
|
148
|
-
initial: { opacity: 0, y: 16 },
|
|
149
|
-
animate: { opacity: 1, y: 0 },
|
|
150
|
-
transition: { duration: 0.4, ease: "easeOut" },
|
|
151
|
-
className: "px-6 py-16 lg:px-8 lg:py-20 max-w-[500px] lg:max-w-[480px]",
|
|
152
|
-
children: [
|
|
153
|
-
/* @__PURE__ */ e(m, { variant: "h1", className: "text-white drop-shadow-lg", as: "h1", children: t }),
|
|
154
|
-
r && /* @__PURE__ */ e(m, { variant: "body-lg", className: "mt-4 text-white/85 drop-shadow-md", children: r }),
|
|
155
|
-
(s || d) && /* @__PURE__ */ o("div", { className: "mt-8 flex flex-wrap gap-4", children: [
|
|
156
|
-
s && /* @__PURE__ */ e(
|
|
157
|
-
b,
|
|
158
|
-
{
|
|
159
|
-
size: "lg",
|
|
160
|
-
className: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",
|
|
161
|
-
asChild: !0,
|
|
162
|
-
children: /* @__PURE__ */ e("a", { href: a, children: s })
|
|
163
|
-
}
|
|
164
|
-
),
|
|
165
|
-
d && /* @__PURE__ */ e(
|
|
166
|
-
b,
|
|
167
|
-
{
|
|
168
|
-
size: "lg",
|
|
169
|
-
variant: "outline",
|
|
170
|
-
className: "border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",
|
|
171
|
-
asChild: !0,
|
|
172
|
-
children: /* @__PURE__ */ e("a", { href: h, children: d })
|
|
173
|
-
}
|
|
174
|
-
)
|
|
175
|
-
] })
|
|
176
|
-
]
|
|
177
|
-
}
|
|
178
|
-
) })
|
|
179
|
-
] }),
|
|
180
|
-
/* @__PURE__ */ o("div", { className: "block md:hidden relative min-h-[85vh] flex flex-col", children: [
|
|
181
|
-
(g || u) && /* @__PURE__ */ e(
|
|
182
|
-
"img",
|
|
183
|
-
{
|
|
184
|
-
src: g || u,
|
|
185
|
-
alt: p,
|
|
186
|
-
className: "absolute inset-0 h-full w-full object-cover object-center",
|
|
187
|
-
loading: "eager"
|
|
188
|
-
}
|
|
189
|
-
),
|
|
190
|
-
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-gradient-to-b from-black/70 via-transparent to-black/80" }),
|
|
191
|
-
/* @__PURE__ */ o("div", { className: "relative z-10 flex flex-1 flex-col justify-between px-5 py-10", children: [
|
|
192
|
-
/* @__PURE__ */ o(
|
|
193
|
-
F.div,
|
|
153
|
+
backgroundVideo: p,
|
|
154
|
+
backgroundVideoMobile: y,
|
|
155
|
+
imageAlt: N = "",
|
|
156
|
+
className: h,
|
|
157
|
+
...j
|
|
158
|
+
}) => {
|
|
159
|
+
const A = !!p, F = !!(y || p);
|
|
160
|
+
return /* @__PURE__ */ i("section", { className: l("relative overflow-hidden", h), ...j, children: [
|
|
161
|
+
/* @__PURE__ */ i("div", { className: "hidden md:flex relative min-h-[420px] md:min-h-[420px] lg:min-h-[600px]", children: [
|
|
162
|
+
A ? /* @__PURE__ */ e(
|
|
163
|
+
M,
|
|
194
164
|
{
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
children: [
|
|
199
|
-
/* @__PURE__ */ e(m, { variant: "h2", className: "text-white drop-shadow-lg", as: "h1", children: n || t }),
|
|
200
|
-
(i || r) && /* @__PURE__ */ e(m, { variant: "body-lg", className: "mt-3 text-white/90 drop-shadow-lg font-medium leading-relaxed", children: i || r })
|
|
201
|
-
]
|
|
165
|
+
src: p,
|
|
166
|
+
poster: m,
|
|
167
|
+
className: "absolute inset-0 h-full w-full object-cover object-right"
|
|
202
168
|
}
|
|
203
|
-
)
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
169
|
+
) : m ? /* @__PURE__ */ e(
|
|
170
|
+
"img",
|
|
171
|
+
{
|
|
172
|
+
src: m,
|
|
173
|
+
alt: N,
|
|
174
|
+
className: "absolute inset-0 h-full w-full object-cover object-right",
|
|
175
|
+
loading: "eager"
|
|
176
|
+
}
|
|
177
|
+
) : null,
|
|
178
|
+
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent" }),
|
|
179
|
+
/* @__PURE__ */ e("div", { className: "relative z-10 flex items-center w-full pl-8 lg:pl-16", children: /* @__PURE__ */ i(
|
|
180
|
+
S.div,
|
|
207
181
|
{
|
|
208
|
-
initial: { opacity: 0, y:
|
|
182
|
+
initial: { opacity: 0, y: 16 },
|
|
209
183
|
animate: { opacity: 1, y: 0 },
|
|
210
|
-
transition: { duration: 0.4,
|
|
211
|
-
className: "
|
|
184
|
+
transition: { duration: 0.4, ease: "easeOut" },
|
|
185
|
+
className: "px-6 py-16 lg:px-8 lg:py-20 max-w-[500px] lg:max-w-[480px]",
|
|
212
186
|
children: [
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
187
|
+
/* @__PURE__ */ e(u, { variant: "h1", className: "text-white drop-shadow-lg", as: "h1", children: t }),
|
|
188
|
+
r && /* @__PURE__ */ e(u, { variant: "body-lg", className: "mt-4 text-white/85 drop-shadow-md", children: r }),
|
|
189
|
+
(s || d) && /* @__PURE__ */ i("div", { className: "mt-8 flex flex-wrap gap-4", children: [
|
|
190
|
+
s && /* @__PURE__ */ e(
|
|
191
|
+
b,
|
|
192
|
+
{
|
|
193
|
+
size: "lg",
|
|
194
|
+
className: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",
|
|
195
|
+
asChild: !0,
|
|
196
|
+
children: /* @__PURE__ */ e("a", { href: n, children: s })
|
|
197
|
+
}
|
|
198
|
+
),
|
|
199
|
+
d && /* @__PURE__ */ e(
|
|
200
|
+
b,
|
|
201
|
+
{
|
|
202
|
+
size: "lg",
|
|
203
|
+
variant: "outline",
|
|
204
|
+
className: "border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",
|
|
205
|
+
asChild: !0,
|
|
206
|
+
children: /* @__PURE__ */ e("a", { href: f, children: d })
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
] })
|
|
232
210
|
]
|
|
233
211
|
}
|
|
234
|
-
)
|
|
212
|
+
) })
|
|
213
|
+
] }),
|
|
214
|
+
/* @__PURE__ */ i("div", { className: "block md:hidden relative min-h-[85vh] flex flex-col", children: [
|
|
215
|
+
F ? /* @__PURE__ */ e(
|
|
216
|
+
M,
|
|
217
|
+
{
|
|
218
|
+
src: y || p,
|
|
219
|
+
poster: g || m,
|
|
220
|
+
className: "absolute inset-0 h-full w-full object-cover object-center"
|
|
221
|
+
}
|
|
222
|
+
) : g || m ? /* @__PURE__ */ e(
|
|
223
|
+
"img",
|
|
224
|
+
{
|
|
225
|
+
src: g || m,
|
|
226
|
+
alt: N,
|
|
227
|
+
className: "absolute inset-0 h-full w-full object-cover object-center",
|
|
228
|
+
loading: "eager"
|
|
229
|
+
}
|
|
230
|
+
) : null,
|
|
231
|
+
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-gradient-to-b from-black/70 via-transparent to-black/80" }),
|
|
232
|
+
/* @__PURE__ */ i("div", { className: "relative z-10 flex flex-1 flex-col justify-between px-5 py-10", children: [
|
|
233
|
+
/* @__PURE__ */ i(
|
|
234
|
+
S.div,
|
|
235
|
+
{
|
|
236
|
+
initial: { opacity: 0, y: 12 },
|
|
237
|
+
animate: { opacity: 1, y: 0 },
|
|
238
|
+
transition: { duration: 0.4 },
|
|
239
|
+
children: [
|
|
240
|
+
/* @__PURE__ */ e(u, { variant: "h2", className: "text-white drop-shadow-lg", as: "h1", children: a || t }),
|
|
241
|
+
(o || r) && /* @__PURE__ */ e(u, { variant: "body-lg", className: "mt-3 text-white/90 drop-shadow-lg font-medium leading-relaxed", children: o || r })
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
),
|
|
245
|
+
/* @__PURE__ */ e("div", { className: "flex-1" }),
|
|
246
|
+
(s || d) && /* @__PURE__ */ i(
|
|
247
|
+
S.div,
|
|
248
|
+
{
|
|
249
|
+
initial: { opacity: 0, y: 12 },
|
|
250
|
+
animate: { opacity: 1, y: 0 },
|
|
251
|
+
transition: { duration: 0.4, delay: 0.15 },
|
|
252
|
+
className: "flex flex-col gap-3",
|
|
253
|
+
children: [
|
|
254
|
+
s && /* @__PURE__ */ e(
|
|
255
|
+
b,
|
|
256
|
+
{
|
|
257
|
+
size: "lg",
|
|
258
|
+
className: "w-full bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",
|
|
259
|
+
asChild: !0,
|
|
260
|
+
children: /* @__PURE__ */ e("a", { href: n, children: s })
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
d && /* @__PURE__ */ e(
|
|
264
|
+
b,
|
|
265
|
+
{
|
|
266
|
+
size: "lg",
|
|
267
|
+
variant: "outline",
|
|
268
|
+
className: "w-full border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",
|
|
269
|
+
asChild: !0,
|
|
270
|
+
children: /* @__PURE__ */ e("a", { href: f, children: d })
|
|
271
|
+
}
|
|
272
|
+
)
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
)
|
|
276
|
+
] })
|
|
235
277
|
] })
|
|
236
|
-
] })
|
|
237
|
-
|
|
278
|
+
] });
|
|
279
|
+
}, Ce = ({
|
|
238
280
|
heading: t,
|
|
239
|
-
text:
|
|
281
|
+
text: a,
|
|
240
282
|
imageSrc: r,
|
|
241
|
-
imageAlt:
|
|
283
|
+
imageAlt: o,
|
|
242
284
|
ctaLabel: s,
|
|
243
|
-
ctaHref:
|
|
285
|
+
ctaHref: n = "#",
|
|
244
286
|
imagePosition: d = "left",
|
|
245
|
-
className:
|
|
246
|
-
...
|
|
247
|
-
}) => /* @__PURE__ */ e("section", { className: l("section-padding",
|
|
287
|
+
className: f,
|
|
288
|
+
...m
|
|
289
|
+
}) => /* @__PURE__ */ e("section", { className: l("section-padding", f), ...m, children: /* @__PURE__ */ i(
|
|
248
290
|
"div",
|
|
249
291
|
{
|
|
250
292
|
className: l(
|
|
@@ -256,104 +298,104 @@ const ke = ({
|
|
|
256
298
|
"img",
|
|
257
299
|
{
|
|
258
300
|
src: r,
|
|
259
|
-
alt:
|
|
301
|
+
alt: o,
|
|
260
302
|
className: "h-full w-full object-cover",
|
|
261
303
|
loading: "lazy"
|
|
262
304
|
}
|
|
263
305
|
) }),
|
|
264
|
-
/* @__PURE__ */
|
|
265
|
-
/* @__PURE__ */ e(
|
|
266
|
-
/* @__PURE__ */ e(
|
|
267
|
-
s && /* @__PURE__ */ e(b, { className: "mt-6", asChild: !0, children: /* @__PURE__ */ e("a", { href:
|
|
306
|
+
/* @__PURE__ */ i("div", { children: [
|
|
307
|
+
/* @__PURE__ */ e(u, { variant: "h2", children: t }),
|
|
308
|
+
/* @__PURE__ */ e(u, { variant: "body", color: "muted", className: "mt-4", children: a }),
|
|
309
|
+
s && /* @__PURE__ */ e(b, { className: "mt-6", asChild: !0, children: /* @__PURE__ */ e("a", { href: n, children: s }) })
|
|
268
310
|
] })
|
|
269
311
|
]
|
|
270
312
|
}
|
|
271
|
-
) }),
|
|
313
|
+
) }), Be = ({
|
|
272
314
|
heading: t,
|
|
273
|
-
text:
|
|
315
|
+
text: a,
|
|
274
316
|
imageSrc: r,
|
|
275
|
-
imageAlt:
|
|
317
|
+
imageAlt: o = "",
|
|
276
318
|
tag: s,
|
|
277
|
-
href:
|
|
319
|
+
href: n,
|
|
278
320
|
className: d,
|
|
279
|
-
...
|
|
321
|
+
...f
|
|
280
322
|
}) => {
|
|
281
|
-
const
|
|
323
|
+
const m = n ? "a" : "div", g = n ? { href: n } : {};
|
|
282
324
|
return /* @__PURE__ */ e(
|
|
283
325
|
"article",
|
|
284
326
|
{
|
|
285
327
|
className: l(
|
|
286
328
|
"group overflow-hidden rounded-2xl border border-border bg-card shadow-sm transition-fast hover:shadow-lg",
|
|
287
|
-
|
|
329
|
+
n && "cursor-pointer",
|
|
288
330
|
d
|
|
289
331
|
),
|
|
290
|
-
...
|
|
291
|
-
children: /* @__PURE__ */
|
|
332
|
+
...f,
|
|
333
|
+
children: /* @__PURE__ */ i(m, { ...g, className: "block", children: [
|
|
292
334
|
r && /* @__PURE__ */ e("div", { className: "aspect-video overflow-hidden", children: /* @__PURE__ */ e(
|
|
293
335
|
"img",
|
|
294
336
|
{
|
|
295
337
|
src: r,
|
|
296
|
-
alt:
|
|
338
|
+
alt: o,
|
|
297
339
|
className: "h-full w-full object-cover transition-fast group-hover:scale-105",
|
|
298
340
|
loading: "lazy"
|
|
299
341
|
}
|
|
300
342
|
) }),
|
|
301
|
-
/* @__PURE__ */
|
|
302
|
-
s && /* @__PURE__ */ e(
|
|
303
|
-
/* @__PURE__ */ e(
|
|
304
|
-
/* @__PURE__ */ e(
|
|
343
|
+
/* @__PURE__ */ i("div", { className: "p-6", children: [
|
|
344
|
+
s && /* @__PURE__ */ e(u, { variant: "overline", className: "mb-2", children: s }),
|
|
345
|
+
/* @__PURE__ */ e(u, { variant: "h4", className: "group-hover:text-primary transition-fast", children: t }),
|
|
346
|
+
/* @__PURE__ */ e(u, { variant: "body-sm", color: "muted", className: "mt-2 line-clamp-3", children: a })
|
|
305
347
|
] })
|
|
306
348
|
] })
|
|
307
349
|
}
|
|
308
350
|
);
|
|
309
|
-
},
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
|
|
351
|
+
}, ue = w.Root, _ = k.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e(w.Item, { ref: r, className: l("border-b", t), ...a }));
|
|
352
|
+
_.displayName = "AccordionItem";
|
|
353
|
+
const E = k.forwardRef(({ className: t, children: a, ...r }, o) => /* @__PURE__ */ e(w.Header, { className: "flex", children: /* @__PURE__ */ i(
|
|
354
|
+
w.Trigger,
|
|
313
355
|
{
|
|
314
|
-
ref:
|
|
356
|
+
ref: o,
|
|
315
357
|
className: l(
|
|
316
358
|
"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
317
359
|
t
|
|
318
360
|
),
|
|
319
361
|
...r,
|
|
320
362
|
children: [
|
|
321
|
-
|
|
322
|
-
/* @__PURE__ */ e(
|
|
363
|
+
a,
|
|
364
|
+
/* @__PURE__ */ e(R, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
|
|
323
365
|
]
|
|
324
366
|
}
|
|
325
367
|
) }));
|
|
326
|
-
|
|
327
|
-
const
|
|
328
|
-
|
|
368
|
+
E.displayName = w.Trigger.displayName;
|
|
369
|
+
const K = k.forwardRef(({ className: t, children: a, ...r }, o) => /* @__PURE__ */ e(
|
|
370
|
+
w.Content,
|
|
329
371
|
{
|
|
330
|
-
ref:
|
|
372
|
+
ref: o,
|
|
331
373
|
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
332
374
|
...r,
|
|
333
|
-
children: /* @__PURE__ */ e("div", { className: l("pb-4 pt-0", t), children:
|
|
375
|
+
children: /* @__PURE__ */ e("div", { className: l("pb-4 pt-0", t), children: a })
|
|
334
376
|
}
|
|
335
377
|
));
|
|
336
|
-
|
|
337
|
-
const
|
|
378
|
+
K.displayName = w.Content.displayName;
|
|
379
|
+
const je = ({
|
|
338
380
|
heading: t,
|
|
339
|
-
items:
|
|
381
|
+
items: a,
|
|
340
382
|
className: r,
|
|
341
|
-
...
|
|
383
|
+
...o
|
|
342
384
|
}) => {
|
|
343
385
|
const s = {
|
|
344
386
|
"@context": "https://schema.org",
|
|
345
387
|
"@type": "FAQPage",
|
|
346
|
-
mainEntity:
|
|
388
|
+
mainEntity: a.map((n) => ({
|
|
347
389
|
"@type": "Question",
|
|
348
|
-
name:
|
|
349
|
-
acceptedAnswer: { "@type": "Answer", text:
|
|
390
|
+
name: n.question,
|
|
391
|
+
acceptedAnswer: { "@type": "Answer", text: n.answer }
|
|
350
392
|
}))
|
|
351
393
|
};
|
|
352
|
-
return /* @__PURE__ */ e("section", { className: l("section-padding", r), ...
|
|
353
|
-
t && /* @__PURE__ */ e(
|
|
354
|
-
/* @__PURE__ */ e(
|
|
355
|
-
/* @__PURE__ */ e(
|
|
356
|
-
/* @__PURE__ */ e(
|
|
394
|
+
return /* @__PURE__ */ e("section", { className: l("section-padding", r), ...o, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
395
|
+
t && /* @__PURE__ */ e(u, { variant: "h2", className: "mb-8 text-center", children: t }),
|
|
396
|
+
/* @__PURE__ */ e(ue, { type: "single", collapsible: !0, className: "w-full", children: a.map((n, d) => /* @__PURE__ */ i(_, { value: `item-${d}`, children: [
|
|
397
|
+
/* @__PURE__ */ e(E, { className: "font-display text-left font-semibold", children: n.question }),
|
|
398
|
+
/* @__PURE__ */ e(K, { className: "font-body text-muted-foreground", children: n.answer })
|
|
357
399
|
] }, d)) }),
|
|
358
400
|
/* @__PURE__ */ e(
|
|
359
401
|
"script",
|
|
@@ -363,22 +405,22 @@ const Ce = ({
|
|
|
363
405
|
}
|
|
364
406
|
)
|
|
365
407
|
] }) });
|
|
366
|
-
}, C =
|
|
367
|
-
({ className: t, type:
|
|
408
|
+
}, C = k.forwardRef(
|
|
409
|
+
({ className: t, type: a, ...r }, o) => /* @__PURE__ */ e(
|
|
368
410
|
"input",
|
|
369
411
|
{
|
|
370
|
-
type:
|
|
412
|
+
type: a,
|
|
371
413
|
className: l(
|
|
372
414
|
"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
415
|
t
|
|
374
416
|
),
|
|
375
|
-
ref:
|
|
417
|
+
ref: o,
|
|
376
418
|
...r
|
|
377
419
|
}
|
|
378
420
|
)
|
|
379
421
|
);
|
|
380
422
|
C.displayName = "Input";
|
|
381
|
-
const
|
|
423
|
+
const W = k.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e(
|
|
382
424
|
"textarea",
|
|
383
425
|
{
|
|
384
426
|
className: l(
|
|
@@ -386,44 +428,44 @@ const T = w.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
386
428
|
t
|
|
387
429
|
),
|
|
388
430
|
ref: r,
|
|
389
|
-
...
|
|
431
|
+
...a
|
|
390
432
|
}
|
|
391
433
|
));
|
|
392
|
-
|
|
393
|
-
const
|
|
394
|
-
z.displayName =
|
|
395
|
-
const
|
|
434
|
+
W.displayName = "Textarea";
|
|
435
|
+
const he = B("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), z = k.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e(I.Root, { ref: r, className: l(he(), t), ...a }));
|
|
436
|
+
z.displayName = I.Root.displayName;
|
|
437
|
+
const Ae = ({
|
|
396
438
|
heading: t = "Kontakt",
|
|
397
|
-
description:
|
|
439
|
+
description: a,
|
|
398
440
|
onSubmit: r,
|
|
399
|
-
className:
|
|
441
|
+
className: o,
|
|
400
442
|
...s
|
|
401
443
|
}) => {
|
|
402
|
-
const [
|
|
403
|
-
p.preventDefault(), r == null || r(
|
|
444
|
+
const [n, d] = v({ name: "", email: "", message: "" }), [f, m] = v(!1), g = (p) => {
|
|
445
|
+
p.preventDefault(), r == null || r(n), m(!0);
|
|
404
446
|
};
|
|
405
|
-
return /* @__PURE__ */ e("section", { className: l("section-padding",
|
|
406
|
-
/* @__PURE__ */ e(
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
/* @__PURE__ */ e(
|
|
410
|
-
/* @__PURE__ */ e(
|
|
411
|
-
] }) : /* @__PURE__ */
|
|
412
|
-
/* @__PURE__ */
|
|
413
|
-
/* @__PURE__ */
|
|
447
|
+
return /* @__PURE__ */ e("section", { className: l("section-padding", o), ...s, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
448
|
+
/* @__PURE__ */ e(u, { variant: "h2", className: "mb-2", children: t }),
|
|
449
|
+
a && /* @__PURE__ */ e(u, { variant: "body", color: "muted", className: "mb-8", children: a }),
|
|
450
|
+
f ? /* @__PURE__ */ i("div", { className: "rounded-lg border border-success/30 bg-success/5 p-8 text-center", children: [
|
|
451
|
+
/* @__PURE__ */ e(u, { variant: "h4", color: "accent", children: "Vielen Dank für Ihre Nachricht!" }),
|
|
452
|
+
/* @__PURE__ */ e(u, { variant: "body-sm", color: "muted", className: "mt-2", children: "Wir melden uns in Kürze bei Ihnen." })
|
|
453
|
+
] }) : /* @__PURE__ */ i("form", { onSubmit: g, className: "space-y-6", children: [
|
|
454
|
+
/* @__PURE__ */ i("div", { className: "grid gap-6 sm:grid-cols-2", children: [
|
|
455
|
+
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
414
456
|
/* @__PURE__ */ e(z, { htmlFor: "name", children: "Name" }),
|
|
415
457
|
/* @__PURE__ */ e(
|
|
416
458
|
C,
|
|
417
459
|
{
|
|
418
460
|
id: "name",
|
|
419
461
|
required: !0,
|
|
420
|
-
value:
|
|
421
|
-
onChange: (p) => d({ ...
|
|
462
|
+
value: n.name,
|
|
463
|
+
onChange: (p) => d({ ...n, name: p.target.value }),
|
|
422
464
|
placeholder: "Max Mustermann"
|
|
423
465
|
}
|
|
424
466
|
)
|
|
425
467
|
] }),
|
|
426
|
-
/* @__PURE__ */
|
|
468
|
+
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
427
469
|
/* @__PURE__ */ e(z, { htmlFor: "email", children: "E-Mail" }),
|
|
428
470
|
/* @__PURE__ */ e(
|
|
429
471
|
C,
|
|
@@ -431,23 +473,23 @@ const Be = ({
|
|
|
431
473
|
id: "email",
|
|
432
474
|
type: "email",
|
|
433
475
|
required: !0,
|
|
434
|
-
value:
|
|
435
|
-
onChange: (p) => d({ ...
|
|
476
|
+
value: n.email,
|
|
477
|
+
onChange: (p) => d({ ...n, email: p.target.value }),
|
|
436
478
|
placeholder: "max@beispiel.de"
|
|
437
479
|
}
|
|
438
480
|
)
|
|
439
481
|
] })
|
|
440
482
|
] }),
|
|
441
|
-
/* @__PURE__ */
|
|
483
|
+
/* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
442
484
|
/* @__PURE__ */ e(z, { htmlFor: "message", children: "Nachricht" }),
|
|
443
485
|
/* @__PURE__ */ e(
|
|
444
|
-
|
|
486
|
+
W,
|
|
445
487
|
{
|
|
446
488
|
id: "message",
|
|
447
489
|
required: !0,
|
|
448
490
|
rows: 5,
|
|
449
|
-
value:
|
|
450
|
-
onChange: (p) => d({ ...
|
|
491
|
+
value: n.message,
|
|
492
|
+
onChange: (p) => d({ ...n, message: p.target.value }),
|
|
451
493
|
placeholder: "Ihre Nachricht..."
|
|
452
494
|
}
|
|
453
495
|
)
|
|
@@ -455,74 +497,74 @@ const Be = ({
|
|
|
455
497
|
/* @__PURE__ */ e(b, { type: "submit", size: "lg", children: "Nachricht senden" })
|
|
456
498
|
] })
|
|
457
499
|
] }) });
|
|
458
|
-
},
|
|
500
|
+
}, Fe = ({
|
|
459
501
|
brand: t,
|
|
460
|
-
items:
|
|
502
|
+
items: a,
|
|
461
503
|
ctaLabel: r,
|
|
462
|
-
ctaHref:
|
|
504
|
+
ctaHref: o = "#",
|
|
463
505
|
className: s,
|
|
464
|
-
...
|
|
506
|
+
...n
|
|
465
507
|
}) => {
|
|
466
|
-
const [d,
|
|
467
|
-
return /* @__PURE__ */
|
|
508
|
+
const [d, f] = v(!1);
|
|
509
|
+
return /* @__PURE__ */ i(
|
|
468
510
|
"header",
|
|
469
511
|
{
|
|
470
512
|
className: l(
|
|
471
513
|
"sticky top-0 z-50 border-b border-primary/20 bg-primary text-primary-foreground backdrop-blur",
|
|
472
514
|
s
|
|
473
515
|
),
|
|
474
|
-
...
|
|
516
|
+
...n,
|
|
475
517
|
children: [
|
|
476
|
-
/* @__PURE__ */
|
|
518
|
+
/* @__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: [
|
|
477
519
|
/* @__PURE__ */ e("a", { href: "/", className: "font-display text-lg font-bold text-primary-foreground", children: t }),
|
|
478
|
-
/* @__PURE__ */
|
|
479
|
-
|
|
520
|
+
/* @__PURE__ */ i("ul", { className: "hidden items-center gap-1 md:flex", children: [
|
|
521
|
+
a.map((m) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
480
522
|
"a",
|
|
481
523
|
{
|
|
482
|
-
href:
|
|
524
|
+
href: m.href,
|
|
483
525
|
className: "rounded-full px-4 py-2 font-body text-sm text-primary-foreground/80 transition-fast hover:bg-primary-foreground/10 hover:text-primary-foreground",
|
|
484
|
-
children:
|
|
526
|
+
children: m.label
|
|
485
527
|
}
|
|
486
|
-
) },
|
|
487
|
-
r && /* @__PURE__ */ e("li", { className: "ml-4", children: /* @__PURE__ */ e(b, { size: "sm", className: "bg-primary-foreground text-primary hover:bg-primary-foreground/90", asChild: !0, children: /* @__PURE__ */ e("a", { href:
|
|
528
|
+
) }, m.href)),
|
|
529
|
+
r && /* @__PURE__ */ e("li", { className: "ml-4", children: /* @__PURE__ */ e(b, { size: "sm", className: "bg-primary-foreground text-primary hover:bg-primary-foreground/90", asChild: !0, children: /* @__PURE__ */ e("a", { href: o, children: r }) }) })
|
|
488
530
|
] }),
|
|
489
531
|
/* @__PURE__ */ e(
|
|
490
532
|
"button",
|
|
491
533
|
{
|
|
492
534
|
className: "md:hidden rounded-full p-2 text-primary-foreground/80 hover:bg-primary-foreground/10",
|
|
493
|
-
onClick: () =>
|
|
535
|
+
onClick: () => f(!d),
|
|
494
536
|
"aria-label": "Menu",
|
|
495
|
-
children: d ? /* @__PURE__ */ e(
|
|
537
|
+
children: d ? /* @__PURE__ */ e(ee, { size: 20 }) : /* @__PURE__ */ e(re, { size: 20 })
|
|
496
538
|
}
|
|
497
539
|
)
|
|
498
540
|
] }),
|
|
499
|
-
d && /* @__PURE__ */ e("div", { className: "border-t border-primary-foreground/20 bg-primary md:hidden", children: /* @__PURE__ */
|
|
500
|
-
|
|
541
|
+
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: [
|
|
542
|
+
a.map((m) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
501
543
|
"a",
|
|
502
544
|
{
|
|
503
|
-
href:
|
|
545
|
+
href: m.href,
|
|
504
546
|
className: "block rounded-xl px-4 py-2 font-body text-sm text-primary-foreground/80 transition-fast hover:bg-primary-foreground/10 hover:text-primary-foreground",
|
|
505
|
-
onClick: () =>
|
|
506
|
-
children:
|
|
547
|
+
onClick: () => f(!1),
|
|
548
|
+
children: m.label
|
|
507
549
|
}
|
|
508
|
-
) },
|
|
509
|
-
r && /* @__PURE__ */ e("li", { className: "pt-2", children: /* @__PURE__ */ e(b, { size: "sm", className: "w-full bg-primary-foreground text-primary hover:bg-primary-foreground/90", asChild: !0, children: /* @__PURE__ */ e("a", { href:
|
|
550
|
+
) }, m.href)),
|
|
551
|
+
r && /* @__PURE__ */ e("li", { className: "pt-2", children: /* @__PURE__ */ e(b, { size: "sm", className: "w-full bg-primary-foreground text-primary hover:bg-primary-foreground/90", asChild: !0, children: /* @__PURE__ */ e("a", { href: o, children: r }) }) })
|
|
510
552
|
] }) })
|
|
511
553
|
]
|
|
512
554
|
}
|
|
513
555
|
);
|
|
514
|
-
},
|
|
556
|
+
}, He = ({
|
|
515
557
|
brand: t,
|
|
516
|
-
columns:
|
|
558
|
+
columns: a,
|
|
517
559
|
copyright: r,
|
|
518
|
-
className:
|
|
560
|
+
className: o,
|
|
519
561
|
...s
|
|
520
|
-
}) => /* @__PURE__ */ e("footer", { className: l("border-t border-border bg-muted section-padding",
|
|
521
|
-
/* @__PURE__ */
|
|
522
|
-
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
|
|
523
|
-
|
|
524
|
-
/* @__PURE__ */ e(
|
|
525
|
-
/* @__PURE__ */ e("ul", { className: "space-y-2", children:
|
|
562
|
+
}) => /* @__PURE__ */ e("footer", { className: l("border-t border-border bg-muted section-padding", o), ...s, children: /* @__PURE__ */ i("div", { className: "container-wide", children: [
|
|
563
|
+
/* @__PURE__ */ i("div", { className: "grid gap-8 sm:grid-cols-2 lg:grid-cols-4", children: [
|
|
564
|
+
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(u, { variant: "h5", children: t }) }),
|
|
565
|
+
a.map((n) => /* @__PURE__ */ i("div", { children: [
|
|
566
|
+
/* @__PURE__ */ e(u, { variant: "overline", className: "mb-4", children: n.heading }),
|
|
567
|
+
/* @__PURE__ */ e("ul", { className: "space-y-2", children: n.links.map((d) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
526
568
|
"a",
|
|
527
569
|
{
|
|
528
570
|
href: d.href,
|
|
@@ -530,50 +572,50 @@ const Be = ({
|
|
|
530
572
|
children: d.label
|
|
531
573
|
}
|
|
532
574
|
) }, d.href)) })
|
|
533
|
-
] },
|
|
575
|
+
] }, n.heading))
|
|
534
576
|
] }),
|
|
535
|
-
r && /* @__PURE__ */ e("div", { className: "mt-12 border-t border-border pt-6", children: /* @__PURE__ */ e(
|
|
536
|
-
] }) }),
|
|
537
|
-
({ className: t, onSearch:
|
|
538
|
-
/* @__PURE__ */ e(
|
|
577
|
+
r && /* @__PURE__ */ e("div", { className: "mt-12 border-t border-border pt-6", children: /* @__PURE__ */ e(u, { variant: "caption", children: r }) })
|
|
578
|
+
] }) }), fe = V.forwardRef(
|
|
579
|
+
({ className: t, onSearch: a, ...r }, o) => /* @__PURE__ */ i("div", { className: l("relative", t), children: [
|
|
580
|
+
/* @__PURE__ */ e(te, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
539
581
|
/* @__PURE__ */ e(
|
|
540
582
|
C,
|
|
541
583
|
{
|
|
542
|
-
ref:
|
|
584
|
+
ref: o,
|
|
543
585
|
className: "pl-10",
|
|
544
586
|
placeholder: "Suchen...",
|
|
545
|
-
onChange: (s) =>
|
|
587
|
+
onChange: (s) => a == null ? void 0 : a(s.target.value),
|
|
546
588
|
...r
|
|
547
589
|
}
|
|
548
590
|
)
|
|
549
591
|
] })
|
|
550
592
|
);
|
|
551
|
-
|
|
552
|
-
const
|
|
553
|
-
const
|
|
593
|
+
fe.displayName = "SearchBar";
|
|
594
|
+
const Se = ({ items: t, className: a, ...r }) => {
|
|
595
|
+
const o = {
|
|
554
596
|
"@context": "https://schema.org",
|
|
555
597
|
"@type": "BreadcrumbList",
|
|
556
|
-
itemListElement: t.map((s,
|
|
598
|
+
itemListElement: t.map((s, n) => ({
|
|
557
599
|
"@type": "ListItem",
|
|
558
|
-
position:
|
|
600
|
+
position: n + 1,
|
|
559
601
|
name: s.label,
|
|
560
602
|
...s.href ? { item: s.href } : {}
|
|
561
603
|
}))
|
|
562
604
|
};
|
|
563
|
-
return /* @__PURE__ */
|
|
564
|
-
/* @__PURE__ */ e("ol", { className: "flex items-center gap-1", children: t.map((s,
|
|
565
|
-
|
|
566
|
-
s.href &&
|
|
567
|
-
] },
|
|
605
|
+
return /* @__PURE__ */ i("nav", { "aria-label": "Breadcrumb", className: l("font-body text-sm", a), ...r, children: [
|
|
606
|
+
/* @__PURE__ */ e("ol", { className: "flex items-center gap-1", children: t.map((s, n) => /* @__PURE__ */ i("li", { className: "flex items-center gap-1", children: [
|
|
607
|
+
n > 0 && /* @__PURE__ */ e(ae, { className: "h-3 w-3 text-muted-foreground" }),
|
|
608
|
+
s.href && n < t.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 })
|
|
609
|
+
] }, n)) }),
|
|
568
610
|
/* @__PURE__ */ e(
|
|
569
611
|
"script",
|
|
570
612
|
{
|
|
571
613
|
type: "application/ld+json",
|
|
572
|
-
dangerouslySetInnerHTML: { __html: JSON.stringify(
|
|
614
|
+
dangerouslySetInnerHTML: { __html: JSON.stringify(o) }
|
|
573
615
|
}
|
|
574
616
|
)
|
|
575
617
|
] });
|
|
576
|
-
},
|
|
618
|
+
}, ge = [
|
|
577
619
|
{
|
|
578
620
|
id: "50gb",
|
|
579
621
|
storage: "50 GB",
|
|
@@ -647,25 +689,25 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
647
689
|
ctaLabel: "Zum Angebot",
|
|
648
690
|
ctaHref: "#"
|
|
649
691
|
}
|
|
650
|
-
],
|
|
692
|
+
], Re = ({
|
|
651
693
|
heading: t = "Cloud-Speicher erweitern",
|
|
652
|
-
subheading:
|
|
653
|
-
plans: r =
|
|
654
|
-
defaultOpenId:
|
|
694
|
+
subheading: a = "Wählen Sie den passenden Tarif für Ihre Bedürfnisse",
|
|
695
|
+
plans: r = ge,
|
|
696
|
+
defaultOpenId: o = "100gb",
|
|
655
697
|
defaultBilling: s = "yearly",
|
|
656
|
-
className:
|
|
698
|
+
className: n,
|
|
657
699
|
...d
|
|
658
700
|
}) => {
|
|
659
|
-
const [
|
|
660
|
-
|
|
661
|
-
},
|
|
701
|
+
const [f, m] = v(o), [g, p] = v(s), [y, N] = v(!1), h = r.some((c) => c.hidden), j = y ? r : r.filter((c) => !c.hidden), A = (c) => {
|
|
702
|
+
m((x) => x === c ? null : c);
|
|
703
|
+
}, F = (c) => g === "yearly" ? c.yearlyPrice : c.monthlyPrice, O = (c) => {
|
|
662
704
|
const x = c.monthlyPrice - c.yearlyPrice;
|
|
663
705
|
return x > 0 ? Math.round(x / c.monthlyPrice * 100) : 0;
|
|
664
706
|
};
|
|
665
|
-
return /* @__PURE__ */ e("section", { className: l("section-padding",
|
|
666
|
-
t && /* @__PURE__ */ e(
|
|
667
|
-
|
|
668
|
-
/* @__PURE__ */ e("div", { className: "flex items-center justify-center mb-8", children: /* @__PURE__ */
|
|
707
|
+
return /* @__PURE__ */ e("section", { className: l("section-padding", n), ...d, children: /* @__PURE__ */ i("div", { className: "container-narrow", children: [
|
|
708
|
+
t && /* @__PURE__ */ e(u, { variant: "h2", className: "mb-2 text-center", children: t }),
|
|
709
|
+
a && /* @__PURE__ */ e(u, { variant: "body", tone: "muted", className: "mb-8 text-center", children: a }),
|
|
710
|
+
/* @__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: [
|
|
669
711
|
/* @__PURE__ */ e(
|
|
670
712
|
"button",
|
|
671
713
|
{
|
|
@@ -689,9 +731,9 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
689
731
|
}
|
|
690
732
|
)
|
|
691
733
|
] }) }),
|
|
692
|
-
/* @__PURE__ */ e("div", { className: "space-y-3", children:
|
|
693
|
-
const x =
|
|
694
|
-
return /* @__PURE__ */
|
|
734
|
+
/* @__PURE__ */ e("div", { className: "space-y-3", children: j.map((c) => {
|
|
735
|
+
const x = f === c.id, G = F(c), D = O(c);
|
|
736
|
+
return /* @__PURE__ */ i(
|
|
695
737
|
"div",
|
|
696
738
|
{
|
|
697
739
|
className: l(
|
|
@@ -699,11 +741,11 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
699
741
|
x ? "border-primary bg-card shadow-md ring-1 ring-primary/20" : "border-border bg-card hover:border-primary/40 hover:shadow-sm"
|
|
700
742
|
),
|
|
701
743
|
children: [
|
|
702
|
-
/* @__PURE__ */
|
|
744
|
+
/* @__PURE__ */ i(
|
|
703
745
|
"div",
|
|
704
746
|
{
|
|
705
747
|
className: "flex items-center gap-4 px-5 py-4 cursor-pointer select-none",
|
|
706
|
-
onClick: () =>
|
|
748
|
+
onClick: () => A(c.id),
|
|
707
749
|
children: [
|
|
708
750
|
/* @__PURE__ */ e(
|
|
709
751
|
"div",
|
|
@@ -712,20 +754,20 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
712
754
|
"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-fast",
|
|
713
755
|
x ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground"
|
|
714
756
|
),
|
|
715
|
-
children: /* @__PURE__ */ e(
|
|
757
|
+
children: /* @__PURE__ */ e(ne, { className: "h-5 w-5" })
|
|
716
758
|
}
|
|
717
759
|
),
|
|
718
|
-
/* @__PURE__ */
|
|
719
|
-
/* @__PURE__ */ e(
|
|
720
|
-
c.badge && /* @__PURE__ */
|
|
721
|
-
/* @__PURE__ */ e(
|
|
760
|
+
/* @__PURE__ */ i("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
761
|
+
/* @__PURE__ */ e(u, { variant: "h4", className: "whitespace-nowrap", children: c.storage }),
|
|
762
|
+
c.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: [
|
|
763
|
+
/* @__PURE__ */ e(oe, { className: "h-3 w-3" }),
|
|
722
764
|
c.badge
|
|
723
765
|
] })
|
|
724
766
|
] }),
|
|
725
|
-
/* @__PURE__ */
|
|
726
|
-
/* @__PURE__ */
|
|
727
|
-
/* @__PURE__ */
|
|
728
|
-
|
|
767
|
+
/* @__PURE__ */ i("div", { className: "ml-auto flex items-center gap-3", children: [
|
|
768
|
+
/* @__PURE__ */ i("div", { className: "text-right", children: [
|
|
769
|
+
/* @__PURE__ */ i("span", { className: "font-display text-xl font-bold text-foreground", children: [
|
|
770
|
+
G.toFixed(2).replace(".", ","),
|
|
729
771
|
" €"
|
|
730
772
|
] }),
|
|
731
773
|
/* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground", children: "/Monat" })
|
|
@@ -734,13 +776,13 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
734
776
|
"a",
|
|
735
777
|
{
|
|
736
778
|
href: c.ctaHref,
|
|
737
|
-
onClick: (
|
|
779
|
+
onClick: (H) => H.stopPropagation(),
|
|
738
780
|
className: "hidden sm:inline-flex",
|
|
739
781
|
children: /* @__PURE__ */ e(b, { size: "sm", variant: "outline", children: c.ctaLabel || "Auswählen" })
|
|
740
782
|
}
|
|
741
783
|
),
|
|
742
784
|
/* @__PURE__ */ e(
|
|
743
|
-
|
|
785
|
+
R,
|
|
744
786
|
{
|
|
745
787
|
className: l(
|
|
746
788
|
"h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200",
|
|
@@ -759,29 +801,29 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
759
801
|
"grid transition-all duration-200 ease-in-out",
|
|
760
802
|
x ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
761
803
|
),
|
|
762
|
-
children: /* @__PURE__ */ e("div", { className: "overflow-hidden", children: /* @__PURE__ */
|
|
763
|
-
g === "monthly" &&
|
|
764
|
-
|
|
804
|
+
children: /* @__PURE__ */ e("div", { className: "overflow-hidden", children: /* @__PURE__ */ i("div", { className: "px-5 pb-5 pt-1", children: [
|
|
805
|
+
g === "monthly" && D > 0 && /* @__PURE__ */ i(
|
|
806
|
+
u,
|
|
765
807
|
{
|
|
766
808
|
variant: "body-sm",
|
|
767
809
|
className: "mb-4 text-primary font-medium",
|
|
768
810
|
children: [
|
|
769
811
|
"Sparen Sie ",
|
|
770
|
-
|
|
812
|
+
D,
|
|
771
813
|
"% im Jahresabo"
|
|
772
814
|
]
|
|
773
815
|
}
|
|
774
816
|
),
|
|
775
|
-
/* @__PURE__ */ e("ul", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5", children: c.features.map((
|
|
817
|
+
/* @__PURE__ */ e("ul", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5", children: c.features.map((H, Z) => /* @__PURE__ */ i(
|
|
776
818
|
"li",
|
|
777
819
|
{
|
|
778
820
|
className: "flex items-start gap-2 font-body text-sm text-muted-foreground",
|
|
779
821
|
children: [
|
|
780
|
-
/* @__PURE__ */ e(
|
|
781
|
-
|
|
822
|
+
/* @__PURE__ */ e(ie, { className: "h-4 w-4 mt-0.5 shrink-0 text-primary" }),
|
|
823
|
+
H
|
|
782
824
|
]
|
|
783
825
|
},
|
|
784
|
-
|
|
826
|
+
Z
|
|
785
827
|
)) }),
|
|
786
828
|
c.ctaHref && /* @__PURE__ */ e("a", { href: c.ctaHref, children: /* @__PURE__ */ e(b, { className: "w-full sm:w-auto", size: "lg", children: c.ctaLabel || "Jetzt buchen" }) })
|
|
787
829
|
] }) })
|
|
@@ -792,17 +834,17 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
792
834
|
c.id
|
|
793
835
|
);
|
|
794
836
|
}) }),
|
|
795
|
-
|
|
837
|
+
h && /* @__PURE__ */ e("div", { className: "flex justify-center mt-4", children: /* @__PURE__ */ i(
|
|
796
838
|
b,
|
|
797
839
|
{
|
|
798
840
|
variant: "ghost",
|
|
799
841
|
size: "sm",
|
|
800
|
-
onClick: () =>
|
|
842
|
+
onClick: () => N((c) => !c),
|
|
801
843
|
className: "gap-1.5 text-muted-foreground",
|
|
802
844
|
children: [
|
|
803
845
|
y ? "Weniger Tarife" : "Weitere Tarife",
|
|
804
846
|
/* @__PURE__ */ e(
|
|
805
|
-
|
|
847
|
+
R,
|
|
806
848
|
{
|
|
807
849
|
className: l(
|
|
808
850
|
"h-4 w-4 transition-transform duration-200",
|
|
@@ -813,59 +855,59 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
813
855
|
]
|
|
814
856
|
}
|
|
815
857
|
) }),
|
|
816
|
-
/* @__PURE__ */ e(
|
|
858
|
+
/* @__PURE__ */ e(u, { variant: "caption", className: "mt-6 block text-center", children: "Alle Preise inkl. MwSt. Kündigung bis 4 Wochen zum Ende der Vertragslaufzeit möglich." })
|
|
817
859
|
] }) });
|
|
818
860
|
}, Ve = ({
|
|
819
861
|
items: t,
|
|
820
|
-
defaultActiveId:
|
|
862
|
+
defaultActiveId: a,
|
|
821
863
|
variant: r = "underline",
|
|
822
|
-
onTabChange:
|
|
864
|
+
onTabChange: o,
|
|
823
865
|
className: s,
|
|
824
|
-
...
|
|
866
|
+
...n
|
|
825
867
|
}) => {
|
|
826
|
-
var
|
|
827
|
-
const [d,
|
|
828
|
-
h
|
|
829
|
-
}, g = t.find((
|
|
868
|
+
var N;
|
|
869
|
+
const [d, f] = v(a || ((N = t[0]) == null ? void 0 : N.id)), m = (h) => {
|
|
870
|
+
f(h), o == null || o(h);
|
|
871
|
+
}, g = t.find((h) => h.id === d), y = {
|
|
830
872
|
underline: {
|
|
831
873
|
list: "border-b border-border",
|
|
832
|
-
tab: (
|
|
874
|
+
tab: (h) => l(
|
|
833
875
|
"relative px-4 py-2.5 font-body text-sm font-medium transition-fast -mb-px",
|
|
834
|
-
|
|
876
|
+
h ? "text-primary border-b-2 border-primary" : "text-muted-foreground hover:text-foreground"
|
|
835
877
|
)
|
|
836
878
|
},
|
|
837
879
|
pills: {
|
|
838
880
|
list: "gap-1 bg-muted rounded-lg p-1",
|
|
839
|
-
tab: (
|
|
881
|
+
tab: (h) => l(
|
|
840
882
|
"px-4 py-2 rounded-md font-body text-sm font-medium transition-fast",
|
|
841
|
-
|
|
883
|
+
h ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
|
|
842
884
|
)
|
|
843
885
|
},
|
|
844
886
|
enclosed: {
|
|
845
887
|
list: "border-b border-border",
|
|
846
|
-
tab: (
|
|
888
|
+
tab: (h) => l(
|
|
847
889
|
"px-4 py-2.5 font-body text-sm font-medium transition-fast border border-transparent rounded-t-lg -mb-px",
|
|
848
|
-
|
|
890
|
+
h ? "bg-background text-foreground border-border border-b-background" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"
|
|
849
891
|
)
|
|
850
892
|
}
|
|
851
893
|
}[r];
|
|
852
|
-
return /* @__PURE__ */
|
|
894
|
+
return /* @__PURE__ */ i("div", { className: l("w-full", s), ...n, children: [
|
|
853
895
|
/* @__PURE__ */ e(
|
|
854
896
|
"div",
|
|
855
897
|
{
|
|
856
898
|
role: "tablist",
|
|
857
899
|
className: l("flex items-center", y.list),
|
|
858
|
-
children: t.map((
|
|
900
|
+
children: t.map((h) => /* @__PURE__ */ e(
|
|
859
901
|
"button",
|
|
860
902
|
{
|
|
861
903
|
role: "tab",
|
|
862
|
-
"aria-selected":
|
|
863
|
-
"aria-controls": `tabpanel-${
|
|
864
|
-
onClick: () =>
|
|
865
|
-
className: y.tab(
|
|
866
|
-
children:
|
|
904
|
+
"aria-selected": h.id === d,
|
|
905
|
+
"aria-controls": `tabpanel-${h.id}`,
|
|
906
|
+
onClick: () => m(h.id),
|
|
907
|
+
className: y.tab(h.id === d),
|
|
908
|
+
children: h.label
|
|
867
909
|
},
|
|
868
|
-
|
|
910
|
+
h.id
|
|
869
911
|
))
|
|
870
912
|
}
|
|
871
913
|
),
|
|
@@ -883,56 +925,56 @@ const je = ({ items: t, className: n, ...r }) => {
|
|
|
883
925
|
{ id: "default", name: "Core Framework" },
|
|
884
926
|
{ id: "webde", name: "WEB.DE" },
|
|
885
927
|
{ id: "gmx", name: "GMX" }
|
|
886
|
-
],
|
|
928
|
+
], q = Q({
|
|
887
929
|
brand: P[0],
|
|
888
930
|
setBrand: () => {
|
|
889
931
|
}
|
|
890
|
-
}),
|
|
932
|
+
}), pe = () => X(q), De = ({
|
|
891
933
|
children: t,
|
|
892
|
-
defaultBrand:
|
|
934
|
+
defaultBrand: a = "default"
|
|
893
935
|
}) => {
|
|
894
|
-
const [r,
|
|
895
|
-
P.find((
|
|
896
|
-
), s =
|
|
897
|
-
const d = P.find((
|
|
898
|
-
d &&
|
|
936
|
+
const [r, o] = v(
|
|
937
|
+
P.find((n) => n.id === a) || P[0]
|
|
938
|
+
), s = U((n) => {
|
|
939
|
+
const d = P.find((f) => f.id === n);
|
|
940
|
+
d && o(d);
|
|
899
941
|
}, []);
|
|
900
|
-
return
|
|
901
|
-
const
|
|
902
|
-
return r.id === "default" ?
|
|
903
|
-
}, [r]), /* @__PURE__ */ e(
|
|
904
|
-
},
|
|
905
|
-
const { brand:
|
|
906
|
-
return /* @__PURE__ */ e("div", { className: l("flex items-center gap-1 rounded-xl border border-border bg-muted p-1", t), children: P.map((
|
|
942
|
+
return T(() => {
|
|
943
|
+
const n = document.documentElement;
|
|
944
|
+
return r.id === "default" ? n.removeAttribute("data-brand") : n.setAttribute("data-brand", r.id), () => n.removeAttribute("data-brand");
|
|
945
|
+
}, [r]), /* @__PURE__ */ e(q.Provider, { value: { brand: r, setBrand: s }, children: t });
|
|
946
|
+
}, Me = ({ className: t }) => {
|
|
947
|
+
const { brand: a, setBrand: r } = pe();
|
|
948
|
+
return /* @__PURE__ */ e("div", { className: l("flex items-center gap-1 rounded-xl border border-border bg-muted p-1", t), children: P.map((o) => /* @__PURE__ */ e(
|
|
907
949
|
"button",
|
|
908
950
|
{
|
|
909
|
-
onClick: () => r(
|
|
951
|
+
onClick: () => r(o.id),
|
|
910
952
|
className: l(
|
|
911
953
|
"rounded-lg px-3 py-1.5 font-body text-xs font-medium transition-fast",
|
|
912
|
-
|
|
954
|
+
a.id === o.id ? "bg-primary text-primary-foreground shadow-sm" : "text-muted-foreground hover:text-foreground hover:bg-background"
|
|
913
955
|
),
|
|
914
|
-
children:
|
|
956
|
+
children: o.name
|
|
915
957
|
},
|
|
916
|
-
|
|
958
|
+
o.id
|
|
917
959
|
)) });
|
|
918
960
|
};
|
|
919
961
|
export {
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
962
|
+
ce as Badge,
|
|
963
|
+
De as BrandProvider,
|
|
964
|
+
Me as BrandSwitcher,
|
|
965
|
+
Se as Breadcrumb,
|
|
966
|
+
Ae as ContactForm,
|
|
967
|
+
Be as ContentCard,
|
|
968
|
+
je as FaqAccordion,
|
|
969
|
+
He as Footer,
|
|
970
|
+
ze as Hero,
|
|
971
|
+
Ce as ImageTextTeaser,
|
|
972
|
+
Fe as Navbar,
|
|
973
|
+
fe as SearchBar,
|
|
932
974
|
Ve as Tabs,
|
|
933
|
-
|
|
934
|
-
|
|
975
|
+
Re as TariffSelect,
|
|
976
|
+
u as Typography,
|
|
935
977
|
P as brands,
|
|
936
|
-
|
|
978
|
+
pe as useBrand
|
|
937
979
|
};
|
|
938
980
|
//# sourceMappingURL=index.mjs.map
|