@srimandir/kundli-generator 3.0.73 → 3.0.75
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.d.ts +89 -20
- package/dist/components/KundliForm/KundliForm.d.ts +2 -0
- package/dist/components/KundliForm/sections/FormHeader/FormHeader.d.ts +1 -0
- package/dist/components/KundliForm/sections/ProceedFooter/ProceedFooter.d.ts +4 -0
- package/dist/components/KundliForm/sections/UserInfoFormSection/UserInfoFormSection.d.ts +3 -0
- package/dist/components/KundliForm/sections/UserInfoFormSection/constants.d.ts +215 -0
- package/dist/components/KundliPage/KundliContext.d.ts +4 -0
- package/dist/components/KundliPage/KundliPage.d.ts +2 -0
- package/dist/components/KundliPage/KundliPageV1.d.ts +46 -0
- package/dist/components/KundliPage/KundliPageVariant.d.ts +5 -0
- package/dist/components/KundliPage/index.d.ts +4 -2
- package/dist/criticalCss-e8F6_vKW.js +1154 -0
- package/dist/criticalCss-e8F6_vKW.js.map +1 -0
- package/dist/form-entry.js +1 -1
- package/dist/i18n/translations.d.ts +0 -14
- package/dist/index.d.ts +1 -0
- package/dist/kundli-generator.js +17 -15
- package/dist/localeStorage-vdOPb4GW.js +2531 -0
- package/dist/localeStorage-vdOPb4GW.js.map +1 -0
- package/dist/page-entry.js +2 -2
- package/dist/style.css +1 -1
- package/package.json +3 -3
- package/dist/analytics-Du6zZXW9.js +0 -2144
- package/dist/analytics-Du6zZXW9.js.map +0 -1
- package/dist/criticalCss-BEe0O4RS.js +0 -788
- package/dist/criticalCss-BEe0O4RS.js.map +0 -1
package/dist/analytics.d.ts
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Event names matching Kundli Generator Events taxonomy (Mixpanel).
|
|
3
3
|
* Host app (e.g. hanuman) should use these when calling logEvent.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: When tracking kundli events, avoid including dosha-specific utm_term values.
|
|
6
|
+
* Use the `sanitizeKundliEventProperties` utility to filter out dosha-specific utm_terms:
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { sanitizeKundliEventProperties } from '@srimandir/kundli-generator';
|
|
11
|
+
*
|
|
12
|
+
* // Before tracking kundli events, sanitize properties
|
|
13
|
+
* const properties = { ...eventData, utm_term: 'marriage-form-first' };
|
|
14
|
+
* const sanitized = sanitizeKundliEventProperties(properties);
|
|
15
|
+
* // sanitized will have utm_term removed because it's dosha-specific
|
|
16
|
+
*
|
|
17
|
+
* logEvent('primary_cta_clicked_l1', sanitized);
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* Or use `getKundliUtmTerm()` instead of reading utm_term from URL directly:
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { getKundliUtmTerm } from '@srimandir/kundli-generator';
|
|
24
|
+
*
|
|
25
|
+
* const utmTerm = getKundliUtmTerm(); // Returns null if utm_term is dosha-specific
|
|
26
|
+
* ```
|
|
4
27
|
*/
|
|
5
28
|
export declare const KUNDLI_ANALYTICS_EVENT_NAMES: {
|
|
6
29
|
readonly banner_clicked_fe: "banner_clicked_fe";
|
|
@@ -36,43 +59,89 @@ export declare const KUNDLI_ANALYTICS_EVENT_NAMES: {
|
|
|
36
59
|
export type KundliAnalyticsEventName = (typeof KUNDLI_ANALYTICS_EVENT_NAMES)[keyof typeof KUNDLI_ANALYTICS_EVENT_NAMES];
|
|
37
60
|
/** Optional analytics implementation. Pass from host to KundliPage/KundliForm to track events. */
|
|
38
61
|
export interface KundliAnalytics {
|
|
39
|
-
trackBannerClicked?(
|
|
62
|
+
trackBannerClicked?(params?: {
|
|
63
|
+
variant?: string;
|
|
64
|
+
}): void;
|
|
40
65
|
trackPrimaryCtaClickedFe?(params: {
|
|
41
66
|
ctaText?: string;
|
|
67
|
+
variant?: string;
|
|
42
68
|
}): void;
|
|
43
69
|
trackLanguageChangedFe?(params: {
|
|
44
70
|
newLanguage: string;
|
|
71
|
+
variant?: string;
|
|
45
72
|
}): void;
|
|
46
73
|
trackLanguageClickedFe?(params: {
|
|
47
74
|
language: string;
|
|
75
|
+
variant?: string;
|
|
48
76
|
}): void;
|
|
49
77
|
trackDetailedKundliReportImpressionFe?(params: {
|
|
50
78
|
section: string;
|
|
51
79
|
timestamp?: string;
|
|
80
|
+
variant?: string;
|
|
81
|
+
}): void;
|
|
82
|
+
trackViewSampleReportClicked?(params?: {
|
|
83
|
+
variant?: string;
|
|
84
|
+
}): void;
|
|
85
|
+
trackViewSampleReportClosed?(params?: {
|
|
86
|
+
variant?: string;
|
|
52
87
|
}): void;
|
|
53
|
-
trackViewSampleReportClicked?(): void;
|
|
54
|
-
trackViewSampleReportClosed?(): void;
|
|
55
88
|
trackInfoIconClicked?(params: {
|
|
56
89
|
fieldName: string;
|
|
90
|
+
variant?: string;
|
|
91
|
+
}): void;
|
|
92
|
+
trackNameSectionClicked?(params?: {
|
|
93
|
+
variant?: string;
|
|
94
|
+
}): void;
|
|
95
|
+
trackNameSectionFilled?(params?: {
|
|
96
|
+
variant?: string;
|
|
97
|
+
}): void;
|
|
98
|
+
trackPhoneSectionClicked?(params?: {
|
|
99
|
+
variant?: string;
|
|
100
|
+
}): void;
|
|
101
|
+
trackPhoneSectionFilled?(params?: {
|
|
102
|
+
variant?: string;
|
|
103
|
+
}): void;
|
|
104
|
+
trackEmailSectionClicked?(params?: {
|
|
105
|
+
variant?: string;
|
|
106
|
+
}): void;
|
|
107
|
+
trackEmailSectionFilled?(params?: {
|
|
108
|
+
variant?: string;
|
|
109
|
+
}): void;
|
|
110
|
+
trackDobClicked?(params?: {
|
|
111
|
+
variant?: string;
|
|
112
|
+
}): void;
|
|
113
|
+
trackDobFilled?(params?: {
|
|
114
|
+
variant?: string;
|
|
115
|
+
}): void;
|
|
116
|
+
trackTimeClicked?(params?: {
|
|
117
|
+
variant?: string;
|
|
118
|
+
}): void;
|
|
119
|
+
trackTimeFilled?(params?: {
|
|
120
|
+
variant?: string;
|
|
121
|
+
}): void;
|
|
122
|
+
trackTimeCheckboxClicked?(params?: {
|
|
123
|
+
variant?: string;
|
|
124
|
+
}): void;
|
|
125
|
+
trackPlaceOfBirthClicked?(params?: {
|
|
126
|
+
variant?: string;
|
|
127
|
+
}): void;
|
|
128
|
+
trackPlaceOfBirthChosen?(params?: {
|
|
129
|
+
variant?: string;
|
|
130
|
+
}): void;
|
|
131
|
+
trackLanguageOfReportClicked?(params?: {
|
|
132
|
+
variant?: string;
|
|
57
133
|
}): void;
|
|
58
|
-
trackNameSectionClicked?(): void;
|
|
59
|
-
trackNameSectionFilled?(): void;
|
|
60
|
-
trackPhoneSectionClicked?(): void;
|
|
61
|
-
trackPhoneSectionFilled?(): void;
|
|
62
|
-
trackEmailSectionClicked?(): void;
|
|
63
|
-
trackEmailSectionFilled?(): void;
|
|
64
|
-
trackDobClicked?(): void;
|
|
65
|
-
trackDobFilled?(): void;
|
|
66
|
-
trackTimeClicked?(): void;
|
|
67
|
-
trackTimeFilled?(): void;
|
|
68
|
-
trackTimeCheckboxClicked?(): void;
|
|
69
|
-
trackPlaceOfBirthClicked?(): void;
|
|
70
|
-
trackPlaceOfBirthChosen?(): void;
|
|
71
|
-
trackLanguageOfReportClicked?(): void;
|
|
72
134
|
trackPrimaryCtaClickedL1?(params: {
|
|
73
135
|
avenue?: string;
|
|
136
|
+
variant?: string;
|
|
137
|
+
}): void;
|
|
138
|
+
trackKundliPageView?(params?: {
|
|
139
|
+
variant?: string;
|
|
140
|
+
}): void;
|
|
141
|
+
trackKundliFormView?(params?: {
|
|
142
|
+
variant?: string;
|
|
143
|
+
}): void;
|
|
144
|
+
trackReadMoreReviewsClicked?(params?: {
|
|
145
|
+
variant?: string;
|
|
74
146
|
}): void;
|
|
75
|
-
trackKundliPageView?(): void;
|
|
76
|
-
trackKundliFormView?(): void;
|
|
77
|
-
trackReadMoreReviewsClicked?(): void;
|
|
78
147
|
}
|
|
@@ -3,7 +3,9 @@ import { KundliAnalytics } from '../../analytics';
|
|
|
3
3
|
export interface KundliFormValues {
|
|
4
4
|
fullName: string;
|
|
5
5
|
phone?: string;
|
|
6
|
+
gender?: "male" | "female" | "";
|
|
6
7
|
email: string;
|
|
8
|
+
language_code?: "hi" | "en" | "te" | "ta" | "kn" | "gu" | "mr" | "";
|
|
7
9
|
dateOfBirth: string;
|
|
8
10
|
birthTime: string;
|
|
9
11
|
birthTimeUnknown: boolean;
|
|
@@ -6,6 +6,10 @@ export declare const BadgeRow: React.FC<{
|
|
|
6
6
|
export interface ProceedFooterProps {
|
|
7
7
|
t: (key: string) => string;
|
|
8
8
|
values: KundliFormValues;
|
|
9
|
+
phoneIsdCode: string;
|
|
10
|
+
hideOriginalPrice?: boolean;
|
|
11
|
+
requireV1ExtraFields?: boolean;
|
|
12
|
+
onValidationFailed?: (field: string) => void;
|
|
9
13
|
onProceed?: (values: KundliFormValues) => void;
|
|
10
14
|
href?: string;
|
|
11
15
|
analytics?: KundliAnalytics;
|
|
@@ -4,6 +4,9 @@ export interface UserInfoFormSectionProps {
|
|
|
4
4
|
t: (key: string) => string;
|
|
5
5
|
values: KundliFormValues;
|
|
6
6
|
onChange: (values: KundliFormValues) => void;
|
|
7
|
+
phoneIsdCode: string;
|
|
8
|
+
onPhoneIsdCodeChange: (code: string) => void;
|
|
9
|
+
showV1ExtraFields?: boolean;
|
|
7
10
|
analytics?: KundliAnalytics;
|
|
8
11
|
/** Google Maps API key used for Birth Place autocomplete */
|
|
9
12
|
googleMapsApiKey?: string;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
export declare const ICONS: {
|
|
2
|
+
readonly time: "https://srm-cdn.a4b.io/yoda/1770372014782.svg";
|
|
3
|
+
readonly location: "https://srm-cdn.a4b.io/yoda/1770372031092.svg";
|
|
4
|
+
readonly date: "https://srm-cdn.a4b.io/yoda/1770372045894.svg";
|
|
5
|
+
readonly info: "https://srm-cdn.a4b.io/yoda/1770372066357.svg";
|
|
6
|
+
};
|
|
7
|
+
export declare const ISD_COUNTRY_OPTIONS: readonly [{
|
|
8
|
+
readonly code: "+1";
|
|
9
|
+
readonly country: "USA / Canada";
|
|
10
|
+
}, {
|
|
11
|
+
readonly code: "+7";
|
|
12
|
+
readonly country: "Russia / Kazakhstan";
|
|
13
|
+
}, {
|
|
14
|
+
readonly code: "+20";
|
|
15
|
+
readonly country: "Egypt";
|
|
16
|
+
}, {
|
|
17
|
+
readonly code: "+27";
|
|
18
|
+
readonly country: "South Africa";
|
|
19
|
+
}, {
|
|
20
|
+
readonly code: "+30";
|
|
21
|
+
readonly country: "Greece";
|
|
22
|
+
}, {
|
|
23
|
+
readonly code: "+31";
|
|
24
|
+
readonly country: "Netherlands";
|
|
25
|
+
}, {
|
|
26
|
+
readonly code: "+32";
|
|
27
|
+
readonly country: "Belgium";
|
|
28
|
+
}, {
|
|
29
|
+
readonly code: "+33";
|
|
30
|
+
readonly country: "France";
|
|
31
|
+
}, {
|
|
32
|
+
readonly code: "+34";
|
|
33
|
+
readonly country: "Spain";
|
|
34
|
+
}, {
|
|
35
|
+
readonly code: "+36";
|
|
36
|
+
readonly country: "Hungary";
|
|
37
|
+
}, {
|
|
38
|
+
readonly code: "+39";
|
|
39
|
+
readonly country: "Italy";
|
|
40
|
+
}, {
|
|
41
|
+
readonly code: "+40";
|
|
42
|
+
readonly country: "Romania";
|
|
43
|
+
}, {
|
|
44
|
+
readonly code: "+41";
|
|
45
|
+
readonly country: "Switzerland";
|
|
46
|
+
}, {
|
|
47
|
+
readonly code: "+43";
|
|
48
|
+
readonly country: "Austria";
|
|
49
|
+
}, {
|
|
50
|
+
readonly code: "+44";
|
|
51
|
+
readonly country: "United Kingdom";
|
|
52
|
+
}, {
|
|
53
|
+
readonly code: "+45";
|
|
54
|
+
readonly country: "Denmark";
|
|
55
|
+
}, {
|
|
56
|
+
readonly code: "+46";
|
|
57
|
+
readonly country: "Sweden";
|
|
58
|
+
}, {
|
|
59
|
+
readonly code: "+47";
|
|
60
|
+
readonly country: "Norway";
|
|
61
|
+
}, {
|
|
62
|
+
readonly code: "+48";
|
|
63
|
+
readonly country: "Poland";
|
|
64
|
+
}, {
|
|
65
|
+
readonly code: "+49";
|
|
66
|
+
readonly country: "Germany";
|
|
67
|
+
}, {
|
|
68
|
+
readonly code: "+51";
|
|
69
|
+
readonly country: "Peru";
|
|
70
|
+
}, {
|
|
71
|
+
readonly code: "+52";
|
|
72
|
+
readonly country: "Mexico";
|
|
73
|
+
}, {
|
|
74
|
+
readonly code: "+53";
|
|
75
|
+
readonly country: "Cuba";
|
|
76
|
+
}, {
|
|
77
|
+
readonly code: "+54";
|
|
78
|
+
readonly country: "Argentina";
|
|
79
|
+
}, {
|
|
80
|
+
readonly code: "+55";
|
|
81
|
+
readonly country: "Brazil";
|
|
82
|
+
}, {
|
|
83
|
+
readonly code: "+56";
|
|
84
|
+
readonly country: "Chile";
|
|
85
|
+
}, {
|
|
86
|
+
readonly code: "+57";
|
|
87
|
+
readonly country: "Colombia";
|
|
88
|
+
}, {
|
|
89
|
+
readonly code: "+60";
|
|
90
|
+
readonly country: "Malaysia";
|
|
91
|
+
}, {
|
|
92
|
+
readonly code: "+61";
|
|
93
|
+
readonly country: "Australia";
|
|
94
|
+
}, {
|
|
95
|
+
readonly code: "+62";
|
|
96
|
+
readonly country: "Indonesia";
|
|
97
|
+
}, {
|
|
98
|
+
readonly code: "+63";
|
|
99
|
+
readonly country: "Philippines";
|
|
100
|
+
}, {
|
|
101
|
+
readonly code: "+64";
|
|
102
|
+
readonly country: "New Zealand";
|
|
103
|
+
}, {
|
|
104
|
+
readonly code: "+65";
|
|
105
|
+
readonly country: "Singapore";
|
|
106
|
+
}, {
|
|
107
|
+
readonly code: "+66";
|
|
108
|
+
readonly country: "Thailand";
|
|
109
|
+
}, {
|
|
110
|
+
readonly code: "+81";
|
|
111
|
+
readonly country: "Japan";
|
|
112
|
+
}, {
|
|
113
|
+
readonly code: "+82";
|
|
114
|
+
readonly country: "South Korea";
|
|
115
|
+
}, {
|
|
116
|
+
readonly code: "+84";
|
|
117
|
+
readonly country: "Vietnam";
|
|
118
|
+
}, {
|
|
119
|
+
readonly code: "+86";
|
|
120
|
+
readonly country: "China";
|
|
121
|
+
}, {
|
|
122
|
+
readonly code: "+90";
|
|
123
|
+
readonly country: "Turkey";
|
|
124
|
+
}, {
|
|
125
|
+
readonly code: "+91";
|
|
126
|
+
readonly country: "India";
|
|
127
|
+
}, {
|
|
128
|
+
readonly code: "+92";
|
|
129
|
+
readonly country: "Pakistan";
|
|
130
|
+
}, {
|
|
131
|
+
readonly code: "+93";
|
|
132
|
+
readonly country: "Afghanistan";
|
|
133
|
+
}, {
|
|
134
|
+
readonly code: "+94";
|
|
135
|
+
readonly country: "Sri Lanka";
|
|
136
|
+
}, {
|
|
137
|
+
readonly code: "+95";
|
|
138
|
+
readonly country: "Myanmar";
|
|
139
|
+
}, {
|
|
140
|
+
readonly code: "+98";
|
|
141
|
+
readonly country: "Iran";
|
|
142
|
+
}, {
|
|
143
|
+
readonly code: "+211";
|
|
144
|
+
readonly country: "South Sudan";
|
|
145
|
+
}, {
|
|
146
|
+
readonly code: "+212";
|
|
147
|
+
readonly country: "Morocco";
|
|
148
|
+
}, {
|
|
149
|
+
readonly code: "+213";
|
|
150
|
+
readonly country: "Algeria";
|
|
151
|
+
}, {
|
|
152
|
+
readonly code: "+216";
|
|
153
|
+
readonly country: "Tunisia";
|
|
154
|
+
}, {
|
|
155
|
+
readonly code: "+218";
|
|
156
|
+
readonly country: "Libya";
|
|
157
|
+
}, {
|
|
158
|
+
readonly code: "+220";
|
|
159
|
+
readonly country: "Gambia";
|
|
160
|
+
}, {
|
|
161
|
+
readonly code: "+221";
|
|
162
|
+
readonly country: "Senegal";
|
|
163
|
+
}, {
|
|
164
|
+
readonly code: "+234";
|
|
165
|
+
readonly country: "Nigeria";
|
|
166
|
+
}, {
|
|
167
|
+
readonly code: "+254";
|
|
168
|
+
readonly country: "Kenya";
|
|
169
|
+
}, {
|
|
170
|
+
readonly code: "+255";
|
|
171
|
+
readonly country: "Tanzania";
|
|
172
|
+
}, {
|
|
173
|
+
readonly code: "+256";
|
|
174
|
+
readonly country: "Uganda";
|
|
175
|
+
}, {
|
|
176
|
+
readonly code: "+260";
|
|
177
|
+
readonly country: "Zambia";
|
|
178
|
+
}, {
|
|
179
|
+
readonly code: "+263";
|
|
180
|
+
readonly country: "Zimbabwe";
|
|
181
|
+
}, {
|
|
182
|
+
readonly code: "+264";
|
|
183
|
+
readonly country: "Namibia";
|
|
184
|
+
}, {
|
|
185
|
+
readonly code: "+265";
|
|
186
|
+
readonly country: "Malawi";
|
|
187
|
+
}, {
|
|
188
|
+
readonly code: "+880";
|
|
189
|
+
readonly country: "Bangladesh";
|
|
190
|
+
}, {
|
|
191
|
+
readonly code: "+886";
|
|
192
|
+
readonly country: "Taiwan";
|
|
193
|
+
}, {
|
|
194
|
+
readonly code: "+971";
|
|
195
|
+
readonly country: "United Arab Emirates";
|
|
196
|
+
}, {
|
|
197
|
+
readonly code: "+972";
|
|
198
|
+
readonly country: "Israel";
|
|
199
|
+
}, {
|
|
200
|
+
readonly code: "+973";
|
|
201
|
+
readonly country: "Bahrain";
|
|
202
|
+
}, {
|
|
203
|
+
readonly code: "+974";
|
|
204
|
+
readonly country: "Qatar";
|
|
205
|
+
}, {
|
|
206
|
+
readonly code: "+975";
|
|
207
|
+
readonly country: "Bhutan";
|
|
208
|
+
}, {
|
|
209
|
+
readonly code: "+976";
|
|
210
|
+
readonly country: "Mongolia";
|
|
211
|
+
}, {
|
|
212
|
+
readonly code: "+977";
|
|
213
|
+
readonly country: "Nepal";
|
|
214
|
+
}];
|
|
215
|
+
export declare const ISD_OPTIONS: ("+1" | "+7" | "+20" | "+27" | "+30" | "+31" | "+32" | "+33" | "+34" | "+36" | "+39" | "+40" | "+41" | "+43" | "+44" | "+45" | "+46" | "+47" | "+48" | "+49" | "+51" | "+52" | "+53" | "+54" | "+55" | "+56" | "+57" | "+60" | "+61" | "+62" | "+63" | "+64" | "+65" | "+66" | "+81" | "+82" | "+84" | "+86" | "+90" | "+91" | "+92" | "+93" | "+94" | "+95" | "+98" | "+211" | "+212" | "+213" | "+216" | "+218" | "+220" | "+221" | "+234" | "+254" | "+255" | "+256" | "+260" | "+263" | "+264" | "+265" | "+880" | "+886" | "+971" | "+972" | "+973" | "+974" | "+975" | "+976" | "+977")[];
|
|
@@ -9,6 +9,10 @@ export interface KundliContextConfig {
|
|
|
9
9
|
userId?: number;
|
|
10
10
|
/** Whether the user is global (international) or domestic */
|
|
11
11
|
isGlobal?: boolean;
|
|
12
|
+
/** Variant identifier for analytics tracking */
|
|
13
|
+
variant?: string;
|
|
14
|
+
/** Google Maps API key for birth place autocomplete */
|
|
15
|
+
googleMapsApiKey?: string;
|
|
12
16
|
logoUrl?: string;
|
|
13
17
|
reportImageUrl?: string;
|
|
14
18
|
/** When true, LCP report image can be loaded with priority (e.g. next/image priority). */
|
|
@@ -40,5 +40,7 @@ export interface KundliPageProps {
|
|
|
40
40
|
analytics?: KundliAnalytics;
|
|
41
41
|
/** Notify when user changes language (e.g. to keep form view in sync when switching from landing) */
|
|
42
42
|
onLocaleChange?: (locale: SupportedLocale) => void;
|
|
43
|
+
/** Google Maps API key for birth place autocomplete */
|
|
44
|
+
googleMapsApiKey?: string;
|
|
43
45
|
}
|
|
44
46
|
export declare const KundliPage: React.FC<KundliPageProps>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SupportedLocale } from '../../i18n/translations';
|
|
2
|
+
import { KundliFormValues } from '../KundliForm';
|
|
3
|
+
import { KundliAnalytics } from '../../analytics';
|
|
4
|
+
export interface KundliPageProps {
|
|
5
|
+
/** Optional CSS class name */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Language (en, hi). Overrides I18nProvider if set. Initial value when using dropdown. */
|
|
8
|
+
locale?: SupportedLocale;
|
|
9
|
+
/** Show language dropdown. Default true. */
|
|
10
|
+
showLanguageSelector?: boolean;
|
|
11
|
+
/** User ID from auth, for API calls etc. */
|
|
12
|
+
userId?: number;
|
|
13
|
+
/** Whether the user is global (international) or domestic */
|
|
14
|
+
isGlobal?: boolean;
|
|
15
|
+
/** Header logo URL */
|
|
16
|
+
logoUrl?: string;
|
|
17
|
+
/** Premium report cover image URL */
|
|
18
|
+
reportImageUrl?: string;
|
|
19
|
+
/** University logo URLs [BHU, VSU] */
|
|
20
|
+
universityLogoUrls?: [string?, string?];
|
|
21
|
+
/** Sample report link (opens in new tab) */
|
|
22
|
+
sampleReportHref?: string;
|
|
23
|
+
/** Called when "View Sample Report" is clicked (if sampleReportHref not set) */
|
|
24
|
+
onViewSampleReport?: () => void;
|
|
25
|
+
/** CTA button link (e.g. checkout URL). If set, CTA is a link; otherwise CTA shows the Kundli form. */
|
|
26
|
+
ctaHref?: string;
|
|
27
|
+
/** Called when CTA button is clicked (if ctaHref not set). Also called after navigating to form when integrated. */
|
|
28
|
+
onCtaClick?: () => void;
|
|
29
|
+
/** Read more reviews link */
|
|
30
|
+
readMoreReviewsHref?: string;
|
|
31
|
+
/** Called when user proceeds from the form (e.g. to payment) */
|
|
32
|
+
onProceed?: (values: KundliFormValues) => void;
|
|
33
|
+
/** Form: proceed CTA as link */
|
|
34
|
+
proceedHref?: string;
|
|
35
|
+
/** Form: pricing labels */
|
|
36
|
+
originalPriceLabel?: string;
|
|
37
|
+
discountedPriceLabel?: string;
|
|
38
|
+
discountPillLabel?: string;
|
|
39
|
+
/** Optional analytics implementation for Mixpanel/tracking events */
|
|
40
|
+
analytics?: KundliAnalytics;
|
|
41
|
+
/** Notify when user changes language (e.g. to keep form view in sync when switching from landing) */
|
|
42
|
+
onLocaleChange?: (locale: SupportedLocale) => void;
|
|
43
|
+
/** Google Maps API key for birth place autocomplete */
|
|
44
|
+
googleMapsApiKey?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare const KundliPageV1: React.FC<KundliPageProps>;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export { KundliPage } from './
|
|
2
|
-
export type { KundliPageProps } from './
|
|
1
|
+
export { KundliPage } from './KundliPageVariant';
|
|
2
|
+
export type { KundliPageProps } from './KundliPageVariant';
|
|
3
|
+
export { KundliPage as KundliPageBase } from './KundliPage';
|
|
4
|
+
export { KundliPageV1 } from './KundliPageV1';
|