@ctonti/ask-golf-veneto 1.0.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.
Files changed (50) hide show
  1. package/dist/app-0PjpnX92.d.mts +16 -0
  2. package/dist/app-0PjpnX92.d.mts.map +1 -0
  3. package/dist/app-DWg095Qd.mjs +150 -0
  4. package/dist/app-DWg095Qd.mjs.map +1 -0
  5. package/dist/app-Daoze0po.cjs +189 -0
  6. package/dist/app-DzCpb5z9.d.cts +16 -0
  7. package/dist/app-DzCpb5z9.d.cts.map +1 -0
  8. package/dist/catalog-BlF_Hq2u.mjs +344 -0
  9. package/dist/catalog-BlF_Hq2u.mjs.map +1 -0
  10. package/dist/catalog-englM86y.cjs +362 -0
  11. package/dist/exports/browser.cjs +3 -0
  12. package/dist/exports/browser.d.cts +2 -0
  13. package/dist/exports/browser.d.mts +2 -0
  14. package/dist/exports/browser.mjs +2 -0
  15. package/dist/exports/catalog.cjs +5 -0
  16. package/dist/exports/catalog.d.cts +676 -0
  17. package/dist/exports/catalog.d.cts.map +1 -0
  18. package/dist/exports/catalog.d.mts +676 -0
  19. package/dist/exports/catalog.d.mts.map +1 -0
  20. package/dist/exports/catalog.mjs +2 -0
  21. package/dist/exports/client.cjs +10 -0
  22. package/dist/exports/client.d.cts +48 -0
  23. package/dist/exports/client.d.cts.map +1 -0
  24. package/dist/exports/client.d.mts +48 -0
  25. package/dist/exports/client.d.mts.map +1 -0
  26. package/dist/exports/client.mjs +3 -0
  27. package/dist/exports/registry.cjs +6 -0
  28. package/dist/exports/registry.d.cts +12 -0
  29. package/dist/exports/registry.d.cts.map +1 -0
  30. package/dist/exports/registry.d.mts +12 -0
  31. package/dist/exports/registry.d.mts.map +1 -0
  32. package/dist/exports/registry.mjs +2 -0
  33. package/dist/globals.css +91 -0
  34. package/dist/index.cjs +6 -0
  35. package/dist/index.d.cts +3 -0
  36. package/dist/index.d.mts +3 -0
  37. package/dist/index.mjs +3 -0
  38. package/dist/plugin-B0vGrWcM.d.cts +7 -0
  39. package/dist/plugin-B0vGrWcM.d.cts.map +1 -0
  40. package/dist/plugin-BdhObzU8.cjs +14 -0
  41. package/dist/plugin-DYfnXStA.mjs +11 -0
  42. package/dist/plugin-DYfnXStA.mjs.map +1 -0
  43. package/dist/plugin-X9b5Ujac.d.mts +7 -0
  44. package/dist/plugin-X9b5Ujac.d.mts.map +1 -0
  45. package/dist/postcss.config.mjs +5 -0
  46. package/dist/registry-Bq-3Pbqd.mjs +1211 -0
  47. package/dist/registry-Bq-3Pbqd.mjs.map +1 -0
  48. package/dist/registry-E8Of7gsT.cjs +1261 -0
  49. package/dist/styles.css +2354 -0
  50. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-Bq-3Pbqd.mjs","names":[],"sources":["../src/blocks/root.tsx","../src/blocks/link.tsx","../src/blocks/hero-viaggio.tsx","../src/blocks/hero-viaggio-skeleton.tsx","../src/blocks/concept-card.tsx","../src/blocks/concept-card-skeleton.tsx","../src/blocks/day-plan.tsx","../src/blocks/day-plan-skeleton.tsx","../src/blocks/golf-club-spotlight.tsx","../src/blocks/golf-club-spotlight-skeleton.tsx","../src/blocks/experience-grid.tsx","../src/blocks/experience-grid-skeleton.tsx","../src/blocks/route-strip.tsx","../src/blocks/route-strip-skeleton.tsx","../src/blocks/taste-card.tsx","../src/blocks/taste-card-skeleton.tsx","../src/blocks/stay-card.tsx","../src/blocks/stay-card-skeleton.tsx","../src/blocks/trip-summary.tsx","../src/blocks/trip-summary-skeleton.tsx","../src/blocks/insider-tip.tsx","../src/blocks/insider-tip-skeleton.tsx","../src/registry.ts"],"sourcesContent":["import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\n\nexport const Root = ({ children }: ComponentContext<'Root'>) => {\n return (\n <div\n data-type=\"root\"\n className={cn(\"flex flex-col py-8 gap-8 @md:gap-16 bg-background text-foreground\")}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { Button } from '@websolutespa/ask-ui/components/button';\n\nexport const Link = ({ props }: ComponentContext<'Link'>) => {\n const variant =\n props.variant === 'outline'\n ? 'outline'\n : props.variant === 'secondary'\n ? 'secondary'\n : props.variant === 'danger'\n ? 'destructive'\n : 'default';\n return (\n <Button data-type=\"link\" asChild variant={variant}>\n <a href={props.href} target=\"_blank\" rel=\"noopener noreferrer\">\n {props.label}\n </a>\n </Button>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\n\nexport const HeroViaggio = ({ props }: ComponentContext<'HeroViaggio'>) => {\n return (\n <div\n data-type=\"hero-viaggio\"\n className={cn(\n \"relative flex flex-col items-center justify-center py-16 @md:py-24 px-6 bg-primary text-primary-foreground overflow-hidden rounded-xl shadow-sm\"\n )}\n >\n {props.imageSrc && (\n <div className=\"absolute inset-0 z-0\">\n <img src={props.imageSrc} alt=\"\" className=\"w-full h-full object-cover\" />\n <div className=\"absolute inset-0 bg-primary/80 mix-blend-multiply\" />\n </div>\n )}\n \n <div className=\"relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-6\">\n <h1 className=\"font-heading text-[32px] @md:text-[56px] @lg:text-[72px] italic leading-tight\">\n {props.title}\n </h1>\n \n {props.tagline && (\n <p className=\"font-sans text-primary-foreground/80 text-lg @md:text-xl max-w-2xl\">\n {props.tagline}\n </p>\n )}\n \n {props.stats && props.stats.length > 0 && (\n <div className=\"flex flex-wrap items-center justify-center gap-3 pt-6\">\n {props.stats.map((stat, i) => (\n <span key={i} className=\"bg-accent text-white font-sans text-sm font-medium rounded-full px-4 py-2\">\n {stat.value} {stat.label}\n </span>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const HeroViaggioSkeleton = (_props: ComponentContext<'HeroViaggioSkeleton'>) => {\n return (\n <div\n data-type=\"hero-viaggio-skeleton\"\n className={\n \"flex flex-col items-center justify-center py-16 @md:py-24 px-6 bg-primary/10 rounded-xl overflow-hidden\"\n }\n >\n <div className=\"flex flex-col items-center w-full max-w-4xl space-y-6\">\n <Skeleton className=\"h-[40px] @md:h-[64px] @lg:h-[80px] w-3/4 max-w-2xl bg-primary/20 rounded-lg\" />\n <Skeleton className=\"h-[24px] @md:h-[28px] w-2/3 max-w-xl bg-primary/20 rounded-lg\" />\n <div className=\"flex gap-3 pt-6\">\n <Skeleton className=\"h-9 w-24 bg-primary/20 rounded-full\" />\n <Skeleton className=\"h-9 w-32 bg-primary/20 rounded-full\" />\n <Skeleton className=\"h-9 w-28 bg-primary/20 rounded-full\" />\n </div>\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Circle, Wine, Palette, TreePine, Users, Mountain, UtensilsCrossed, Heart, Landmark } from 'lucide-react';\n\nconst ICON_MAP: Record<string, React.ElementType> = {\n golf: Circle,\n wine: Wine,\n art: Palette,\n nature: TreePine,\n family: Users,\n outdoor: Mountain,\n food: UtensilsCrossed,\n wellness: Heart,\n culture: Landmark,\n};\n\nexport const ConceptCard = ({ props }: ComponentContext<'ConceptCard'>) => {\n return (\n <div\n data-type=\"concept-card\"\n className={cn(\"bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col p-6 @md:p-8 space-y-6 @md:space-y-0 @md:flex-row @md:gap-12\")}\n >\n <div className=\"flex-1 border-l-4 border-accent pl-6 flex flex-col justify-center\">\n <p className=\"text-muted-foreground font-sans leading-relaxed\">\n {props.debrief}\n </p>\n </div>\n \n <div className=\"flex-1 flex flex-col justify-center space-y-6\">\n <h3 className=\"font-heading italic text-foreground text-lg @md:text-xl leading-snug\">\n &ldquo;{props.concept}&rdquo;\n </h3>\n \n {props.themes && props.themes.length > 0 && (\n <div className=\"flex flex-wrap gap-2\">\n {props.themes.map((theme, i) => {\n const Icon = ICON_MAP[theme.icon.toLowerCase()] || Circle;\n return (\n <div key={i} className=\"flex items-center gap-1.5 bg-muted text-foreground text-xs font-medium px-3 py-1.5 rounded-full\">\n <Icon className=\"w-3.5 h-3.5 text-accent\" />\n <span>{theme.label}</span>\n </div>\n );\n })}\n </div>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const ConceptCardSkeleton = (_props: ComponentContext<'ConceptCardSkeleton'>) => {\n return (\n <div\n data-type=\"concept-card-skeleton\"\n className={\"bg-card rounded-xl border border-border shadow-sm p-6 @md:p-8 flex flex-col @md:flex-row gap-6 @md:gap-12\"}\n >\n <div className=\"flex-1 border-l-4 border-muted pl-6 space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[90%]\" />\n <Skeleton className=\"h-4 w-[80%]\" />\n </div>\n <div className=\"flex-1 space-y-6\">\n <div className=\"space-y-2\">\n <Skeleton className=\"h-6 w-full\" />\n <Skeleton className=\"h-6 w-[70%]\" />\n </div>\n <div className=\"flex gap-2\">\n <Skeleton className=\"h-7 w-20 rounded-full\" />\n <Skeleton className=\"h-7 w-24 rounded-full\" />\n </div>\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Flag, Compass, UtensilsCrossed, Wine, Bed, Car, Train, Ship, Lightbulb, MapPin } from 'lucide-react';\n\nconst LOGISTICS_ICON_MAP: Record<string, React.ElementType> = {\n car: Car,\n train: Train,\n ship: Ship,\n};\n\nexport const DayPlan = ({ props }: ComponentContext<'DayPlan'>) => {\n if (!props.sections) return null;\n \n return (\n <div data-type=\"day-plan\" className={cn(\"flex flex-col w-full shadow-sm\")}>\n {/* Header */}\n <div className=\"bg-primary rounded-t-xl px-6 py-5 flex flex-col gap-2 relative overflow-hidden\">\n <div className=\"flex items-center justify-between z-10\">\n <span className=\"font-sans uppercase tracking-wider text-primary-foreground/60 text-xs font-semibold\">\n Giorno {props.dayNumber}\n </span>\n {props.location && (\n <div className=\"flex items-center gap-1 text-primary-foreground/80 text-sm\">\n <MapPin className=\"w-3.5 h-3.5\" />\n <span>{props.location}</span>\n </div>\n )}\n </div>\n <h2 className=\"font-heading text-primary-foreground text-2xl @md:text-3xl z-10 leading-tight\">\n {props.title}\n </h2>\n </div>\n \n {/* Body */}\n <div className=\"bg-card rounded-b-xl px-6 py-2 border border-t-0 border-border\">\n {props.sections.golf && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Flag className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Golf</h3>\n </div>\n <div className=\"space-y-2\">\n <p className=\"font-bold text-foreground\">{props.sections.golf.clubName}</p>\n <div className=\"flex gap-2\">\n <span className=\"text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground\">\n {props.sections.golf.holes} Holes\n </span>\n <span className=\"text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground\">\n Par {props.sections.golf.par}\n </span>\n </div>\n <p className=\"text-sm text-foreground/80 leading-relaxed\">{props.sections.golf.description}</p>\n {props.sections.golf.highlight && (\n <p className=\"text-sm italic text-accent font-serif mt-1\">{props.sections.golf.highlight}</p>\n )}\n </div>\n </div>\n )}\n \n {props.sections.explore && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Compass className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Explore</h3>\n </div>\n <ul className=\"space-y-3\">\n {props.sections.explore.attractions.map((attr, i) => (\n <li key={i} className=\"flex flex-col @md:flex-row @md:items-center gap-1 @md:gap-3\">\n <span className=\"font-medium text-foreground text-sm\">{attr.name}</span>\n {attr.type && (\n <span className=\"text-[10px] uppercase tracking-wider font-semibold bg-accent/10 text-accent px-1.5 py-0.5 rounded w-fit\">\n {attr.type}\n </span>\n )}\n </li>\n ))}\n </ul>\n </div>\n )}\n \n {props.sections.dine && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <UtensilsCrossed className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Dine</h3>\n </div>\n <div className=\"space-y-1.5\">\n <p className=\"font-bold text-foreground text-sm flex items-center gap-2\">\n {props.sections.dine.restaurantName}\n <span className=\"font-normal italic text-muted-foreground text-xs\">{props.sections.dine.cuisine}</span>\n </p>\n <p className=\"text-sm text-foreground/80\">{props.sections.dine.description}</p>\n {props.sections.dine.signatureDish && (\n <p className=\"text-sm text-accent italic mt-1\">★ {props.sections.dine.signatureDish}</p>\n )}\n </div>\n </div>\n )}\n \n {props.sections.wine && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Wine className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Wine</h3>\n </div>\n <div className=\"space-y-2\">\n <p className=\"font-bold text-foreground text-sm\">{props.sections.wine.cantinaName}</p>\n <p className=\"text-sm text-foreground/80\">{props.sections.wine.description}</p>\n <div className=\"flex flex-wrap gap-1.5 mt-2\">\n {props.sections.wine.wines.map((wine, i) => (\n <span key={i} className=\"text-xs bg-muted text-foreground px-2 py-1 rounded-md\">\n {wine}\n </span>\n ))}\n </div>\n </div>\n </div>\n )}\n \n {props.sections.stay && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Bed className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Stay</h3>\n </div>\n <div className=\"space-y-1\">\n <div className=\"flex items-center gap-2\">\n <p className=\"font-bold text-foreground text-sm\">{props.sections.stay.name}</p>\n <span className=\"text-[10px] uppercase tracking-wider font-semibold bg-primary/10 text-primary px-1.5 py-0.5 rounded\">\n {props.sections.stay.type}\n </span>\n </div>\n <p className=\"text-sm text-foreground/80\">{props.sections.stay.description}</p>\n </div>\n </div>\n )}\n \n {props.sections.logistics && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Car className=\"w-4 h-4 text-muted-foreground\" />\n <h3 className=\"font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground\">Logistics</h3>\n </div>\n <div className=\"flex flex-col @md:flex-row @md:items-center gap-2 @md:gap-4 text-sm\">\n <div className=\"flex items-center gap-2 text-foreground font-medium\">\n {props.sections.logistics.from} \n <span className=\"text-muted-foreground text-xs\">→</span> \n {props.sections.logistics.to}\n </div>\n <div className=\"flex gap-2 items-center\">\n <span className=\"text-xs bg-muted px-2 py-0.5 rounded flex items-center gap-1\">\n {props.sections.logistics.transportIcon && LOGISTICS_ICON_MAP[props.sections.logistics.transportIcon] && (() => {\n const Icon = LOGISTICS_ICON_MAP[props.sections.logistics.transportIcon];\n return <Icon className=\"w-3 h-3\" />;\n })()}\n {props.sections.logistics.time}\n </span>\n </div>\n {props.sections.logistics.note && (\n <span className=\"text-xs text-muted-foreground italic\">{props.sections.logistics.note}</span>\n )}\n </div>\n </div>\n )}\n \n {props.sections.curiosity && (\n <div className=\"py-5 border-b border-border/50 last:border-0\">\n <div className=\"bg-accent/5 rounded-lg p-4 flex gap-3 items-start\">\n <Lightbulb className=\"w-5 h-5 text-accent shrink-0 mt-0.5\" />\n <p className=\"text-sm italic text-foreground/90 leading-relaxed\">\n {props.sections.curiosity.text}\n </p>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const DayPlanSkeleton = (_props: ComponentContext<'DayPlanSkeleton'>) => {\n return (\n <div data-type=\"day-plan-skeleton\" className={\"flex flex-col w-full shadow-sm rounded-xl overflow-hidden border border-border\"}>\n <div className=\"bg-primary/10 px-6 py-5 space-y-3\">\n <div className=\"flex justify-between\">\n <Skeleton className=\"h-3 w-20 bg-primary/20\" />\n <Skeleton className=\"h-4 w-24 bg-primary/20\" />\n </div>\n <Skeleton className=\"h-8 w-2/3 bg-primary/20\" />\n </div>\n <div className=\"bg-card px-6 py-2\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"py-5 border-b border-border/50 last:border-0 space-y-3\">\n <div className=\"flex items-center gap-2\">\n <Skeleton className=\"w-4 h-4 rounded-full\" />\n <Skeleton className=\"h-3 w-16\" />\n </div>\n <Skeleton className=\"h-5 w-1/3\" />\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[90%]\" />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Circle, Target, MapPin, Ruler, Gauge, Mountain, Phone, Mail, Flag } from 'lucide-react';\n\nexport const GolfClubSpotlight = ({ props }: ComponentContext<'GolfClubSpotlight'>) => {\n return (\n <div \n data-type=\"golf-club-spotlight\" \n className={cn(\"bg-card rounded-xl border border-border shadow-sm relative overflow-hidden flex flex-col @md:flex-row\")}\n >\n <div className=\"absolute top-0 right-0 bg-accent text-white text-[10px] font-bold uppercase tracking-widest px-4 py-1.5 rounded-bl-lg z-10\">\n Network Golf in Veneto\n </div>\n \n <div className=\"w-full @md:w-2/5 min-h-[250px] relative\">\n {props.imageSrc ? (\n <img src={props.imageSrc} alt={props.name} className=\"w-full h-full object-cover\" />\n ) : (\n <div className=\"w-full h-full bg-gradient-to-br from-primary/80 to-primary flex items-center justify-center p-8\">\n <Flag className=\"w-16 h-16 text-white/20\" />\n </div>\n )}\n </div>\n \n <div className=\"w-full @md:w-3/5 p-6 @md:p-8 flex flex-col\">\n <h2 className=\"font-heading text-3xl text-foreground mb-1 pr-12\">{props.name}</h2>\n <p className=\"font-serif italic text-muted-foreground text-lg mb-6\">{props.tagline}</p>\n \n {props.stats && (\n <div className=\"grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-6\">\n {props.stats.holes && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <Circle className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Holes</span>\n <span className=\"text-sm font-medium\">{props.stats.holes}</span>\n </div>\n </div>\n )}\n {props.stats.par && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <Target className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Par</span>\n <span className=\"text-sm font-medium\">{props.stats.par}</span>\n </div>\n </div>\n )}\n {props.stats.distance && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <Ruler className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Length</span>\n <span className=\"text-sm font-medium\">{props.stats.distance}</span>\n </div>\n </div>\n )}\n {props.stats.courses && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <MapPin className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Courses</span>\n <span className=\"text-sm font-medium\">{props.stats.courses}</span>\n </div>\n </div>\n )}\n {props.stats.difficulty && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <Gauge className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Difficulty</span>\n <span className=\"text-sm font-medium\">{props.stats.difficulty}</span>\n </div>\n </div>\n )}\n {props.stats.terrain && (\n <div className=\"flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50\">\n <Mountain className=\"w-4 h-4 text-accent\" />\n <div className=\"flex flex-col\">\n <span className=\"text-[10px] uppercase text-muted-foreground font-semibold\">Terrain</span>\n <span className=\"text-sm font-medium\">{props.stats.terrain}</span>\n </div>\n </div>\n )}\n </div>\n )}\n \n <p className=\"text-sm text-foreground/80 leading-relaxed mb-6\">\n {props.description}\n </p>\n \n {props.attractions && props.attractions.length > 0 && (\n <div className=\"mb-6\">\n <h4 className=\"text-xs font-semibold uppercase tracking-wider text-muted-foreground mb-2\">Nearby Attractions</h4>\n <ul className=\"text-sm space-y-1\">\n {props.attractions.map((attr, i) => (\n <li key={i} className=\"flex items-center gap-2 text-foreground/80\">\n <span className=\"w-1 h-1 rounded-full bg-accent\" />\n {attr}\n </li>\n ))}\n </ul>\n </div>\n )}\n \n <div className=\"mt-auto pt-4 border-t border-border flex flex-wrap gap-4 text-xs text-muted-foreground\">\n {props.address && (\n <div className=\"flex items-center gap-1.5\">\n <MapPin className=\"w-3.5 h-3.5\" />\n <span>{props.address}</span>\n </div>\n )}\n {props.phone && (\n <div className=\"flex items-center gap-1.5\">\n <Phone className=\"w-3.5 h-3.5\" />\n <span>{props.phone}</span>\n </div>\n )}\n {props.email && (\n <div className=\"flex items-center gap-1.5\">\n <Mail className=\"w-3.5 h-3.5\" />\n <span>{props.email}</span>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const GolfClubSpotlightSkeleton = (_props: ComponentContext<'GolfClubSpotlightSkeleton'>) => {\n return (\n <div \n data-type=\"golf-club-spotlight-skeleton\" \n className={\"bg-card rounded-xl border border-border shadow-sm flex flex-col @md:flex-row overflow-hidden\"}\n >\n <Skeleton className=\"w-full @md:w-2/5 min-h-[250px] rounded-none\" />\n <div className=\"w-full @md:w-3/5 p-6 @md:p-8 space-y-6\">\n <div>\n <Skeleton className=\"h-8 w-3/4 mb-2\" />\n <Skeleton className=\"h-5 w-1/2\" />\n </div>\n <div className=\"grid grid-cols-2 @lg:grid-cols-3 gap-3\">\n {[1,2,3,4,5,6].map(i => <Skeleton key={i} className=\"h-12 w-full rounded-lg\" />)}\n </div>\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[90%]\" />\n <Skeleton className=\"h-4 w-[80%]\" />\n </div>\n <div className=\"pt-4 border-t border-border flex gap-4\">\n <Skeleton className=\"h-4 w-24\" />\n <Skeleton className=\"h-4 w-24\" />\n </div>\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { MapPin } from 'lucide-react';\n\nconst CATEGORY_COLORS: Record<string, string> = {\n wine: 'bg-[#722F37] text-white',\n food: 'bg-[#D2691E] text-white',\n art: 'bg-[#4B0082] text-white',\n nature: 'bg-[#2E8B57] text-white',\n family: 'bg-[#4169E1] text-white',\n outdoor: 'bg-[#556B2F] text-white',\n wellness: 'bg-[#9370DB] text-white',\n};\n\nexport const ExperienceGrid = ({ props, children }: ComponentContext<'ExperienceGrid'>) => {\n return (\n <div data-type=\"experience-grid\" className={cn(\"space-y-6\")}>\n {props.title && <h2 className=\"font-heading text-2xl @md:text-3xl text-foreground\">{props.title}</h2>}\n \n {props.experiences && (\n <div className=\"grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-4\">\n {props.experiences.map((exp, i) => {\n const catColor = CATEGORY_COLORS[exp.category?.toLowerCase()] || 'bg-accent text-white';\n return (\n <div key={i} className=\"bg-card rounded-xl border border-border p-5 hover:shadow-md transition-shadow flex flex-col h-full relative overflow-hidden\">\n <div className=\"mb-4\">\n <span className={cn(\"text-[10px] uppercase font-bold tracking-wider px-2 py-1 rounded-md\", catColor)}>\n {exp.category}\n </span>\n </div>\n <h3 className=\"font-semibold text-lg text-foreground mb-1 leading-tight\">{exp.name}</h3>\n {exp.location && (\n <div className=\"flex items-center gap-1 text-xs text-muted-foreground mb-3\">\n <MapPin className=\"w-3 h-3\" />\n <span>{exp.location}</span>\n </div>\n )}\n <p className=\"text-sm text-foreground/80 leading-relaxed mb-4 flex-grow\">\n {exp.description}\n </p>\n {exp.highlight && (\n <div className=\"mt-auto pt-3 border-t border-border/50\">\n <p className=\"text-sm italic text-accent font-serif\">\n {exp.highlight}\n </p>\n </div>\n )}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const ExperienceGridSkeleton = (_props: ComponentContext<'ExperienceGridSkeleton'>) => {\n return (\n <div data-type=\"experience-grid-skeleton\" className={\"space-y-6\"}>\n <Skeleton className=\"h-8 w-48\" />\n <div className=\"grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-4\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"bg-card rounded-xl border border-border p-5 h-48 flex flex-col gap-3\">\n <Skeleton className=\"h-5 w-20 rounded-md\" />\n <Skeleton className=\"h-6 w-3/4\" />\n <Skeleton className=\"h-3 w-1/3\" />\n <div className=\"space-y-2 flex-grow\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[80%]\" />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Car, Train, Bus, Ship, Footprints, Plane } from 'lucide-react';\n\nconst TRANSPORT_ICONS: Record<string, React.ElementType> = {\n car: Car,\n train: Train,\n bus: Bus,\n boat: Ship,\n walk: Footprints,\n flight: Plane,\n};\n\nexport const RouteStrip = ({ props }: ComponentContext<'RouteStrip'>) => {\n if (!props.legs || props.legs.length === 0) return null;\n \n return (\n <div data-type=\"route-strip\" className={cn(\"bg-muted rounded-xl p-6 overflow-hidden\")}>\n {/* Desktop view */}\n <div className=\"hidden @md:flex items-center justify-between relative w-full pt-4 pb-2 px-4\">\n <div className=\"absolute top-1/2 left-8 right-8 h-[2px] border-b-2 border-dashed border-border/60 -translate-y-1/2 z-0\" />\n \n {props.legs.map((leg, i) => {\n const Icon = TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car;\n return (\n <div key={i} className=\"relative z-10 flex flex-col items-center bg-muted px-4 group\">\n <div className=\"flex items-center justify-center w-10 h-10 rounded-full bg-card border-2 border-primary/20 text-primary shadow-sm group-hover:border-primary transition-colors mb-3\">\n <Icon className=\"w-5 h-5\" />\n </div>\n <div className=\"flex flex-col items-center text-center max-w-[120px]\">\n <span className=\"text-xs font-bold text-foreground mb-0.5\">{leg.from}</span>\n <span className=\"text-[10px] text-muted-foreground mb-1\">to {leg.to}</span>\n <div className=\"flex gap-1\">\n {leg.time && <span className=\"bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium\">{leg.time}</span>}\n {leg.distance && <span className=\"bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium\">{leg.distance}</span>}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n\n {/* Mobile view */}\n <div className=\"flex @md:hidden flex-col gap-6 relative pl-4 py-2\">\n <div className=\"absolute top-4 bottom-4 left-[27px] w-[2px] border-l-2 border-dashed border-border/60 z-0\" />\n \n {props.legs.map((leg, i) => {\n const Icon = TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car;\n return (\n <div key={i} className=\"relative z-10 flex items-start gap-4\">\n <div className=\"flex items-center justify-center w-8 h-8 rounded-full bg-card border-2 border-primary/20 text-primary shadow-sm shrink-0\">\n <Icon className=\"w-4 h-4\" />\n </div>\n <div className=\"flex flex-col pt-1\">\n <div className=\"flex items-center gap-1.5 mb-0.5\">\n <span className=\"text-sm font-bold text-foreground\">{leg.from}</span>\n <span className=\"text-muted-foreground text-xs\">→</span>\n <span className=\"text-sm font-medium text-foreground/80\">{leg.to}</span>\n </div>\n <div className=\"flex gap-2 mt-1\">\n {leg.time && <span className=\"bg-primary/10 text-primary text-[10px] px-2 py-0.5 rounded font-medium\">{leg.time}</span>}\n {leg.distance && <span className=\"bg-primary/10 text-primary text-[10px] px-2 py-0.5 rounded font-medium\">{leg.distance}</span>}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const RouteStripSkeleton = (_props: ComponentContext<'RouteStripSkeleton'>) => {\n return (\n <div data-type=\"route-strip-skeleton\" className={\"bg-muted rounded-xl p-6\"}>\n <div className=\"hidden @md:flex justify-between items-center relative w-full pt-4 pb-2 px-4\">\n <div className=\"absolute top-1/2 left-8 right-8 h-[2px] bg-border/40 -translate-y-1/2\" />\n {[1, 2, 3].map(i => (\n <div key={i} className=\"z-10 flex flex-col items-center bg-muted px-4 gap-3\">\n <Skeleton className=\"w-10 h-10 rounded-full\" />\n <div className=\"flex flex-col items-center gap-1\">\n <Skeleton className=\"h-3 w-16\" />\n <Skeleton className=\"h-2 w-12\" />\n <Skeleton className=\"h-4 w-20 rounded\" />\n </div>\n </div>\n ))}\n </div>\n <div className=\"flex @md:hidden flex-col gap-6 relative pl-4 py-2\">\n <div className=\"absolute top-4 bottom-4 left-[27px] w-[2px] bg-border/40\" />\n {[1, 2, 3].map(i => (\n <div key={i} className=\"z-10 flex items-start gap-4\">\n <Skeleton className=\"w-8 h-8 rounded-full shrink-0\" />\n <div className=\"flex flex-col gap-2 pt-1 w-full max-w-[200px]\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-5 w-24 rounded\" />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { MapPin, Wine, UtensilsCrossed, Sparkles } from 'lucide-react';\n\nconst BADGE_ICONS: Record<string, React.ElementType> = {\n wine: Wine,\n food: UtensilsCrossed,\n experience: Sparkles,\n};\n\nexport const TasteCard = ({ props }: ComponentContext<'TasteCard'>) => {\n const Icon = BADGE_ICONS[props.type?.toLowerCase()] || Sparkles;\n \n return (\n <div data-type=\"taste-card\" className={cn(\"bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col @md:flex-row\")}>\n <div className=\"w-full @md:w-[40%] min-h-[200px] relative\">\n {props.imageSrc ? (\n <img src={props.imageSrc} alt={props.name} className=\"w-full h-full object-cover\" />\n ) : (\n <div className=\"w-full h-full bg-gradient-to-br from-accent/20 to-accent/5 flex items-center justify-center p-8\">\n <Icon className=\"w-12 h-12 text-accent/40\" />\n </div>\n )}\n <div className=\"absolute top-3 left-3 bg-white/90 backdrop-blur-sm px-2.5 py-1 rounded-md shadow-sm flex items-center gap-1.5 z-10\">\n <Icon className=\"w-3.5 h-3.5 text-accent\" />\n <span className=\"text-[10px] font-bold uppercase tracking-widest text-foreground\">{props.type}</span>\n </div>\n </div>\n \n <div className=\"w-full @md:w-[60%] p-5 @md:p-6 flex flex-col\">\n <h3 className=\"font-heading text-xl text-foreground mb-1\">{props.name}</h3>\n {props.location && (\n <div className=\"flex items-center gap-1 text-xs text-muted-foreground mb-4\">\n <MapPin className=\"w-3 h-3\" />\n <span>{props.location}</span>\n </div>\n )}\n \n <p className=\"text-sm text-foreground/80 leading-relaxed mb-4\">\n {props.description}\n </p>\n \n {props.highlights && props.highlights.length > 0 && (\n <div className=\"flex flex-wrap gap-2 mb-4\">\n {props.highlights.map((item, i) => (\n <span key={i} className=\"bg-accent/10 text-accent text-xs font-medium px-3 py-1 rounded-full\">\n {item}\n </span>\n ))}\n </div>\n )}\n \n {props.recommendation && (\n <div className=\"mt-auto bg-card border border-accent/20 border-l-2 border-l-accent rounded-r-lg p-3\">\n <p className=\"text-xs italic text-foreground/90\"><span className=\"font-semibold text-accent not-italic mr-1\">Must try:</span>{props.recommendation}</p>\n </div>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const TasteCardSkeleton = (_props: ComponentContext<'TasteCardSkeleton'>) => {\n return (\n <div data-type=\"taste-card-skeleton\" className={\"bg-card rounded-xl border border-border shadow-sm flex flex-col @md:flex-row overflow-hidden\"}>\n <Skeleton className=\"w-full @md:w-[40%] min-h-[200px] rounded-none\" />\n <div className=\"w-full @md:w-[60%] p-5 @md:p-6 flex flex-col gap-4\">\n <div>\n <Skeleton className=\"h-6 w-3/4 mb-2\" />\n <Skeleton className=\"h-3 w-1/3\" />\n </div>\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[90%]\" />\n </div>\n <div className=\"flex gap-2\">\n <Skeleton className=\"h-6 w-20 rounded-full\" />\n <Skeleton className=\"h-6 w-24 rounded-full\" />\n </div>\n <Skeleton className=\"h-10 w-full mt-auto rounded-lg\" />\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Bed, MapPin, CheckCircle2 } from 'lucide-react';\n\nexport const StayCard = ({ props }: ComponentContext<'StayCard'>) => {\n return (\n <div data-type=\"stay-card\" className={cn(\"bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col relative\")}>\n {props.priceRange && (\n <div className=\"absolute top-3 right-3 bg-white/90 backdrop-blur-sm px-2 py-1 rounded shadow-sm z-10 text-xs font-bold text-foreground\">\n {props.priceRange}\n </div>\n )}\n \n <div className=\"w-full aspect-video relative\">\n {props.imageSrc ? (\n <img src={props.imageSrc} alt={props.name} className=\"w-full h-full object-cover\" />\n ) : (\n <div className=\"w-full h-full bg-muted flex items-center justify-center\">\n <Bed className=\"w-12 h-12 text-muted-foreground/30\" />\n </div>\n )}\n </div>\n \n <div className=\"p-5 flex flex-col flex-grow\">\n <div className=\"flex items-center gap-2 mb-2\">\n <span className=\"text-[10px] font-bold uppercase tracking-wider text-accent bg-accent/10 px-2 py-0.5 rounded\">\n {props.type}\n </span>\n {props.stars && (\n <div className=\"flex text-yellow-500 text-xs tracking-tighter\">\n {\"★\".repeat(props.stars)}\n </div>\n )}\n </div>\n \n <h3 className=\"font-heading text-xl text-foreground leading-tight mb-1\">{props.name}</h3>\n {props.location && (\n <div className=\"flex items-center gap-1 text-xs text-muted-foreground mb-4\">\n <MapPin className=\"w-3 h-3\" />\n <span>{props.location}</span>\n </div>\n )}\n \n {props.features && props.features.length > 0 && (\n <div className=\"flex flex-wrap gap-2 mb-4\">\n {props.features.map((feature, i) => (\n <div key={i} className=\"flex items-center gap-1 text-[11px] font-medium text-foreground/70 bg-muted px-2 py-1 rounded\">\n <CheckCircle2 className=\"w-3 h-3 text-accent\" />\n <span>{feature}</span>\n </div>\n ))}\n </div>\n )}\n \n {props.whyPerfect && (\n <div className=\"mt-auto bg-accent/5 border-l-2 border-accent rounded-r-lg p-3\">\n <p className=\"text-sm italic text-foreground/80 leading-relaxed\">\n <span className=\"font-semibold not-italic block text-xs text-foreground mb-0.5\">Why it's perfect:</span>\n {props.whyPerfect}\n </p>\n </div>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const StayCardSkeleton = (_props: ComponentContext<'StayCardSkeleton'>) => {\n return (\n <div data-type=\"stay-card-skeleton\" className={\"bg-card rounded-xl border border-border shadow-sm flex flex-col overflow-hidden\"}>\n <Skeleton className=\"w-full aspect-video rounded-none\" />\n <div className=\"p-5 flex flex-col gap-4\">\n <div className=\"flex gap-2\">\n <Skeleton className=\"h-5 w-16 rounded\" />\n <Skeleton className=\"h-5 w-12 rounded\" />\n </div>\n <div>\n <Skeleton className=\"h-6 w-3/4 mb-2\" />\n <Skeleton className=\"h-3 w-1/3\" />\n </div>\n <div className=\"flex flex-wrap gap-2\">\n <Skeleton className=\"h-6 w-20 rounded\" />\n <Skeleton className=\"h-6 w-24 rounded\" />\n <Skeleton className=\"h-6 w-16 rounded\" />\n </div>\n <Skeleton className=\"h-20 w-full mt-2 rounded-lg\" />\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Button } from '@websolutespa/ask-ui/components/button';\nimport { Check } from 'lucide-react';\n\nexport const TripSummary = ({ props }: ComponentContext<'TripSummary'>) => {\n return (\n <div data-type=\"trip-summary\" className={cn(\"bg-primary text-primary-foreground rounded-xl px-6 py-12 @md:px-12 relative overflow-hidden\")}>\n <div className=\"relative z-10 flex flex-col items-center max-w-4xl mx-auto space-y-10\">\n <h2 className=\"font-heading text-3xl @md:text-4xl text-center\">{props.title}</h2>\n \n {props.stats && props.stats.length > 0 && (\n <div className=\"flex flex-wrap justify-center gap-8 @md:gap-16 w-full\">\n {props.stats.map((stat, i) => (\n <div key={i} className=\"flex flex-col items-center\">\n <span className=\"font-heading text-4xl @md:text-5xl italic text-accent mb-1\">{stat.value}</span>\n <span className=\"text-xs uppercase tracking-widest font-semibold text-primary-foreground/70\">{stat.label}</span>\n </div>\n ))}\n </div>\n )}\n \n {props.highlights && props.highlights.length > 0 && (\n <div className=\"bg-primary-foreground/10 rounded-2xl p-6 @md:p-8 w-full max-w-2xl backdrop-blur-sm\">\n <ul className=\"grid grid-cols-1 @md:grid-cols-2 gap-y-4 gap-x-8\">\n {props.highlights.map((hl, i) => (\n <li key={i} className=\"flex items-start gap-3\">\n <Check className=\"w-5 h-5 text-accent shrink-0\" />\n <span className=\"text-sm font-medium\">{hl}</span>\n </li>\n ))}\n </ul>\n </div>\n )}\n \n {props.closingMessage && (\n <p className=\"font-heading italic text-xl @md:text-2xl text-center text-primary-foreground/90 max-w-2xl\">\n \"{props.closingMessage}\"\n </p>\n )}\n \n {props.ctaText && props.ctaUrl && (\n <Button asChild variant=\"outline\" className=\"border-primary-foreground text-foreground hover:bg-primary-foreground hover:text-primary rounded-full px-8 py-6 text-sm font-bold uppercase tracking-wider mt-4\">\n <a href={props.ctaUrl}>{props.ctaText}</a>\n </Button>\n )}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const TripSummarySkeleton = (_props: ComponentContext<'TripSummarySkeleton'>) => {\n return (\n <div data-type=\"trip-summary-skeleton\" className={\"bg-primary/90 rounded-xl px-6 py-12 @md:px-12\"}>\n <div className=\"flex flex-col items-center max-w-4xl mx-auto space-y-10\">\n <Skeleton className=\"h-10 w-2/3 max-w-md bg-primary-foreground/20\" />\n \n <div className=\"flex flex-wrap justify-center gap-8 @md:gap-16 w-full\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"flex flex-col items-center gap-2\">\n <Skeleton className=\"h-12 w-16 bg-primary-foreground/20\" />\n <Skeleton className=\"h-3 w-20 bg-primary-foreground/20\" />\n </div>\n ))}\n </div>\n \n <div className=\"bg-primary-foreground/10 rounded-2xl p-6 @md:p-8 w-full max-w-2xl\">\n <div className=\"grid grid-cols-1 @md:grid-cols-2 gap-4\">\n {[1, 2, 3, 4].map(i => (\n <div key={i} className=\"flex gap-3\">\n <Skeleton className=\"w-5 h-5 rounded-full bg-primary-foreground/30 shrink-0\" />\n <Skeleton className=\"h-4 w-full bg-primary-foreground/20\" />\n </div>\n ))}\n </div>\n </div>\n \n <Skeleton className=\"h-8 w-3/4 max-w-lg bg-primary-foreground/20\" />\n <Skeleton className=\"h-12 w-48 rounded-full bg-primary-foreground/20 mt-4\" />\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Lightbulb } from 'lucide-react';\n\nexport const InsiderTip = ({ props }: ComponentContext<'InsiderTip'>) => {\n return (\n <div data-type=\"insider-tip\" className={cn(\"bg-accent/5 border-l-4 border-accent rounded-r-xl px-5 py-4 @md:px-6 @md:py-5 flex gap-4\")}>\n <Lightbulb className=\"w-6 h-6 text-accent shrink-0 mt-0.5\" />\n <div className=\"flex flex-col space-y-1.5\">\n {props.title && <h4 className=\"font-semibold text-foreground\">{props.title}</h4>}\n <p className=\"font-sans text-sm text-foreground/90 leading-relaxed\">{props.text}</p>\n {props.source && <span className=\"text-xs italic text-muted-foreground mt-2\">{props.source}</span>}\n </div>\n </div>\n );\n};\n","import type { ComponentContext } from '../catalog';\nimport { cn } from '@websolutespa/ask-ui';\nimport { Skeleton } from '@websolutespa/ask-ui/components/skeleton';\n\nexport const InsiderTipSkeleton = (_props: ComponentContext<'InsiderTipSkeleton'>) => {\n return (\n <div data-type=\"insider-tip-skeleton\" className={\"bg-muted/30 border-l-4 border-muted rounded-r-xl px-6 py-5 flex gap-4\"}>\n <Skeleton className=\"w-6 h-6 rounded-full shrink-0\" />\n <div className=\"flex flex-col w-full gap-2 pt-1\">\n <Skeleton className=\"h-5 w-1/3\" />\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-[80%]\" />\n <Skeleton className=\"h-3 w-1/4 mt-2\" />\n </div>\n </div>\n );\n};\n","import { defineRegistry } from '@json-render/react';\nimport React from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport { toast } from 'sonner';\nimport { catalog } from './catalog';\n\nimport { Root } from './blocks/root';\nimport { Link } from './blocks/link';\nimport { HeroViaggio } from './blocks/hero-viaggio';\nimport { HeroViaggioSkeleton } from './blocks/hero-viaggio-skeleton';\nimport { ConceptCard } from './blocks/concept-card';\nimport { ConceptCardSkeleton } from './blocks/concept-card-skeleton';\nimport { DayPlan } from './blocks/day-plan';\nimport { DayPlanSkeleton } from './blocks/day-plan-skeleton';\nimport { GolfClubSpotlight } from './blocks/golf-club-spotlight';\nimport { GolfClubSpotlightSkeleton } from './blocks/golf-club-spotlight-skeleton';\nimport { ExperienceGrid } from './blocks/experience-grid';\nimport { ExperienceGridSkeleton } from './blocks/experience-grid-skeleton';\nimport { RouteStrip } from './blocks/route-strip';\nimport { RouteStripSkeleton } from './blocks/route-strip-skeleton';\nimport { TasteCard } from './blocks/taste-card';\nimport { TasteCardSkeleton } from './blocks/taste-card-skeleton';\nimport { StayCard } from './blocks/stay-card';\nimport { StayCardSkeleton } from './blocks/stay-card-skeleton';\nimport { TripSummary } from './blocks/trip-summary';\nimport { TripSummarySkeleton } from './blocks/trip-summary-skeleton';\nimport { InsiderTip } from './blocks/insider-tip';\nimport { InsiderTipSkeleton } from './blocks/insider-tip-skeleton';\n\nexport const { registry, handlers, executeAction } = defineRegistry(catalog, {\n components: {\n Root,\n Link,\n HeroViaggio,\n HeroViaggioSkeleton,\n ConceptCard,\n ConceptCardSkeleton,\n DayPlan,\n DayPlanSkeleton,\n GolfClubSpotlight,\n GolfClubSpotlightSkeleton,\n ExperienceGrid,\n ExperienceGridSkeleton,\n RouteStrip,\n RouteStripSkeleton,\n TasteCard,\n TasteCardSkeleton,\n StayCard,\n StayCardSkeleton,\n TripSummary,\n TripSummarySkeleton,\n InsiderTip,\n InsiderTipSkeleton,\n },\n actions: {\n setState: async () => { /* noop */ },\n pushState: async () => { /* noop */ },\n removeState: async () => { /* noop */ },\n linkClick: async (params) => {\n const href = (params?.href as string) || '#';\n toast.info(`Navigating to: ${href}`);\n },\n },\n});\n\n/**\n * Render a single component to static HTML for layout builder previews.\n */\nexport function renderPreview(\n componentName: string,\n props: Record<string, unknown>,\n): string | null {\n const Component = registry[componentName];\n if (!Component) return null;\n const elementProps = {\n props,\n emit: () => { /* noop */ },\n on: () => ({ shouldPreventDefault: false, emit: () => { /* noop */ }, bound: false }),\n element: { type: componentName, props },\n loading: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return renderToStaticMarkup(React.createElement(Component as any, elementProps));\n}\n"],"mappings":"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"}