PageSourceSearch

https://pmb-2025-v4-launchin-f6te.bolt.host/assets/SolutionsEmbed-58HnHX4u.js

js pmb-2025-v4-launchin-f6te.bolt.host collected 2026-10-03 03:12:58 UTC 4,226 bytes, 81 lines download raw bytes

1const e=`import { TrendingUp, Shield, Clock, Users, CheckCircle } from 'lucide-react';
2import EmbedLayout from '../EmbedLayout';
3import { useSection } from '../../../hooks/usePageSections';
4import { useEmbedBaseUrl, buildLink } from '../../../lib/embedLinks';
5
6const iconMap: Record<string, any> = { TrendingUp, Shield, Clock, Users };
7
8const SolutionsEmbed = () => {
9  const { section, loading } = useSection('home', 'solutions');
10  const baseUrl = useEmbedBaseUrl();
11  const content = section?.content ?? {};
12
13  if (loading) return <EmbedLayout embedKey="home-solutions"><div className="min-h-[400px]" /></EmbedLayout>;
14
15  const headline = content.heading || content.headline || 'Complete Revenue Cycle Solutions';
16  const description = content.description || '';
17  const services = content.services ?? [];
18  const expandedServices = content.expandedServices ?? content.expanded ?? [];
19  const expandedHeading = content.expandedHeading || 'New & Expanded Services';
20  const ctaText = content.ctaText || 'Get Your Free Assessment';
21  const ctaHref = content.ctaHref || '/contact';
22  const ctaSubtext = content.ctaSubtext || '';
23
24  return (
25    <EmbedLayout embedKey="home-solutions">
26      <section className="py-24 bg-gradient-to-br from-gray-50 to-white">
27        <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
28          <div className="text-center mb-20">
29            <h2 className="text-4xl lg:text-5xl font-bold text-gray-900 mb-6">{headline}</h2>
30            <p className="text-xl text-gray-600 max-w-3xl mx-auto leading-relaxed">{description}</p>
31          </div>
32
33          <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-16">
34            {services.map((svc: any, i: number) => {
35              const Icon = iconMap[svc.icon] || CheckCircle;
36              const borderColor = i % 2 === 0 ? 'border-[#6b2b8e]/20' : 'border-[#fdc010]/20';
37              const iconBg = i % 2 === 0 ? 'bg-[#6b2b8e]/10' : 'bg-[#fdc010]/10';
38              const iconColor = i % 2 === 0 ? 'text-[#6b2b8e]' : 'text-[#fdc010]';
39              return (
40                <div key={i} className={\`bg-white rounded-full aspect-square p-8 shadow-lg hover:shadow-xl transition-all group border-4 \${borderColor} flex flex-col items-center justify-center\`}>
41                  <div className={\`\${iconBg} w-16 h-16 rounded-full flex items-center justify-center mb-4 group-hover:scale-110 transition-transform\`}>
42                    <Icon className={\`w-8 h-8 \${iconColor}\`} />
43                  </div>
44                  <h3 className="text-lg font-semibold text-gray-900 mb-2 text-center">{svc.title}</h3>
45                  <p className="text-sm text-gray-600 leading-relaxed text-center">{svc.desc || svc.description}</p>
46                </div>
47              );
48            })}
49          </div>
50
51          <div className="bg-white rounded-3xl shadow-xl p-12">
52            <h3 className="text-2xl font-bold text-gray-900 mb-8">{expandedHeading}</h3>
53            <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
54              {expandedServices.map((s: any, i: number) => (
55                <div key={i} className="space-y-3">
56                  <div className="flex items-start space-x-3">
57                    <CheckCircle className="w-6 h-6 text-[#6b2b8e] flex-shrink-0 mt-1" />
58                    <div>
59                      <h4 className="font-semibold text-gray-900">{s.title}</h4>
60                      <p className="text-gray-600 text-sm">{s.desc || s.description}</p>
61                    </div>
62                  </div>
63                </div>
64              ))}
65            </div>
66
67            <div className="text-center mt-12">
68              <a href={buildLink(ctaHref, baseUrl)} className="inline-block bg-gradient-to-r from-[#6b2b8e] to-[#5a2375] text-white px-10 py-4 rounded-lg font-semibold text-lg hover:from-[#5a2375] hover:to-[#4a1d5e] transition-all transform hover:scale-105 shadow-lg">
69                {ctaText}
70              </a>
71              {ctaSubtext && <p className="text-gray-600 mt-4 font-medium">{ctaSubtext}</p>}
72            </div>
73          </div>
74        </div>
75      </section>
76    </EmbedLayout>
77  );
78};
79
80export default SolutionsEmbed;
81`;export{e as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.