@srimandir/kundli-generator 5.30.2 → 5.30.4
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/{analytics-Deq0Kl4U.js → analytics-DL-R30Zw.js} +9 -9
- package/dist/{analytics-Deq0Kl4U.js.map → analytics-DL-R30Zw.js.map} +1 -1
- package/dist/components/KundliPage/KundliPageVariant.d.ts +0 -5
- package/dist/components/KundliThreeSkuPage/KundliThreeSkuPage.d.ts +2 -0
- package/dist/criticalCss-fMFN3vjg.js +1201 -0
- package/dist/criticalCss-fMFN3vjg.js.map +1 -0
- package/dist/form-entry.js +1 -1
- package/dist/kundli-generator.js +874 -25
- package/dist/kundli-generator.js.map +1 -1
- package/dist/page-entry.js +2 -2
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/criticalCss-lKR-u5PY.js +0 -1974
- package/dist/criticalCss-lKR-u5PY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kundli-generator.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
1
|
+
{"version":3,"file":"kundli-generator.js","sources":["../src/components/KundliPage/sections/KundliTableSection/KundliTableSection.constants.tsx","../src/components/KundliPage/sections/KundliTableSection/KundliTableSection.tsx","../src/components/ThreeSkuPlanBottomSheet/ThreeSkuAstrologerCard.tsx","../src/components/ThreeSkuPlanBottomSheet/ThreeSkuAstrologerProfiles.ts","../src/components/ThreeSkuPlanBottomSheet/constants.ts","../src/components/ThreeSkuPlanBottomSheet/ThreeSkuPlanBottomSheet.icons.tsx","../src/components/ThreeSkuPlanBottomSheet/ThreeSkuPlanBottomSheet.tsx","../src/components/KundliThreeSkuPage/KundliThreeSkuPage.tsx"],"sourcesContent":["// @ts-ignore\nexport const DEFAULT_SAMPLE_URL =\n \"https://srm-cdn.a4b.io/yoda/1773317492292.pdf\";\n\nexport type Cell = \"check\" | \"cross\";\n\nexport const rows: Array<{ label: string; values: [Cell, Cell, Cell] }> = [\n { label: \"Personalised\\nReport\", values: [\"check\", \"check\", \"check\"] },\n { label: \"Remedies:\\ngemstone,\\npujas\", values: [\"check\", \"check\", \"check\"] },\n { label: \"Detailed\\nquestion to\\nexpert\", values: [\"cross\", \"check\", \"check\"] },\n { label: \"Relationship\\nmanager\", values: [\"cross\", \"cross\", \"check\"] },\n { label: \"30-min\\nastrologer\\ncall\", values: [\"cross\", \"cross\", \"check\"] },\n];\n\nexport const CheckIcon = () => (\n <span className=\"inline-flex h-6 w-6 items-center justify-center rounded-full bg-[#14946b] font-bold text-white\">\n ✓\n </span>\n);\n\nexport const CrossIcon = () => (\n <span className=\"inline-flex h-6 w-6 items-center justify-center rounded-full bg-[#e23f4e] font-bold text-white\">\n ✕\n </span>\n);\n\nexport const TrendUpIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\" />\n <polyline points=\"17 6 23 6 23 12\" />\n </svg>\n);\n\nexport const SampleReportArrowIcon = () => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden\n >\n <path\n d=\"M8 4L16 12L8 20\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n","import {\n DEFAULT_SAMPLE_URL,\n rows,\n CheckIcon,\n CrossIcon,\n TrendUpIcon,\n SampleReportArrowIcon,\n} from \"./KundliTableSection.constants\";\n\nexport interface KundliPackagesSectionProps {\n isGlobal?: boolean;\n kundliReportSampleHref?: string;\n oneQuestionSampleHref?: string;\n className?: string;\n}\n\nexport const KundliPackagesSection: React.FC<\n KundliPackagesSectionProps\n> = ({\n isGlobal = false,\n kundliReportSampleHref = DEFAULT_SAMPLE_URL,\n oneQuestionSampleHref = DEFAULT_SAMPLE_URL,\n className = \"\",\n}) => {\n const prices: [string, string, string] = isGlobal\n ? [\"$25\", \"$31\", \"$41\"]\n : [\"₹499\", \"₹749\", \"₹999\"];\n\n return (\n <section className={`bg-white px-3 py-4 ${className}`}>\n <h2 className=\"mb-3 text-center text-[18px] leading-6 text-[#f75e22] max-[380px]:text-[16px]\">\n Kundli Packages for you\n </h2>\n\n <div className=\"relative mt-5 rounded-[14px] border-[1.5px] border-[#e5ccb9] shadow-[0_4px_16px_rgba(111,58,17,0.08)]\">\n <table className=\"w-full table-fixed border-collapse\">\n <colgroup>\n <col className=\"w-1/4\" />\n <col className=\"w-1/4\" />\n <col className=\"w-1/4\" />\n <col className=\"w-1/4\" />\n </colgroup>\n\n <thead>\n <tr>\n <th className=\"h-[84px] box-border rounded-tl-[12px] align-middle border-r border-b border-[#e5ccb9] bg-[#fff6eb] py-2 pl-2 pr-1 text-left text-[12px] text-[#7b3f17]\">\n Unique Features\n </th>\n\n <th className=\"h-[84px] box-border align-middle border-r border-b border-[#e5ccb9] bg-[#fff6eb] px-1 py-2 text-center text-[11px] text-[#7b3f17]\">\n Kundli Report\n </th>\n\n <th className=\"h-[84px] box-border align-middle border-r border-b border-[#e5ccb9] bg-[#fff6eb] px-1 py-2 text-center text-[11px] text-[#7b3f17]\">\n Report + 1 Question\n <small className=\"mt-1 block text-[10px] font-normal italic\">\n (Answered by Astrologer)\n </small>\n </th>\n\n <th className=\"relative h-[84px] box-border rounded-tr-[12px] align-middle border-b border-[#e5ccb9] bg-[#fff8f1] px-1 pt-6 pb-2 text-center text-[11px] font-bold text-[#9a3f1b]\">\n <div className=\"absolute left-0 right-0 -top-[16px] z-2 flex items-center justify-center gap-1 whitespace-nowrap rounded-t-[12px] bg-[linear-gradient(180deg,#751139_0%,#D51F68_100%)] px-3 py-[6px] text-[11px] font-bold text-white shadow-[0_-4px_10px_rgba(187,42,93,0.2)]\">\n <TrendUpIcon />\n <span>Popular</span>\n </div>\n\n Report + 30 min consultation\n </th>\n </tr>\n </thead>\n\n <tbody>\n {rows.map((row) => (\n <tr key={row.label}>\n <td className=\"h-[64px] box-border border-r border-b border-[#e5ccb9] py-1 pl-2 text-left text-[11px] font-semibold text-[#7b3f17] align-middle leading-tight\">\n {row.label.split(\"\\n\").map((line) => (\n <div key={line}>{line}</div>\n ))}\n </td>\n\n {row.values.map((value, index) => (\n <td\n key={`${row.label}-${index}`}\n className={`h-[64px] box-border bg-white py-1 text-center border-b border-[#e5ccb9] align-middle ${\n index !== 2 ? \"border-r border-[#e5ccb9]\" : \"\"\n }`}\n >\n <div className=\"flex items-center justify-center\">\n {value === \"check\" ? <CheckIcon /> : <CrossIcon />}\n </div>\n </td>\n ))}\n </tr>\n ))}\n\n <tr className=\"bg-[#fff8ef]\">\n <td className=\"h-[64px] box-border border-r border-[#e5ccb9] py-1 pl-2 text-left text-[12px] font-semibold text-[#7b3f17] rounded-bl-[12px] align-middle\">\n Only for\n </td>\n\n {prices.map((price, index) => (\n <td\n key={price}\n className={`h-[64px] box-border bg-[#fff8ef] py-1 text-center align-middle ${\n index !== 2 ? \"border-r border-[#e5ccb9]\" : \"\"\n } ${index === 2 ? \"rounded-br-[12px]\" : \"\"}`}\n >\n <span className=\"text-[16px] text-[#9a3f1b] max-[380px]:text-[16px]\">\n {price}\n </span>\n </td>\n ))}\n </tr>\n </tbody>\n </table>\n </div>\n\n <h3 className=\"mt-5 mb-3 text-center text-[18px] font-bold leading-[1.1] text-[#f75e22] max-[380px]:text-[16px]\">\n View Sample Reports\n </h3>\n\n <div className=\"grid grid-cols-2 gap-[10px]\">\n <a\n href={kundliReportSampleHref}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"relative rounded-xl bg-[linear-gradient(180deg,#f97316_0%,#ea580c_100%)] p-5 pr-10 text-center text-[14px] font-semibold text-white no-underline shadow-[0_6px_14px_rgba(234,88,12,0.2)]\"\n >\n 200+ page Kundli Report\n <span className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2\" aria-hidden>\n <SampleReportArrowIcon />\n </span>\n </a>\n\n <a\n href={oneQuestionSampleHref}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"relative rounded-xl bg-[linear-gradient(180deg,#f97316_0%,#ea580c_100%)] p-5 pr-10 text-center text-[14px] font-semibold text-white no-underline shadow-[0_6px_14px_rgba(234,88,12,0.2)]\"\n >\n 1 Question Sample Report\n <span className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2\" aria-hidden>\n <SampleReportArrowIcon />\n </span>\n </a>\n </div>\n </section>\n );\n};\n\n","import type { KundliPlanAstrologer } from \"../KundliPlanBottomSheet/types\";\nimport styles from \"./ThreeSkuAstrologerCard.module.scss\";\n\nexport interface ThreeSkuAstrologerCardProps {\n astrologer: KundliPlanAstrologer;\n t?: (key: string, options?: any) => string;\n}\n\nexport const ThreeSkuAstrologerCard: React.FC<ThreeSkuAstrologerCardProps> = ({ astrologer, t }) => (\n <div className={styles.card}>\n <div className={styles.top}>\n <div className={styles.avatar} aria-hidden>\n {astrologer.imageUrl ? (\n <img src={astrologer.imageUrl} alt={t?.(astrologer.name) ?? astrologer.name} width={40} height={40} />\n ) : (\n <span className={styles.avatarPlaceholder}>{astrologer.name.charAt(0)}</span>\n )}\n </div>\n <div className={styles.basicInfo}>\n <p className={styles.name}>{t?.(astrologer.name) ?? astrologer.name}</p>\n <p className={styles.exp}>{t?.(astrologer.experience) ?? astrologer.experience}</p>\n {astrologer.languages && astrologer.languages.length > 0 && (\n <p className={styles.langs}>{astrologer.languages.map((lang) => t?.(lang) ?? lang).join(\" • \")}</p>\n )}\n </div>\n </div>\n\n <div className={styles.divider} />\n\n <div className={styles.certList}>\n {astrologer.certifications.map((cert, idx) => (\n <p key={idx} className={styles.certItem}>\n <span className={styles.bullet}>✓</span> {t?.(cert) ?? cert}\n </p>\n ))}\n </div>\n </div>\n);\n","export const THREE_SKU_ASTROLOGERS = [\n {\n id: \"jyoti\",\n name: \"Astro Sadhana\",\n imageUrl: \"https://srm-cdn.a4b.io/yoda/1773992823100.webp\",\n experience: \"21+ Years of experience\",\n languages: [\"Hindi\", \"English\", \"Telugu\"],\n certifications: [\n \"25+ Years Vedic Astrology\",\n \"Result-Oriented Spiritual Guidance\",\n ],\n },\n {\n id: \"samiksha\",\n name: \"Astro Samiksha\",\n imageUrl: \"https://srm-cdn.a4b.io/yoda/1773992841106.webp\",\n experience: \"21+ Years of experience\",\n languages: [\"Hindi\", \"English\", \"Telugu\"],\n certifications: [\n \"Certified Jyotish Acharya\",\n \"Guaranteed accurate solutions\",\n ],\n },\n {\n id: \"neeraj\",\n name: \"Astro Neeraj\",\n imageUrl: \"https://srm-cdn.a4b.io/yoda/1773992858276.webp\",\n experience: \"18+ Years of experience\",\n languages: [\"Hindi\", \"English\", \"Telugu\"],\n certifications: [\n \"BHU Certified Vedic Astrologer\",\n \"Mantra & Rudraksha Specialist\",\n ],\n },\n] as const;\n","import type { KundliPlan } from \"../KundliPlanBottomSheet/types\";\nimport { THREE_SKU_ASTROLOGERS } from \"./ThreeSkuAstrologerProfiles\";\n\n/**\n * Self-contained en/hi strings for the 3-SKU experiment bottom sheet.\n */\nexport const THREE_SKU_STRINGS = {\n en: {\n planSheetTitle: \"Choose your Kundli Plan\",\n planProceedToPayment: \"Proceed to Payment\",\n planAstrologerHeading: \"Top astrologers who will consult you\",\n planMostPopular: \"Most popular\",\n planNameBasic: \"Kundli Report\",\n planNameQuestion: \"Kundli + 1 Question\",\n planNameGuidance: \"Kundli + Consultation\",\n planSaveLabel: \"Save ~25%\",\n planFeatureDetailedInsights: \"Detailed insights on love, marriage, career, health & finances\",\n planFeaturePracticalRemedies: \"Practical remedies like gemstones, rudraksha & mantras\",\n planFeatureClearLanguage: \"Clear, easy-to-understand language by expert astrologers\",\n planFeatureAstrologyConsultant: \"Astrology consultant\",\n planFeaturePersonalizedReading: \"Personalized reading\",\n planFeatureIncludesPremium: \"Includes everything in the Premium Personalized Kundli\",\n planFeatureExpertAnswers: \"PLUS: Expert Astrologer will answer your question in detail and suggest actionable remedies\",\n planFeatureFollowUpQuestions: \"Go deeper into asking follow up questions\",\n planFeatureNoConsultation: \"No personal consultation call\",\n planFeaturePlusConsultation: \"PLUS: A 30-minute private consultation with an expert astrologer\",\n planFeatureRealTimeAnswers: \"Get real-time answers & guidance for your biggest life concerns\",\n planFeatureTailoredRemedies: \"Remedies & timelines tailored to your unique birth chart\",\n planQuestionLabel: \"Ask your Question\",\n planQuestionHeader: \"Ask our top astrologers\",\n planQuestionPlaceholder: \"Ask follow up question\",\n planQuestionHint: \"Please enter your question to continue.\",\n planQuestionChip1: \"When will I get married?\",\n planQuestionChip2: \"Will my marriage be love, arranged, or both?\",\n planQuestionChip3: \"Is there any Dosha in my Kundli?\",\n planQuestionChip4: \"Is my current relationship right for me?\",\n planAstrologerExp: \"{{years}} Years of experience\",\n },\n hi: {\n planSheetTitle: \"अपनी कुंडली प्लान चुनें\",\n planProceedToPayment: \"पेमेंट करें\",\n planAstrologerHeading: \"हम आपके लिए नीचे दिए गए टॉप ज्योतिषियों में से एक को चुनेंगे\",\n planMostPopular: \"सबसे लोकप्रिय\",\n planNameBasic: \"कुंडली रिपोर्ट\",\n planNameQuestion: \"कुंडली + 1 सवाल\",\n planNameGuidance: \"कुंडली रिपोर्ट + ज्योतिषी से बात\",\n planSaveLabel: \"~25% बचाएं\",\n planFeatureDetailedInsights: \"प्यार, विवाह, करियर, स्वास्थ्य और वित्त पर गहरी जानकारी\",\n planFeaturePracticalRemedies: \"रत्न, रुद्राक्ष और मंत्रों जैसे व्यावहारिक उपाय\",\n planFeatureClearLanguage: \"विशेषज्ञ ज्योतिषियों द्वारा स्पष्ट और आसान भाषा में\",\n planFeatureAstrologyConsultant: \"ज्योतिषी से बात नहीं होगी\",\n planFeaturePersonalizedReading: \"आपके लिए खास रीडिंग\",\n planFeatureIncludesPremium: \"प्रीमियम कुंडली रिपोर्ट में जो कुछ भी है, सब मिलेगा\",\n planFeatureExpertAnswers: \"PLUS: विशेषज्ञ ज्योतिषी आपके सवाल का विस्तार से जवाब देंगे और समाधान बताएंगे\",\n planFeatureFollowUpQuestions: \"आगे के सवाल पूछने की सुविधा\",\n planFeatureNoConsultation: \"कोई व्यक्तिगत परामर्श कॉल नहीं\",\n planFeaturePlusConsultation: \"साथ ही: एक अनुभवी ज्योतिषी से 30 मिनट की प्राइवेट बात\",\n planFeatureRealTimeAnswers: \"अपनी सबसे बड़ी परेशानियों का सीधा जवाब और सही सलाह पाएं\",\n planFeatureTailoredRemedies: \"आपकी कुंडली के हिसाब से उपाय और सही समय की जानकारी\",\n planQuestionLabel: \"अपना सवाल पूछें\",\n planQuestionHeader: \"अपने सवाल हमारे टॉप ज्योतिषियों से पूछें\",\n planQuestionPlaceholder: \"फॉलो अप सवाल लिखें\",\n planQuestionHint: \"जारी रखने के लिए अपना सवाल लिखें।\",\n planQuestionChip1: \"मेरी शादी कब होगी?\",\n planQuestionChip2: \"मेरी शादी प्रेम, अरेंज, या दोनों में से कैसी होगी?\",\n planQuestionChip3: \"क्या मेरी कुंडली में कोई दोष है?\",\n planQuestionChip4: \"क्या मेरा मौजूदा रिश्ता मेरे लिए सही है?\",\n planAstrologerExp: \"साल का अनुभव\",\n },\n} as const;\n\nexport type ThreeSkuLocale = keyof typeof THREE_SKU_STRINGS;\n\nexport interface ThreeSkuPlan extends KundliPlan {\n supportsQuestion?: boolean;\n}\n\nexport const getThreeSkuDefaultPlans = (isGlobal: boolean): ThreeSkuPlan[] => {\n const base: ThreeSkuPlan[] = [\n {\n id: \"kundli-report\",\n title: \"planNameBasic\",\n price: isGlobal ? \"$25\" : \"₹499\",\n features: [\n { text: \"planFeatureDetailedInsights\", included: true },\n { text: \"planFeaturePracticalRemedies\", included: true },\n { text: \"planFeatureClearLanguage\", included: true },\n { text: \"planFeatureAstrologyConsultant\", included: false },\n { text: \"planFeaturePersonalizedReading\", included: false },\n ],\n },\n {\n id: \"kundli-report-question\",\n title: \"planNameQuestion\",\n price: isGlobal ? \"$31\" : \"₹749\",\n supportsQuestion: true,\n features: [\n { text: \"planFeatureIncludesPremium\", included: true },\n { text: \"planFeatureExpertAnswers\", included: true },\n { text: \"planFeatureFollowUpQuestions\", included: true },\n { text: \"planFeatureNoConsultation\", included: false },\n ],\n },\n {\n id: \"kundli-report-astrologer\",\n title: \"planNameGuidance\",\n price: isGlobal ? \"$41\" : \"₹999\",\n originalPrice: isGlobal ? \"$25+$25\" : \"₹499+₹850\",\n savingsLabel: \"planSaveLabel\",\n badge: \"planMostPopular\",\n features: [\n { text: \"planFeatureIncludesPremium\", included: true },\n { text: \"planFeaturePlusConsultation\", included: true },\n { text: \"planFeatureRealTimeAnswers\", included: true },\n { text: \"planFeatureTailoredRemedies\", included: true },\n ],\n astrologers: THREE_SKU_ASTROLOGERS.filter((a) =>\n [\"jyoti\", \"samiksha\", \"neeraj\", \"ashwini\"].includes(a.id)\n ) as any,\n },\n ];\n\n return base;\n};\n\nexport const CHIP_KEYS = [\n \"planQuestionChip1\",\n \"planQuestionChip2\",\n \"planQuestionChip3\",\n \"planQuestionChip4\",\n] as const;\n\nexport const TOP_ASTROLOGER_AVATARS = THREE_SKU_ASTROLOGERS.slice(0, 3).map((a) => ({\n id: a.id,\n imageUrl: a.imageUrl,\n name: a.name,\n}));\n\nexport const MAX_QUESTION_LENGTH = 5000;\nexport const MAX_TEXTAREA_HEIGHT_PX = 84;\n","export const IncludedFeatureIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path d=\"M8 1.5C11.5901 1.5 14.5 4.40986 14.5 8C14.5 11.5901 11.5901 14.5 8 14.5C4.40986 14.5 1.5 11.5901 1.5 8C1.5 4.40986 4.40986 1.5 8 1.5ZM11.71 5.6709C11.5284 5.46331 11.2128 5.44187 11.0049 5.62305L6.75 9.33594L4.99609 7.80469C4.78809 7.62318 4.47163 7.64562 4.29004 7.85352C4.10887 8.06152 4.13011 8.37711 4.33789 8.55859L6.42188 10.377C6.61019 10.5409 6.89091 10.5411 7.0791 10.377L11.6621 6.37695C11.8699 6.1954 11.8913 5.87889 11.71 5.6709Z\" fill=\"#159169\"/>\n </svg>\n);\n\nexport const ExcludedFeatureIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path d=\"M8 1.38086C11.6558 1.38086 14.619 4.34424 14.6191 8C14.6191 11.6559 11.6559 14.6191 8 14.6191C4.34424 14.619 1.38086 11.6558 1.38086 8C1.38101 4.34433 4.34433 1.38101 8 1.38086ZM11.1055 4.89648C10.8637 4.65473 10.4712 4.65473 10.2295 4.89648L8 7.125L5.77148 4.89648C5.52973 4.65473 5.13824 4.65473 4.89648 4.89648C4.65473 5.13824 4.65473 5.52973 4.89648 5.77148L7.125 8L4.89648 10.2295C4.65473 10.4712 4.65473 10.8637 4.89648 11.1055C5.13819 11.3464 5.52994 11.3467 5.77148 11.1055L8 8.87598L10.2295 11.1055C10.4713 11.3467 10.8639 11.347 11.1055 11.1055C11.347 10.8639 11.3467 10.4713 11.1055 10.2295L8.87598 8L11.1055 5.77148C11.3467 5.52994 11.3464 5.13819 11.1055 4.89648Z\" fill=\"#D93640\"/>\n </svg>\n);\n\nexport const TrendUpIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\" />\n <polyline points=\"17 6 23 6 23 12\" />\n </svg>\n);\n","import { useState, useRef, useMemo, useCallback, useEffect } from \"react\";\nimport type { KundliPlan, KundliPlanAstrologer } from \"../KundliPlanBottomSheet/types\";\nimport { ChevronLeftIcon } from \"../KundliPlanBottomSheet/PlanIcons\";\nimport { ThreeSkuAstrologerCard } from \"./ThreeSkuAstrologerCard\";\nimport {\n THREE_SKU_STRINGS,\n getThreeSkuDefaultPlans,\n CHIP_KEYS,\n TOP_ASTROLOGER_AVATARS,\n MAX_QUESTION_LENGTH,\n MAX_TEXTAREA_HEIGHT_PX,\n} from \"./constants\";\nimport type { ThreeSkuLocale, ThreeSkuPlan } from \"./constants\";\nimport { IncludedFeatureIcon, ExcludedFeatureIcon, TrendUpIcon } from \"./ThreeSkuPlanBottomSheet.icons\";\n\n\n/**\n * Analytics interface for the 3-SKU experiment bottom sheet.\n * Extends the base plan analytics with question-specific tracking methods.\n * Intentionally defined here so this component has zero dependency on\n * the base KundliAnalytics interface.\n */\nexport interface ThreeSkuAnalytics {\n trackPlanPageViewed?(): void;\n trackPlanPageClosed?(): void;\n trackPlanSelected?(params: { planId: string; planName: string }): void;\n trackPlanProceedClicked?(params: {\n planId: string;\n planName: string;\n question_asked?: boolean;\n question_text?: string;\n question_source?: \"chip\" | \"custom\" | \"chip_edited\";\n }): void;\n trackQuestionTextboxClicked?(params: {\n entry_method: \"tap\" | \"keyboard_focus\";\n textbox_empty: boolean;\n }): void;\n trackPreSuggestedQuestionSelected?(params: {\n question_text_loaded: string;\n chip_index: number;\n previous_chip_index: number | null;\n user_had_custom_text: boolean;\n }): void;\n}\n\n\nexport interface ThreeSkuPlanBottomSheetProps {\n isOpen: boolean;\n onClose: () => void;\n selectedPlan: ThreeSkuPlan | null;\n onSelectPlan: (plan: ThreeSkuPlan) => void;\n onProceed: (plan: ThreeSkuPlan, question?: string) => void;\n plans?: ThreeSkuPlan[];\n /** Whether the user is on the international (global) flow. Used for default plan pricing. */\n isGlobal?: boolean;\n /** Locale for built-in translations. Defaults to \"en\". Falls back to the passed `t` prop for any key not found locally. */\n locale?: ThreeSkuLocale;\n t?: (key: string) => string;\n analytics?: ThreeSkuAnalytics;\n}\n\nexport const ThreeSkuPlanBottomSheet: React.FC<ThreeSkuPlanBottomSheetProps> = ({\n isOpen,\n onClose,\n selectedPlan,\n onSelectPlan,\n plans,\n onProceed,\n locale = \"en\",\n t,\n analytics,\n isGlobal = true,\n}) => {\n /** Resolve a string key: local map → passed t → raw key */\n const localT = useCallback((key: string): string => {\n const map = THREE_SKU_STRINGS[locale] ?? THREE_SKU_STRINGS.en;\n return (map as Record<string, string>)[key] ?? t?.(key) ?? key;\n }, [locale, t]);\n const finalPlans = useMemo<ThreeSkuPlan[]>(() => {\n return (plans ?? getThreeSkuDefaultPlans(isGlobal)) as ThreeSkuPlan[];\n }, [plans, isGlobal]);\n\n const selectedId =\n selectedPlan?.id ||\n finalPlans.find((p: ThreeSkuPlan) => p.badge)?.id ||\n finalPlans[0]?.id ||\n \"\";\n\n const sheetRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const hasTrackedViewRef = useRef<boolean>(false);\n\n const [questionDraft, setQuestionDraft] = useState(\"\");\n const [questionSource, setQuestionSource] = useState<\n \"custom\" | \"chip\" | \"chip_edited\"\n >(\"custom\");\n const [lastChipIndex, setLastChipIndex] = useState<number | null>(null);\n const [showDisabledHint, setShowDisabledHint] = useState(false);\n const hasTrackedFocusRef = useRef(false);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const currentPlan = useMemo<ThreeSkuPlan>(() => {\n return finalPlans.find((p: ThreeSkuPlan) => p.id === selectedId) ?? finalPlans[0];\n }, [finalPlans, selectedId]);\n\n const isQuestionPlan = Boolean(currentPlan?.supportsQuestion);\n const canProceed = !isQuestionPlan || questionDraft.trim().length > 0;\n\n const adjustHeight = useCallback(() => {\n const ta = textareaRef.current;\n if (!ta) return;\n ta.style.height = \"auto\";\n ta.style.height =\n Math.min(ta.scrollHeight, MAX_TEXTAREA_HEIGHT_PX) + \"px\";\n }, []);\n\n useEffect(() => {\n if (isOpen) {\n if (!selectedPlan) {\n const defaultPlan = finalPlans.find((p: ThreeSkuPlan) => p.badge) ?? finalPlans[0];\n if (defaultPlan) {\n onSelectPlan(defaultPlan);\n }\n }\n if (!hasTrackedViewRef.current) {\n analytics?.trackPlanPageViewed?.();\n hasTrackedViewRef.current = true;\n }\n } else {\n hasTrackedViewRef.current = false;\n }\n }, [isOpen, finalPlans, selectedPlan, onSelectPlan, analytics]);\n\n const handleClose = () => {\n analytics?.trackPlanPageClosed?.();\n onClose();\n };\n\n /* Lock body scroll while sheet is open */\n useEffect(() => {\n if (!isOpen) return;\n const previous = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n return () => {\n document.body.style.overflow = previous;\n };\n }, [isOpen]);\n\n const handleQuestionFocus = (method: \"tap\" | \"keyboard_focus\") => {\n if (hasTrackedFocusRef.current) return;\n hasTrackedFocusRef.current = true;\n analytics?.trackQuestionTextboxClicked?.({\n entry_method: method,\n textbox_empty: questionDraft.length === 0,\n });\n };\n\n const handleQuestionChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const val = e.target.value.slice(0, MAX_QUESTION_LENGTH);\n if (\n questionSource === \"chip\" &&\n val !== localT(CHIP_KEYS[lastChipIndex ?? 0])\n ) {\n setQuestionSource(\"chip_edited\");\n }\n setQuestionDraft(val);\n adjustHeight();\n if (showDisabledHint) setShowDisabledHint(false);\n };\n\n const handleChipClick = (key: string, idx: number) => {\n const chipText = localT(key);\n const hadCustomText = questionDraft.length > 0 && questionSource !== \"chip\";\n analytics?.trackPreSuggestedQuestionSelected?.({\n question_text_loaded: chipText,\n chip_index: idx,\n previous_chip_index: lastChipIndex,\n user_had_custom_text: hadCustomText,\n });\n setQuestionDraft(chipText);\n setQuestionSource(\"chip\");\n setLastChipIndex(idx);\n hasTrackedFocusRef.current = false;\n setTimeout(adjustHeight, 0);\n };\n\n const handleProceedClick = () => {\n if (!currentPlan) return;\n\n if (isQuestionPlan && !questionDraft.trim()) {\n setShowDisabledHint(true);\n return;\n }\n\n analytics?.trackPlanProceedClicked?.({\n planId: currentPlan.id,\n planName: currentPlan.title,\n question_asked: isQuestionPlan ? true : undefined,\n question_text: isQuestionPlan ? questionDraft.trim() : undefined,\n question_source: isQuestionPlan ? questionSource : undefined,\n });\n\n onProceed(currentPlan, isQuestionPlan ? questionDraft.trim() : undefined);\n onClose();\n };\n\n if (!isOpen) return null;\n\n return (\n <>\n <style>{`\n @keyframes three-sku-slide-up {\n from { transform: translateY(100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n @keyframes three-sku-shimmer {\n 0% { left: -75%; }\n 60% { left: 125%; }\n 100% { left: 125%; }\n }\n `}</style>\n\n <div\n className=\"fixed inset-0 z-[1000] flex items-end justify-center\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={localT(\"planSheetTitle\")}\n >\n <div\n ref={sheetRef}\n className=\"pt-8 w-full max-w-[480px] h-dvh max-h-dvh bg-white flex flex-col overflow-hidden\"\n style={{ animation: 'three-sku-slide-up 0.28s cubic-bezier(0.32, 0.72, 0, 1)' }}\n >\n <div className=\"flex items-center gap-2 px-4 pt-3 pb-1 sticky top-0 bg-white z-[2]\">\n <button\n type=\"button\"\n onClick={handleClose}\n aria-label=\"Go back\"\n className=\"w-8 h-8 rounded-full bg-transparent border-0 flex items-center justify-center text-gray-700 hover:bg-gray-100\"\n >\n <ChevronLeftIcon />\n </button>\n <h2 className=\"flex-1 text-[22px] text-gray-900 m-0 pr-8\">\n {localT(\"planSheetTitle\")}\n </h2>\n </div>\n\n {/* ── Scrollable content ── */}\n <div className=\"flex-1 overflow-y-auto px-4 pt-4 pb-4\" ref={contentRef}>\n <h3 className=\"m-0 mb-5 text-[22px] leading-snug text-gray-900\">\n {localT(currentPlan?.title ?? \"\")}\n </h3>\n {/* Feature list wrapped in a rounded bordered card to match design */}\n <div className=\"rounded-2xl border border-gray-200 bg-white px-4 py-3 shadow-[0_2px_8px_rgba(17,24,39,0.06)]\">\n {currentPlan && (\n <ul className=\"list-none m-0 p-0 flex flex-col gap-2\" aria-label=\"Plan features\">\n {currentPlan.features.map((feature, idx) => (\n <li key={idx} className=\"flex items-start gap-3\">\n <span className=\"shrink-0 mt-[1px]\">\n {feature.included ? <IncludedFeatureIcon /> : <ExcludedFeatureIcon />}\n </span>\n <span className=\"text-[12px] leading-[1.4] text-gray-700\">\n {localT(feature.text)}\n </span>\n </li>\n ))}\n </ul>\n )}\n </div>\n\n {/* Question input — only shown for supportsQuestion plans */}\n {isQuestionPlan && (\n <div className=\"mt-4 flex flex-col gap-2\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex -space-x-2\" aria-hidden>\n {TOP_ASTROLOGER_AVATARS.map((astrologer) => (\n <span\n key={astrologer.id}\n className=\"inline-flex h-8 w-8 items-center justify-center overflow-hidden rounded-full border-2 border-white bg-gray-100\"\n >\n {astrologer.imageUrl ? (\n <img\n src={astrologer.imageUrl}\n alt=\"\"\n className=\"h-full w-full object-cover\"\n loading=\"lazy\"\n />\n ) : (\n <span className=\"text-[10px] font-semibold text-gray-600\">\n {localT(astrologer.name).slice(0, 1)}\n </span>\n )}\n </span>\n ))}\n </div>\n <p className=\"m-0 text-[14px] font-semibold text-gray-900\">{localT(\"planQuestionHeader\")}</p>\n </div>\n <label className=\"text-[14px] font-semibold text-gray-900\" htmlFor=\"kundli-question\">\n {localT(\"planQuestionLabel\")}\n <span className=\"text-[#e05c2a] ml-0.5\">*</span>\n </label>\n <textarea\n id=\"kundli-question\"\n ref={textareaRef}\n className=\"w-full min-h-[44px] max-h-[84px] resize-none overflow-y-auto border-[1.5px] border-[#F99724] rounded-[10px] px-4 py-3 text-left text-[14px] text-gray-900 leading-5 box-border outline-none focus:border-[#e05c2a] focus:shadow-[0_0_0_3px_rgba(224,92,42,0.12)] placeholder:text-left placeholder:text-gray-400\"\n placeholder={localT(\"planQuestionPlaceholder\")}\n value={questionDraft}\n onFocus={() => handleQuestionFocus(\"keyboard_focus\")}\n onClick={() => handleQuestionFocus(\"tap\")}\n onChange={handleQuestionChange}\n rows={1}\n />\n <div className=\"flex justify-end\">\n <span className=\"text-[11px] text-gray-400\">{questionDraft.length}/{MAX_QUESTION_LENGTH}</span>\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n {CHIP_KEYS.map((key, idx) => (\n <button\n key={key}\n type=\"button\"\n className=\"px-3 py-2 rounded-full bg-[#F1F7FF] text-[#104DA6] text-sm font-medium cursor-pointer text-left leading-snug active:opacity-70 transition-opacity\"\n style={{ fontFamily: 'inherit' }}\n onClick={() => handleChipClick(key, idx)}\n >\n {localT(key)}\n </button>\n ))}\n </div>\n </div>\n )}\n\n {/* Astrologer cards — only shown for guidance plan */}\n {currentPlan?.astrologers && currentPlan.astrologers.length > 0 && (\n <>\n <div\n className=\"w-full h-px my-3\"\n style={{\n backgroundImage:\n 'repeating-linear-gradient(to right, #D1D5DB, #D1D5DB 4px, transparent 4px, transparent 8px)',\n }}\n />\n <p className=\"m-0 mt-4 text-sm font-semibold text-gray-500\">\n {localT(\"planAstrologerHeading\")}\n </p>\n <div\n className=\"flex overflow-x-auto gap-3 mt-3 pb-1 scroll-smooth [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n role=\"list\"\n >\n {currentPlan.astrologers.map((astrologer: KundliPlanAstrologer, idx: number) => (\n <div key={idx} role=\"listitem\">\n <ThreeSkuAstrologerCard astrologer={astrologer as any} t={localT} />\n </div>\n ))}\n </div>\n </>\n )}\n </div>\n\n {/* ── Sticky footer: plan selector + CTA ── */}\n <div\n className=\"px-4 pt-3.5 bg-white border-t border-gray-100 sticky bottom-0 z-[5]\"\n style={{ paddingBottom: 'calc(14px + env(safe-area-inset-bottom))' }}\n >\n {/* 3-plan selector strip */}\n <div className=\"flex gap-2 pb-3\" role=\"radiogroup\" aria-label=\"Select plan\">\n {finalPlans.map((plan: KundliPlan) => (\n <button\n key={plan.id}\n type=\"button\"\n role=\"radio\"\n aria-checked={plan.id === selectedId}\n className={[\n 'flex-1 relative flex flex-col items-center justify-center gap-1 px-1 py-3 min-h-[125px] min-w-[106px] rounded-xl border-[1.5px] cursor-pointer text-center outline-none transition-colors',\n plan.id === selectedId\n ? 'border-[#e05c2a] bg-[#fff8f4]'\n : 'border-gray-200 bg-white',\n ].join(' ')}\n onClick={() => {\n analytics?.trackPlanSelected?.({ planId: plan.id, planName: plan.title });\n onSelectPlan(plan);\n }}\n >\n {plan.badge && (\n <span className=\"absolute -top-[14px] left-0 right-0 inline-flex items-center justify-center gap-1 whitespace-nowrap rounded-t-xl bg-[linear-gradient(180deg,#751139_0%,#D51F68_100%)] px-2 py-[6px] text-[11px] font-bold text-white\">\n <TrendUpIcon />\n {localT(plan.badge)}\n </span>\n )}\n <span className={`text-[14px] leading-snug ${\n plan.id === selectedId ? 'font-bold text-gray-900' : 'font-semibold text-gray-600'\n }`}>{localT(plan.title)}</span>\n <span className=\"text-[15px] font-extrabold text-[#e05c2a] leading-tight\">{plan.price}</span>\n </button>\n ))}\n </div>\n\n {showDisabledHint && (\n <p className=\"m-0 mb-2 text-xs text-[#e05c2a] text-center\" role=\"alert\">\n {localT(\"planQuestionHint\")}\n </p>\n )}\n\n {/* Proceed CTA with shimmer effect */}\n <button\n className={[\n 'relative overflow-hidden w-full h-[50px] rounded-[14px] border-0 text-white text-[17px] font-bold cursor-pointer flex items-center justify-center transition-all duration-200',\n canProceed\n ? 'bg-gradient-to-b from-[#F97316] to-[#EA580C] shadow-[0_6px_14px_rgba(234,88,12,0.25)] hover:from-[#fb923c] hover:to-[#f97316] active:scale-[0.98] active:shadow-[0_3px_8px_rgba(234,88,12,0.2)]'\n : 'bg-gray-300 text-gray-400 shadow-none cursor-not-allowed',\n ].join(' ')}\n style={{ fontFamily: 'inherit' }}\n aria-disabled={!canProceed}\n onClick={handleProceedClick}\n >\n {canProceed && (\n <span\n className=\"absolute top-0 w-1/2 h-full pointer-events-none\"\n aria-hidden=\"true\"\n style={{\n background:\n 'linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0) 100%)',\n transform: 'skewX(-20deg)',\n animation: 'three-sku-shimmer 3s ease-in-out infinite',\n left: '-75%',\n }}\n />\n )}\n <span className=\"relative z-[1]\">{localT(\"planProceedToPayment\")}</span>\n </button>\n </div>\n </div>\n </div>\n </>\n );\n};\n","/**\n * KundliThreeSkuPage — fully isolated experiment page.\n *\n * This is a NEW component; it does NOT modify any existing component.\n * Drop-in replacement for KundliPageV1 for the 3-SKU experiment:\n * - Shows KundliTableSection (3-column comparison grid) instead of ViewSampleReportButton\n * - Opens ThreeSkuPlanBottomSheet (with question box + chip suggestions) instead of KundliPlanBottomSheet\n * - Passes the selected plan + optional question through to onProceed / onProceedGuidance\n */\nimport { useState, useRef, useEffect, useCallback } from \"react\";\nimport styles from \"./KundliThreeSkuPage.module.scss\";\nimport { useI18n } from \"../../i18n\";\nimport {\n translations,\n LOCALE_LABELS,\n SUPPORTED_LOCALES,\n type SupportedLocale,\n} from \"../../i18n/translations\";\nimport { FormHeader, ProceedFooter, UserInfoFormSection } from \"../KundliForm/sections\";\nimport { KundliProvider, useKundliContextOrThrow } from \"../KundliPage/KundliContext\";\nimport type { KundliFormValues } from \"../KundliForm\";\nimport type { KundliAnalytics } from \"../../analytics\";\nimport type { AtlasSearchLocalities } from \"../KundliForm/sections/UserInfoFormSection/useGooglePlacesAutocomplete\";\n// — New experiment-only components (no modifications to existing ones) —\nimport { KundliPackagesSection } from \"../KundliPage/sections/KundliTableSection\";\nimport {\n HeroSection,\n KundliHeader,\n PremiumReportOverview,\n UniversityCertification,\n ThreeStepsProcess,\n WhatYoullFindSection,\n WhyUsSection,\n FeedbackSection,\n FAQSection,\n ContactUsSection,\n} from \"../KundliPage/sections\";\nimport { ThreeSkuPlanBottomSheet } from \"../ThreeSkuPlanBottomSheet\";\nimport type { ThreeSkuPlan, ThreeSkuAnalytics } from \"../ThreeSkuPlanBottomSheet\";\n\n\n/** Plan ID for the Guidance (consultation) plan — mirrors the existing constant without importing it. */\nconst PLAN_GUIDANCE_ID = \"kundli-report-astrologer\";\nconst GLOBE_ICON_URL = \"https://srm-cdn.a4b.io/yoda/1770362713543.svg\";\n\nexport interface KundliThreeSkuPageProps {\n /** Optional CSS class name */\n className?: string;\n /** Language (en, hi). Overrides I18nProvider if set. */\n locale?: SupportedLocale;\n /** User ID from auth, for API calls etc. */\n userId?: number;\n /** Whether the user is global (international) or domestic */\n isGlobal?: boolean;\n /** URL for the \"200+ page Kundli Report\" sample link in the comparison table */\n kundliReportSampleHref?: string;\n /** URL for the \"1 Question\" sample link in the comparison table */\n oneQuestionSampleHref?: string;\n /** Called when user proceeds (Basic / Question plan) */\n onProceed?: (values: KundliFormValues) => void;\n /** Called when user proceeds with the Guidance (consultation) plan specifically */\n onProceedGuidance?: (values: KundliFormValues) => void;\n /** Form: proceed CTA as link */\n proceedHref?: string;\n /** Form: pricing labels */\n originalPriceLabel?: string;\n discountedPriceLabel?: string;\n /**\n * Analytics for the experiment page. Accepts ThreeSkuAnalytics (superset of base plan analytics).\n * Cast your existing KundliAnalytics object — extra methods are optional so no extra work needed.\n */\n analytics?: ThreeSkuAnalytics & KundliAnalytics;\n /** Notify when user changes language */\n onLocaleChange?: (locale: SupportedLocale) => void;\n /** Atlas localities search callback for birth place autocomplete */\n atlasSearchLocalities?: AtlasSearchLocalities;\n /** Show language dropdown in header. Default true. */\n showLanguageSelector?: boolean;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Internal helpers\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst tFromLocale = (locale: SupportedLocale, key: string) =>\n translations[locale]?.[key] ?? key;\n\nfunction ThreeSkuPageRouter({ className }: { className: string }) {\n return <ThreeSkuPageContent className={className} />;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Page content (internal — not exported)\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction ThreeSkuPageContent({ className }: { className: string }) {\n const i18n = useI18n();\n const {\n locale,\n setLocale,\n config,\n formValues,\n setFormValues,\n } = useKundliContextOrThrow();\n\n // ─── Plan sheet state ───────────────────────────────────────────────────\n const [planSheetOpen, setPlanSheetOpen] = useState(false);\n const [selectedPlan, setSelectedPlan] = useState<ThreeSkuPlan | null>(null);\n const pendingValuesRef = useRef<KundliFormValues | null>(null);\n const pendingQuestionRef = useRef<string | undefined>(undefined);\n\n const showPlanSheet = useCallback((values: KundliFormValues) => {\n pendingValuesRef.current = values;\n setPlanSheetOpen(true);\n }, []);\n\n const confirmPlan = useCallback(() => {\n if (!pendingValuesRef.current || !selectedPlan) return;\n\n const merged = {\n ...pendingValuesRef.current,\n _selectedPlan: selectedPlan,\n ...(pendingQuestionRef.current !== undefined\n ? { _question: pendingQuestionRef.current }\n : {}),\n } as any;\n\n pendingQuestionRef.current = undefined;\n\n if (selectedPlan.id === PLAN_GUIDANCE_ID && config.onProceedGuidance) {\n config.onProceedGuidance(merged);\n } else {\n config.onProceed?.(merged);\n }\n\n setPlanSheetOpen(false);\n pendingValuesRef.current = null;\n }, [selectedPlan, config.onProceed, config.onProceedGuidance]);\n\n const [phoneIsdCode, setPhoneIsdCode] = useState<string>(\n (config.isGlobal ?? true) ? \"+1\" : \"+91\",\n );\n const [langOpen, setLangOpen] = useState(false);\n const inlineFormRef = useRef<HTMLDivElement>(null);\n const langRef = useRef<HTMLDivElement>(null);\n const prevLocalePropRef = useRef<SupportedLocale | undefined>(config.locale);\n const prevProviderLocaleRef = useRef<SupportedLocale | undefined>(i18n?.locale);\n\n useEffect(() => {\n if (config.locale && prevLocalePropRef.current !== config.locale) {\n setLocale(config.locale);\n }\n prevLocalePropRef.current = config.locale;\n }, [config.locale, setLocale]);\n\n useEffect(() => {\n if (config.locale) return;\n const providerLocale = i18n?.locale;\n if (providerLocale && prevProviderLocaleRef.current !== providerLocale) {\n setLocale(providerLocale);\n }\n prevProviderLocaleRef.current = providerLocale;\n }, [i18n?.locale, config.locale, setLocale]);\n\n useEffect(() => {\n setPhoneIsdCode((config.isGlobal ?? true) ? \"+1\" : \"+91\");\n }, [config.isGlobal]);\n\n useEffect(() => {\n if (!langOpen) return;\n const handleClickOutside = (e: MouseEvent) => {\n if (langRef.current && !langRef.current.contains(e.target as Node)) {\n setLangOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [langOpen]);\n\n const t = (key: string) => tFromLocale(locale, key);\n const showLanguageSelector = config.showLanguageSelector ?? true;\n\n const languageSelector = showLanguageSelector ? (\n <div className={styles.langDropdownWrap} ref={langRef}>\n <button\n type=\"button\"\n className={styles.langTrigger}\n onClick={() => {\n config.analytics?.trackLanguageClickedFe?.({ language: locale });\n setLangOpen((o) => !o);\n }}\n aria-expanded={langOpen}\n aria-haspopup=\"listbox\"\n id=\"kundli-lang\"\n aria-label={t(\"language\")}\n >\n <img\n src={GLOBE_ICON_URL}\n alt=\"\"\n className={styles.langIcon}\n width={16}\n height={16}\n aria-hidden\n />\n <span className={styles.langLabel}>{LOCALE_LABELS[locale]}</span>\n </button>\n {langOpen && (\n <ul\n className={styles.langMenu}\n role=\"listbox\"\n aria-labelledby=\"kundli-lang\"\n aria-activedescendant={`kundli-lang-option-${locale}`}\n >\n {SUPPORTED_LOCALES.map((loc) => (\n <li\n key={loc}\n id={`kundli-lang-option-${loc}`}\n role=\"option\"\n aria-selected={loc === locale}\n className={styles.langOption}\n onClick={() => {\n config.analytics?.trackLanguageChangedFe?.({ newLanguage: loc });\n setLocale(loc);\n setLangOpen(false);\n }}\n >\n {LOCALE_LABELS[loc]}\n </li>\n ))}\n </ul>\n )}\n </div>\n ) : null;\n\n const focusMissingField = useCallback((field: string) => {\n const fieldIdMap: Record<string, string> = {\n fullName: \"kundli-full-name\",\n phone: \"kundli-phone\",\n email: \"kundli-email\",\n dateOfBirth: \"kundli-dob\",\n birthTime: \"kundli-birth-time\",\n birthPlace: \"kundli-birth-place\",\n gender: \"kundli-gender-male\",\n language_code: \"kundli-report-lang-hi\",\n };\n const targetEl = document.getElementById(fieldIdMap[field] ?? \"kundli-full-name\");\n if (targetEl) {\n const targetY = targetEl.getBoundingClientRect().top + window.scrollY - 120;\n window.scrollTo({ top: targetY, behavior: \"smooth\" });\n setTimeout(() => targetEl.focus(), 500);\n }\n }, []);\n\n // ─── Plan config (use values from context config if provided) ───────────\n const threeSkuPageConfig = config as typeof config & {\n kundliReportSampleHref?: string;\n oneQuestionSampleHref?: string;\n };\n\n return (\n <div className={`${styles.container} ${className}`}>\n <KundliHeader\n t={t}\n logoUrl={config.logoUrl}\n languageSelector={languageSelector}\n />\n <main className={styles.main}>\n <HeroSection t={t} />\n\n <KundliPackagesSection\n isGlobal={config.isGlobal}\n kundliReportSampleHref={threeSkuPageConfig.kundliReportSampleHref}\n oneQuestionSampleHref={threeSkuPageConfig.oneQuestionSampleHref}\n />\n\n <PremiumReportOverview\n t={t}\n reportImageUrl={config.reportImageUrl}\n analytics={config.analytics}\n />\n\n <UniversityCertification\n t={t}\n logoUrl={config.universityLogoUrls?.find((u): u is string => Boolean(u))}\n />\n\n <ThreeStepsProcess t={t} locale={locale} isGlobal={config.isGlobal} />\n\n <div className={styles.inlineFormWrap} ref={inlineFormRef}>\n <FormHeader t={t} align=\"center\" />\n <UserInfoFormSection\n t={t}\n values={formValues}\n onChange={setFormValues}\n phoneIsdCode={phoneIsdCode}\n onPhoneIsdCodeChange={setPhoneIsdCode}\n showV1ExtraFields\n analytics={config.analytics}\n />\n <ProceedFooter\n t={t}\n values={formValues}\n phoneIsdCode={phoneIsdCode}\n hideOriginalPrice\n requireV1ExtraFields\n onValidationFailed={focusMissingField}\n onProceed={config.onProceed}\n href={config.proceedHref}\n originalPriceLabel={config.originalPriceLabel}\n discountedPriceLabel={config.discountedPriceLabel}\n analytics={config.analytics}\n className={styles.inlineProceedFooter}\n onProceedGuidance={config.onProceedGuidance}\n showPlanSheet={showPlanSheet}\n confirmPlan={confirmPlan}\n planSheetOpen={planSheetOpen}\n selectedPlan={selectedPlan as any}\n />\n </div>\n\n <WhatYoullFindSection t={t} />\n <WhyUsSection t={t} />\n <FeedbackSection\n t={t}\n readMoreHref={config.readMoreReviewsHref}\n onReadMore={config.analytics?.trackReadMoreReviewsClicked ? () => config.analytics!.trackReadMoreReviewsClicked!() : undefined}\n />\n <FAQSection t={t} />\n <ContactUsSection t={t} />\n </main>\n\n {/* ── Experiment bottom sheet: 3-SKU with question ── */}\n <ThreeSkuPlanBottomSheet\n isOpen={planSheetOpen}\n onClose={() => setPlanSheetOpen(false)}\n selectedPlan={selectedPlan}\n onSelectPlan={setSelectedPlan}\n isGlobal={config.isGlobal}\n locale={locale as \"en\" | \"hi\"}\n onProceed={(_plan, question) => {\n pendingQuestionRef.current = question;\n confirmPlan();\n }}\n t={t}\n analytics={config.analytics as ThreeSkuAnalytics | undefined}\n />\n </div>\n );\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Public component\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const KundliThreeSkuPage: React.FC<KundliThreeSkuPageProps> = ({\n className = \"\",\n locale: localeProp,\n userId,\n isGlobal,\n atlasSearchLocalities,\n showLanguageSelector = true,\n kundliReportSampleHref,\n oneQuestionSampleHref,\n onProceed,\n onProceedGuidance,\n proceedHref,\n originalPriceLabel,\n discountedPriceLabel,\n analytics,\n onLocaleChange,\n}) => {\n return (\n <KundliProvider\n locale={localeProp}\n showLanguageSelector={showLanguageSelector}\n showSheet\n userId={userId}\n isGlobal={isGlobal}\n variant=\"v1\"\n atlasSearchLocalities={atlasSearchLocalities}\n onProceed={onProceed}\n onProceedGuidance={onProceedGuidance}\n proceedHref={proceedHref}\n originalPriceLabel={originalPriceLabel}\n discountedPriceLabel={discountedPriceLabel}\n analytics={analytics}\n onLocaleChange={onLocaleChange}\n {...({ kundliReportSampleHref, oneQuestionSampleHref } as any)}\n >\n <ThreeSkuPageRouter className={className} />\n </KundliProvider>\n );\n};\n"],"names":["DEFAULT_SAMPLE_URL","rows","CheckIcon","jsx","CrossIcon","TrendUpIcon","jsxs","SampleReportArrowIcon","KundliPackagesSection","isGlobal","kundliReportSampleHref","oneQuestionSampleHref","className","prices","row","line","value","index","price","ThreeSkuAstrologerCard","astrologer","t","styles","lang","cert","idx","THREE_SKU_ASTROLOGERS","THREE_SKU_STRINGS","getThreeSkuDefaultPlans","a","CHIP_KEYS","TOP_ASTROLOGER_AVATARS","MAX_QUESTION_LENGTH","MAX_TEXTAREA_HEIGHT_PX","IncludedFeatureIcon","ExcludedFeatureIcon","ThreeSkuPlanBottomSheet","isOpen","onClose","selectedPlan","onSelectPlan","plans","onProceed","locale","analytics","localT","useCallback","key","finalPlans","useMemo","selectedId","p","sheetRef","useRef","contentRef","hasTrackedViewRef","questionDraft","setQuestionDraft","useState","questionSource","setQuestionSource","lastChipIndex","setLastChipIndex","showDisabledHint","setShowDisabledHint","hasTrackedFocusRef","textareaRef","currentPlan","isQuestionPlan","canProceed","adjustHeight","ta","useEffect","defaultPlan","handleClose","previous","handleQuestionFocus","method","handleQuestionChange","e","val","handleChipClick","chipText","hadCustomText","handleProceedClick","Fragment","ChevronLeftIcon","feature","plan","PLAN_GUIDANCE_ID","GLOBE_ICON_URL","tFromLocale","translations","ThreeSkuPageRouter","ThreeSkuPageContent","i18n","useI18n","setLocale","config","formValues","setFormValues","useKundliContextOrThrow","planSheetOpen","setPlanSheetOpen","setSelectedPlan","pendingValuesRef","pendingQuestionRef","showPlanSheet","values","confirmPlan","merged","phoneIsdCode","setPhoneIsdCode","langOpen","setLangOpen","inlineFormRef","langRef","prevLocalePropRef","prevProviderLocaleRef","providerLocale","handleClickOutside","languageSelector","o","LOCALE_LABELS","SUPPORTED_LOCALES","loc","focusMissingField","field","fieldIdMap","targetEl","targetY","threeSkuPageConfig","KundliHeader","HeroSection","PremiumReportOverview","UniversityCertification","u","ThreeStepsProcess","FormHeader","UserInfoFormSection","ProceedFooter","WhatYoullFindSection","WhyUsSection","FeedbackSection","FAQSection","ContactUsSection","_plan","question","KundliThreeSkuPage","localeProp","userId","atlasSearchLocalities","showLanguageSelector","onProceedGuidance","proceedHref","originalPriceLabel","discountedPriceLabel","onLocaleChange","KundliProvider"],"mappings":"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"}
|
package/dist/page-entry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as s, I as t, K as o, a as r, b as I,
|
|
2
|
-
import { K as N, a as P, P as R } from "./criticalCss-
|
|
1
|
+
import { D as s, I as t, K as o, a as r, b as I, c as K, S as l, g as d, d as i, i as n, r as u, s as _, e as L, u as A, f as E, h as S } from "./analytics-DL-R30Zw.js";
|
|
2
|
+
import { K as N, a as P, P as R } from "./criticalCss-fMFN3vjg.js";
|
|
3
3
|
export {
|
|
4
4
|
s as DefaultKundliImage,
|
|
5
5
|
t as I18nProvider,
|