{"ast":null,"code":"import { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nfunction PortfolioComponent_button_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 14);\n i0.ɵɵlistener(\"click\", function PortfolioComponent_button_10_Template_button_click_0_listener() {\n const category_r2 = i0.ɵɵrestoreView(_r1).$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.setActiveCategory(category_r2.id));\n });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const category_r2 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r2.getButtonClass(category_r2.id));\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", category_r2.name, \" \");\n }\n}\nfunction PortfolioComponent_div_14_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 15);\n i0.ɵɵlistener(\"click\", function PortfolioComponent_div_14_Template_div_click_0_listener() {\n const item_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.openModal(item_r5));\n });\n i0.ɵɵelementStart(1, \"div\", 16)(2, \"div\", 17)(3, \"div\", 18);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(5, \"div\", 19)(6, \"div\", 20);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(7, \"svg\", 21);\n i0.ɵɵelement(8, \"path\", 22)(9, \"path\", 23);\n i0.ɵɵelementEnd();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(10, \"span\", 24);\n i0.ɵɵtext(11, \"Vergr\\u00F6\\u00DFern\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(12, \"div\", 25)(13, \"h3\", 26);\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"p\", 27);\n i0.ɵɵtext(16);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(17, \"p\", 28);\n i0.ɵɵtext(18);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const item_r5 = ctx.$implicit;\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngClass\", item_r5.gradientClass);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", item_r5.title, \" \");\n i0.ɵɵadvance(10);\n i0.ɵɵtextInterpolate1(\" \", item_r5.title, \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(item_r5.category);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(item_r5.description);\n }\n}\nfunction PortfolioComponent_div_15_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 29);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"svg\", 30);\n i0.ɵɵelement(2, \"path\", 31);\n i0.ɵɵelementEnd();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(3, \"h3\", 32);\n i0.ɵɵtext(4, \"Keine Projekte gefunden\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"p\", 27);\n i0.ɵɵtext(6, \"F\\u00FCr diese Kategorie sind noch keine Projekte verf\\u00FCgbar.\");\n i0.ɵɵelementEnd()();\n }\n}\nfunction PortfolioComponent_div_16_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 33);\n i0.ɵɵlistener(\"click\", function PortfolioComponent_div_16_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.closeModal());\n });\n i0.ɵɵelementStart(1, \"div\", 34);\n i0.ɵɵlistener(\"click\", function PortfolioComponent_div_16_Template_div_click_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n return i0.ɵɵresetView($event.stopPropagation());\n });\n i0.ɵɵelementStart(2, \"div\", 35)(3, \"button\", 36);\n i0.ɵɵlistener(\"click\", function PortfolioComponent_div_16_Template_button_click_3_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.closeModal());\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(4, \"svg\", 37);\n i0.ɵɵelement(5, \"path\", 38);\n i0.ɵɵelementEnd()();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(6, \"div\", 39);\n i0.ɵɵtext(7);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"div\", 40)(9, \"h2\", 41);\n i0.ɵɵtext(10);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"p\", 42);\n i0.ɵɵtext(12);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"p\", 43);\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"div\", 44)(16, \"div\")(17, \"span\", 45);\n i0.ɵɵtext(18, \"Event-Typ:\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(19, \"span\", 46);\n i0.ɵɵtext(20);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(21, \"div\")(22, \"span\", 45);\n i0.ɵɵtext(23, \"Saison:\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(24, \"span\", 46);\n i0.ɵɵtext(25);\n i0.ɵɵelementEnd()()()()()()();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance(6);\n i0.ɵɵproperty(\"ngClass\", ctx_r2.selectedItem.gradientClass);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r2.selectedItem.title, \" \");\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx_r2.selectedItem.title);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r2.selectedItem.category);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r2.selectedItem.fullDescription);\n i0.ɵɵadvance(6);\n i0.ɵɵtextInterpolate(ctx_r2.selectedItem.eventType);\n i0.ɵɵadvance(5);\n i0.ɵɵtextInterpolate(ctx_r2.selectedItem.season);\n }\n}\nexport class PortfolioComponent {\n constructor() {\n this.activeCategory = 'all';\n this.selectedItem = null;\n this.categories = [{\n id: 'all',\n name: 'Alle'\n }, {\n id: 'wedding',\n name: 'Hochzeiten'\n }, {\n id: 'funeral',\n name: 'Beerdigungen'\n }, {\n id: 'corporate',\n name: 'Corporate Events'\n }, {\n id: 'private',\n name: 'Private Feiern'\n }];\n this.portfolioItems = [{\n id: 1,\n title: 'Romantische Garten-Hochzeit',\n category: 'Hochzeit',\n categoryId: 'wedding',\n description: 'Pastellfarbene Rosen und Pfingstrosen',\n fullDescription: 'Eine traumhafte Hochzeit im Garten mit einer zarten Farbpalette aus Rosa, Weiß und Grün. Brautstrauß aus Gartenrosen, Pfingstrosen und Eukalyptus, ergänzt durch romantische Tischdekorationen mit Kerzen und Vintage-Vasen.',\n eventType: 'Garten-Hochzeit',\n season: 'Frühling',\n gradientClass: 'from-pink-400 to-rose-500'\n }, {\n id: 2,\n title: 'Elegante Kirchenhochzeit',\n category: 'Hochzeit',\n categoryId: 'wedding',\n description: 'Klassische weiße Lilien und Rosen',\n fullDescription: 'Eine elegante Kirchenhochzeit mit klassischen weißen Blumen. Opulenter Brautstrauß aus weißen Rosen, Lilien und Schleierkraut, kombiniert mit stilvollen Altargestecken und Kirchenbankschmuck.',\n eventType: 'Kirchenhochzeit',\n season: 'Sommer',\n gradientClass: 'from-white to-gray-200'\n }, {\n id: 3,\n title: 'Würdevoller Abschied',\n category: 'Trauerfeier',\n categoryId: 'funeral',\n description: 'Trauerkranz mit weißen Chrysanthemen',\n fullDescription: 'Ein würdevoller Trauerkranz aus weißen Chrysanthemen, Lilien und Tannengrün. Ergänzt durch passende Gestecke und Sargschmuck für eine respektvolle Abschiedszeremonie.',\n eventType: 'Trauerfeier',\n season: 'Herbst',\n gradientClass: 'from-gray-400 to-gray-600'\n }, {\n id: 4,\n title: 'Firmen-Jubiläum',\n category: 'Corporate Event',\n categoryId: 'corporate',\n description: 'Moderne Arrangements in Firmenfarben',\n fullDescription: 'Stilvolle Blumenarrangements für ein Firmenjubiläum in den Unternehmensfarben Blau und Weiß. Moderne Gestecke mit Hortensien, weißen Rosen und blauen Akzenten für Empfang und Festsaal.',\n eventType: 'Firmenjubiläum',\n season: 'Winter',\n gradientClass: 'from-blue-500 to-indigo-600'\n }, {\n id: 5,\n title: 'Goldene Hochzeit',\n category: 'Private Feier',\n categoryId: 'private',\n description: 'Goldene Akzente mit gelben Rosen',\n fullDescription: 'Eine festliche Dekoration zur Goldenen Hochzeit mit gelben Rosen, goldenen Akzenten und eleganten Tischgestecken. Warme Farbtöne schaffen eine gemütliche und festliche Atmosphäre.',\n eventType: 'Goldene Hochzeit',\n season: 'Herbst',\n gradientClass: 'from-yellow-400 to-amber-500'\n }, {\n id: 6,\n title: 'Taufe im Frühling',\n category: 'Private Feier',\n categoryId: 'private',\n description: 'Zarte Frühlingsblumen in Pastelltönen',\n fullDescription: 'Eine liebevolle Taufdekoration mit zarten Frühlingsblumen in Pastelltönen. Kleine Gestecke mit Tulpen, Narzissen und Primeln schaffen eine fröhliche und festliche Stimmung.',\n eventType: 'Taufe',\n season: 'Frühling',\n gradientClass: 'from-green-300 to-emerald-400'\n }];\n }\n get filteredPortfolio() {\n if (this.activeCategory === 'all') {\n return this.portfolioItems;\n }\n return this.portfolioItems.filter(item => item.categoryId === this.activeCategory);\n }\n setActiveCategory(categoryId) {\n this.activeCategory = categoryId;\n }\n getButtonClass(categoryId) {\n const baseClass = 'px-6 py-2 rounded-full font-medium transition-all duration-200';\n if (this.activeCategory === categoryId) {\n return `${baseClass} bg-primary-600 text-white shadow-md`;\n }\n return `${baseClass} bg-gray-200 text-gray-700 hover:bg-primary-100 hover:text-primary-700`;\n }\n openModal(item) {\n this.selectedItem = item;\n document.body.style.overflow = 'hidden';\n }\n closeModal() {\n this.selectedItem = null;\n document.body.style.overflow = 'auto';\n }\n static {\n this.ɵfac = function PortfolioComponent_Factory(t) {\n return new (t || PortfolioComponent)();\n };\n }\n static {\n this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: PortfolioComponent,\n selectors: [[\"app-portfolio\"]],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 17,\n vars: 4,\n consts: [[1, \"min-h-screen\", \"bg-gray-50\"], [1, \"bg-white\", \"py-16\"], [1, \"max-w-7xl\", \"mx-auto\", \"px-4\", \"sm:px-6\", \"lg:px-8\", \"text-center\"], [1, \"text-4xl\", \"md:text-5xl\", \"font-serif\", \"font-bold\", \"text-gray-900\", \"mb-6\"], [1, \"text-xl\", \"text-gray-600\", \"max-w-3xl\", \"mx-auto\"], [1, \"py-8\", \"bg-white\", \"border-b\"], [1, \"max-w-7xl\", \"mx-auto\", \"px-4\", \"sm:px-6\", \"lg:px-8\"], [1, \"flex\", \"flex-wrap\", \"justify-center\", \"gap-4\"], [\"class\", \"px-6 py-2 rounded-full font-medium transition-all duration-200\", 3, \"class\", \"click\", 4, \"ngFor\", \"ngForOf\"], [1, \"py-16\"], [1, \"grid\", \"grid-cols-1\", \"md:grid-cols-2\", \"lg:grid-cols-3\", \"gap-8\"], [\"class\", \"group cursor-pointer\", 3, \"click\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"text-center py-16\", 4, \"ngIf\"], [\"class\", \"fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50 p-4\", 3, \"click\", 4, \"ngIf\"], [1, \"px-6\", \"py-2\", \"rounded-full\", \"font-medium\", \"transition-all\", \"duration-200\", 3, \"click\"], [1, \"group\", \"cursor-pointer\", 3, \"click\"], [1, \"relative\", \"overflow-hidden\", \"rounded-lg\", \"shadow-md\", \"group-hover:shadow-xl\", \"transition-all\", \"duration-300\", \"transform\", \"group-hover:-translate-y-1\"], [1, \"aspect-w-4\", \"aspect-h-3\"], [1, \"w-full\", \"h-64\", \"bg-gradient-to-br\", \"flex\", \"items-center\", \"justify-center\", \"text-white\", \"font-medium\", \"text-lg\", 3, \"ngClass\"], [1, \"absolute\", \"inset-0\", \"bg-black\", \"bg-opacity-0\", \"group-hover:bg-opacity-40\", \"transition-all\", \"duration-300\", \"flex\", \"items-center\", \"justify-center\"], [1, \"opacity-0\", \"group-hover:opacity-100\", \"transition-opacity\", \"duration-300\", \"text-center\"], [\"fill\", \"none\", \"stroke\", \"currentColor\", \"viewBox\", \"0 0 24 24\", 1, \"w-12\", \"h-12\", \"text-white\", \"mx-auto\", \"mb-2\"], [\"stroke-linecap\", \"round\", \"stroke-linejoin\", \"round\", \"stroke-width\", \"2\", \"d\", \"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"], [\"stroke-linecap\", \"round\", \"stroke-linejoin\", \"round\", \"stroke-width\", \"2\", \"d\", \"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"], [1, \"text-white\", \"font-medium\"], [1, \"mt-4\"], [1, \"text-lg\", \"font-semibold\", \"text-gray-900\", \"group-hover:text-primary-600\", \"transition-colors\", \"duration-200\"], [1, \"text-gray-600\"], [1, \"text-sm\", \"text-gray-500\", \"mt-1\"], [1, \"text-center\", \"py-16\"], [\"fill\", \"none\", \"stroke\", \"currentColor\", \"viewBox\", \"0 0 24 24\", 1, \"w-16\", \"h-16\", \"text-gray-400\", \"mx-auto\", \"mb-4\"], [\"stroke-linecap\", \"round\", \"stroke-linejoin\", \"round\", \"stroke-width\", \"2\", \"d\", \"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"], [1, \"text-lg\", \"font-medium\", \"text-gray-900\", \"mb-2\"], [1, \"fixed\", \"inset-0\", \"bg-black\", \"bg-opacity-75\", \"flex\", \"items-center\", \"justify-center\", \"z-50\", \"p-4\", 3, \"click\"], [1, \"bg-white\", \"rounded-lg\", \"max-w-4xl\", \"w-full\", \"max-h-[90vh]\", \"overflow-y-auto\", 3, \"click\"], [1, \"relative\"], [1, \"absolute\", \"top-4\", \"right-4\", \"z-10\", \"bg-white\", \"rounded-full\", \"p-2\", \"shadow-lg\", \"hover:bg-gray-100\", \"transition-colors\", \"duration-200\", 3, \"click\"], [\"fill\", \"none\", \"stroke\", \"currentColor\", \"viewBox\", \"0 0 24 24\", 1, \"w-6\", \"h-6\", \"text-gray-600\"], [\"stroke-linecap\", \"round\", \"stroke-linejoin\", \"round\", \"stroke-width\", \"2\", \"d\", \"M6 18L18 6M6 6l12 12\"], [1, \"h-96\", \"bg-gradient-to-br\", \"flex\", \"items-center\", \"justify-center\", \"text-white\", \"font-medium\", \"text-2xl\", 3, \"ngClass\"], [1, \"p-6\"], [1, \"text-2xl\", \"font-serif\", \"font-bold\", \"text-gray-900\", \"mb-2\"], [1, \"text-primary-600\", \"font-medium\", \"mb-4\"], [1, \"text-gray-700\", \"mb-6\"], [1, \"grid\", \"grid-cols-2\", \"gap-4\", \"text-sm\"], [1, \"font-medium\", \"text-gray-900\"], [1, \"text-gray-600\", \"ml-2\"]],\n template: function PortfolioComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0)(1, \"section\", 1)(2, \"div\", 2)(3, \"h1\", 3);\n i0.ɵɵtext(4, \" Unser Portfolio \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"p\", 4);\n i0.ɵɵtext(6, \" Entdecken Sie unsere vielf\\u00E4ltigen Blumenarrangements f\\u00FCr Hochzeiten, Beerdigungen und besondere Events. Jedes Arrangement wird mit Liebe zum Detail und Leidenschaft f\\u00FCr die Floristik gestaltet. \");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(7, \"section\", 5)(8, \"div\", 6)(9, \"div\", 7);\n i0.ɵɵtemplate(10, PortfolioComponent_button_10_Template, 2, 3, \"button\", 8);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(11, \"section\", 9)(12, \"div\", 6)(13, \"div\", 10);\n i0.ɵɵtemplate(14, PortfolioComponent_div_14_Template, 19, 5, \"div\", 11);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(15, PortfolioComponent_div_15_Template, 7, 0, \"div\", 12);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(16, PortfolioComponent_div_16_Template, 26, 7, \"div\", 13);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(10);\n i0.ɵɵproperty(\"ngForOf\", ctx.categories);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngForOf\", ctx.filteredPortfolio);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.filteredPortfolio.length === 0);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.selectedItem);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgForOf, i1.NgIf],\n encapsulation: 2\n });\n }\n}","map":{"version":3,"names":["CommonModule","i0","ɵɵelementStart","ɵɵlistener","PortfolioComponent_button_10_Template_button_click_0_listener","category_r2","ɵɵrestoreView","_r1","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","setActiveCategory","id","ɵɵtext","ɵɵelementEnd","ɵɵclassMap","getButtonClass","ɵɵadvance","ɵɵtextInterpolate1","name","PortfolioComponent_div_14_Template_div_click_0_listener","item_r5","_r4","openModal","ɵɵelement","ɵɵproperty","gradientClass","title","ɵɵtextInterpolate","category","description","PortfolioComponent_div_16_Template_div_click_0_listener","_r6","closeModal","PortfolioComponent_div_16_Template_div_click_1_listener","$event","stopPropagation","PortfolioComponent_div_16_Template_button_click_3_listener","selectedItem","fullDescription","eventType","season","PortfolioComponent","constructor","activeCategory","categories","portfolioItems","categoryId","filteredPortfolio","filter","item","baseClass","document","body","style","overflow","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","PortfolioComponent_Template","rf","ctx","ɵɵtemplate","PortfolioComponent_button_10_Template","PortfolioComponent_div_14_Template","PortfolioComponent_div_15_Template","PortfolioComponent_div_16_Template","length","i1","NgClass","NgForOf","NgIf","encapsulation"],"sources":["/Users/julianvollmer/workspace/florale-emotion/src/app/pages/portfolio/portfolio.component.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-portfolio',\n standalone: true,\n imports: [CommonModule],\n template: `\n
\n \n
\n
\n

\n Unser Portfolio\n

\n

\n Entdecken Sie unsere vielfältigen Blumenarrangements für Hochzeiten, \n Beerdigungen und besondere Events. Jedes Arrangement wird mit Liebe \n zum Detail und Leidenschaft für die Floristik gestaltet.\n

\n
\n
\n\n \n
\n
\n
\n \n
\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n
\n {{ item.title }}\n
\n
\n
\n
\n \n \n \n \n Vergrößern\n
\n
\n
\n
\n

\n {{ item.title }}\n

\n

{{ item.category }}

\n

{{ item.description }}

\n
\n
\n
\n\n \n
\n \n \n \n

Keine Projekte gefunden

\n

Für diese Kategorie sind noch keine Projekte verfügbar.

\n
\n
\n
\n\n \n
\n
\n
\n \n \n
\n {{ selectedItem.title }}\n
\n \n
\n

{{ selectedItem.title }}

\n

{{ selectedItem.category }}

\n

{{ selectedItem.fullDescription }}

\n \n
\n
\n Event-Typ:\n {{ selectedItem.eventType }}\n
\n
\n Saison:\n {{ selectedItem.season }}\n
\n
\n
\n
\n
\n
\n
\n `\n})\nexport class PortfolioComponent {\n activeCategory = 'all';\n selectedItem: any = null;\n\n categories = [\n { id: 'all', name: 'Alle' },\n { id: 'wedding', name: 'Hochzeiten' },\n { id: 'funeral', name: 'Beerdigungen' },\n { id: 'corporate', name: 'Corporate Events' },\n { id: 'private', name: 'Private Feiern' }\n ];\n\n portfolioItems = [\n {\n id: 1,\n title: 'Romantische Garten-Hochzeit',\n category: 'Hochzeit',\n categoryId: 'wedding',\n description: 'Pastellfarbene Rosen und Pfingstrosen',\n fullDescription: 'Eine traumhafte Hochzeit im Garten mit einer zarten Farbpalette aus Rosa, Weiß und Grün. Brautstrauß aus Gartenrosen, Pfingstrosen und Eukalyptus, ergänzt durch romantische Tischdekorationen mit Kerzen und Vintage-Vasen.',\n eventType: 'Garten-Hochzeit',\n season: 'Frühling',\n gradientClass: 'from-pink-400 to-rose-500'\n },\n {\n id: 2,\n title: 'Elegante Kirchenhochzeit',\n category: 'Hochzeit',\n categoryId: 'wedding',\n description: 'Klassische weiße Lilien und Rosen',\n fullDescription: 'Eine elegante Kirchenhochzeit mit klassischen weißen Blumen. Opulenter Brautstrauß aus weißen Rosen, Lilien und Schleierkraut, kombiniert mit stilvollen Altargestecken und Kirchenbankschmuck.',\n eventType: 'Kirchenhochzeit',\n season: 'Sommer',\n gradientClass: 'from-white to-gray-200'\n },\n {\n id: 3,\n title: 'Würdevoller Abschied',\n category: 'Trauerfeier',\n categoryId: 'funeral',\n description: 'Trauerkranz mit weißen Chrysanthemen',\n fullDescription: 'Ein würdevoller Trauerkranz aus weißen Chrysanthemen, Lilien und Tannengrün. Ergänzt durch passende Gestecke und Sargschmuck für eine respektvolle Abschiedszeremonie.',\n eventType: 'Trauerfeier',\n season: 'Herbst',\n gradientClass: 'from-gray-400 to-gray-600'\n },\n {\n id: 4,\n title: 'Firmen-Jubiläum',\n category: 'Corporate Event',\n categoryId: 'corporate',\n description: 'Moderne Arrangements in Firmenfarben',\n fullDescription: 'Stilvolle Blumenarrangements für ein Firmenjubiläum in den Unternehmensfarben Blau und Weiß. Moderne Gestecke mit Hortensien, weißen Rosen und blauen Akzenten für Empfang und Festsaal.',\n eventType: 'Firmenjubiläum',\n season: 'Winter',\n gradientClass: 'from-blue-500 to-indigo-600'\n },\n {\n id: 5,\n title: 'Goldene Hochzeit',\n category: 'Private Feier',\n categoryId: 'private',\n description: 'Goldene Akzente mit gelben Rosen',\n fullDescription: 'Eine festliche Dekoration zur Goldenen Hochzeit mit gelben Rosen, goldenen Akzenten und eleganten Tischgestecken. Warme Farbtöne schaffen eine gemütliche und festliche Atmosphäre.',\n eventType: 'Goldene Hochzeit',\n season: 'Herbst',\n gradientClass: 'from-yellow-400 to-amber-500'\n },\n {\n id: 6,\n title: 'Taufe im Frühling',\n category: 'Private Feier',\n categoryId: 'private',\n description: 'Zarte Frühlingsblumen in Pastelltönen',\n fullDescription: 'Eine liebevolle Taufdekoration mit zarten Frühlingsblumen in Pastelltönen. Kleine Gestecke mit Tulpen, Narzissen und Primeln schaffen eine fröhliche und festliche Stimmung.',\n eventType: 'Taufe',\n season: 'Frühling',\n gradientClass: 'from-green-300 to-emerald-400'\n }\n ];\n\n get filteredPortfolio() {\n if (this.activeCategory === 'all') {\n return this.portfolioItems;\n }\n return this.portfolioItems.filter(item => item.categoryId === this.activeCategory);\n }\n\n setActiveCategory(categoryId: string) {\n this.activeCategory = categoryId;\n }\n\n getButtonClass(categoryId: string): string {\n const baseClass = 'px-6 py-2 rounded-full font-medium transition-all duration-200';\n if (this.activeCategory === categoryId) {\n return `${baseClass} bg-primary-600 text-white shadow-md`;\n }\n return `${baseClass} bg-gray-200 text-gray-700 hover:bg-primary-100 hover:text-primary-700`;\n }\n\n openModal(item: any) {\n this.selectedItem = item;\n document.body.style.overflow = 'hidden';\n }\n\n closeModal() {\n this.selectedItem = null;\n document.body.style.overflow = 'auto';\n }\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}