cat-framework-core 0.5.1 → 0.6.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 CHANGED
@@ -4,6 +4,28 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [0.6.0] – 2026-04-01
8
+
9
+ ### 🚀 Added
10
+ - **Design Tokens erweitert** – Neue Token-Kategorien für alle Brands: `--primary-light`, `--primary-lightest`, `--background-tinted`, `--foreground-body`, `--disabled`, `--disabled-foreground`
11
+ - **Signal Light Colors** – `--warning-light`, `--info-light`, `--success-light`, `--destructive-light` für Banner, Hinweise und Hintergründe
12
+ - **Border Radius Tokens** – `--radius-button` (32px Pill), `--radius-card` (16px), `--radius-input`, `--radius-overlay` – per Brand überschreibbar
13
+ - **Shadow Tokens** – `--shadow-card` und `--shadow-elevated` als Design-Tokens (Tailwind: `shadow-card`, `shadow-elevated`)
14
+ - **Spacing Scale** – `--space-xxs` (16px) ergänzt, responsive Mobile-Overrides via `@media (max-width: 659px)`
15
+ - **Roboto Condensed** – Font geladen und als `font-roboto-condensed` Tailwind-Klasse verfügbar
16
+
17
+ ### 🧹 Changed
18
+ - **GMX Brand** – Komplett überarbeitet nach Plasma Color System (CAT v6.0.2): exakte Hex-Werte für Primary (#1e50a0), Neutrals, Signal Colors inkl. Light-Varianten, GMX-spezifische Radii und Shadow
19
+ - **WEB.DE Brand** – Strukturell an GMX angeglichen: gleiche Token-Kategorien (disabled, signal-light, primary-light, background-tinted, foreground-body)
20
+ - **Core Framework** – Spacing-Skala auf 16px-Basis umgestellt, neue Radius- und Shadow-Tokens als Defaults
21
+ - **TariffIcons** – Checkmark-Stroke von 2 auf 2.5 verdickt (bessere Lesbarkeit)
22
+ - **Krone SVG** – Original-SVG aus Figma übernommen mit korrektem Gradient
23
+
24
+ ## [0.5.2] – 2026-03-14
25
+
26
+ ### 🔧 Improved
27
+ - **Docs Mobile-Navigation** – Zurück-Pfeil (←) im Mobile-Header ergänzt, damit man jederzeit zur Startseite zurückkommt
28
+
7
29
  ## [0.5.1] – 2026-03-14
8
30
 
9
31
  ### 📝 Added
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),L=require("clsx"),$=require("tailwind-merge"),S=require("class-variance-authority"),h=require("react"),Q=require("@radix-ui/react-slot"),H=require("framer-motion"),X=require("@radix-ui/react-accordion"),y=require("lucide-react"),U=require("@radix-ui/react-label");function R(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(s,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return s.default=t,Object.freeze(s)}const w=R(h),N=R(X),M=R(U);function d(...t){return $.twMerge(L.clsx(t))}const Y=S.cva("",{variants:{variant:{h1:"font-display text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl",h2:"font-display text-3xl font-bold tracking-tight sm:text-4xl",h3:"font-display text-2xl font-semibold tracking-tight",h4:"font-display text-xl font-semibold",h5:"font-display text-lg font-semibold",h6:"font-display text-base font-semibold",body:"font-body text-base leading-relaxed","body-sm":"font-body text-sm leading-relaxed","body-lg":"font-body text-lg leading-relaxed",caption:"font-body text-xs text-muted-foreground",overline:"font-body text-xs font-semibold uppercase tracking-widest text-muted-foreground"},color:{default:"text-foreground",muted:"text-muted-foreground",primary:"text-primary",accent:"text-accent",destructive:"text-destructive"}},defaultVariants:{variant:"body",color:"default"}}),ee={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",body:"p","body-sm":"p","body-lg":"p",caption:"span",overline:"span"},c=h.forwardRef(({className:t,variant:s="body",tone:r="default",as:n,children:o,...a},i)=>{const x=n||ee[s]||"p";return e.jsx(x,{ref:i,className:d(Y({variant:s,color:r,className:t})),...a,children:o})});c.displayName="Typography";const re=S.cva("inline-flex items-center rounded-full px-3 py-0.5 font-body text-xs font-medium transition-fast",{variants:{variant:{default:"bg-primary/10 text-primary",secondary:"bg-secondary/20 text-secondary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",destructive:"bg-destructive/10 text-destructive",outline:"border border-border text-foreground"}},defaultVariants:{variant:"default"}}),V=h.forwardRef(({className:t,variant:s,...r},n)=>e.jsx("span",{ref:n,className:d(re({variant:s,className:t})),...r}));V.displayName="Badge";const te=S.cva("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",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary-hover",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-muted hover:text-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-muted hover:text-foreground",link:"text-primary underline-offset-4 hover:underline",success:"bg-success text-success-foreground hover:bg-success/90",warning:"bg-warning text-warning-foreground hover:bg-warning/90"},size:{default:"h-10 px-4 py-2 text-sm",sm:"h-8 rounded-lg px-3 text-xs",lg:"h-12 rounded-xl px-8 text-base",xl:"h-14 rounded-xl px-10 text-lg",icon:"h-10 w-10 rounded-xl"}},defaultVariants:{variant:"default",size:"default"}}),p=w.forwardRef(({className:t,variant:s,size:r,asChild:n=!1,...o},a)=>{const i=n?Q.Slot:"button";return e.jsx(i,{className:d(te({variant:s,size:r,className:t})),ref:a,...o})});p.displayName="Button";const D=({src:t,className:s})=>{const r=h.useRef(null),[n,o]=h.useState(!1);return h.useEffect(()=>{var a;o(!1),(a=r.current)==null||a.play().catch(()=>{})},[t]),e.jsx("video",{ref:r,src:t,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,onCanPlay:()=>o(!0),className:d(s,n?"opacity-100":"opacity-0"),style:{transition:"opacity 0.3s ease-in"}})},se=({headline:t,headlineMobile:s,subheadline:r,subheadlineMobile:n,ctaLabel:o,ctaHref:a="#",secondaryCtaLabel:i,secondaryCtaHref:x="#",backgroundImage:m,backgroundImageMobile:g,backgroundVideo:f,backgroundVideoMobile:v,imageAlt:j="",className:u,...z})=>{const B=!!f,A=!!(v||f);return e.jsxs("section",{className:d("relative overflow-hidden",u),...z,children:[e.jsxs("div",{className:"hidden md:flex relative min-h-[420px] md:min-h-[420px] lg:min-h-[600px]",children:[B?e.jsx(D,{src:f,className:"absolute inset-0 h-full w-full object-cover object-right"}):m?e.jsx("img",{src:m,alt:j,className:"absolute inset-0 h-full w-full object-cover object-right",loading:"eager"}):null,e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent"}),e.jsx("div",{className:"relative z-10 flex items-center w-full pl-8 lg:pl-16",children:e.jsxs(H.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.4,ease:"easeOut"},className:"px-6 py-16 lg:px-8 lg:py-20 max-w-[500px] lg:max-w-[480px]",children:[e.jsx(c,{variant:"h1",className:"text-white drop-shadow-lg",as:"h1",children:t}),r&&e.jsx(c,{variant:"body-lg",className:"mt-4 text-white/85 drop-shadow-md",children:r}),(o||i)&&e.jsxs("div",{className:"mt-8 flex flex-wrap gap-4",children:[o&&e.jsx(p,{size:"lg",className:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",asChild:!0,children:e.jsx("a",{href:a,children:o})}),i&&e.jsx(p,{size:"lg",variant:"outline",className:"border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",asChild:!0,children:e.jsx("a",{href:x,children:i})})]})]})})]}),e.jsxs("div",{className:"block md:hidden relative min-h-[85vh] flex flex-col",children:[A?e.jsx(D,{src:v||f,className:"absolute inset-0 h-full w-full object-cover object-center"}):g||m?e.jsx("img",{src:g||m,alt:j,className:"absolute inset-0 h-full w-full object-cover object-center",loading:"eager"}):null,e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/70 via-transparent to-black/80"}),e.jsxs("div",{className:"relative z-10 flex flex-1 flex-col justify-between px-5 py-10",children:[e.jsxs(H.motion.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},children:[e.jsx(c,{variant:"h2",className:"text-white drop-shadow-lg",as:"h1",children:s||t}),(n||r)&&e.jsx(c,{variant:"body-lg",className:"mt-3 text-white/90 drop-shadow-lg font-medium leading-relaxed",children:n||r})]}),e.jsx("div",{className:"flex-1"}),(o||i)&&e.jsxs(H.motion.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4,delay:.15},className:"flex flex-col gap-3",children:[o&&e.jsx(p,{size:"lg",className:"w-full bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",asChild:!0,children:e.jsx("a",{href:a,children:o})}),i&&e.jsx(p,{size:"lg",variant:"outline",className:"w-full border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",asChild:!0,children:e.jsx("a",{href:x,children:i})})]})]})]})]})},ae=({heading:t,text:s,imageSrc:r,imageAlt:n,ctaLabel:o,ctaHref:a="#",imagePosition:i="left",className:x,...m})=>e.jsx("section",{className:d("section-padding",x),...m,children:e.jsxs("div",{className:d("container-wide grid items-center gap-8 md:grid-cols-2 lg:gap-16",i==="right"&&"md:[&>*:first-child]:order-2"),children:[e.jsx("div",{className:"overflow-hidden rounded-2xl",children:e.jsx("img",{src:r,alt:n,className:"h-full w-full object-cover",loading:"lazy"})}),e.jsxs("div",{children:[e.jsx(c,{variant:"h2",children:t}),e.jsx(c,{variant:"body",color:"muted",className:"mt-4",children:s}),o&&e.jsx(p,{className:"mt-6",asChild:!0,children:e.jsx("a",{href:a,children:o})})]})]})}),ne=({heading:t,text:s,imageSrc:r,imageAlt:n="",tag:o,href:a,className:i,...x})=>{const m=a?"a":"div",g=a?{href:a}:{};return e.jsx("article",{className:d("group overflow-hidden rounded-2xl border border-border bg-card shadow-sm transition-fast hover:shadow-lg",a&&"cursor-pointer",i),...x,children:e.jsxs(m,{...g,className:"block",children:[r&&e.jsx("div",{className:"aspect-video overflow-hidden",children:e.jsx("img",{src:r,alt:n,className:"h-full w-full object-cover transition-fast group-hover:scale-105",loading:"lazy"})}),e.jsxs("div",{className:"p-6",children:[o&&e.jsx(c,{variant:"overline",className:"mb-2",children:o}),e.jsx(c,{variant:"h4",className:"group-hover:text-primary transition-fast",children:t}),e.jsx(c,{variant:"body-sm",color:"muted",className:"mt-2 line-clamp-3",children:s})]})]})})},oe=N.Root,q=w.forwardRef(({className:t,...s},r)=>e.jsx(N.Item,{ref:r,className:d("border-b",t),...s}));q.displayName="AccordionItem";const I=w.forwardRef(({className:t,children:s,...r},n)=>e.jsx(N.Header,{className:"flex",children:e.jsxs(N.Trigger,{ref:n,className:d("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...r,children:[s,e.jsx(y.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));I.displayName=N.Trigger.displayName;const _=w.forwardRef(({className:t,children:s,...r},n)=>e.jsx(N.Content,{ref:n,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:e.jsx("div",{className:d("pb-4 pt-0",t),children:s})}));_.displayName=N.Content.displayName;const ie=({heading:t,items:s,className:r,...n})=>{const o={"@context":"https://schema.org","@type":"FAQPage",mainEntity:s.map(a=>({"@type":"Question",name:a.question,acceptedAnswer:{"@type":"Answer",text:a.answer}}))};return e.jsx("section",{className:d("section-padding",r),...n,children:e.jsxs("div",{className:"container-narrow",children:[t&&e.jsx(c,{variant:"h2",className:"mb-8 text-center",children:t}),e.jsx(oe,{type:"single",collapsible:!0,className:"w-full",children:s.map((a,i)=>e.jsxs(q,{value:`item-${i}`,children:[e.jsx(I,{className:"font-display text-left font-semibold",children:a.question}),e.jsx(_,{className:"font-body text-muted-foreground",children:a.answer})]},i))}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}})]})})},C=w.forwardRef(({className:t,type:s,...r},n)=>e.jsx("input",{type:s,className:d("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",t),ref:n,...r}));C.displayName="Input";const O=w.forwardRef(({className:t,...s},r)=>e.jsx("textarea",{className:d("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...s}));O.displayName="Textarea";const de=S.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),P=w.forwardRef(({className:t,...s},r)=>e.jsx(M.Root,{ref:r,className:d(de(),t),...s}));P.displayName=M.Root.displayName;const le=({heading:t="Kontakt",description:s,onSubmit:r,className:n,...o})=>{const[a,i]=h.useState({name:"",email:"",message:""}),[x,m]=h.useState(!1),g=f=>{f.preventDefault(),r==null||r(a),m(!0)};return e.jsx("section",{className:d("section-padding",n),...o,children:e.jsxs("div",{className:"container-narrow",children:[e.jsx(c,{variant:"h2",className:"mb-2",children:t}),s&&e.jsx(c,{variant:"body",color:"muted",className:"mb-8",children:s}),x?e.jsxs("div",{className:"rounded-lg border border-success/30 bg-success/5 p-8 text-center",children:[e.jsx(c,{variant:"h4",color:"accent",children:"Vielen Dank für Ihre Nachricht!"}),e.jsx(c,{variant:"body-sm",color:"muted",className:"mt-2",children:"Wir melden uns in Kürze bei Ihnen."})]}):e.jsxs("form",{onSubmit:g,className:"space-y-6",children:[e.jsxs("div",{className:"grid gap-6 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(P,{htmlFor:"name",children:"Name"}),e.jsx(C,{id:"name",required:!0,value:a.name,onChange:f=>i({...a,name:f.target.value}),placeholder:"Max Mustermann"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(P,{htmlFor:"email",children:"E-Mail"}),e.jsx(C,{id:"email",type:"email",required:!0,value:a.email,onChange:f=>i({...a,email:f.target.value}),placeholder:"max@beispiel.de"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(P,{htmlFor:"message",children:"Nachricht"}),e.jsx(O,{id:"message",required:!0,rows:5,value:a.message,onChange:f=>i({...a,message:f.target.value}),placeholder:"Ihre Nachricht..."})]}),e.jsx(p,{type:"submit",size:"lg",children:"Nachricht senden"})]})]})})},ce=({brand:t,items:s,ctaLabel:r,ctaHref:n="#",className:o,...a})=>{const[i,x]=h.useState(!1);return e.jsxs("header",{className:d("sticky top-0 z-50 border-b border-primary/20 bg-primary text-primary-foreground backdrop-blur",o),...a,children:[e.jsxs("nav",{className:"container-wide flex h-16 items-center justify-between px-4 sm:px-6 lg:px-8","aria-label":"Main",children:[e.jsx("a",{href:"/",className:"font-display text-lg font-bold text-primary-foreground",children:t}),e.jsxs("ul",{className:"hidden items-center gap-1 md:flex",children:[s.map(m=>e.jsx("li",{children:e.jsx("a",{href:m.href,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",children:m.label})},m.href)),r&&e.jsx("li",{className:"ml-4",children:e.jsx(p,{size:"sm",className:"bg-primary-foreground text-primary hover:bg-primary-foreground/90",asChild:!0,children:e.jsx("a",{href:n,children:r})})})]}),e.jsx("button",{className:"md:hidden rounded-full p-2 text-primary-foreground/80 hover:bg-primary-foreground/10",onClick:()=>x(!i),"aria-label":"Menu",children:i?e.jsx(y.X,{size:20}):e.jsx(y.Menu,{size:20})})]}),i&&e.jsx("div",{className:"border-t border-primary-foreground/20 bg-primary md:hidden",children:e.jsxs("ul",{className:"container-wide space-y-1 px-4 py-4",children:[s.map(m=>e.jsx("li",{children:e.jsx("a",{href:m.href,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",onClick:()=>x(!1),children:m.label})},m.href)),r&&e.jsx("li",{className:"pt-2",children:e.jsx(p,{size:"sm",className:"w-full bg-primary-foreground text-primary hover:bg-primary-foreground/90",asChild:!0,children:e.jsx("a",{href:n,children:r})})})]})})]})},me=({brand:t,columns:s,copyright:r,className:n,...o})=>e.jsx("footer",{className:d("border-t border-border bg-muted section-padding",n),...o,children:e.jsxs("div",{className:"container-wide",children:[e.jsxs("div",{className:"grid gap-8 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsx("div",{children:e.jsx(c,{variant:"h5",children:t})}),s.map(a=>e.jsxs("div",{children:[e.jsx(c,{variant:"overline",className:"mb-4",children:a.heading}),e.jsx("ul",{className:"space-y-2",children:a.links.map(i=>e.jsx("li",{children:e.jsx("a",{href:i.href,className:"font-body text-sm text-muted-foreground transition-fast hover:text-foreground",children:i.label})},i.href))})]},a.heading))]}),r&&e.jsx("div",{className:"mt-12 border-t border-border pt-6",children:e.jsx(c,{variant:"caption",children:r})})]})}),E=h.forwardRef(({className:t,onSearch:s,...r},n)=>e.jsxs("div",{className:d("relative",t),children:[e.jsx(y.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(C,{ref:n,className:"pl-10",placeholder:"Suchen...",onChange:o=>s==null?void 0:s(o.target.value),...r})]}));E.displayName="SearchBar";const ue=({items:t,className:s,...r})=>{const n={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.map((o,a)=>({"@type":"ListItem",position:a+1,name:o.label,...o.href?{item:o.href}:{}}))};return e.jsxs("nav",{"aria-label":"Breadcrumb",className:d("font-body text-sm",s),...r,children:[e.jsx("ol",{className:"flex items-center gap-1",children:t.map((o,a)=>e.jsxs("li",{className:"flex items-center gap-1",children:[a>0&&e.jsx(y.ChevronRight,{className:"h-3 w-3 text-muted-foreground"}),o.href&&a<t.length-1?e.jsx("a",{href:o.href,className:"text-muted-foreground transition-fast hover:text-foreground",children:o.label}):e.jsx("span",{className:"text-foreground font-medium",children:o.label})]},a))}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(n)}})]})},xe=[{id:"50gb",storage:"50 GB",monthlyPrice:1.29,yearlyPrice:.99,hidden:!0,features:["10.000 Fotos, 4h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Automatische Synchronisation"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"100gb",storage:"100 GB",monthlyPrice:2.49,yearlyPrice:1.99,features:["20.000 Fotos, 8h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 25% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"200gb",storage:"200 GB",monthlyPrice:3.49,yearlyPrice:2.99,features:["40.000 Fotos, 16h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 17% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"500gb",storage:"500 GB",monthlyPrice:5.49,yearlyPrice:4.99,hidden:!0,features:["100.000 Fotos, 40h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 10% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"1tb",storage:"1 TB",monthlyPrice:10.99,yearlyPrice:9.99,features:["200.000 Fotos, 80h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 10% günstiger"],badge:"Meistgewählt",ctaLabel:"Zum Angebot",ctaHref:"#"}],he=({heading:t="Cloud-Speicher erweitern",subheading:s="Wählen Sie den passenden Tarif für Ihre Bedürfnisse",plans:r=xe,defaultOpenId:n="100gb",defaultBilling:o="yearly",className:a,...i})=>{const[x,m]=h.useState(n),[g,f]=h.useState(o),[v,j]=h.useState(!1),u=r.some(l=>l.hidden),z=v?r:r.filter(l=>!l.hidden),B=l=>{m(b=>b===l?null:l)},A=l=>g==="yearly"?l.yearlyPrice:l.monthlyPrice,G=l=>{const b=l.monthlyPrice-l.yearlyPrice;return b>0?Math.round(b/l.monthlyPrice*100):0};return e.jsx("section",{className:d("section-padding",a),...i,children:e.jsxs("div",{className:"container-narrow",children:[t&&e.jsx(c,{variant:"h2",className:"mb-2 text-center",children:t}),s&&e.jsx(c,{variant:"body",tone:"muted",className:"mb-8 text-center",children:s}),e.jsx("div",{className:"flex items-center justify-center mb-8",children:e.jsxs("div",{className:"inline-flex rounded-xl border border-border bg-muted p-1 gap-1",children:[e.jsx("button",{onClick:()=>f("monthly"),className:d("rounded-lg px-5 py-2.5 font-body text-sm font-medium transition-fast",g==="monthly"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Monatlich kündbar"}),e.jsx("button",{onClick:()=>f("yearly"),className:d("rounded-lg px-5 py-2.5 font-body text-sm font-medium transition-fast",g==="yearly"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"12 Monate Laufzeit"})]})}),e.jsx("div",{className:"space-y-3",children:z.map(l=>{const b=x===l.id,Z=A(l),T=G(l);return e.jsxs("div",{className:d("rounded-2xl border transition-fast overflow-hidden",b?"border-primary bg-card shadow-md ring-1 ring-primary/20":"border-border bg-card hover:border-primary/40 hover:shadow-sm"),children:[e.jsxs("div",{className:"flex items-center gap-4 px-5 py-4 cursor-pointer select-none",onClick:()=>B(l.id),children:[e.jsx("div",{className:d("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-fast",b?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:e.jsx(y.Cloud,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(c,{variant:"h4",className:"whitespace-nowrap",children:l.storage}),l.badge&&e.jsxs("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:[e.jsx(y.Star,{className:"h-3 w-3"}),l.badge]})]}),e.jsxs("div",{className:"ml-auto flex items-center gap-3",children:[e.jsxs("div",{className:"text-right",children:[e.jsxs("span",{className:"font-display text-xl font-bold text-foreground",children:[Z.toFixed(2).replace(".",",")," €"]}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"/Monat"})]}),!b&&l.ctaHref&&e.jsx("a",{href:l.ctaHref,onClick:F=>F.stopPropagation(),className:"hidden sm:inline-flex",children:e.jsx(p,{size:"sm",variant:"outline",children:l.ctaLabel||"Auswählen"})}),e.jsx(y.ChevronDown,{className:d("h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200",b&&"rotate-180")})]})]}),e.jsx("div",{className:d("grid transition-all duration-200 ease-in-out",b?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:e.jsx("div",{className:"overflow-hidden",children:e.jsxs("div",{className:"px-5 pb-5 pt-1",children:[g==="monthly"&&T>0&&e.jsxs(c,{variant:"body-sm",className:"mb-4 text-primary font-medium",children:["Sparen Sie ",T,"% im Jahresabo"]}),e.jsx("ul",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5",children:l.features.map((F,J)=>e.jsxs("li",{className:"flex items-start gap-2 font-body text-sm text-muted-foreground",children:[e.jsx(y.Check,{className:"h-4 w-4 mt-0.5 shrink-0 text-primary"}),F]},J))}),l.ctaHref&&e.jsx("a",{href:l.ctaHref,children:e.jsx(p,{className:"w-full sm:w-auto",size:"lg",children:l.ctaLabel||"Jetzt buchen"})})]})})})]},l.id)})}),u&&e.jsx("div",{className:"flex justify-center mt-4",children:e.jsxs(p,{variant:"ghost",size:"sm",onClick:()=>j(l=>!l),className:"gap-1.5 text-muted-foreground",children:[v?"Weniger Tarife":"Weitere Tarife",e.jsx(y.ChevronDown,{className:d("h-4 w-4 transition-transform duration-200",v&&"rotate-180")})]})}),e.jsx(c,{variant:"caption",className:"mt-6 block text-center",children:"Alle Preise inkl. MwSt. Kündigung bis 4 Wochen zum Ende der Vertragslaufzeit möglich."})]})})},fe=({items:t,defaultActiveId:s,variant:r="underline",onTabChange:n,className:o,...a})=>{var j;const[i,x]=h.useState(s||((j=t[0])==null?void 0:j.id)),m=u=>{x(u),n==null||n(u)},g=t.find(u=>u.id===i),v={underline:{list:"border-b border-border",tab:u=>d("relative px-4 py-2.5 font-body text-sm font-medium transition-fast -mb-px",u?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground")},pills:{list:"gap-1 bg-muted rounded-lg p-1",tab:u=>d("px-4 py-2 rounded-md font-body text-sm font-medium transition-fast",u?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground")},enclosed:{list:"border-b border-border",tab:u=>d("px-4 py-2.5 font-body text-sm font-medium transition-fast border border-transparent rounded-t-lg -mb-px",u?"bg-background text-foreground border-border border-b-background":"text-muted-foreground hover:text-foreground hover:bg-muted/50")}}[r];return e.jsxs("div",{className:d("w-full",o),...a,children:[e.jsx("div",{role:"tablist",className:d("flex items-center",v.list),children:t.map(u=>e.jsx("button",{role:"tab","aria-selected":u.id===i,"aria-controls":`tabpanel-${u.id}`,onClick:()=>m(u.id),className:v.tab(u.id===i),children:u.label},u.id))}),e.jsx("div",{role:"tabpanel",id:`tabpanel-${i}`,className:"pt-4",children:g==null?void 0:g.content})]})},k=[{id:"default",name:"Core Framework"},{id:"webde",name:"WEB.DE"},{id:"gmx",name:"GMX"}],K=h.createContext({brand:k[0],setBrand:()=>{}}),W=()=>h.useContext(K),ge=({children:t,defaultBrand:s="default"})=>{const[r,n]=h.useState(k.find(a=>a.id===s)||k[0]),o=h.useCallback(a=>{const i=k.find(x=>x.id===a);i&&n(i)},[]);return h.useEffect(()=>{const a=document.documentElement;return r.id==="default"?a.removeAttribute("data-brand"):a.setAttribute("data-brand",r.id),()=>a.removeAttribute("data-brand")},[r]),e.jsx(K.Provider,{value:{brand:r,setBrand:o},children:t})},pe=({className:t})=>{const{brand:s,setBrand:r}=W();return e.jsx("div",{className:d("flex items-center gap-1 rounded-xl border border-border bg-muted p-1",t),children:k.map(n=>e.jsx("button",{onClick:()=>r(n.id),className:d("rounded-lg px-3 py-1.5 font-body text-xs font-medium transition-fast",s.id===n.id?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-background"),children:n.name},n.id))})};exports.Badge=V;exports.BrandProvider=ge;exports.BrandSwitcher=pe;exports.Breadcrumb=ue;exports.ContactForm=le;exports.ContentCard=ne;exports.FaqAccordion=ie;exports.Footer=me;exports.Hero=se;exports.ImageTextTeaser=ae;exports.Navbar=ce;exports.SearchBar=E;exports.Tabs=fe;exports.TariffSelect=he;exports.Typography=c;exports.brands=k;exports.useBrand=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),re=require("clsx"),se=require("tailwind-merge"),A=require("class-variance-authority"),p=require("react"),ie=require("@radix-ui/react-slot"),L=require("framer-motion"),ae=require("@radix-ui/react-accordion"),w=require("lucide-react"),ne=require("@radix-ui/react-label");function I(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const a=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(r,s,a.get?a:{enumerable:!0,get:()=>t[s]})}}return r.default=t,Object.freeze(r)}const C=I(p),P=I(ae),G=I(ne);function d(...t){return se.twMerge(re.clsx(t))}const oe=A.cva("",{variants:{variant:{h1:"font-display text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl",h2:"font-display text-3xl font-bold tracking-tight sm:text-4xl",h3:"font-display text-2xl font-semibold tracking-tight",h4:"font-display text-xl font-semibold",h5:"font-display text-lg font-semibold",h6:"font-display text-base font-semibold",body:"font-body text-base leading-relaxed","body-sm":"font-body text-sm leading-relaxed","body-lg":"font-body text-lg leading-relaxed",caption:"font-body text-xs text-muted-foreground",overline:"font-body text-xs font-semibold uppercase tracking-widest text-muted-foreground"},color:{default:"text-foreground",muted:"text-muted-foreground",primary:"text-primary",accent:"text-accent",destructive:"text-destructive"}},defaultVariants:{variant:"body",color:"default"}}),le={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",body:"p","body-sm":"p","body-lg":"p",caption:"span",overline:"span"},x=p.forwardRef(({className:t,variant:r="body",tone:s="default",as:a,children:n,...i},o)=>{const u=a||le[r]||"p";return e.jsx(u,{ref:o,className:d(oe({variant:r,color:s,className:t})),...i,children:n})});x.displayName="Typography";const de=A.cva("inline-flex items-center rounded-full px-3 py-0.5 font-body text-xs font-medium transition-fast",{variants:{variant:{default:"bg-primary/10 text-primary",secondary:"bg-secondary/20 text-secondary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",destructive:"bg-destructive/10 text-destructive",outline:"border border-border text-foreground"}},defaultVariants:{variant:"default"}}),E=p.forwardRef(({className:t,variant:r,...s},a)=>e.jsx("span",{ref:a,className:d(de({variant:r,className:t})),...s}));E.displayName="Badge";const ce=A.cva("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",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary-hover",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-muted hover:text-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-muted hover:text-foreground",link:"text-primary underline-offset-4 hover:underline",success:"bg-success text-success-foreground hover:bg-success/90",warning:"bg-warning text-warning-foreground hover:bg-warning/90"},size:{default:"h-10 px-4 py-2 text-sm",sm:"h-8 rounded-lg px-3 text-xs",lg:"h-12 rounded-xl px-8 text-base",xl:"h-14 rounded-xl px-10 text-lg",icon:"h-10 w-10 rounded-xl"}},defaultVariants:{variant:"default",size:"default"}}),j=C.forwardRef(({className:t,variant:r,size:s,asChild:a=!1,...n},i)=>{const o=a?ie.Slot:"button";return e.jsx(o,{className:d(ce({variant:r,size:s,className:t})),ref:i,...n})});j.displayName="Button";const q=({src:t,className:r})=>{const s=p.useRef(null),[a,n]=p.useState(!1);return p.useEffect(()=>{var i;n(!1),(i=s.current)==null||i.play().catch(()=>{})},[t]),e.jsx("video",{ref:s,src:t,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,onCanPlay:()=>n(!0),className:d(r,a?"opacity-100":"opacity-0"),style:{transition:"opacity 0.3s ease-in"}})},me=({headline:t,headlineMobile:r,subheadline:s,subheadlineMobile:a,ctaLabel:n,ctaHref:i="#",secondaryCtaLabel:o,secondaryCtaHref:u="#",backgroundImage:c,backgroundImageMobile:m,backgroundVideo:g,backgroundVideoMobile:v,imageAlt:N="",className:h,...S})=>{const k=!!g,f=!!(v||g);return e.jsxs("section",{className:d("relative overflow-hidden",h),...S,children:[e.jsxs("div",{className:"hidden md:flex relative min-h-[420px] md:min-h-[420px] lg:min-h-[600px]",children:[k?e.jsx(q,{src:g,className:"absolute inset-0 h-full w-full object-cover object-right"}):c?e.jsx("img",{src:c,alt:N,className:"absolute inset-0 h-full w-full object-cover object-right",loading:"eager"}):null,e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent"}),e.jsx("div",{className:"relative z-10 flex items-center w-full pl-8 lg:pl-16",children:e.jsxs(L.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.4,ease:"easeOut"},className:"px-6 py-16 lg:px-8 lg:py-20 max-w-[500px] lg:max-w-[480px]",children:[e.jsx(x,{variant:"h1",className:"text-white drop-shadow-lg",as:"h1",children:t}),s&&e.jsx(x,{variant:"body-lg",className:"mt-4 text-white/85 drop-shadow-md",children:s}),(n||o)&&e.jsxs("div",{className:"mt-8 flex flex-wrap gap-4",children:[n&&e.jsx(j,{size:"lg",className:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",asChild:!0,children:e.jsx("a",{href:i,children:n})}),o&&e.jsx(j,{size:"lg",variant:"outline",className:"border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",asChild:!0,children:e.jsx("a",{href:u,children:o})})]})]})})]}),e.jsxs("div",{className:"block md:hidden relative min-h-[85vh] flex flex-col",children:[f?e.jsx(q,{src:v||g,className:"absolute inset-0 h-full w-full object-cover object-center"}):m||c?e.jsx("img",{src:m||c,alt:N,className:"absolute inset-0 h-full w-full object-cover object-center",loading:"eager"}):null,e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/70 via-transparent to-black/80"}),e.jsxs("div",{className:"relative z-10 flex flex-1 flex-col justify-between px-5 py-10",children:[e.jsxs(L.motion.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},children:[e.jsx(x,{variant:"h2",className:"text-white drop-shadow-lg",as:"h1",children:r||t}),(a||s)&&e.jsx(x,{variant:"body-lg",className:"mt-3 text-white/90 drop-shadow-lg font-medium leading-relaxed",children:a||s})]}),e.jsx("div",{className:"flex-1"}),(n||o)&&e.jsxs(L.motion.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4,delay:.15},className:"flex flex-col gap-3",children:[n&&e.jsx(j,{size:"lg",className:"w-full bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg",asChild:!0,children:e.jsx("a",{href:i,children:n})}),o&&e.jsx(j,{size:"lg",variant:"outline",className:"w-full border-white/40 text-foreground bg-white/90 hover:bg-white shadow-lg",asChild:!0,children:e.jsx("a",{href:u,children:o})})]})]})]})]})},he=({heading:t,text:r,imageSrc:s,imageAlt:a,ctaLabel:n,ctaHref:i="#",imagePosition:o="left",className:u,...c})=>e.jsx("section",{className:d("section-padding",u),...c,children:e.jsxs("div",{className:d("container-wide grid items-center gap-8 md:grid-cols-2 lg:gap-16",o==="right"&&"md:[&>*:first-child]:order-2"),children:[e.jsx("div",{className:"overflow-hidden rounded-2xl",children:e.jsx("img",{src:s,alt:a,className:"h-full w-full object-cover",loading:"lazy"})}),e.jsxs("div",{children:[e.jsx(x,{variant:"h2",children:t}),e.jsx(x,{variant:"body",color:"muted",className:"mt-4",children:r}),n&&e.jsx(j,{className:"mt-6",asChild:!0,children:e.jsx("a",{href:i,children:n})})]})]})}),ue=({heading:t,text:r,imageSrc:s,imageAlt:a="",tag:n,href:i,className:o,...u})=>{const c=i?"a":"div",m=i?{href:i}:{};return e.jsx("article",{className:d("group overflow-hidden rounded-2xl border border-border bg-card shadow-sm transition-fast hover:shadow-lg",i&&"cursor-pointer",o),...u,children:e.jsxs(c,{...m,className:"block",children:[s&&e.jsx("div",{className:"aspect-video overflow-hidden",children:e.jsx("img",{src:s,alt:a,className:"h-full w-full object-cover transition-fast group-hover:scale-105",loading:"lazy"})}),e.jsxs("div",{className:"p-6",children:[n&&e.jsx(x,{variant:"overline",className:"mb-2",children:n}),e.jsx(x,{variant:"h4",className:"group-hover:text-primary transition-fast",children:t}),e.jsx(x,{variant:"body-sm",color:"muted",className:"mt-2 line-clamp-3",children:r})]})]})})},xe=P.Root,_=C.forwardRef(({className:t,...r},s)=>e.jsx(P.Item,{ref:s,className:d("border-b",t),...r}));_.displayName="AccordionItem";const O=C.forwardRef(({className:t,children:r,...s},a)=>e.jsx(P.Header,{className:"flex",children:e.jsxs(P.Trigger,{ref:a,className:d("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...s,children:[r,e.jsx(w.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));O.displayName=P.Trigger.displayName;const K=C.forwardRef(({className:t,children:r,...s},a)=>e.jsx(P.Content,{ref:a,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...s,children:e.jsx("div",{className:d("pb-4 pt-0",t),children:r})}));K.displayName=P.Content.displayName;const fe=({heading:t,items:r,className:s,...a})=>{const n={"@context":"https://schema.org","@type":"FAQPage",mainEntity:r.map(i=>({"@type":"Question",name:i.question,acceptedAnswer:{"@type":"Answer",text:i.answer}}))};return e.jsx("section",{className:d("section-padding",s),...a,children:e.jsxs("div",{className:"container-narrow",children:[t&&e.jsx(x,{variant:"h2",className:"mb-8 text-center",children:t}),e.jsx(xe,{type:"single",collapsible:!0,className:"w-full",children:r.map((i,o)=>e.jsxs(_,{value:`item-${o}`,children:[e.jsx(O,{className:"font-display text-left font-semibold",children:i.question}),e.jsx(K,{className:"font-body text-muted-foreground",children:i.answer})]},o))}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(n)}})]})})},B=C.forwardRef(({className:t,type:r,...s},a)=>e.jsx("input",{type:r,className:d("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",t),ref:a,...s}));B.displayName="Input";const Z=C.forwardRef(({className:t,...r},s)=>e.jsx("textarea",{className:d("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:s,...r}));Z.displayName="Textarea";const ge=A.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),R=C.forwardRef(({className:t,...r},s)=>e.jsx(G.Root,{ref:s,className:d(ge(),t),...r}));R.displayName=G.Root.displayName;const pe=({heading:t="Kontakt",description:r,onSubmit:s,className:a,...n})=>{const[i,o]=p.useState({name:"",email:"",message:""}),[u,c]=p.useState(!1),m=g=>{g.preventDefault(),s==null||s(i),c(!0)};return e.jsx("section",{className:d("section-padding",a),...n,children:e.jsxs("div",{className:"container-narrow",children:[e.jsx(x,{variant:"h2",className:"mb-2",children:t}),r&&e.jsx(x,{variant:"body",color:"muted",className:"mb-8",children:r}),u?e.jsxs("div",{className:"rounded-lg border border-success/30 bg-success/5 p-8 text-center",children:[e.jsx(x,{variant:"h4",color:"accent",children:"Vielen Dank für Ihre Nachricht!"}),e.jsx(x,{variant:"body-sm",color:"muted",className:"mt-2",children:"Wir melden uns in Kürze bei Ihnen."})]}):e.jsxs("form",{onSubmit:m,className:"space-y-6",children:[e.jsxs("div",{className:"grid gap-6 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(R,{htmlFor:"name",children:"Name"}),e.jsx(B,{id:"name",required:!0,value:i.name,onChange:g=>o({...i,name:g.target.value}),placeholder:"Max Mustermann"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(R,{htmlFor:"email",children:"E-Mail"}),e.jsx(B,{id:"email",type:"email",required:!0,value:i.email,onChange:g=>o({...i,email:g.target.value}),placeholder:"max@beispiel.de"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(R,{htmlFor:"message",children:"Nachricht"}),e.jsx(Z,{id:"message",required:!0,rows:5,value:i.message,onChange:g=>o({...i,message:g.target.value}),placeholder:"Ihre Nachricht..."})]}),e.jsx(j,{type:"submit",size:"lg",children:"Nachricht senden"})]})]})})},be=({brand:t,items:r,ctaLabel:s,ctaHref:a="#",className:n,...i})=>{const[o,u]=p.useState(!1);return e.jsxs("header",{className:d("sticky top-0 z-50 border-b border-primary/20 bg-primary text-primary-foreground backdrop-blur",n),...i,children:[e.jsxs("nav",{className:"container-wide flex h-16 items-center justify-between px-4 sm:px-6 lg:px-8","aria-label":"Main",children:[e.jsx("a",{href:"/",className:"font-display text-lg font-bold text-primary-foreground",children:t}),e.jsxs("ul",{className:"hidden items-center gap-1 md:flex",children:[r.map(c=>e.jsx("li",{children:e.jsx("a",{href:c.href,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",children:c.label})},c.href)),s&&e.jsx("li",{className:"ml-4",children:e.jsx(j,{size:"sm",className:"bg-primary-foreground text-primary hover:bg-primary-foreground/90",asChild:!0,children:e.jsx("a",{href:a,children:s})})})]}),e.jsx("button",{className:"md:hidden rounded-full p-2 text-primary-foreground/80 hover:bg-primary-foreground/10",onClick:()=>u(!o),"aria-label":"Menu",children:o?e.jsx(w.X,{size:20}):e.jsx(w.Menu,{size:20})})]}),o&&e.jsx("div",{className:"border-t border-primary-foreground/20 bg-primary md:hidden",children:e.jsxs("ul",{className:"container-wide space-y-1 px-4 py-4",children:[r.map(c=>e.jsx("li",{children:e.jsx("a",{href:c.href,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",onClick:()=>u(!1),children:c.label})},c.href)),s&&e.jsx("li",{className:"pt-2",children:e.jsx(j,{size:"sm",className:"w-full bg-primary-foreground text-primary hover:bg-primary-foreground/90",asChild:!0,children:e.jsx("a",{href:a,children:s})})})]})})]})},ye=({brand:t,columns:r,copyright:s,className:a,...n})=>e.jsx("footer",{className:d("border-t border-border bg-muted section-padding",a),...n,children:e.jsxs("div",{className:"container-wide",children:[e.jsxs("div",{className:"grid gap-8 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsx("div",{children:e.jsx(x,{variant:"h5",children:t})}),r.map(i=>e.jsxs("div",{children:[e.jsx(x,{variant:"overline",className:"mb-4",children:i.heading}),e.jsx("ul",{className:"space-y-2",children:i.links.map(o=>e.jsx("li",{children:e.jsx("a",{href:o.href,className:"font-body text-sm text-muted-foreground transition-fast hover:text-foreground",children:o.label})},o.href))})]},i.heading))]}),s&&e.jsx("div",{className:"mt-12 border-t border-border pt-6",children:e.jsx(x,{variant:"caption",children:s})})]})}),J=p.forwardRef(({className:t,onSearch:r,...s},a)=>e.jsxs("div",{className:d("relative",t),children:[e.jsx(w.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(B,{ref:a,className:"pl-10",placeholder:"Suchen...",onChange:n=>r==null?void 0:r(n.target.value),...s})]}));J.displayName="SearchBar";const je=({items:t,className:r,...s})=>{const a={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.map((n,i)=>({"@type":"ListItem",position:i+1,name:n.label,...n.href?{item:n.href}:{}}))};return e.jsxs("nav",{"aria-label":"Breadcrumb",className:d("font-body text-sm",r),...s,children:[e.jsx("ol",{className:"flex items-center gap-1",children:t.map((n,i)=>e.jsxs("li",{className:"flex items-center gap-1",children:[i>0&&e.jsx(w.ChevronRight,{className:"h-3 w-3 text-muted-foreground"}),n.href&&i<t.length-1?e.jsx("a",{href:n.href,className:"text-muted-foreground transition-fast hover:text-foreground",children:n.label}):e.jsx("span",{className:"text-foreground font-medium",children:n.label})]},i))}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(a)}})]})},$=({className:t,color:r="#1C449B"})=>e.jsx("svg",{className:t,width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",style:{flexShrink:0},children:e.jsx("path",{d:"M1 5L5 9L13 1",stroke:r,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),D=({className:t,color:r="#5637F2"})=>e.jsx("div",{className:t,style:{height:14.737,width:18,position:"relative"},children:e.jsx("svg",{className:"absolute block",style:{width:"100%",height:"100%"},fill:"none",preserveAspectRatio:"none",viewBox:"0 0 18 14.7368",children:e.jsx("path",{clipRule:"evenodd",d:"M12.6 5.98684L9 0L5.4 5.98684L0 1.37956L2.7755 14.7368H15.2741L18 1.37956L12.6 5.98684Z",fill:r,fillRule:"evenodd"})})}),ve=[{id:"premium-s",storage:"5 GB",monthlyPrice:3.99,yearlyPrice:2.99,features:["+ 15 GB Cloud-Speicher"],badge:"Empfehlung",highlight:!0,ctaLabel:"1 Monat gratis testen",ctaHref:"#"},{id:"premium-m",storage:"20 GB",monthlyPrice:7.99,yearlyPrice:5.99,features:["+ 200 GB Cloud"],ctaLabel:"1 Monat gratis testen",ctaHref:"#"},{id:"premium-l",storage:"50 GB",monthlyPrice:14.99,yearlyPrice:11.99,features:["+ 1000 GB Cloud"],ctaLabel:"1 Monat gratis testen",ctaHref:"#"}];function Ne(t){return t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}const U=({heading:t="Neue Premium-Tarife",subheading:r="Mehr Speicher als je zuvor – nie wieder Sorgen um vollen Speicher!",sectionLabel:s="Ihre Premium-Upgrade Optionen:",plans:a=ve,icon:n,storageLabel:i="E-Mail",className:o,...u})=>e.jsx("section",{className:d("section-padding",o),...u,children:e.jsxs("div",{className:"container-narrow text-center",children:[n&&e.jsx("div",{className:"flex justify-center mb-4",children:n}),t&&e.jsx("h2",{className:"mb-2",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:20,lineHeight:1.5},children:t}),r&&e.jsx("p",{className:"mb-10",style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:16,lineHeight:1.5,color:"#717171"},children:r}),s&&e.jsx("h4",{className:"text-left mb-5",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:1.5,color:"#333"},children:s}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",style:{gap:20},children:a.map(c=>{const m=c.highlight,g=Ne(c.id),v=c.features.find(N=>N.startsWith("+"));return e.jsxs("div",{className:"relative flex flex-col items-end",style:{gap:10},children:[e.jsxs("div",{className:"relative text-left flex flex-col w-full rounded-[16px]",style:{backgroundColor:m?"rgba(255,255,255,0.08)":"white",padding:"24px 30px",gap:20},children:[e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 pointer-events-none rounded-[16px]",style:{borderStyle:"solid",borderWidth:m?4:1,borderColor:m?"#e53e56":"#a6a6a6"}}),e.jsx("div",{className:"flex items-center justify-center relative shrink-0",style:{padding:"0 4px",marginBottom:4},children:e.jsx("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:"24px",color:"#333",textAlign:"center"},children:g})}),e.jsxs("div",{className:"flex flex-col items-start",style:{gap:10},children:[e.jsxs("p",{style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,color:"#333",lineHeight:0,fontSize:0},children:[e.jsxs("span",{style:{lineHeight:"56px",fontSize:56},children:[c.storage," "]}),e.jsx("span",{style:{lineHeight:"56px",fontSize:36},children:i})]}),v&&e.jsx("p",{style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:24,lineHeight:"32px",color:"#717171"},children:v})]}),e.jsxs("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:24,lineHeight:"32px",color:"#333"},children:[c.monthlyPrice.toFixed(2).replace(".",",")," €/Monat"]}),c.ctaHref&&e.jsxs("a",{href:c.ctaHref,className:"relative mt-auto inline-grid shrink-0",style:{gridTemplateColumns:"max-content",gridTemplateRows:"max-content",placeItems:"start"},children:[e.jsx("div",{className:"rounded-[100px]",style:{gridColumn:1,gridRow:1,width:220,height:40,backgroundColor:m?"#5637f2":"transparent",border:m?"none":"1px solid #5637f2"}}),e.jsx("div",{style:{gridColumn:1,gridRow:1,marginLeft:m?44:47,marginTop:10},children:e.jsx("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:"normal",height:25,color:m?"white":"#5637f2"},children:c.ctaLabel||"Auswählen"})}),e.jsx("div",{style:{gridColumn:1,gridRow:1,marginLeft:m?18:21,marginTop:11.7},children:e.jsx(D,{color:m?"white":"#5637F2"})})]})]}),c.badge&&e.jsx("div",{className:"absolute top-0 right-0 flex items-center justify-center",style:{backgroundColor:"#e53e56",height:24,width:191,padding:"4px 25px",borderRadius:"0 12px 0 12px",fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:14,color:"white",whiteSpace:"nowrap"},children:c.badge})]},c.id)})})]})}),we=[{id:"premium-s",storage:"5 GB",monthlyPrice:3.99,yearlyPrice:2.99,features:["+ 15 GB Cloud","50 MB Anhänge","inkl. 10 E-Mail-Adressen","Werbefreies Postfach","Nutzung aller Premium-Funktionen"],badge:"Preis-Leistung-Sieger",highlight:!0,ctaLabel:"1 Monat gratis testen",ctaHref:"#"},{id:"premium-m",storage:"20 GB",monthlyPrice:7.99,yearlyPrice:5.99,features:["+ 200 GB Cloud","100 MB Anhänge","inkl. 50 E-Mail-Adressen","Werbefreies Postfach","Nutzung aller Premium-Funktionen"],ctaLabel:"1 Monat gratis testen",ctaHref:"#"},{id:"premium-l",storage:"50 GB",monthlyPrice:14.99,yearlyPrice:11.99,features:["+ 1 TB Cloud","50 MB Anhänge","inkl. 10 E-Mail-Adressen","Werbefreies Postfach","Nutzung aller Premium-Funktionen"],ctaLabel:"1 Monat gratis testen",ctaHref:"#"}];function ke(t){return t.find(r=>r.startsWith("+"))}function Se(t){return t.filter(r=>!r.startsWith("+"))}function Pe(t){return t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}const Q=({heading:t,subheading:r,sectionLabel:s,plans:a=we,expandAll:n=!1,defaultOpenId:i,icon:o,storageLabel:u="E-Mail",className:c,...m})=>{var S,k;const g=((S=a.find(f=>f.highlight))==null?void 0:S.id)??((k=a[0])==null?void 0:k.id),[v,N]=p.useState(i??g),h=f=>{n||N(b=>b===f?null:f)};return e.jsx("section",{className:d("section-padding",c),...m,children:e.jsxs("div",{className:"container-narrow",children:[o&&e.jsx("div",{className:"flex justify-center mb-4",children:o}),t&&e.jsx("h2",{className:"mb-2 text-center",style:{fontFamily:"'Roboto', sans-serif",fontWeight:700,fontSize:32,lineHeight:1.3,color:"#333"},children:t}),r&&e.jsx("p",{className:"mb-10 text-center",style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:16,lineHeight:1.5,color:"#717171"},children:r}),s&&e.jsx("h4",{className:"text-left mb-5",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:1.5,color:"#333"},children:s}),e.jsx("div",{className:"flex flex-col",style:{gap:20},children:a.map(f=>{const b=f.highlight,M=Pe(f.id),F=ke(f.features),H=Se(f.features),W=f.storage;return e.jsxs("div",{className:"flex flex-col items-end relative shrink-0 w-full",style:{gap:10,...n?{}:{cursor:"pointer"}},onClick:()=>h(f.id),children:[e.jsxs("div",{className:"relative flex flex-col w-full rounded-[16px]",style:{backgroundColor:b?"rgba(255,255,255,0.08)":"white",padding:"24px 30px",gap:20},children:[b?e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 pointer-events-none rounded-[16px]",style:{padding:4,background:"linear-gradient(to bottom, #e53e56, #5637f2)",WebkitMask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude"}}):e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 pointer-events-none rounded-[16px]",style:{borderStyle:"solid",borderWidth:1,borderColor:"#a6a6a6"}}),e.jsxs("div",{className:"flex items-end justify-between relative shrink-0 w-full",children:[e.jsxs("div",{className:"flex flex-col items-start relative shrink-0",style:{width:299},children:[e.jsx("div",{className:"flex items-center relative shrink-0",style:{padding:"0 4px",marginBottom:4},children:e.jsx("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:"24px",color:"#333"},children:M})}),e.jsxs("div",{className:"flex flex-col items-start relative shrink-0 w-full",style:{gap:10},children:[e.jsxs("p",{style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,color:"#333",lineHeight:0,fontSize:0},children:[e.jsxs("span",{style:{lineHeight:"56px",fontSize:56},children:[W," "]}),e.jsx("span",{style:{lineHeight:"56px",fontSize:36},children:u})]}),F&&e.jsx("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:24,lineHeight:"32px",color:"#717171"},children:F})]})]}),e.jsxs("div",{className:"flex flex-col items-end relative shrink-0",style:{gap:b?35:30},children:[e.jsxs("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:24,lineHeight:"32px",color:"#333"},children:[f.monthlyPrice.toFixed(2).replace(".",",")," €/Monat"]}),f.ctaHref&&e.jsxs("a",{href:f.ctaHref,onClick:l=>l.stopPropagation(),className:"relative inline-grid shrink-0",style:{gridTemplateColumns:"max-content",gridTemplateRows:"max-content",placeItems:"start"},children:[e.jsx("div",{className:"rounded-[100px]",style:{gridColumn:1,gridRow:1,width:220,height:40,backgroundColor:b?"#5637f2":"transparent",border:b?"none":"1px solid #5637f2"}}),e.jsx("div",{style:{gridColumn:1,gridRow:1,marginLeft:b?44:47,marginTop:10},children:e.jsx("p",{className:"whitespace-nowrap",style:{fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:16,lineHeight:"normal",height:25,color:b?"white":"#5637f2",textAlign:"center"},children:f.ctaLabel||"Auswählen"})}),e.jsx("div",{style:{gridColumn:1,gridRow:1,marginLeft:b?18:21,marginTop:11.7},children:e.jsx(D,{color:b?"white":"#5637F2"})})]})]})]}),H.length>0&&e.jsx("div",{className:"grid grid-cols-2",style:{gap:"8px 60px"},children:H.map((l,y)=>e.jsxs("div",{className:"flex items-center",style:{gap:8},children:[e.jsx($,{}),e.jsx("span",{style:{fontFamily:"'Roboto', sans-serif",fontWeight:400,fontSize:16,lineHeight:"24px",color:"#333"},children:l.includes("Premium-Funktionen")?e.jsxs(e.Fragment,{children:[l.replace("Premium-Funktionen",""),e.jsx("span",{className:"underline",style:{color:"#1c449b",textDecorationSkipInk:"none"},children:"Premium-Funktionen"})]}):l})]},y))})]}),f.badge&&e.jsx("div",{className:"absolute top-0 right-0 flex items-center justify-center",style:{backgroundColor:"#e53e56",height:24,width:191,padding:"4px 25px",borderRadius:"0 12px 0 12px",fontFamily:"'Roboto', sans-serif",fontWeight:500,fontSize:14,color:"white",whiteSpace:"nowrap",textAlign:"center"},children:f.badge})]},f.id)})})]})})},Ce=[{id:"50gb",storage:"50 GB",monthlyPrice:1.29,yearlyPrice:.99,hidden:!0,features:["10.000 Fotos, 4h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Automatische Synchronisation"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"100gb",storage:"100 GB",monthlyPrice:2.49,yearlyPrice:1.99,features:["20.000 Fotos, 8h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 25% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"200gb",storage:"200 GB",monthlyPrice:3.49,yearlyPrice:2.99,features:["40.000 Fotos, 16h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 17% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"500gb",storage:"500 GB",monthlyPrice:5.49,yearlyPrice:4.99,hidden:!0,features:["100.000 Fotos, 40h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 10% günstiger"],ctaLabel:"Zum Angebot",ctaHref:"#"},{id:"1tb",storage:"1 TB",monthlyPrice:10.99,yearlyPrice:9.99,features:["200.000 Fotos, 80h Videomaterial","Fotos und Dokumente sichern und teilen","Hoher deutscher Datenschutz","Premium-Kunden-Vorteil: 10% günstiger"],badge:"Meistgewählt",ctaLabel:"Zum Angebot",ctaHref:"#"}],ze=({heading:t="Cloud-Speicher erweitern",subheading:r="Wählen Sie den passenden Tarif für Ihre Bedürfnisse",plans:s=Ce,defaultOpenId:a="100gb",defaultBilling:n="yearly",variant:i="accordion",sectionLabel:o,icon:u,storageLabel:c,className:m,...g})=>{const[v,N]=p.useState(a),[h,S]=p.useState(n),[k,f]=p.useState(!1);if(i==="cards")return e.jsx(U,{heading:t,subheading:r,sectionLabel:o,plans:s,icon:u,className:m,...g});if(i==="stacked"||i==="list")return e.jsx(Q,{heading:t,subheading:r,sectionLabel:o,plans:s,icon:u,expandAll:i==="list",defaultOpenId:a,storageLabel:c,className:m,...g});const b=s.some(l=>l.hidden),M=k?s:s.filter(l=>!l.hidden),F=l=>{N(y=>y===l?null:l)},H=l=>h==="yearly"?l.yearlyPrice:l.monthlyPrice,W=l=>{const y=l.monthlyPrice-l.yearlyPrice;return y>0?Math.round(y/l.monthlyPrice*100):0};return e.jsx("section",{className:d("section-padding",m),...g,children:e.jsxs("div",{className:"container-narrow",children:[t&&e.jsx(x,{variant:"h2",className:"mb-2 text-center",children:t}),r&&e.jsx(x,{variant:"body",tone:"muted",className:"mb-8 text-center",children:r}),e.jsx("div",{className:"flex items-center justify-center mb-8",children:e.jsxs("div",{className:"inline-flex rounded-xl border border-border bg-muted p-1 gap-1",children:[e.jsx("button",{onClick:()=>S("monthly"),className:d("rounded-lg px-5 py-2.5 font-body text-sm font-medium transition-fast",h==="monthly"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Monatlich kündbar"}),e.jsx("button",{onClick:()=>S("yearly"),className:d("rounded-lg px-5 py-2.5 font-body text-sm font-medium transition-fast",h==="yearly"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"12 Monate Laufzeit"})]})}),e.jsx("div",{className:"space-y-3",children:M.map(l=>{const y=v===l.id,ee=H(l),V=W(l);return e.jsxs("div",{className:d("rounded-2xl border transition-fast overflow-hidden",y?"border-primary bg-card shadow-md ring-1 ring-primary/20":"border-border bg-card hover:border-primary/40 hover:shadow-sm"),children:[e.jsxs("div",{className:"flex items-center gap-4 px-5 py-4 cursor-pointer select-none",onClick:()=>F(l.id),children:[e.jsx("div",{className:d("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-fast",y?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:e.jsx(w.Cloud,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(x,{variant:"h4",className:"whitespace-nowrap",children:l.storage}),l.badge&&e.jsxs("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:[e.jsx(w.Star,{className:"h-3 w-3"}),l.badge]})]}),e.jsxs("div",{className:"ml-auto flex items-center gap-3",children:[e.jsxs("div",{className:"text-right",children:[e.jsxs("span",{className:"font-display text-xl font-bold text-foreground",children:[ee.toFixed(2).replace(".",",")," €"]}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"/Monat"})]}),!y&&l.ctaHref&&e.jsx("a",{href:l.ctaHref,onClick:T=>T.stopPropagation(),className:"hidden sm:inline-flex",children:e.jsx(j,{size:"sm",variant:"outline",children:l.ctaLabel||"Auswählen"})}),e.jsx(w.ChevronDown,{className:d("h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200",y&&"rotate-180")})]})]}),e.jsx("div",{className:d("grid transition-all duration-200 ease-in-out",y?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:e.jsx("div",{className:"overflow-hidden",children:e.jsxs("div",{className:"px-5 pb-5 pt-1",children:[h==="monthly"&&V>0&&e.jsxs(x,{variant:"body-sm",className:"mb-4 text-primary font-medium",children:["Sparen Sie ",V,"% im Jahresabo"]}),e.jsx("ul",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2 mb-5",children:l.features.map((T,te)=>e.jsxs("li",{className:"flex items-start gap-2 font-body text-sm text-muted-foreground",children:[e.jsx(w.Check,{className:"h-4 w-4 mt-0.5 shrink-0 text-primary"}),T]},te))}),l.ctaHref&&e.jsx("a",{href:l.ctaHref,children:e.jsx(j,{className:"w-full sm:w-auto",size:"lg",children:l.ctaLabel||"Jetzt buchen"})})]})})})]},l.id)})}),b&&e.jsx("div",{className:"flex justify-center mt-4",children:e.jsxs(j,{variant:"ghost",size:"sm",onClick:()=>f(l=>!l),className:"gap-1.5 text-muted-foreground",children:[k?"Weniger Tarife":"Weitere Tarife",e.jsx(w.ChevronDown,{className:d("h-4 w-4 transition-transform duration-200",k&&"rotate-180")})]})}),e.jsx(x,{variant:"caption",className:"mt-6 block text-center",children:"Alle Preise inkl. MwSt. Kündigung bis 4 Wochen zum Ende der Vertragslaufzeit möglich."})]})})},Fe=({items:t,defaultActiveId:r,variant:s="underline",onTabChange:a,className:n,...i})=>{var N;const[o,u]=p.useState(r||((N=t[0])==null?void 0:N.id)),c=h=>{u(h),a==null||a(h)},m=t.find(h=>h.id===o),v={underline:{list:"border-b border-border",tab:h=>d("relative px-4 py-2.5 font-body text-sm font-medium transition-fast -mb-px",h?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground")},pills:{list:"gap-1 bg-muted rounded-lg p-1",tab:h=>d("px-4 py-2 rounded-md font-body text-sm font-medium transition-fast",h?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground")},enclosed:{list:"border-b border-border",tab:h=>d("px-4 py-2.5 font-body text-sm font-medium transition-fast border border-transparent rounded-t-lg -mb-px",h?"bg-background text-foreground border-border border-b-background":"text-muted-foreground hover:text-foreground hover:bg-muted/50")}}[s];return e.jsxs("div",{className:d("w-full",n),...i,children:[e.jsx("div",{role:"tablist",className:d("flex items-center",v.list),children:t.map(h=>e.jsx("button",{role:"tab","aria-selected":h.id===o,"aria-controls":`tabpanel-${h.id}`,onClick:()=>c(h.id),className:v.tab(h.id===o),children:h.label},h.id))}),e.jsx("div",{role:"tabpanel",id:`tabpanel-${o}`,className:"pt-4",children:m==null?void 0:m.content})]})},z=[{id:"default",name:"Core Framework"},{id:"webde",name:"WEB.DE"},{id:"gmx",name:"GMX"}],X=p.createContext({brand:z[0],setBrand:()=>{}}),Y=()=>p.useContext(X),He=({children:t,defaultBrand:r="default"})=>{const[s,a]=p.useState(z.find(i=>i.id===r)||z[0]),n=p.useCallback(i=>{const o=z.find(u=>u.id===i);o&&a(o)},[]);return p.useEffect(()=>{const i=document.documentElement;return s.id==="default"?i.removeAttribute("data-brand"):i.setAttribute("data-brand",s.id),()=>i.removeAttribute("data-brand")},[s]),e.jsx(X.Provider,{value:{brand:s,setBrand:n},children:t})},Re=({className:t})=>{const{brand:r,setBrand:s}=Y();return e.jsx("div",{className:d("flex items-center gap-1 rounded-xl border border-border bg-muted p-1",t),children:z.map(a=>e.jsx("button",{onClick:()=>s(a.id),className:d("rounded-lg px-3 py-1.5 font-body text-xs font-medium transition-fast",r.id===a.id?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-background"),children:a.name},a.id))})};exports.Badge=E;exports.BrandProvider=He;exports.BrandSwitcher=Re;exports.Breadcrumb=je;exports.CheckmarkIcon=$;exports.ContactForm=pe;exports.ContentCard=ue;exports.FaqAccordion=fe;exports.Footer=ye;exports.Hero=me;exports.ImageTextTeaser=he;exports.Navbar=be;exports.PremiumIcon=D;exports.SearchBar=J;exports.Tabs=Fe;exports.TariffCards=U;exports.TariffSelect=ze;exports.TariffStacked=Q;exports.Typography=x;exports.brands=z;exports.useBrand=Y;
2
2
  //# sourceMappingURL=index.cjs.map