cat-framework-core 0.4.3 → 0.5.1

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