@srimandir/astro-consultation 1.2.0 → 1.2.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.
Files changed (31) hide show
  1. package/dist/astro-consultation.js +925 -1069
  2. package/dist/astro-consultation.js.map +1 -1
  3. package/dist/astro-consultation.umd.cjs +1 -14
  4. package/dist/astro-consultation.umd.cjs.map +1 -1
  5. package/dist/components/AstroConsultationSuccessModal/AstroConsultationSuccessModal.d.ts +16 -0
  6. package/dist/components/AstroConsultationSuccessModal/icons.d.ts +9 -0
  7. package/dist/components/AstroConsultationSuccessModal/index.d.ts +2 -0
  8. package/dist/components/ConsultationBookedSection/ConsultationBookedSection.d.ts +18 -0
  9. package/dist/components/ConsultationBookedSection/icons.d.ts +12 -0
  10. package/dist/components/ConsultationBookedSection/index.d.ts +2 -0
  11. package/dist/components/ConsultationDetailsCard/ConsultationDetailsCard.d.ts +25 -0
  12. package/dist/components/ConsultationDetailsCard/icons.d.ts +7 -0
  13. package/dist/components/ConsultationDetailsCard/index.d.ts +2 -0
  14. package/dist/components/ConsultationSlotSheet/ConsultationSlotSheet.d.ts +7 -0
  15. package/dist/components/ConsultationSlotSheet/icons.d.ts +5 -0
  16. package/dist/components/PaymentResult/PaymentResult.d.ts +1 -0
  17. package/dist/components/SlotUnavailableNotice/SlotUnavailableNotice.d.ts +9 -0
  18. package/dist/components/SlotUnavailableNotice/icons.d.ts +3 -0
  19. package/dist/components/SlotUnavailableNotice/index.d.ts +2 -0
  20. package/dist/components/UnscheduledAstrologerList/UnscheduledAstrologerList.d.ts +30 -0
  21. package/dist/components/UnscheduledAstrologerList/icons.d.ts +9 -0
  22. package/dist/components/UnscheduledAstrologerList/index.d.ts +2 -0
  23. package/dist/index.d.ts +10 -2
  24. package/dist/style.css +1 -1
  25. package/package.json +4 -4
  26. package/dist/i18n/en.d.ts +0 -4
  27. package/dist/i18n/hi.d.ts +0 -4
  28. package/dist/i18n/index.d.ts +0 -18
  29. package/dist/i18n/kn.d.ts +0 -4
  30. package/dist/i18n/te.d.ts +0 -4
  31. package/dist/i18n/types.d.ts +0 -16
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ import { ConsultationDetailsCardAstrologer } from '../ConsultationDetailsCard';
3
+ export type AstroConsultationSuccessModalAstrologer = ConsultationDetailsCardAstrologer;
4
+ export interface AstroConsultationSuccessModalProps {
5
+ isOpen: boolean;
6
+ onClose: () => void;
7
+ astrologer: AstroConsultationSuccessModalAstrologer;
8
+ /** Booked call date, already formatted by the host, e.g. "Friday, 25 August 2026". */
9
+ dateLabel: string;
10
+ /** Booked call time range, already formatted, e.g. "11:30 AM - 12:00 PM". */
11
+ timeRangeLabel: string;
12
+ /** Translation lookup; every string falls back to the English default. */
13
+ t?: (key: string, options?: any) => string | undefined;
14
+ className?: string;
15
+ }
16
+ export declare const AstroConsultationSuccessModal: React.FC<AstroConsultationSuccessModalProps>;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Sparkle-framed checkmark hero (Figma node 60:4046). Traced from the
4
+ * exported vector — the sparkle positions/colors are illustration, not
5
+ * data, so they're kept as one static graphic rather than individual props.
6
+ */
7
+ export declare const SuccessHeroIcon: React.FC;
8
+ /** Message bubble glyph beside the WhatsApp footnote. */
9
+ export declare const MessageSquareIcon: React.FC;
@@ -0,0 +1,2 @@
1
+ export { AstroConsultationSuccessModal } from './AstroConsultationSuccessModal';
2
+ export type { AstroConsultationSuccessModalProps, AstroConsultationSuccessModalAstrologer, } from './AstroConsultationSuccessModal';
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { ConsultationDetailsCardAstrologer } from '../ConsultationDetailsCard';
3
+ export type ConsultationBookedSectionAstrologer = ConsultationDetailsCardAstrologer;
4
+ export interface ConsultationBookedSectionProps {
5
+ astrologer: ConsultationBookedSectionAstrologer;
6
+ /** Booked call date, already formatted by the host, e.g. "Friday, 25 August 2026". */
7
+ dateLabel: string;
8
+ /** Booked call time range, already formatted, e.g. "11:30 AM - 12:00 PM". */
9
+ timeRangeLabel: string;
10
+ /** Renders the "Join Call" CTA when present. */
11
+ onJoinCall?: () => void;
12
+ /** Minutes-before-call figure in the reminder note. Defaults to 15. */
13
+ reminderMinutesBefore?: number;
14
+ /** Translation lookup; every string falls back to the English default. */
15
+ t?: (key: string, options?: any) => string | undefined;
16
+ className?: string;
17
+ }
18
+ export declare const ConsultationBookedSection: React.FC<ConsultationBookedSectionProps>;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ /** Small green check badge beside "Your astrology call details:". */
3
+ export declare const CheckBadgeIcon: React.FC;
4
+ /** Bell glyph on the call-reminder notice. */
5
+ export declare const BellIcon: React.FC;
6
+ /** Phone glyph on the "Join Call" CTA. */
7
+ export declare const PhoneIcon: React.FC;
8
+ /**
9
+ * Decorative zodiac-wheel doodle behind the header (Figma node 783:35724).
10
+ * Illustration, not data — kept as one static graphic.
11
+ */
12
+ export declare const DecorativeBlobIcon: React.FC;
@@ -0,0 +1,2 @@
1
+ export { ConsultationBookedSection } from './ConsultationBookedSection';
2
+ export type { ConsultationBookedSectionProps, ConsultationBookedSectionAstrologer, } from './ConsultationBookedSection';
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+ export interface ConsultationDetailsCardAstrologer {
3
+ name: string;
4
+ /** Falls back to the initial-letter avatar when absent. */
5
+ photoUrl?: string;
6
+ /** Rendered comma-joined; the line is dropped when empty. */
7
+ languages?: string[];
8
+ /** Hidden when 0/undefined. */
9
+ rating?: number;
10
+ /** Hidden when undefined. */
11
+ experienceYears?: number;
12
+ }
13
+ export interface ConsultationDetailsCardProps {
14
+ astrologer: ConsultationDetailsCardAstrologer;
15
+ /** Booked call date, already formatted by the host, e.g. "Friday, 25 August 2026". */
16
+ dateLabel: string;
17
+ /** Booked call time range, already formatted, e.g. "11:30 AM - 12:00 PM". */
18
+ timeRangeLabel: string;
19
+ /** Rendered inside the astrologer section, below the profile row — e.g. a "Join Call" CTA. */
20
+ astrologerFooter?: React.ReactNode;
21
+ /** Translation lookup; every string falls back to the English default. */
22
+ t?: (key: string, options?: any) => string | undefined;
23
+ className?: string;
24
+ }
25
+ export declare const ConsultationDetailsCard: React.FC<ConsultationDetailsCardProps>;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ /** Calendar-clock glyph beside the call time. */
3
+ export declare const CalendarClockIcon: React.FC;
4
+ /** Filled star beside the astrologer's rating. */
5
+ export declare const StarIcon: React.FC;
6
+ /** Blue verified-check badge overlapping the astrologer's photo. */
7
+ export declare const VerifiedBadgeIcon: React.FC;
@@ -0,0 +1,2 @@
1
+ export { ConsultationDetailsCard } from './ConsultationDetailsCard';
2
+ export type { ConsultationDetailsCardProps, ConsultationDetailsCardAstrologer, } from './ConsultationDetailsCard';
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ConsultationSlot, ConsultationSlotDay, ConsultationSlotPeriod } from '../../../../astrology-common/dist/index.js';
3
+ import { ConsultationDetailsCardAstrologer } from '../ConsultationDetailsCard';
3
4
  export interface ConsultationSlotSheetProps {
4
5
  isOpen: boolean;
5
6
  onClose: () => void;
@@ -14,6 +15,12 @@ export interface ConsultationSlotSheetProps {
14
15
  onPeriodSelect?: (period: ConsultationSlotPeriod) => void;
15
16
  selectedSlotStart?: string | null;
16
17
  onSlotSelect?: (slot: ConsultationSlot) => void;
18
+ /**
19
+ * The astrologer this sheet is booking a call with. Shown as a summary row
20
+ * (photo, name, rating, experience, languages) above the phone/slot picker.
21
+ * Omit it and the sheet opens with no astrologer identity shown.
22
+ */
23
+ astrologer?: ConsultationDetailsCardAstrologer;
17
24
  /**
18
25
  * The host's phone-number input, rendered above the slot picker. Omit it and
19
26
  * the sheet shows the slot picker alone (e.g. when the number is already known).
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ /** Filled star beside the chosen astrologer's rating (matches ConsultationDetailsCard). */
3
+ export declare const StarIcon: React.FC;
4
+ /** Blue verified-check badge overlapping the chosen astrologer's photo (matches ConsultationDetailsCard). */
5
+ export declare const VerifiedBadgeIcon: React.FC;
@@ -39,6 +39,7 @@ export interface PaymentResultProps {
39
39
  /** True while the authoritative booking status is still being polled. */
40
40
  isLoading?: boolean;
41
41
  onBack?: () => void;
42
+ onHelp?: () => void;
42
43
  /** `booked` only — joins the call. */
43
44
  onJoinCall?: () => void;
44
45
  /** `slot_failed` only — reopens slot selection. */
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ export interface SlotUnavailableNoticeProps {
3
+ /** Message text. Wins over `t("consultationSlotUnavailable")`. */
4
+ message?: string;
5
+ /** Translation lookup; every string falls back to the design's Hindi default. */
6
+ t?: (key: string, options?: any) => string | undefined;
7
+ className?: string;
8
+ }
9
+ export declare const SlotUnavailableNotice: React.FC<SlotUnavailableNoticeProps>;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ /** Clock-with-cancel-mark glyph in the notice's white badge (Figma 783:23265). */
3
+ export declare const ClockUnavailableIcon: React.FC;
@@ -0,0 +1,2 @@
1
+ export { SlotUnavailableNotice } from './SlotUnavailableNotice';
2
+ export type { SlotUnavailableNoticeProps } from './SlotUnavailableNotice';
@@ -0,0 +1,30 @@
1
+ import { default as React } from 'react';
2
+ export interface UnscheduledAstrologerListAstrologer {
3
+ id: string;
4
+ name: string;
5
+ /** Falls back to the initial-letter avatar when absent. */
6
+ photoUrl?: string;
7
+ /** Rendered comma-joined; the line is dropped when empty. */
8
+ languages?: string[];
9
+ /** Hidden when 0/undefined. */
10
+ rating?: number;
11
+ /** Hidden when undefined. */
12
+ experienceYears?: number;
13
+ /** Shows the "Recommended" ribbon. */
14
+ isRecommended?: boolean;
15
+ }
16
+ export interface UnscheduledAstrologerListProps {
17
+ astrologers: UnscheduledAstrologerListAstrologer[];
18
+ selectedAstrologerId?: string;
19
+ onSelectAstrologer?: (astrologer: UnscheduledAstrologerListAstrologer) => void;
20
+ /** Fired when "Schedule your call" is tapped. */
21
+ onScheduleCall?: () => void;
22
+ /** Greys out the CTA, e.g. nothing selected yet. */
23
+ ctaDisabled?: boolean;
24
+ /** CTA label. Wins over `t("consultationScheduleCall")`. */
25
+ ctaLabel?: string;
26
+ /** Translation lookup; every string falls back to the English default. */
27
+ t?: (key: string, options?: any) => string | undefined;
28
+ className?: string;
29
+ }
30
+ export declare const UnscheduledAstrologerList: React.FC<UnscheduledAstrologerListProps>;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ /** Green check-circle beside "Included in your package". */
3
+ export declare const IncludedCheckIcon: React.FC;
4
+ /** Filled star beside the astrologer's rating. */
5
+ export declare const StarIcon: React.FC;
6
+ /** Blue verified-check badge overlapping the astrologer's photo. */
7
+ export declare const VerifiedBadgeIcon: React.FC;
8
+ /** Trailing arrow on the "Schedule your call" CTA. */
9
+ export declare const ArrowRightIcon: React.FC;
@@ -0,0 +1,2 @@
1
+ export { UnscheduledAstrologerList } from './UnscheduledAstrologerList';
2
+ export type { UnscheduledAstrologerListProps, UnscheduledAstrologerListAstrologer, } from './UnscheduledAstrologerList';
package/dist/index.d.ts CHANGED
@@ -12,7 +12,15 @@ export { AstrologerCard, getAstrologerPriceSymbol, } from './components/Astrolog
12
12
  export type { AstrologerCardProps, AstrologerCardAstrologer, AstrologerCardPricing, } from './components/AstrologerCard';
13
13
  export { ConsultationSlotSheet } from './components/ConsultationSlotSheet';
14
14
  export type { ConsultationSlotSheetProps } from './components/ConsultationSlotSheet';
15
- export { consultationDictionaries, createConsultationTranslate, en as consultationEn, hi as consultationHi, te as consultationTe, kn as consultationKn, } from './i18n';
16
- export type { ConsultationDictionary, ConsultationLocale, ConsultationTranslate, ConsultationTranslateOptions, } from './i18n';
17
15
  export { PaymentResult } from './components/PaymentResult';
18
16
  export type { PaymentResultProps, PaymentResultStatus, PaymentResultAstrologer, } from './components/PaymentResult';
17
+ export { AstroConsultationSuccessModal } from './components/AstroConsultationSuccessModal';
18
+ export type { AstroConsultationSuccessModalProps, AstroConsultationSuccessModalAstrologer, } from './components/AstroConsultationSuccessModal';
19
+ export { ConsultationDetailsCard } from './components/ConsultationDetailsCard';
20
+ export type { ConsultationDetailsCardProps, ConsultationDetailsCardAstrologer, } from './components/ConsultationDetailsCard';
21
+ export { ConsultationBookedSection } from './components/ConsultationBookedSection';
22
+ export type { ConsultationBookedSectionProps, ConsultationBookedSectionAstrologer, } from './components/ConsultationBookedSection';
23
+ export { UnscheduledAstrologerList } from './components/UnscheduledAstrologerList';
24
+ export type { UnscheduledAstrologerListProps, UnscheduledAstrologerListAstrologer, } from './components/UnscheduledAstrologerList';
25
+ export { SlotUnavailableNotice } from './components/SlotUnavailableNotice';
26
+ export type { SlotUnavailableNoticeProps } from './components/SlotUnavailableNotice';
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";._plate_1xb7t_9{width:100%;border-radius:12px;background:#e6327a;border:1px solid #e6327a;overflow:hidden}._ribbon_1xb7t_17{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:#e6327a;color:#fff;font-size:14px;font-weight:700;line-height:20px;text-align:center}._card_1xb7t_30{display:flex;flex-direction:column;gap:12px;width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;filter:drop-shadow(0 4px 6px rgba(0,0,0,.04));box-sizing:border-box;font-family:inherit}._topSection_1xb7t_45{display:flex;align-items:flex-start;gap:12px}._photoWrap_1xb7t_56{position:relative;flex-shrink:0;width:57px;padding-bottom:10px}._photo_1xb7t_56{display:block;width:57px;height:70px;border-radius:8px;object-fit:cover}._photoFallback_1xb7t_73{display:flex;align-items:center;justify-content:center;width:57px;height:70px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-size:24px;font-weight:700}._ratingBadge_1xb7t_87{position:absolute;left:3px;bottom:0;display:flex;align-items:center;gap:4px;padding:2px 7px 2px 11px;border:1px solid #fccf9a;border-radius:16px;background:#fff;font-size:11px;font-weight:600;line-height:14px;color:#242424;white-space:nowrap}._ratingStar_1xb7t_105{flex-shrink:0}._details_1xb7t_110{display:flex;flex:1 0 0;min-width:0;flex-direction:column;gap:6px}._identity_1xb7t_118{display:flex;flex-direction:column;gap:4px;min-width:0}._name_1xb7t_125{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#1d2125;overflow-wrap:anywhere}._experience_1xb7t_134{margin:0;font-size:12px;font-weight:600;line-height:16px;color:#159169}._languages_1xb7t_142{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#1d2125;opacity:.6;overflow-wrap:anywhere}._tagsRow_1xb7t_153{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding-top:2px}._tag_1xb7t_153{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#f7f8f9;font-size:10px;font-weight:500;line-height:14px;color:#1d2125;white-space:nowrap}._divider_1xb7t_174{width:100%;height:1px;margin:0;border:0;background:#e5e7eb}._bottomSection_1xb7t_183{display:flex;align-items:center;justify-content:space-between;gap:12px}._priceArea_1xb7t_190{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}._discountRow_1xb7t_197{display:flex;align-items:center;gap:6px}._mrp_1xb7t_203{font-size:14px;font-weight:500;line-height:20px;color:#1d2125;opacity:.4;text-decoration:line-through}._discount_1xb7t_197{font-size:12px;font-weight:700;line-height:16px;color:#159169}._price_1xb7t_190{font-size:20px;font-weight:700;line-height:28px;color:#1d2125}._actionArea_1xb7t_227{margin-left:auto}._ctaBtn_1xb7t_231{flex-shrink:0;height:40px;padding:0 16px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:14px;font-weight:700;line-height:20px;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_1xb7t_231:hover{opacity:.95}._ctaBtn_1xb7t_231:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._iconBadge_rli31_15{position:absolute;top:-32px;left:50%;transform:translate(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}._iconBadge_rli31_15 img{flex-shrink:0;max-width:none;width:89px;height:89px;object-fit:contain}._header_rli31_52{padding:40px 16px 20px;text-align:center}._headerNoIcon_rli31_59{padding-top:20px}._title_rli31_63{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#1d2125}._headerDivider_rli31_71{width:100%;height:1px;margin:0;border:0;background:#e5e7eb}._bodyInner_rli31_80{padding:20px 16px 16px}._phoneSection_rli31_85{margin-bottom:20px}._footerInner_rli31_90{padding:12px 16px;border-top:1px solid #f3f4f6}._ctaBtn_rli31_95{width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_rli31_95:hover{opacity:.95}._ctaBtn_rli31_95:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._errorText_rli31_118{margin:8px 0 0;font-size:12px;color:#ff5151;text-align:center}._root_12f9t_3{width:100%;max-width:480px;margin:0 auto;min-height:100vh;background:#fff;font-family:inherit;box-sizing:border-box}._header_12f9t_14{display:flex;align-items:center;gap:8px;padding:16px}._backBtn_12f9t_21{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:#374151;cursor:pointer}._headerTitle_12f9t_34{font-size:14px;font-weight:600;line-height:20px;color:#374151}._hero_12f9t_46{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 12px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background:linear-gradient(180deg,#fff9e9 58.98%,#ffdcce 93.73%);filter:drop-shadow(0 4px 9px rgba(180,120,60,.07))}._tick_12f9t_58{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#3aa66f,#1f7a4d);box-shadow:0 0 0 7px #3aa66f24,0 8px 20px #1f7a4d66;color:#fff;font-size:24px;line-height:1}._heroTitle_12f9t_72{margin:0;width:100%;text-align:center;font-size:18px;font-weight:700;line-height:24px;color:#087955}._statRow_12f9t_83{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:310px;padding:9px 13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff4d;box-sizing:border-box}._stat_12f9t_83{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:4px}._statLabel_12f9t_106{font-size:12px;line-height:16px;color:#6b7280}._statValue_12f9t_114{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:16px;color:#22272b}._statDivider_12f9t_125{flex-shrink:0;width:1px;height:24px;background:#d1d5db}._body_12f9t_133{padding:20px 16px 24px}._section_12f9t_137{display:flex;flex-direction:column;align-items:center;gap:20px}._bookedHeading_12f9t_145{display:flex;flex-direction:column;gap:8px;width:100%;text-align:center}._bookedTitle_12f9t_153{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#087955}._bookedSubtitle_12f9t_161{margin:0;font-size:12px;line-height:16px;color:#374151}._astrologerCard_12f9t_168{display:flex;flex-direction:column;gap:12px;width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden;box-sizing:border-box}._astrologerRow_12f9t_181{display:flex;align-items:center;gap:12px}._photo_12f9t_187{flex-shrink:0;width:32px;height:32px;border-radius:8px;object-fit:cover}._photoFallback_12f9t_196{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-size:14px;font-weight:700}._astrologerMeta_12f9t_210{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:2px}._astrologerName_12f9t_218{margin:0;font-size:14px;font-weight:600;line-height:20px;color:#000;overflow-wrap:anywhere}._astrologerSubRow_12f9t_227{display:flex;align-items:center;gap:8px}._languages_12f9t_233{font-size:12px;line-height:16px;color:#374151}._metaDivider_12f9t_239{width:1px;height:13.5px;background:#d1d5db}._rating_12f9t_245{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:16px;color:#374151}._slotPill_12f9t_255{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f7f8f9;box-sizing:border-box}._slotPillText_12f9t_268{text-align:center;font-size:12px;font-weight:500;line-height:16px;color:#1d2125}._failedCard_12f9t_277{display:flex;flex-direction:column;gap:8px;width:100%;padding:16px;border:1px solid #f5d5d5;border-radius:16px;background:#fff;text-align:center;box-sizing:border-box}._failedTitle_12f9t_290{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#c0392b}._failedSubtitle_12f9t_298{margin:0;font-size:12px;line-height:16px;color:#374151}._ctaBtn_12f9t_306{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_12f9t_306:hover{opacity:.95}._ctaBtn_12f9t_306:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._footnote_12f9t_333{margin:0;width:100%;text-align:center;font-size:14px;font-weight:500;line-height:20px;color:#6b7280}._skeleton_12f9t_344{width:100%;padding:16px;border:1px solid #e5e7eb;border-radius:16px}._skeletonLine_12f9t_351{height:12px;border-radius:4px;background:#f3f4f6;animation:_paymentResultPulse_12f9t_1 1.4s ease-in-out infinite}._skeletonLine_12f9t_351+._skeletonLine_12f9t_351{margin-top:12px}._skeletonCta_12f9t_361{height:40px;margin-top:16px;border-radius:8px;background:#f3f4f6;animation:_paymentResultPulse_12f9t_1 1.4s ease-in-out infinite}@keyframes _paymentResultPulse_12f9t_1{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){._skeletonLine_12f9t_351,._skeletonCta_12f9t_361{animation:none}}
1
+ @charset "UTF-8";._plate_1xb7t_9{width:100%;border-radius:12px;background:#e6327a;border:1px solid #e6327a;overflow:hidden}._ribbon_1xb7t_17{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:#e6327a;color:#fff;font-size:14px;font-weight:700;line-height:20px;text-align:center}._card_1xb7t_30{display:flex;flex-direction:column;gap:12px;width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;filter:drop-shadow(0 4px 6px rgba(0,0,0,.04));box-sizing:border-box;font-family:inherit}._topSection_1xb7t_45{display:flex;align-items:flex-start;gap:12px}._photoWrap_1xb7t_56{position:relative;flex-shrink:0;width:57px;padding-bottom:10px}._photo_1xb7t_56{display:block;width:57px;height:70px;border-radius:8px;object-fit:cover}._photoFallback_1xb7t_73{display:flex;align-items:center;justify-content:center;width:57px;height:70px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-size:24px;font-weight:700}._ratingBadge_1xb7t_87{position:absolute;left:3px;bottom:0;display:flex;align-items:center;gap:4px;padding:2px 7px 2px 11px;border:1px solid #fccf9a;border-radius:16px;background:#fff;font-size:11px;font-weight:600;line-height:14px;color:#242424;white-space:nowrap}._ratingStar_1xb7t_105{flex-shrink:0}._details_1xb7t_110{display:flex;flex:1 0 0;min-width:0;flex-direction:column;gap:6px}._identity_1xb7t_118{display:flex;flex-direction:column;gap:4px;min-width:0}._name_1xb7t_125{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#1d2125;overflow-wrap:anywhere}._experience_1xb7t_134{margin:0;font-size:12px;font-weight:600;line-height:16px;color:#159169}._languages_1xb7t_142{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#1d2125;opacity:.6;overflow-wrap:anywhere}._tagsRow_1xb7t_153{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding-top:2px}._tag_1xb7t_153{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#f7f8f9;font-size:10px;font-weight:500;line-height:14px;color:#1d2125;white-space:nowrap}._divider_1xb7t_174{width:100%;height:1px;margin:0;border:0;background:#e5e7eb}._bottomSection_1xb7t_183{display:flex;align-items:center;justify-content:space-between;gap:12px}._priceArea_1xb7t_190{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}._discountRow_1xb7t_197{display:flex;align-items:center;gap:6px}._mrp_1xb7t_203{font-size:14px;font-weight:500;line-height:20px;color:#1d2125;opacity:.4;text-decoration:line-through}._discount_1xb7t_197{font-size:12px;font-weight:700;line-height:16px;color:#159169}._price_1xb7t_190{font-size:20px;font-weight:700;line-height:28px;color:#1d2125}._actionArea_1xb7t_227{margin-left:auto}._ctaBtn_1xb7t_231{flex-shrink:0;height:40px;padding:0 16px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:14px;font-weight:700;line-height:20px;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_1xb7t_231:hover{opacity:.95}._ctaBtn_1xb7t_231:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._root_snrbj_6{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#d93640}._badge_snrbj_15{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff}._message_snrbj_26{flex:1 0 0;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:20px;color:#fff;word-break:break-word}._iconBadge_1u8sf_15{position:absolute;top:-32px;left:50%;transform:translate(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}._iconBadge_1u8sf_15 img{flex-shrink:0;max-width:none;width:89px;height:89px;object-fit:contain}._header_1u8sf_52{padding:40px 16px 20px;text-align:center}._headerNoIcon_1u8sf_59{padding-top:20px}._title_1u8sf_63{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#1d2125}._headerDivider_1u8sf_71{width:100%;height:1px;margin:0;border:0;background:#e5e7eb}._bodyInner_1u8sf_80{padding:20px 16px 16px}._astrologerRow_1u8sf_85{display:flex;align-items:center;gap:12px;margin-bottom:20px}._avatar_1u8sf_93{position:relative;flex-shrink:0;width:56px;height:56px;box-sizing:border-box;border:1.2px solid #1a6ee5;border-radius:50%}._avatarInner_1u8sf_93{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%}._avatarFill_1u8sf_112{width:100%;height:100%;background:linear-gradient(180deg,#def4e9,#f9a3c6)}._photo_1u8sf_118{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}._photoFallback_1u8sf_126{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff}._verifiedBadge_1u8sf_137{position:absolute;right:-5px;bottom:-4px}._astrologerMeta_1u8sf_143{display:flex;min-width:0;flex:1 0 0;flex-direction:column;gap:2px}._astrologerName_1u8sf_151{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;color:#1d2125}._astrologerSubRow_1u8sf_162{display:flex;align-items:center;gap:4px}._rating_1u8sf_168{display:flex;align-items:center;gap:2px;font-size:10px;font-weight:500;line-height:14px;color:#22272b}._metaDot_1u8sf_178{width:3px;height:3px;flex-shrink:0;border-radius:50%;background:#c4c1ba}._experience_1u8sf_186{font-size:10px;font-weight:500;line-height:14px;color:#22272b}._languages_1u8sf_193{margin:0;font-size:10px;font-weight:500;line-height:14px;color:#6b7280}._phoneSection_1u8sf_202{margin-bottom:20px}._footerInner_1u8sf_207{padding:12px 16px;border-top:1px solid #f3f4f6}._ctaBtn_1u8sf_212{width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_1u8sf_212:hover{opacity:.95}._ctaBtn_1u8sf_212:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._errorNotice_1u8sf_235{margin-top:12px}._root_io71q_3{width:100%;max-width:480px;margin:0 auto;min-height:100vh;background:#fff;font-family:inherit;box-sizing:border-box}._header_io71q_14{display:flex;align-items:center;gap:8px;padding:16px}._backBtn_io71q_21{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:#374151;cursor:pointer}._headerTitle_io71q_34{font-size:14px;font-weight:600;line-height:20px;color:#374151}._helpBtn_io71q_41{margin-left:auto;padding:0;border:0;background:transparent;color:#6b7280;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}._hero_io71q_58{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 12px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background:linear-gradient(180deg,#fff9e9 58.98%,#ffdcce 93.73%);filter:drop-shadow(0 4px 9px rgba(180,120,60,.07))}._tick_io71q_70{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#3aa66f,#1f7a4d);box-shadow:0 0 0 7px #3aa66f24,0 8px 20px #1f7a4d66;color:#fff;font-size:24px;line-height:1}._heroTitle_io71q_84{margin:0;width:100%;text-align:center;font-size:18px;font-weight:700;line-height:24px;color:#087955}._statRow_io71q_95{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:310px;padding:9px 13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff4d;box-sizing:border-box}._stat_io71q_95{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:4px}._statLabel_io71q_118{font-size:12px;line-height:16px;color:#6b7280}._statValue_io71q_126{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:16px;color:#22272b}._statDivider_io71q_137{flex-shrink:0;width:1px;height:24px;background:#d1d5db}._body_io71q_145{padding:20px 16px 24px}._section_io71q_149{display:flex;flex-direction:column;align-items:center;gap:20px}._bookedHeading_io71q_157{display:flex;flex-direction:column;gap:8px;width:100%;text-align:center}._bookedTitle_io71q_165{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#087955}._bookedSubtitle_io71q_173{margin:0;font-size:12px;line-height:16px;color:#374151}._astrologerCard_io71q_180{display:flex;flex-direction:column;gap:12px;width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden;box-sizing:border-box}._astrologerRow_io71q_193{display:flex;align-items:center;gap:12px}._photo_io71q_199{flex-shrink:0;width:32px;height:32px;border-radius:8px;object-fit:cover}._photoFallback_io71q_208{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-size:14px;font-weight:700}._astrologerMeta_io71q_222{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:2px}._astrologerName_io71q_230{margin:0;font-size:14px;font-weight:600;line-height:20px;color:#000;overflow-wrap:anywhere}._astrologerSubRow_io71q_239{display:flex;align-items:center;gap:8px}._languages_io71q_245{font-size:12px;line-height:16px;color:#374151}._metaDivider_io71q_251{width:1px;height:13.5px;background:#d1d5db}._rating_io71q_257{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:16px;color:#374151}._slotPill_io71q_267{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f7f8f9;box-sizing:border-box}._slotPillText_io71q_280{text-align:center;font-size:12px;font-weight:500;line-height:16px;color:#1d2125}._failedCard_io71q_289{display:flex;flex-direction:column;gap:8px;width:100%;padding:16px;border:1px solid #f5d5d5;border-radius:16px;background:#fff;text-align:center;box-sizing:border-box}._failedTitle_io71q_302{margin:0;font-size:16px;font-weight:700;line-height:22px;color:#c0392b}._failedSubtitle_io71q_310{margin:0;font-size:12px;line-height:16px;color:#374151}._ctaBtn_io71q_318{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_io71q_318:hover{opacity:.95}._ctaBtn_io71q_318:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._footnote_io71q_345{margin:0;width:100%;text-align:center;font-size:14px;font-weight:500;line-height:20px;color:#6b7280}._skeleton_io71q_356{width:100%;padding:16px;border:1px solid #e5e7eb;border-radius:16px}._skeletonLine_io71q_363{height:12px;border-radius:4px;background:#f3f4f6;animation:_paymentResultPulse_io71q_1 1.4s ease-in-out infinite}._skeletonLine_io71q_363+._skeletonLine_io71q_363{margin-top:12px}._skeletonCta_io71q_373{height:40px;margin-top:16px;border-radius:8px;background:#f3f4f6;animation:_paymentResultPulse_io71q_1 1.4s ease-in-out infinite}@keyframes _paymentResultPulse_io71q_1{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){._skeletonLine_io71q_363,._skeletonCta_io71q_373{animation:none}}._card_k2n64_3{display:flex;width:100%;flex-direction:column;align-items:stretch;border-radius:12px;background:#fff;font-family:inherit}._scheduleSection_k2n64_13{display:flex;flex-direction:column;gap:12px;padding:12px 20px;border-bottom:1px solid rgba(28,27,27,.05)}._sectionLabel_k2n64_21{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#8c8982;white-space:nowrap}._timeRow_k2n64_30{display:flex;align-items:center;gap:10px}._timeIcon_k2n64_36{flex-shrink:0;width:24px;height:24px;color:#2d2b28}._timeText_k2n64_43{display:flex;min-width:0;flex:1 0 0;flex-direction:column;gap:4px}._dateLabel_k2n64_51{margin:0;font-size:14px;font-weight:600;line-height:20px;color:#2d2b28;overflow-wrap:anywhere}._timeRangeLabel_k2n64_60{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#6b7280}._astrologerSection_k2n64_69{display:flex;flex-direction:column;gap:12px;padding:12px 20px}._astrologerRow_k2n64_76{display:flex;align-items:center;gap:12px}._avatar_k2n64_84{position:relative;flex-shrink:0;width:56px;height:56px;box-sizing:border-box;border:1.2px solid #1a6ee5;border-radius:50%}._avatarInner_k2n64_84{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%}._avatarFill_k2n64_103{width:100%;height:100%;background:linear-gradient(180deg,#def4e9,#f9a3c6)}._photo_k2n64_109{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}._photoFallback_k2n64_117{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff}._verifiedBadge_k2n64_128{position:absolute;right:-5px;bottom:-4px}._astrologerMeta_k2n64_134{display:flex;min-width:0;flex:1 0 0;flex-direction:column;gap:2px}._astrologerName_k2n64_142{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;color:#1d2125}._astrologerSubRow_k2n64_153{display:flex;align-items:center;gap:4px}._rating_k2n64_159{display:flex;align-items:center;gap:2px;font-size:10px;font-weight:500;line-height:14px;color:#22272b}._metaDot_k2n64_169{width:3px;height:3px;flex-shrink:0;border-radius:50%;background:#c4c1ba}._experience_k2n64_177{font-size:10px;font-weight:500;line-height:14px;color:#22272b}._languages_k2n64_184{margin:0;font-size:10px;font-weight:500;line-height:14px;color:#6b7280}._backdrop_gppaz_2{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000080;animation:_astroSuccessFadeIn_gppaz_1 .2s ease}@keyframes _astroSuccessFadeIn_gppaz_1{0%{opacity:0}to{opacity:1}}@keyframes _astroSuccessPopIn_gppaz_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}._root_gppaz_32{display:flex;width:100%;max-width:360px;flex-direction:column;align-items:center;gap:24px;padding:28px 16px;border-radius:16px;background:linear-gradient(180deg,#def4e9 14.643%,#f7f8f9);box-sizing:border-box;font-family:inherit;animation:_astroSuccessPopIn_gppaz_1 .25s ease-out}._header_gppaz_48{display:flex;width:100%;flex-direction:column;align-items:center;gap:8px}._title_gppaz_56{margin:0;width:100%;overflow-wrap:break-word;text-align:center;font-size:18px;font-weight:700;line-height:24px;color:#2d2b28}._footer_gppaz_68{display:flex;align-items:center;justify-content:center;gap:8px}._footerIcon_gppaz_75{flex-shrink:0;width:14px;height:14px;color:#8c8982}._footerText_gppaz_82{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#6a6862;white-space:nowrap}._root_6lh37_2{position:relative;display:flex;width:100%;flex-direction:column;align-items:center;gap:12px;padding:16px 0;overflow:hidden;background:linear-gradient(231.15deg,#e5e3fd,#f3f4f6 49.718%,#d6e7ff);box-sizing:border-box;font-family:inherit}._blob_6lh37_16{position:absolute;top:-34px;left:50%;width:135px;height:135px;margin-left:-1px;transform:translate(-50%) rotate(-3.55deg);pointer-events:none}._header_6lh37_28{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:4px;padding:0 16px;box-sizing:border-box}._headerIcon_6lh37_39{flex-shrink:0;width:14px;height:14px}._headerText_6lh37_45{margin:0;overflow-wrap:break-word;text-align:center;font-size:14px;font-weight:700;line-height:20px;color:#374151}._cardWrap_6lh37_56{position:relative;width:100%;padding:0 16px;box-sizing:border-box}._card_6lh37_56{overflow:hidden;border-radius:12px;box-shadow:0 0 10px #00000014}._ctaBtn_6lh37_70{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_6lh37_70:hover{opacity:.95}._ctaBtn_6lh37_70:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}._reminder_6lh37_97{position:relative;display:flex;width:100%;max-width:328px;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border-radius:8px;background:#fff9;box-sizing:border-box}._reminderIcon_6lh37_111{flex-shrink:0;width:16px;height:16px}._reminderText_6lh37_117{margin:0;font-size:12px;font-weight:500;line-height:16px;color:#22272b}._root_97nv9_5{display:flex;width:100%;align-items:center;justify-content:center;padding:24px 16px;border-radius:0;background:linear-gradient(180deg,#f7f8f9,#cec7ff 49.21%,#d6e7ff);box-sizing:border-box;font-family:inherit}._card_97nv9_17{display:flex;width:100%;max-width:328px;flex-direction:column;align-items:stretch;gap:16px;padding-top:12px;overflow:hidden;border-radius:16px;background:#fff;box-sizing:border-box}._header_97nv9_32{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 16px}._title_97nv9_40{margin:0;overflow-wrap:break-word;font-size:14px;font-weight:700;line-height:20px;color:#22272b}._includedTag_97nv9_49{display:inline-flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;border-radius:20px;background:#edf5f2}._includedIcon_97nv9_58{display:flex;flex-shrink:0;width:16px;height:16px}._includedText_97nv9_65{font-size:12px;font-weight:600;line-height:16px;color:#374151;white-space:nowrap}._scrollRow_97nv9_74{display:flex;gap:8px;padding:8px 16px 0 12px;overflow-x:auto;scrollbar-width:none}._scrollRow_97nv9_74::-webkit-scrollbar{display:none}._astrologerCard_97nv9_89{position:relative;display:flex;flex-shrink:0;width:220px;align-items:center;gap:12px;padding:12px 8px 12px 12px;border:1px solid rgba(28,27,27,.05);border-radius:12px;background:none;font-family:inherit;text-align:left;cursor:pointer}._astrologerCardSelected_97nv9_105{border-color:#f0b168;background:#ffefdb}._ribbon_97nv9_113{position:absolute;top:-8px;left:-6px;display:flex;align-items:center;height:22px;padding:0 12px 0 10px;border-radius:11px 0 0 11px;background:#d51f68;color:#fff;font-size:10px;font-weight:600;line-height:14px;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%)}._avatar_97nv9_133{position:relative;flex-shrink:0;width:56px;height:56px;box-sizing:border-box;border:1.2px solid #1a6ee5;border-radius:90%}._avatarInner_97nv9_133{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%}._avatarFill_97nv9_152{width:100%;height:100%;background:linear-gradient(180deg,#def4e9,#f9a3c6)}._photo_97nv9_158{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}._photoFallback_97nv9_166{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff}._verifiedBadge_97nv9_177{position:absolute;right:-5px;bottom:-4px}._meta_97nv9_183{display:flex;min-width:0;flex:1 0 0;flex-direction:column;gap:2px}._name_97nv9_191{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;color:#1d2125}._subRow_97nv9_202{display:flex;align-items:center;gap:4px}._rating_97nv9_208{display:flex;align-items:center;gap:2px;font-size:10px;font-weight:500;line-height:14px;color:#22272b}._dot_97nv9_218{width:3px;height:3px;flex-shrink:0;border-radius:50%;background:#c4c1ba}._experience_97nv9_226{font-size:10px;font-weight:500;line-height:14px;color:#22272b}._languages_97nv9_233{margin:0;font-size:10px;font-weight:500;line-height:14px;color:#6b7280}._footer_97nv9_242{display:flex;width:100%;padding:12px;border-top:1px solid rgba(28,27,27,.05);box-sizing:border-box}._ctaBtn_97nv9_250{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:0;border-radius:8px;background:linear-gradient(180deg,#f97e4e,#f75e22);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s ease}._ctaBtn_97nv9_250:hover{opacity:.95}._ctaBtn_97nv9_250:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@srimandir/astro-consultation",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "React NPM package for the standalone astrologer consultation flow – consumed by Hanuman at /astro-consultation",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -35,8 +35,8 @@
35
35
  "react-dom": "^18.0.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@srimandir/astrology-common": "7.2.0",
39
- "@srimandir/common": "1.2.0",
38
+ "@srimandir/astrology-common": "^7.2.2",
39
+ "@srimandir/common": "^1.1.7",
40
40
  "@types/react": "^18.2.0",
41
41
  "@types/react-dom": "^18.2.0",
42
42
  "@vitejs/plugin-react": "^4.3.4",
@@ -54,5 +54,5 @@
54
54
  "react"
55
55
  ],
56
56
  "license": "MIT",
57
- "gitHead": "8763a9df4a3fad996543f6edd3793bb9a2de04ea"
57
+ "gitHead": "44e5f502a664adcdb7c959c59fc938fb875b75e6"
58
58
  }
package/dist/i18n/en.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { ConsultationDictionary } from './types';
2
- /** English — the fallback every other locale degrades to. */
3
- declare const en: ConsultationDictionary;
4
- export default en;
package/dist/i18n/hi.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { ConsultationDictionary } from './types';
2
- /** Hindi (hi). */
3
- declare const hi: ConsultationDictionary;
4
- export default hi;
@@ -1,18 +0,0 @@
1
- import { default as en } from './en';
2
- import { default as hi } from './hi';
3
- import { default as kn } from './kn';
4
- import { default as te } from './te';
5
- import { ConsultationDictionary, ConsultationLocale, ConsultationTranslate } from './types';
6
- export type { ConsultationDictionary, ConsultationLocale, ConsultationTranslate, ConsultationTranslateOptions, } from './types';
7
- export { en, hi, te, kn };
8
- export declare const consultationDictionaries: Record<ConsultationLocale, ConsultationDictionary>;
9
- /**
10
- * Builds the `t` the components take.
11
- *
12
- * @param locale Anything unrecognised (including a full tag like "en-US")
13
- * falls back to English rather than rendering blanks.
14
- * @param overrides Host-supplied strings, by the same keys, winning over the
15
- * bundled copy — for a surface that needs different wording
16
- * without a package release.
17
- */
18
- export declare const createConsultationTranslate: (locale?: string, overrides?: ConsultationDictionary) => ConsultationTranslate;
package/dist/i18n/kn.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { ConsultationDictionary } from './types';
2
- /** Kannada (kn). */
3
- declare const kn: ConsultationDictionary;
4
- export default kn;
package/dist/i18n/te.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { ConsultationDictionary } from './types';
2
- /** Telugu (te). */
3
- declare const te: ConsultationDictionary;
4
- export default te;
@@ -1,16 +0,0 @@
1
- /**
2
- * Shared types for this package's translations.
3
- *
4
- * One file per language (`en.ts`, `hi.ts`, `te.ts`, `kn.ts`), each default
5
- * exporting a `ConsultationDictionary`; `index.ts` assembles them and builds
6
- * the `t` the components take.
7
- */
8
- export type ConsultationLocale = 'en' | 'hi' | 'te' | 'kn';
9
- /** Keys are the ones the components look up; see `en.ts` for the full set. */
10
- export type ConsultationDictionary = Record<string, string>;
11
- /** Interpolation the card needs: `{count}` years, `{percent}` off. */
12
- export interface ConsultationTranslateOptions {
13
- count?: number;
14
- percent?: number;
15
- }
16
- export type ConsultationTranslate = (key: string, options?: ConsultationTranslateOptions) => string | undefined;