@retinalabsllc/zairusjs 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +9 -2
- package/dist/index.d.ts +9 -2
- package/dist/index.js +31 -16
- package/dist/index.mjs +31 -16
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -276,10 +276,17 @@ interface PricingPlan {
|
|
|
276
276
|
isPremium?: boolean;
|
|
277
277
|
features: PricingFeature[];
|
|
278
278
|
}
|
|
279
|
+
interface PricingTab {
|
|
280
|
+
label: string;
|
|
281
|
+
plans: PricingPlan[];
|
|
282
|
+
}
|
|
279
283
|
interface ManagedPricingBlockProps {
|
|
280
284
|
tagline?: string;
|
|
281
285
|
title: React.ReactNode;
|
|
282
|
-
plans
|
|
286
|
+
/** Default plans if tabs are not used. Optional to support tab-only structures. */
|
|
287
|
+
plans?: PricingPlan[];
|
|
288
|
+
/** Optional tabs array to toggle between different sets of plans (e.g., Country, Monthly/Yearly) */
|
|
289
|
+
tabs?: PricingTab[];
|
|
283
290
|
}
|
|
284
291
|
declare const ManagedPricingBlock: React.FC<ManagedPricingBlockProps>;
|
|
285
292
|
|
|
@@ -1000,4 +1007,4 @@ interface ContentGridBlockProps {
|
|
|
1000
1007
|
}
|
|
1001
1008
|
declare const ContentGridBlock: React.FC<ContentGridBlockProps>;
|
|
1002
1009
|
|
|
1003
|
-
export { AITranscriptionFeature, type AITranscriptionFeatureProps, type AgentFilePayload, type AgentStat, AiApproveDecline, type AiApproveDeclineProps, AiStageCheck, type AiStageCheckProps, type AiTask, type AiTaskStatus, AppBento2, type AppBento2Props, type AppTypeKey, Banner, type BannerProps, type BentoFeature, type BoardMember, type CompanyDetails, type CompanyMember, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type DashboardList, type DashboardListItem, type DashboardStat, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, Footer, type FooterColumn, type FooterLink, type FooterProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, type NavItem, NumberInput, type NumberInputProps, type OverviewAlert, type OverviewStat, PageSpinner, type PageSpinnerProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingPlan, ProductHero, type ProductHeroProps, type ProjectItem, type ScrollFeature, type SearchTypeOption, type SocialContact, type SocialLink, Stagger, type StaggerProps, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, UniversalAgentConsole, type UniversalAgentConsoleProps, UniversalBillingPage, type UniversalBillingPageProps, UniversalDashboardPage, type UniversalDashboardPageProps, UniversalDeveloperSettings, type UniversalDeveloperSettingsProps, UniversalDirectoryPage, type UniversalDirectoryPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalIdentityPage, type UniversalIdentityPageProps, type UniversalInvoice, UniversalLookupPage, type UniversalLookupPageProps, type UniversalMember, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalOverviewPage, type UniversalOverviewPageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, UniversalRegistrationFlow, type UniversalRegistrationFlowProps, UniversalSidebar, type UniversalSidebarProps, type WorkspaceItem, ZairusAuth, type ZairusAuthProps };
|
|
1010
|
+
export { AITranscriptionFeature, type AITranscriptionFeatureProps, type AgentFilePayload, type AgentStat, AiApproveDecline, type AiApproveDeclineProps, AiStageCheck, type AiStageCheckProps, type AiTask, type AiTaskStatus, AppBento2, type AppBento2Props, type AppTypeKey, Banner, type BannerProps, type BentoFeature, type BoardMember, type CompanyDetails, type CompanyMember, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type DashboardList, type DashboardListItem, type DashboardStat, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, Footer, type FooterColumn, type FooterLink, type FooterProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, type NavItem, NumberInput, type NumberInputProps, type OverviewAlert, type OverviewStat, PageSpinner, type PageSpinnerProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingPlan, type PricingTab, ProductHero, type ProductHeroProps, type ProjectItem, type ScrollFeature, type SearchTypeOption, type SocialContact, type SocialLink, Stagger, type StaggerProps, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, UniversalAgentConsole, type UniversalAgentConsoleProps, UniversalBillingPage, type UniversalBillingPageProps, UniversalDashboardPage, type UniversalDashboardPageProps, UniversalDeveloperSettings, type UniversalDeveloperSettingsProps, UniversalDirectoryPage, type UniversalDirectoryPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalIdentityPage, type UniversalIdentityPageProps, type UniversalInvoice, UniversalLookupPage, type UniversalLookupPageProps, type UniversalMember, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalOverviewPage, type UniversalOverviewPageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, UniversalRegistrationFlow, type UniversalRegistrationFlowProps, UniversalSidebar, type UniversalSidebarProps, type WorkspaceItem, ZairusAuth, type ZairusAuthProps };
|
package/dist/index.d.ts
CHANGED
|
@@ -276,10 +276,17 @@ interface PricingPlan {
|
|
|
276
276
|
isPremium?: boolean;
|
|
277
277
|
features: PricingFeature[];
|
|
278
278
|
}
|
|
279
|
+
interface PricingTab {
|
|
280
|
+
label: string;
|
|
281
|
+
plans: PricingPlan[];
|
|
282
|
+
}
|
|
279
283
|
interface ManagedPricingBlockProps {
|
|
280
284
|
tagline?: string;
|
|
281
285
|
title: React.ReactNode;
|
|
282
|
-
plans
|
|
286
|
+
/** Default plans if tabs are not used. Optional to support tab-only structures. */
|
|
287
|
+
plans?: PricingPlan[];
|
|
288
|
+
/** Optional tabs array to toggle between different sets of plans (e.g., Country, Monthly/Yearly) */
|
|
289
|
+
tabs?: PricingTab[];
|
|
283
290
|
}
|
|
284
291
|
declare const ManagedPricingBlock: React.FC<ManagedPricingBlockProps>;
|
|
285
292
|
|
|
@@ -1000,4 +1007,4 @@ interface ContentGridBlockProps {
|
|
|
1000
1007
|
}
|
|
1001
1008
|
declare const ContentGridBlock: React.FC<ContentGridBlockProps>;
|
|
1002
1009
|
|
|
1003
|
-
export { AITranscriptionFeature, type AITranscriptionFeatureProps, type AgentFilePayload, type AgentStat, AiApproveDecline, type AiApproveDeclineProps, AiStageCheck, type AiStageCheckProps, type AiTask, type AiTaskStatus, AppBento2, type AppBento2Props, type AppTypeKey, Banner, type BannerProps, type BentoFeature, type BoardMember, type CompanyDetails, type CompanyMember, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type DashboardList, type DashboardListItem, type DashboardStat, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, Footer, type FooterColumn, type FooterLink, type FooterProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, type NavItem, NumberInput, type NumberInputProps, type OverviewAlert, type OverviewStat, PageSpinner, type PageSpinnerProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingPlan, ProductHero, type ProductHeroProps, type ProjectItem, type ScrollFeature, type SearchTypeOption, type SocialContact, type SocialLink, Stagger, type StaggerProps, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, UniversalAgentConsole, type UniversalAgentConsoleProps, UniversalBillingPage, type UniversalBillingPageProps, UniversalDashboardPage, type UniversalDashboardPageProps, UniversalDeveloperSettings, type UniversalDeveloperSettingsProps, UniversalDirectoryPage, type UniversalDirectoryPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalIdentityPage, type UniversalIdentityPageProps, type UniversalInvoice, UniversalLookupPage, type UniversalLookupPageProps, type UniversalMember, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalOverviewPage, type UniversalOverviewPageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, UniversalRegistrationFlow, type UniversalRegistrationFlowProps, UniversalSidebar, type UniversalSidebarProps, type WorkspaceItem, ZairusAuth, type ZairusAuthProps };
|
|
1010
|
+
export { AITranscriptionFeature, type AITranscriptionFeatureProps, type AgentFilePayload, type AgentStat, AiApproveDecline, type AiApproveDeclineProps, AiStageCheck, type AiStageCheckProps, type AiTask, type AiTaskStatus, AppBento2, type AppBento2Props, type AppTypeKey, Banner, type BannerProps, type BentoFeature, type BoardMember, type CompanyDetails, type CompanyMember, type ConsultantProfile, ConsultantShowcase, type ConsultantShowcaseProps, ContentGridBlock, type ContentGridBlockProps, type DashboardList, type DashboardListItem, type DashboardStat, type DocumentSectionData, type EmailContact, Faq, type FaqItem, type FaqProps, FeatureScroll, type FeatureScrollProps, Footer, type FooterColumn, type FooterLink, type FooterProps, GifFeatureCard, type GifFeatureCardProps, Header, type HeaderLink, type HeaderProps, type AppLogo$1 as HeroAppLogo, HeroSection, type HeroSectionProps, ManagedBoardBlock, type ManagedBoardBlockProps, ManagedContactBlock, type ManagedContactBlockProps, ManagedDocument, type ManagedDocumentProps, ManagedNewsletterSplitBlock, type ManagedNewsletterSplitBlockProps, ManagedNotFoundBlock, type ManagedNotFoundBlockProps, ManagedPricingBlock, type ManagedPricingBlockProps, ManagedProjectsBlock, type ManagedProjectsBlockProps, ManagedToaster, MedicalFeatureStatsBlock, type NavItem, NumberInput, type NumberInputProps, type OverviewAlert, type OverviewStat, PageSpinner, type PageSpinnerProps, type PlatformFeatureItem, PlatformFeatures, type PlatformFeaturesProps, PortfolioHero, type PortfolioHeroProps, type AppLogo as PricingAppLogo, type PricingFeature, type PricingPlan, type PricingTab, ProductHero, type ProductHeroProps, type ProjectItem, type ScrollFeature, type SearchTypeOption, type SocialContact, type SocialLink, Stagger, type StaggerProps, type StatItem, TextInput, type TextInputProps, ThreeDActionButton, type ThreeDActionButtonProps, ThreeDButton, type ThreeDButtonProps, UniversalAgentConsole, type UniversalAgentConsoleProps, UniversalBillingPage, type UniversalBillingPageProps, UniversalDashboardPage, type UniversalDashboardPageProps, UniversalDeveloperSettings, type UniversalDeveloperSettingsProps, UniversalDirectoryPage, type UniversalDirectoryPageProps, UniversalErrorView, type UniversalErrorViewProps, UniversalIdentityPage, type UniversalIdentityPageProps, type UniversalInvoice, UniversalLookupPage, type UniversalLookupPageProps, type UniversalMember, UniversalMembersPage, type UniversalMembersPageProps, UniversalOrganizationPage, type UniversalOrganizationPageProps, UniversalOverviewPage, type UniversalOverviewPageProps, UniversalProfileSettings, type UniversalProfileSettingsProps, UniversalRegistrationFlow, type UniversalRegistrationFlowProps, UniversalSidebar, type UniversalSidebarProps, type WorkspaceItem, ZairusAuth, type ZairusAuthProps };
|
package/dist/index.js
CHANGED
|
@@ -739,7 +739,7 @@ var HeroSection = ({
|
|
|
739
739
|
className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 outline-none transition-colors"
|
|
740
740
|
},
|
|
741
741
|
secondaryCtaText
|
|
742
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react9.default.createElement("div", { className: "w-full flex flex-col items-center mb-12 md:mb-16" }, appsText && /* @__PURE__ */ import_react9.default.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-400 uppercase mb-5" }, appsText), /* @__PURE__ */ import_react9.default.createElement("div", { className: "flex flex-wrap justify-center items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react9.default.createElement("div", { key: idx, className: "relative h-
|
|
742
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react9.default.createElement("div", { className: "w-full flex flex-col items-center mb-12 md:mb-16" }, appsText && /* @__PURE__ */ import_react9.default.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-400 uppercase mb-5" }, appsText), /* @__PURE__ */ import_react9.default.createElement("div", { className: "flex flex-wrap justify-center items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react9.default.createElement("div", { key: idx, className: "relative h-5 w-5 flex items-center justify-center cursor-default" }, /* @__PURE__ */ import_react9.default.createElement(
|
|
743
743
|
import_image2.default,
|
|
744
744
|
{
|
|
745
745
|
src: logo.src,
|
|
@@ -1132,9 +1132,11 @@ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react21.default.c
|
|
|
1132
1132
|
var ManagedPricingBlock = ({
|
|
1133
1133
|
tagline,
|
|
1134
1134
|
title,
|
|
1135
|
-
plans
|
|
1135
|
+
plans = [],
|
|
1136
|
+
tabs
|
|
1136
1137
|
}) => {
|
|
1137
1138
|
const [isAnimating, setIsAnimating] = (0, import_react21.useState)(false);
|
|
1139
|
+
const [activeTabIndex, setActiveTabIndex] = (0, import_react21.useState)(0);
|
|
1138
1140
|
const titleRef = (0, import_react21.useRef)(null);
|
|
1139
1141
|
(0, import_react21.useEffect)(() => {
|
|
1140
1142
|
const observer = new IntersectionObserver(
|
|
@@ -1154,25 +1156,38 @@ var ManagedPricingBlock = ({
|
|
|
1154
1156
|
}
|
|
1155
1157
|
return () => observer.disconnect();
|
|
1156
1158
|
}, []);
|
|
1159
|
+
const hasTabs = tabs && tabs.length > 0;
|
|
1160
|
+
const currentPlans = hasTabs ? tabs[activeTabIndex].plans : plans;
|
|
1157
1161
|
return /* @__PURE__ */ import_react21.default.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-12" }, tagline && /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block uppercase" }, tagline), /* @__PURE__ */ import_react21.default.createElement(
|
|
1158
1162
|
"h1",
|
|
1159
1163
|
{
|
|
1160
1164
|
ref: titleRef,
|
|
1161
|
-
className: `
|
|
1165
|
+
className: `text-2xl sm:text-3xl mt-3 text-black tracking-tight ${isAnimating ? "" : ""}`,
|
|
1162
1166
|
style: isAnimating ? { animationIterationCount: 1 } : {}
|
|
1163
1167
|
},
|
|
1164
1168
|
title
|
|
1165
|
-
)), /* @__PURE__ */ import_react21.default.createElement("div", { className: "
|
|
1169
|
+
)), hasTabs && /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center justify-center mb-10 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1.5 shadow-sm max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
|
|
1170
|
+
const isActive = activeTabIndex === idx;
|
|
1171
|
+
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1172
|
+
"button",
|
|
1173
|
+
{
|
|
1174
|
+
key: idx,
|
|
1175
|
+
onClick: () => setActiveTabIndex(idx),
|
|
1176
|
+
className: `px-6 py-2 rounded-full text-xs transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${isActive ? "bg-neutral-50 text-black font-medium border border-neutral-200/50" : "text-neutral-500 hover:text-black hover:bg-neutral-50/50 border border-transparent"}`
|
|
1177
|
+
},
|
|
1178
|
+
tab.label
|
|
1179
|
+
);
|
|
1180
|
+
}))), /* @__PURE__ */ import_react21.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl animate-in slide-in-from-bottom-2 fade-in duration-500" }, currentPlans.map((plan, planIdx) => /* @__PURE__ */ import_react21.default.createElement(
|
|
1166
1181
|
"div",
|
|
1167
1182
|
{
|
|
1168
|
-
key: planIdx
|
|
1169
|
-
className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden ${plan.isPremium ? "" : ""}`
|
|
1183
|
+
key: `${activeTabIndex}-${planIdx}`,
|
|
1184
|
+
className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden transition-all duration-300 ${plan.isPremium ? "" : ""}`
|
|
1170
1185
|
},
|
|
1171
|
-
/* @__PURE__ */ import_react21.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-5xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ import_react21.default.createElement(
|
|
1186
|
+
/* @__PURE__ */ import_react21.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-5xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react21.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ import_react21.default.createElement(
|
|
1172
1187
|
"div",
|
|
1173
1188
|
{
|
|
1174
1189
|
key: logoIdx,
|
|
1175
|
-
className: "relative w-5 h-5
|
|
1190
|
+
className: "relative w-5 h-5 overflow-hidden flex items-center justify-center shrink-0"
|
|
1176
1191
|
},
|
|
1177
1192
|
/* @__PURE__ */ import_react21.default.createElement(
|
|
1178
1193
|
import_image5.default,
|
|
@@ -1189,7 +1204,7 @@ var ManagedPricingBlock = ({
|
|
|
1189
1204
|
import_link5.default,
|
|
1190
1205
|
{
|
|
1191
1206
|
href: plan.ctaHref,
|
|
1192
|
-
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none"
|
|
1207
|
+
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
1193
1208
|
},
|
|
1194
1209
|
plan.ctaText
|
|
1195
1210
|
),
|
|
@@ -1708,7 +1723,7 @@ var ECOSYSTEM_APPS = [
|
|
|
1708
1723
|
{ id: "sheets", name: "Retina Sheets", description: "Advanced Spreadsheets", iconSrc: "https://retinalabs.company/assets/images/sheets.avif", url: "https://sheets.retinaapps.com/app" },
|
|
1709
1724
|
{ id: "drive", name: "Retina Drive", description: "Secure Cloud Storage", iconSrc: "https://retinalabs.company/assets/images/drive.avif", url: "https://drive.retinaapps.com/app" },
|
|
1710
1725
|
{ id: "calendar", name: "Retina Calendar", description: "Smart Scheduling", iconSrc: "https://retinalabs.company/assets/images/calendar.avif", url: "https://calendar.retinaapps.com/app" },
|
|
1711
|
-
{ id: "mail", name: "Retina Mail", description: "
|
|
1726
|
+
{ id: "mail", name: "Retina Mail", description: "Secure Email Inbox", iconSrc: "https://retinalabs.company/assets/images/mail.avif", url: "https://mail.retinaapps.com/app" }
|
|
1712
1727
|
];
|
|
1713
1728
|
var UniversalSidebar = ({
|
|
1714
1729
|
navItems,
|
|
@@ -1898,7 +1913,7 @@ var UniversalSidebar = ({
|
|
|
1898
1913
|
{
|
|
1899
1914
|
key: app.id,
|
|
1900
1915
|
href: app.url,
|
|
1901
|
-
className: `w-full text-left p-3 flex items-center gap-4 rounded-xl transition-all outline-none ${isActive ? "
|
|
1916
|
+
className: `w-full text-left p-3 flex items-center gap-4 rounded-xl transition-all outline-none ${isActive ? " bg-neutral-50" : "hover:bg-neutral-50 border border-transparent"}`
|
|
1902
1917
|
},
|
|
1903
1918
|
/* @__PURE__ */ import_react36.default.createElement(
|
|
1904
1919
|
"img",
|
|
@@ -2396,7 +2411,7 @@ var UniversalMembersPage = ({
|
|
|
2396
2411
|
},
|
|
2397
2412
|
/* @__PURE__ */ import_react42.default.createElement(import_react43.HugeiconsIcon, { icon: import_core_free_icons11.UserAdd01Icon, size: 12 }),
|
|
2398
2413
|
"Add Member"
|
|
2399
|
-
)), currentView !== "list" && /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col items-start gap-3" }, /* @__PURE__ */ import_react42.default.createElement("button", { onClick: goBack, className: "text-[10px] text-neutral-400 hover:text-black tracking-[0.2em] flex items-center gap-1.5 transition-colors outline-none" }, /* @__PURE__ */ import_react42.default.createElement(import_react43.HugeiconsIcon, { icon: import_core_free_icons11.ArrowLeft01Icon, size: 12 }), " Back"), /* @__PURE__ */ import_react42.default.createElement("h1", { className: " text-lg text-black tracking-tight" }, currentView === "invite" ? "Add New Member" : "Member Profile"))), currentView === "list" && /* @__PURE__ */ import_react42.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react42.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react42.default.createElement("div", { className: "divide-y divide-neutral-100" }, members.map((member) => /* @__PURE__ */ import_react42.default.createElement(
|
|
2414
|
+
)), currentView !== "list" && /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col items-start gap-3" }, /* @__PURE__ */ import_react42.default.createElement("button", { onClick: goBack, className: "text-[10px] text-neutral-400 hover:text-black tracking-[0.2em] flex items-center gap-1.5 transition-colors outline-none" }, /* @__PURE__ */ import_react42.default.createElement(import_react43.HugeiconsIcon, { icon: import_core_free_icons11.ArrowLeft01Icon, size: 12 }), " Back"), /* @__PURE__ */ import_react42.default.createElement("h1", { className: " text-lg text-black tracking-tight" }, currentView === "invite" ? "Add New Member" : "Member Profile"))), currentView === "list" && /* @__PURE__ */ import_react42.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react42.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react42.default.createElement("div", { className: "divide-y divide-neutral-100" }, members.length === 0 ? /* @__PURE__ */ import_react42.default.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No organization member") : members.map((member) => /* @__PURE__ */ import_react42.default.createElement(
|
|
2400
2415
|
"div",
|
|
2401
2416
|
{
|
|
2402
2417
|
key: member.id,
|
|
@@ -3929,14 +3944,14 @@ var UniversalDeveloperSettings = ({
|
|
|
3929
3944
|
setWebhookUrl(val.trim());
|
|
3930
3945
|
};
|
|
3931
3946
|
const downloadEnvironmentFile = (pubKey, secKey) => {
|
|
3932
|
-
const envContent = `
|
|
3933
|
-
|
|
3947
|
+
const envContent = `PUBLIC_KEY="${pubKey}"
|
|
3948
|
+
SECRET_KEY="${secKey}"
|
|
3934
3949
|
`;
|
|
3935
3950
|
const blob = new Blob([envContent], { type: "text/plain" });
|
|
3936
3951
|
const url = URL.createObjectURL(blob);
|
|
3937
3952
|
const link = document.createElement("a");
|
|
3938
3953
|
link.href = url;
|
|
3939
|
-
link.download = "
|
|
3954
|
+
link.download = "retina-keys.txt";
|
|
3940
3955
|
document.body.appendChild(link);
|
|
3941
3956
|
link.click();
|
|
3942
3957
|
document.body.removeChild(link);
|
|
@@ -4095,7 +4110,7 @@ var MedicalFeatureStatsBlock = ({
|
|
|
4095
4110
|
sizes: "48px",
|
|
4096
4111
|
className: "object-cover"
|
|
4097
4112
|
}
|
|
4098
|
-
)))), /* @__PURE__ */ import_react71.default.createElement("p", { className: "text-[12px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react71.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react71.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "flex items-center
|
|
4113
|
+
)))), /* @__PURE__ */ import_react71.default.createElement("p", { className: "text-[12px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react71.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react71.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react71.default.createElement("div", { className: "flex items-center border border-neutral-100 rounded-full p-0.5 mb-6" }, /* @__PURE__ */ import_react71.default.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react71.default.createElement("div", { className: "text-6xl gradient-text md:text-[80px] font-light tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
|
|
4099
4114
|
};
|
|
4100
4115
|
|
|
4101
4116
|
// src/components/ConsultantShowcase.tsx
|
package/dist/index.mjs
CHANGED
|
@@ -659,7 +659,7 @@ var HeroSection = ({
|
|
|
659
659
|
className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 outline-none transition-colors"
|
|
660
660
|
},
|
|
661
661
|
secondaryCtaText
|
|
662
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React7.createElement("div", { className: "w-full flex flex-col items-center mb-12 md:mb-16" }, appsText && /* @__PURE__ */ React7.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-400 uppercase mb-5" }, appsText), /* @__PURE__ */ React7.createElement("div", { className: "flex flex-wrap justify-center items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React7.createElement("div", { key: idx, className: "relative h-
|
|
662
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React7.createElement("div", { className: "w-full flex flex-col items-center mb-12 md:mb-16" }, appsText && /* @__PURE__ */ React7.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-400 uppercase mb-5" }, appsText), /* @__PURE__ */ React7.createElement("div", { className: "flex flex-wrap justify-center items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React7.createElement("div", { key: idx, className: "relative h-5 w-5 flex items-center justify-center cursor-default" }, /* @__PURE__ */ React7.createElement(
|
|
663
663
|
Image2,
|
|
664
664
|
{
|
|
665
665
|
src: logo.src,
|
|
@@ -1052,9 +1052,11 @@ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ React14.createElement("s
|
|
|
1052
1052
|
var ManagedPricingBlock = ({
|
|
1053
1053
|
tagline,
|
|
1054
1054
|
title,
|
|
1055
|
-
plans
|
|
1055
|
+
plans = [],
|
|
1056
|
+
tabs
|
|
1056
1057
|
}) => {
|
|
1057
1058
|
const [isAnimating, setIsAnimating] = useState10(false);
|
|
1059
|
+
const [activeTabIndex, setActiveTabIndex] = useState10(0);
|
|
1058
1060
|
const titleRef = useRef7(null);
|
|
1059
1061
|
useEffect8(() => {
|
|
1060
1062
|
const observer = new IntersectionObserver(
|
|
@@ -1074,25 +1076,38 @@ var ManagedPricingBlock = ({
|
|
|
1074
1076
|
}
|
|
1075
1077
|
return () => observer.disconnect();
|
|
1076
1078
|
}, []);
|
|
1079
|
+
const hasTabs = tabs && tabs.length > 0;
|
|
1080
|
+
const currentPlans = hasTabs ? tabs[activeTabIndex].plans : plans;
|
|
1077
1081
|
return /* @__PURE__ */ React14.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React14.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ React14.createElement("div", { className: "w-full flex flex-col items-center text-center mb-12" }, tagline && /* @__PURE__ */ React14.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block uppercase" }, tagline), /* @__PURE__ */ React14.createElement(
|
|
1078
1082
|
"h1",
|
|
1079
1083
|
{
|
|
1080
1084
|
ref: titleRef,
|
|
1081
|
-
className: `
|
|
1085
|
+
className: `text-2xl sm:text-3xl mt-3 text-black tracking-tight ${isAnimating ? "" : ""}`,
|
|
1082
1086
|
style: isAnimating ? { animationIterationCount: 1 } : {}
|
|
1083
1087
|
},
|
|
1084
1088
|
title
|
|
1085
|
-
)), /* @__PURE__ */ React14.createElement("div", { className: "
|
|
1089
|
+
)), hasTabs && /* @__PURE__ */ React14.createElement("div", { className: "flex items-center justify-center mb-10 w-full animate-in fade-in duration-300" }, /* @__PURE__ */ React14.createElement("div", { className: "flex items-center bg-white rounded-full p-1.5 shadow-sm max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
|
|
1090
|
+
const isActive = activeTabIndex === idx;
|
|
1091
|
+
return /* @__PURE__ */ React14.createElement(
|
|
1092
|
+
"button",
|
|
1093
|
+
{
|
|
1094
|
+
key: idx,
|
|
1095
|
+
onClick: () => setActiveTabIndex(idx),
|
|
1096
|
+
className: `px-6 py-2 rounded-full text-xs transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${isActive ? "bg-neutral-50 text-black font-medium border border-neutral-200/50" : "text-neutral-500 hover:text-black hover:bg-neutral-50/50 border border-transparent"}`
|
|
1097
|
+
},
|
|
1098
|
+
tab.label
|
|
1099
|
+
);
|
|
1100
|
+
}))), /* @__PURE__ */ React14.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl animate-in slide-in-from-bottom-2 fade-in duration-500" }, currentPlans.map((plan, planIdx) => /* @__PURE__ */ React14.createElement(
|
|
1086
1101
|
"div",
|
|
1087
1102
|
{
|
|
1088
|
-
key: planIdx
|
|
1089
|
-
className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden ${plan.isPremium ? "" : ""}`
|
|
1103
|
+
key: `${activeTabIndex}-${planIdx}`,
|
|
1104
|
+
className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden transition-all duration-300 ${plan.isPremium ? "" : ""}`
|
|
1090
1105
|
},
|
|
1091
|
-
/* @__PURE__ */ React14.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React14.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ React14.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ React14.createElement("span", { className: "text-5xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ React14.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ React14.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ React14.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ React14.createElement(
|
|
1106
|
+
/* @__PURE__ */ React14.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React14.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ React14.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ React14.createElement("span", { className: "text-5xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ React14.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ React14.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ React14.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ React14.createElement(
|
|
1092
1107
|
"div",
|
|
1093
1108
|
{
|
|
1094
1109
|
key: logoIdx,
|
|
1095
|
-
className: "relative w-5 h-5
|
|
1110
|
+
className: "relative w-5 h-5 overflow-hidden flex items-center justify-center shrink-0"
|
|
1096
1111
|
},
|
|
1097
1112
|
/* @__PURE__ */ React14.createElement(
|
|
1098
1113
|
Image5,
|
|
@@ -1109,7 +1124,7 @@ var ManagedPricingBlock = ({
|
|
|
1109
1124
|
Link5,
|
|
1110
1125
|
{
|
|
1111
1126
|
href: plan.ctaHref,
|
|
1112
|
-
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none"
|
|
1127
|
+
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
1113
1128
|
},
|
|
1114
1129
|
plan.ctaText
|
|
1115
1130
|
),
|
|
@@ -1636,7 +1651,7 @@ var ECOSYSTEM_APPS = [
|
|
|
1636
1651
|
{ id: "sheets", name: "Retina Sheets", description: "Advanced Spreadsheets", iconSrc: "https://retinalabs.company/assets/images/sheets.avif", url: "https://sheets.retinaapps.com/app" },
|
|
1637
1652
|
{ id: "drive", name: "Retina Drive", description: "Secure Cloud Storage", iconSrc: "https://retinalabs.company/assets/images/drive.avif", url: "https://drive.retinaapps.com/app" },
|
|
1638
1653
|
{ id: "calendar", name: "Retina Calendar", description: "Smart Scheduling", iconSrc: "https://retinalabs.company/assets/images/calendar.avif", url: "https://calendar.retinaapps.com/app" },
|
|
1639
|
-
{ id: "mail", name: "Retina Mail", description: "
|
|
1654
|
+
{ id: "mail", name: "Retina Mail", description: "Secure Email Inbox", iconSrc: "https://retinalabs.company/assets/images/mail.avif", url: "https://mail.retinaapps.com/app" }
|
|
1640
1655
|
];
|
|
1641
1656
|
var UniversalSidebar = ({
|
|
1642
1657
|
navItems,
|
|
@@ -1826,7 +1841,7 @@ var UniversalSidebar = ({
|
|
|
1826
1841
|
{
|
|
1827
1842
|
key: app.id,
|
|
1828
1843
|
href: app.url,
|
|
1829
|
-
className: `w-full text-left p-3 flex items-center gap-4 rounded-xl transition-all outline-none ${isActive ? "
|
|
1844
|
+
className: `w-full text-left p-3 flex items-center gap-4 rounded-xl transition-all outline-none ${isActive ? " bg-neutral-50" : "hover:bg-neutral-50 border border-transparent"}`
|
|
1830
1845
|
},
|
|
1831
1846
|
/* @__PURE__ */ React25.createElement(
|
|
1832
1847
|
"img",
|
|
@@ -2335,7 +2350,7 @@ var UniversalMembersPage = ({
|
|
|
2335
2350
|
},
|
|
2336
2351
|
/* @__PURE__ */ React28.createElement(HugeiconsIcon15, { icon: UserAdd01Icon, size: 12 }),
|
|
2337
2352
|
"Add Member"
|
|
2338
|
-
)), currentView !== "list" && /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col items-start gap-3" }, /* @__PURE__ */ React28.createElement("button", { onClick: goBack, className: "text-[10px] text-neutral-400 hover:text-black tracking-[0.2em] flex items-center gap-1.5 transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon3, size: 12 }), " Back"), /* @__PURE__ */ React28.createElement("h1", { className: " text-lg text-black tracking-tight" }, currentView === "invite" ? "Add New Member" : "Member Profile"))), currentView === "list" && /* @__PURE__ */ React28.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React28.createElement(PageSpinner2, null) : /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React28.createElement("div", { className: "divide-y divide-neutral-100" }, members.map((member) => /* @__PURE__ */ React28.createElement(
|
|
2353
|
+
)), currentView !== "list" && /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col items-start gap-3" }, /* @__PURE__ */ React28.createElement("button", { onClick: goBack, className: "text-[10px] text-neutral-400 hover:text-black tracking-[0.2em] flex items-center gap-1.5 transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon3, size: 12 }), " Back"), /* @__PURE__ */ React28.createElement("h1", { className: " text-lg text-black tracking-tight" }, currentView === "invite" ? "Add New Member" : "Member Profile"))), currentView === "list" && /* @__PURE__ */ React28.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React28.createElement(PageSpinner2, null) : /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React28.createElement("div", { className: "divide-y divide-neutral-100" }, members.length === 0 ? /* @__PURE__ */ React28.createElement("p", { className: "text-xs text-neutral-500 py-6 text-center" }, "No organization member") : members.map((member) => /* @__PURE__ */ React28.createElement(
|
|
2339
2354
|
"div",
|
|
2340
2355
|
{
|
|
2341
2356
|
key: member.id,
|
|
@@ -3892,14 +3907,14 @@ var UniversalDeveloperSettings = ({
|
|
|
3892
3907
|
setWebhookUrl(val.trim());
|
|
3893
3908
|
};
|
|
3894
3909
|
const downloadEnvironmentFile = (pubKey, secKey) => {
|
|
3895
|
-
const envContent = `
|
|
3896
|
-
|
|
3910
|
+
const envContent = `PUBLIC_KEY="${pubKey}"
|
|
3911
|
+
SECRET_KEY="${secKey}"
|
|
3897
3912
|
`;
|
|
3898
3913
|
const blob = new Blob([envContent], { type: "text/plain" });
|
|
3899
3914
|
const url = URL.createObjectURL(blob);
|
|
3900
3915
|
const link = document.createElement("a");
|
|
3901
3916
|
link.href = url;
|
|
3902
|
-
link.download = "
|
|
3917
|
+
link.download = "retina-keys.txt";
|
|
3903
3918
|
document.body.appendChild(link);
|
|
3904
3919
|
link.click();
|
|
3905
3920
|
document.body.removeChild(link);
|
|
@@ -4058,7 +4073,7 @@ var MedicalFeatureStatsBlock = ({
|
|
|
4058
4073
|
sizes: "48px",
|
|
4059
4074
|
className: "object-cover"
|
|
4060
4075
|
}
|
|
4061
|
-
)))), /* @__PURE__ */ React43.createElement("p", { className: "text-[12px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React43.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React43.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React43.createElement("div", { className: "flex items-center
|
|
4076
|
+
)))), /* @__PURE__ */ React43.createElement("p", { className: "text-[12px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React43.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React43.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React43.createElement("div", { className: "flex items-center border border-neutral-100 rounded-full p-0.5 mb-6" }, /* @__PURE__ */ React43.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React43.createElement("div", { className: "text-6xl gradient-text md:text-[80px] font-light tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
|
|
4062
4077
|
};
|
|
4063
4078
|
|
|
4064
4079
|
// src/components/ConsultantShowcase.tsx
|