@srimandir/pitru-paksh-common 2.0.19 → 2.0.23

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 (29) hide show
  1. package/dist/components/BillDetails/BillDetails.d.ts +2 -6
  2. package/dist/components/BookingSummaryBanner/BookingSummaryBanner.d.ts +4 -25
  3. package/dist/components/BookingSummaryBanner/index.d.ts +1 -3
  4. package/dist/components/CartReviewItem/CartReviewItem.d.ts +4 -27
  5. package/dist/components/CartReviewItem/index.d.ts +2 -2
  6. package/dist/components/CartView/CartView.d.ts +21 -50
  7. package/dist/components/CartView/index.d.ts +1 -1
  8. package/dist/components/CheckoutBar/CheckoutBar.d.ts +1 -11
  9. package/dist/components/CheckoutBar/index.d.ts +0 -2
  10. package/dist/components/EmailSheet/EmailSheet.d.ts +18 -0
  11. package/dist/components/EmailSheet/index.d.ts +2 -0
  12. package/dist/components/PackageSelect/PackageSelect.d.ts +5 -17
  13. package/dist/components/PackageSelect/index.d.ts +0 -2
  14. package/dist/components/ServiceOfferCard/ServiceOfferCard.d.ts +1 -1
  15. package/dist/dev/main.d.ts +0 -1
  16. package/dist/index.d.ts +6 -14
  17. package/dist/pitru-paksh-common.js +1102 -1255
  18. package/dist/pitru-paksh-common.umd.cjs +8 -8
  19. package/dist/style.css +1 -1
  20. package/package.json +5 -5
  21. package/dist/components/BillDetails/BillDetails.translations.d.ts +0 -9
  22. package/dist/components/BookingSummaryBanner/BookingSummaryBanner.translations.d.ts +0 -18
  23. package/dist/components/CartView/CartView.translations.d.ts +0 -24
  24. package/dist/components/CheckoutBar/CheckoutBar.translations.d.ts +0 -14
  25. package/dist/components/PackageSelect/PackageSelect.translations.d.ts +0 -23
  26. package/dist/components/SarvaPitruCard/SarvaPitruCard.d.ts +0 -33
  27. package/dist/components/SarvaPitruCard/SarvaPitruCard.translations.d.ts +0 -19
  28. package/dist/components/SarvaPitruCard/index.d.ts +0 -4
  29. package/dist/pitru-paksh-common.d.ts +0 -65
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
- import { BillDetailsLocale } from './BillDetails.translations';
3
2
  export interface BillDetailsRow {
4
3
  /** Stable key for the row, e.g. "kartas-fee". */
5
4
  id: string | number;
@@ -18,16 +17,13 @@ export interface BillDetailsRow {
18
17
  valueClassName?: string;
19
18
  }
20
19
  export interface BillDetailsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
21
- /**
22
- * Locale used to resolve the fixed `title`/`totalLabel` copy below.
23
- * Defaults to `'en'`.
24
- */
25
- locale?: BillDetailsLocale;
20
+ title?: React.ReactNode;
26
21
  titleClassName?: string;
27
22
  rows: BillDetailsRow[];
28
23
  rowClassName?: string;
29
24
  /** Set to `false` to hide the accent bar before the title. */
30
25
  showTitleAccent?: boolean;
26
+ totalLabel?: React.ReactNode;
31
27
  /** Omit to hide the total row entirely. */
32
28
  totalValue?: React.ReactNode;
33
29
  totalClassName?: string;
@@ -1,33 +1,19 @@
1
1
  import { default as React } from 'react';
2
- import { BookingSummaryBannerLocale } from './BookingSummaryBanner.translations';
3
- /** Raw ancestor/ritual/performer counts — an alternative to `subtitle`/`subtitleItems` that builds the localized "N Ancestors • N Rituals • N Performers" line for you. */
4
- export interface BookingSummaryBannerStats {
5
- ancestors: number;
6
- rituals: number;
7
- performers: number;
8
- }
9
2
  export interface BookingSummaryBannerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
10
- /**
11
- * Locale used to resolve the default `title` and the labels in `stats`
12
- * below when they aren't passed explicitly. Defaults to `'en'`.
13
- */
14
- locale?: BookingSummaryBannerLocale;
15
3
  /** Leading icon, e.g. a star. Defaults to `<FaStar />`. Pass `null` to hide it. */
16
4
  icon?: React.ReactNode;
17
5
  iconClassName?: string;
18
- /** Headline, e.g. "Pitru Paksha Special Rituals". Defaults to locale-specific copy. */
19
- title?: React.ReactNode;
6
+ /** Headline, e.g. "Pitru Paksha Special Rituals". */
7
+ title: React.ReactNode;
20
8
  titleClassName?: string;
21
9
  /**
22
10
  * Stat line under the title, e.g. "4 Ancestors • 2 Rituals • 2 Performers".
23
- * Pass a ready-made string/node here, or use `subtitleItems`/`stats` to have
24
- * the "•" separators/labels inserted for you.
11
+ * Pass a ready-made string/node here, or use `subtitleItems` to have the
12
+ * "•" separators inserted for you.
25
13
  */
26
14
  subtitle?: React.ReactNode;
27
15
  /** Alternative to `subtitle` — an array of stats auto-joined with " • ". */
28
16
  subtitleItems?: React.ReactNode[];
29
- /** Alternative to `subtitle`/`subtitleItems` — raw counts, rendered as "N Ancestors • N Rituals • N Performers" with locale-specific labels. */
30
- stats?: BookingSummaryBannerStats;
31
17
  subtitleClassName?: string;
32
18
  /** className for the inner white card. */
33
19
  cardClassName?: string;
@@ -37,14 +23,7 @@ export interface BookingSummaryBannerProps extends Omit<React.HTMLAttributes<HTM
37
23
  * screen: a star + headline, and a stat line like "4 Ancestors • 2 Rituals •
38
24
  * 2 Performers" inside a white card.
39
25
  *
40
- * `title` and the `stats` labels default to the translated "Pitru Paksha
41
- * Special Rituals" / "Ancestors" / "Rituals" / "Performers" copy (via
42
- * `locale`, `'en'`/`'hi'`) since every current usage shows the same banner —
43
- * pass `title`/`subtitle`/`subtitleItems` explicitly to override for a
44
- * different usage.
45
- *
46
26
  * @example
47
- * <BookingSummaryBanner stats={{ ancestors: 4, rituals: 2, performers: 2 }} />
48
27
  * <BookingSummaryBanner
49
28
  * title="Pitru Paksha Special Rituals"
50
29
  * subtitleItems={['4 Ancestors', '2 Rituals', '2 Performers']}
@@ -1,4 +1,2 @@
1
1
  export { BookingSummaryBanner } from './BookingSummaryBanner';
2
- export type { BookingSummaryBannerProps, BookingSummaryBannerStats } from './BookingSummaryBanner';
3
- export { BOOKING_SUMMARY_BANNER_DEFAULT_COPY, getBookingSummaryBannerDefaultCopy, } from './BookingSummaryBanner.translations';
4
- export type { BookingSummaryBannerLocale, BookingSummaryBannerDefaultCopy, } from './BookingSummaryBanner.translations';
2
+ export type { BookingSummaryBannerProps } from './BookingSummaryBanner';
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
- import { CartViewLocale } from '../CartView/CartView.translations';
3
2
  export interface CartReviewItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
4
3
  /** Line item name, e.g. "Performers-Karta (2)" or "Narayan Bali Ritual". */
5
4
  title: React.ReactNode;
@@ -29,38 +28,16 @@ export interface CartReviewItemProps extends Omit<React.HTMLAttributes<HTMLDivEl
29
28
  * />
30
29
  */
31
30
  export declare const CartReviewItem: React.FC<CartReviewItemProps>;
32
- export interface CartReviewMandapItemProps extends Omit<CartReviewItemProps, 'title' | 'description'> {
33
- /** Locale used to resolve the fixed title/description copy below. Defaults to `'en'`. */
34
- locale?: CartViewLocale;
35
- }
36
- /**
37
- * `CartReviewItem` variant for the "Temple and Mandap Charges" line —
38
- * title and description are fixed, translated copy (via `locale`,
39
- * `'en'`/`'hi'`); only pass the price-related props (`price`,
40
- * `originalPrice`, `action`, ...).
41
- *
42
- * @example
43
- * <CartReviewMandapItem locale="hi" price="₹651" originalPrice="₹1899" />
44
- */
45
- export declare const CartReviewMandapItem: React.FC<CartReviewMandapItemProps>;
46
31
  export interface CartReviewChangeButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
47
32
  }
48
33
  /** Pencil "Change" pill used as a `CartReviewItem` `action`, e.g. to edit performer count. */
49
34
  export declare const CartReviewChangeButton: React.FC<CartReviewChangeButtonProps>;
50
35
  export interface CartReviewAddedBadgeProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
51
- /** Locale used to resolve the default "Added"/"Add" label when `children` isn't passed explicitly. Defaults to `'en'`. */
52
- locale?: CartViewLocale;
53
- /** Whether the service is currently added. Shows the checkmark + "Added" copy when `true` (default), or plain "Add" copy (no icon) when `false`. */
54
- isAdded?: boolean;
55
36
  }
56
37
  /**
57
- * Toggleable "Add"/"Added" pill used as a `CartReviewItem` `action` for an
58
- * optional ritual/service. Shows a green checkmark + translated "Added"
59
- * copy when `isAdded` is `true` (default), or just the translated "Add"
60
- * copy (no icon) when `false`. Renders as a `<button>` so it can drive
61
- * adding/removing via `onClick`.
62
- *
63
- * The label defaults to the translated "Added"/"Add" copy (via `locale`,
64
- * `'en'`/`'hi'`) — pass `children` explicitly to override it.
38
+ * Green checkmark "Added" pill used as a `CartReviewItem` `action` once an
39
+ * optional ritual/service has been included. Renders as a `<button>` so it
40
+ * can double as a "remove" toggle if you pass `onClick`; drop `onClick` for
41
+ * a purely informational badge.
65
42
  */
66
43
  export declare const CartReviewAddedBadge: React.FC<CartReviewAddedBadgeProps>;
@@ -1,2 +1,2 @@
1
- export { CartReviewItem, CartReviewMandapItem, CartReviewChangeButton, CartReviewAddedBadge } from './CartReviewItem';
2
- export type { CartReviewItemProps, CartReviewMandapItemProps, CartReviewChangeButtonProps, CartReviewAddedBadgeProps, } from './CartReviewItem';
1
+ export { CartReviewItem, CartReviewChangeButton, CartReviewAddedBadge } from './CartReviewItem';
2
+ export type { CartReviewItemProps, CartReviewChangeButtonProps, CartReviewAddedBadgeProps, } from './CartReviewItem';
@@ -4,43 +4,17 @@ import { ServiceOfferCardProps } from '../ServiceOfferCard';
4
4
  import { BookingSummaryBannerProps } from '../BookingSummaryBanner';
5
5
  import { BillDetailsProps } from '../BillDetails';
6
6
  import { FAQSectionProps } from '../FAQSection';
7
- import { CheckoutBarProps } from '../CheckoutBar';
8
- import { CartViewLocale } from './CartView.translations';
9
- /**
10
- * One row in the booking summary list — every `CartReviewItem` prop is
11
- * available, plus a stable `id` for the React key. Set `isMandapCharge` to
12
- * render the fixed, translated "Temple and Mandap Charges" row
13
- * (`CartReviewMandapItem`) instead — `title`/`description` are ignored/not
14
- * needed in that case, only the price-related props matter.
15
- */
16
- export interface CartViewItem extends Omit<CartReviewItemProps, 'id' | 'title' | 'description'> {
7
+ /** One row in the booking summary list — every `CartReviewItem` prop is available, plus a stable `id` for the React key. */
8
+ export interface CartViewItem extends Omit<CartReviewItemProps, 'id'> {
17
9
  id: string | number;
18
- title?: React.ReactNode;
19
- description?: React.ReactNode;
20
- /** Renders this row as the fixed, translated "Temple and Mandap Charges" line (via the `CartView` `locale`). */
21
- isMandapCharge?: boolean;
22
10
  }
23
- /** One add-on card in the "add services" list — every `ServiceOfferCard` prop is available, plus a stable `id` for the React key. */
24
- export interface CartViewAddon extends Omit<ServiceOfferCardProps, 'id'> {
11
+ /** One upsell card in the "add services" list — every `ServiceOfferCard` prop is available, plus a stable `id` for the React key. */
12
+ export interface CartViewUpsell extends Omit<ServiceOfferCardProps, 'id'> {
25
13
  id: string | number;
26
14
  }
27
- /**
28
- * Sticky bottom price + CTA bar (`CheckoutBar`) shown at the bottom of the
29
- * cart. Only `price`/`ritualCount` carry content — the "N Rituals" subtitle
30
- * and the "Proceed to fill details" CTA label are fixed, translated copy
31
- * (via the `CartView` `locale`), not overridable here. Every other
32
- * `CheckoutBarProps` behavior prop (`onProceed`, `onInfoClick`, `showInfoIcon`,
33
- * `proceedButtonProps`, className overrides, ...) is still available.
34
- */
35
- export interface CartViewCheckout extends Omit<CheckoutBarProps, 'locale' | 'amount' | 'subtitle' | 'proceedLabel'> {
36
- /** Final amount, e.g. "₹1648.0/-". */
37
- price: React.ReactNode;
38
- /** Number of rituals in the cart — used to build the translated "N Rituals" subtitle. */
39
- ritualCount: number;
40
- }
41
15
  export interface CartViewProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
42
- /** Locale used to resolve the fixed header title. Defaults to `'en'`. */
43
- locale?: CartViewLocale;
16
+ /** Header title, e.g. "Review your booking". Set to `null`/omit `onBack` and this to hide the header entirely. */
17
+ headerTitle?: React.ReactNode;
44
18
  onBack?: () => void;
45
19
  backButtonAriaLabel?: string;
46
20
  headerClassName?: string;
@@ -53,27 +27,28 @@ export interface CartViewProps extends Omit<React.HTMLAttributes<HTMLDivElement>
53
27
  itemsClassName?: string;
54
28
  /** className applied to every item; per-item `className` (via the item object) wins/merges on top. */
55
29
  itemClassName?: string;
56
- /** Add-on `ServiceOfferCard`s (tarpan, cow service, public service, ...). Omit/empty to hide the section. */
57
- addons?: CartViewAddon[];
58
- addonsSectionClassName?: string;
59
- addonsHeaderClassName?: string;
60
- addonsTitleClassName?: string;
61
- addonsDescriptionClassName?: string;
62
- addonsClassName?: string;
63
- /** className applied to every add-on card; per-card `className` (via the add-on object) wins/merges on top. */
64
- addonClassName?: string;
30
+ /** "Add services for all ancestors" section heading. Omit to hide the heading (upsells can still render). */
31
+ upsellsTitle?: React.ReactNode;
32
+ upsellsDescription?: React.ReactNode;
33
+ /** Upsell `ServiceOfferCard`s (tarpan, cow service, public service, ...). Omit/empty to hide the section. */
34
+ upsells?: CartViewUpsell[];
35
+ upsellsSectionClassName?: string;
36
+ upsellsHeaderClassName?: string;
37
+ upsellsTitleClassName?: string;
38
+ upsellsDescriptionClassName?: string;
39
+ upsellsClassName?: string;
40
+ /** className applied to every upsell card; per-card `className` (via the upsell object) wins/merges on top. */
41
+ upsellClassName?: string;
65
42
  /** Price breakdown. Omit to hide it. All `BillDetails` props are available. */
66
43
  billDetails?: BillDetailsProps;
67
44
  /** FAQ accordion. Omit to hide it. All `FAQSection` props are available. */
68
45
  faq?: FAQSectionProps;
69
- /** Sticky bottom price + "Proceed to fill details" CTA. Omit to hide it. */
70
- checkout?: CartViewCheckout;
71
46
  }
72
47
  /**
73
48
  * Complete "review your booking" cart page, composed entirely from existing
74
49
  * building blocks (`BookingSummaryBanner`, `CartReviewItem`, `ServiceOfferCard`,
75
50
  * `BillDetails`, `FAQSection`). Every underlying component's props are
76
- * forwarded through dedicated slots (`summary`, `items`, `addons`,
51
+ * forwarded through dedicated slots (`summary`, `items`, `upsells`,
77
52
  * `billDetails`, `faq`) so nothing needs to be re-declared here — pass
78
53
  * whatever those components accept and it flows straight through.
79
54
  *
@@ -81,14 +56,10 @@ export interface CartViewProps extends Omit<React.HTMLAttributes<HTMLDivElement>
81
56
  * <CartView
82
57
  * onBack={() => history.back()}
83
58
  * summary={{ title: 'Pitru Paksha Special Rituals', subtitleItems: ['4 Ancestors', '2 Rituals', '2 Performers'] }}
84
- * items={[
85
- * { id: 'karta', title: 'Performers-Karta (2)', description: 'On behalf of two family members', price: '₹400', action: <CartReviewChangeButton /> },
86
- * { id: 'mandap', isMandapCharge: true, price: '₹651', originalPrice: '₹1899' },
87
- * ]}
88
- * addons={[{ id: 'tarpan', image: photo, title: 'Offer tarpan donation...', price: '₹199', originalPrice: '₹250', action: <QuantityStepper value={2} onIncrement={inc} onDecrement={dec} /> }]}
59
+ * items={[{ id: 'karta', title: 'Performers-Karta (2)', description: 'On behalf of two family members', price: '₹400', action: <CartReviewChangeButton /> }]}
60
+ * upsells={[{ id: 'tarpan', image: photo, title: 'Offer tarpan donation...', price: '₹199', originalPrice: '₹250', action: <QuantityStepper value={2} onIncrement={inc} onDecrement={dec} /> }]}
89
61
  * billDetails={{ rows: [{ id: 'kartas', label: '2-Kartas Fee', value: '₹400.0/-' }], totalValue: '₹1648.0/-' }}
90
62
  * faq={{ items: faqItems }}
91
- * checkout={{ price: '₹1648.0/-', ritualCount: 2, onProceed: () => nav.push('/checkout') }}
92
63
  * />
93
64
  */
94
65
  export declare const CartView: React.FC<CartViewProps>;
@@ -1,2 +1,2 @@
1
1
  export { CartView } from './CartView';
2
- export type { CartViewProps, CartViewAddon, CartViewItem } from './CartView';
2
+ export type { CartViewProps, CartViewItem, CartViewUpsell } from './CartView';
@@ -1,12 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ButtonProps } from '../Button';
3
- import { CheckoutBarLocale } from './CheckoutBar.translations';
4
3
  export interface CheckoutBarProps extends React.HTMLAttributes<HTMLDivElement> {
5
- /**
6
- * Locale used to resolve the default `proceedLabel` below when it isn't
7
- * passed explicitly. Defaults to `'en'`.
8
- */
9
- locale?: CheckoutBarLocale;
10
4
  /** Final amount, e.g. "₹1451.0/-". */
11
5
  amount: React.ReactNode;
12
6
  amountClassName?: string;
@@ -17,7 +11,7 @@ export interface CheckoutBarProps extends React.HTMLAttributes<HTMLDivElement> {
17
11
  showInfoIcon?: boolean;
18
12
  onInfoClick?: () => void;
19
13
  infoIconClassName?: string;
20
- /** CTA label, e.g. "Proceed". Defaults to locale-specific copy. */
14
+ /** CTA label, e.g. "Proceed". */
21
15
  proceedLabel?: React.ReactNode;
22
16
  /** Trailing icon on the CTA. Defaults to an arrow. Pass `null` to hide it. */
23
17
  proceedIcon?: React.ReactNode;
@@ -33,10 +27,6 @@ export interface CheckoutBarProps extends React.HTMLAttributes<HTMLDivElement> {
33
27
  * Wrap this in your own `sticky bottom-0` container to pin it — this
34
28
  * component itself stays layout-agnostic so it can be reused inline too.
35
29
  *
36
- * `proceedLabel` defaults to the translated "Proceed" copy (via `locale`,
37
- * `'en'`/`'hi'`) since every current usage shows the same CTA — pass it
38
- * explicitly to override for a different usage.
39
- *
40
30
  * @example
41
31
  * <CheckoutBar amount="₹1451.0/-" subtitle="2 Rituals" onProceed={() => nav.push('/checkout')} />
42
32
  */
@@ -1,4 +1,2 @@
1
1
  export { CheckoutBar } from './CheckoutBar';
2
2
  export type { CheckoutBarProps } from './CheckoutBar';
3
- export { CHECKOUT_BAR_DEFAULT_COPY, getCheckoutBarDefaultCopy } from './CheckoutBar.translations';
4
- export type { CheckoutBarLocale, CheckoutBarDefaultCopy } from './CheckoutBar.translations';
@@ -0,0 +1,18 @@
1
+ export interface EmailSheetProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ heading: string;
5
+ subtext?: string;
6
+ confirmLabel: string;
7
+ onConfirm: (email: string) => void;
8
+ /** Pre-fills the field, e.g. with a value already saved elsewhere. */
9
+ initialValue?: string;
10
+ /** Shown under the field once a value has been entered and doesn't parse as an email. */
11
+ errorText?: string;
12
+ }
13
+ /**
14
+ * `PhoneNumberSheet`'s counterpart for locales that identify a user by email
15
+ * instead of phone — same bottom-sheet shape, one `TextField` instead of a
16
+ * country picker + digits.
17
+ */
18
+ export declare function EmailSheet({ isOpen, onClose, heading, subtext, confirmLabel, onConfirm, initialValue, errorText, }: EmailSheetProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { EmailSheet } from './EmailSheet';
2
+ export type { EmailSheetProps } from './EmailSheet';
@@ -2,7 +2,6 @@ import { default as React } from 'react';
2
2
  import { SelectorCardProps, SelectorCardNoteProps, SelectorCardPriceBadgeProps } from '../SelectorCard';
3
3
  import { TrustBadgesBarProps } from '../TrustBadgesBar';
4
4
  import { CheckoutBarProps } from '../CheckoutBar';
5
- import { PackageSelectLocale } from './PackageSelect.translations';
6
5
  export interface PackageSelectOption extends Omit<SelectorCardProps, 'id' | 'selected' | 'onSelect' | 'badge' | 'children'> {
7
6
  /** Unique id for this option, passed back via `onChange`. */
8
7
  id: string | number;
@@ -26,17 +25,11 @@ export interface PackageSelectOption extends Omit<SelectorCardProps, 'id' | 'sel
26
25
  children?: React.ReactNode;
27
26
  }
28
27
  export interface PackageSelectProps {
29
- /**
30
- * Locale used to resolve the default `title`/`description`/`benefits`/
31
- * `trustBadges` copy below when they aren't passed explicitly. Defaults to
32
- * `'en'`.
33
- */
34
- locale?: PackageSelectLocale;
35
- /** Screen/section heading, e.g. "Select the number of people performing the Puja (Karta)". Defaults to locale-specific copy. */
36
- title?: React.ReactNode;
37
- /** Helper copy shown under the heading. Defaults to locale-specific copy. */
28
+ /** Screen/section heading, e.g. "Select the number of people performing the Puja (Karta)". */
29
+ title: React.ReactNode;
30
+ /** Helper copy shown under the heading. */
38
31
  description?: React.ReactNode;
39
- /** Checklist of what's included with this package, each rendered with a green checkmark. Defaults to locale-specific copy. */
32
+ /** Checklist of what's included with this package, each rendered with a green checkmark. */
40
33
  benefits?: React.ReactNode[];
41
34
  /** The selectable package options, rendered as a `SelectorCard` radio group. */
42
35
  options: PackageSelectOption[];
@@ -52,7 +45,7 @@ export interface PackageSelectProps {
52
45
  headerClassName?: string;
53
46
  benefitsClassName?: string;
54
47
  optionsClassName?: string;
55
- /** Trust badges strip (money-back guarantee, no hidden cost, ...) shown above the checkout bar. All `TrustBadgesBarProps` are available. Defaults to locale-specific copy; pass `{ badges: [] }` to hide it. */
48
+ /** Trust badges strip (money-back guarantee, no hidden cost, ...) shown above the checkout bar. All `TrustBadgesBarProps` are available. Omit to hide it. */
56
49
  trustBadges?: TrustBadgesBarProps;
57
50
  /** Bottom amount + Proceed CTA bar. All `CheckoutBarProps` are available (amount, subtitle, onProceed, proceedButtonProps, ...). Omit to hide the whole footer. */
58
51
  checkout?: CheckoutBarProps;
@@ -67,11 +60,6 @@ export interface PackageSelectProps {
67
60
  * note), and an optional bottom footer (`TrustBadgesBar` + `CheckoutBar`)
68
61
  * with the final amount and a "Proceed" CTA.
69
62
  *
70
- * `title`/`description`/`benefits`/`trustBadges` all default to the "who is
71
- * performing the puja (Karta)" copy (translated via `locale`, `'en'`/`'hi'`)
72
- * since every current usage shows that same screen — pass any of them
73
- * explicitly to override for a different usage.
74
- *
75
63
  * Built entirely from `SelectorCard` + friends, so it's a drop-in composed
76
64
  * screen you can import into any app that already depends on
77
65
  * `pitru-paksh-common`, without having to hand-assemble the header/benefits/
@@ -1,4 +1,2 @@
1
1
  export { PackageSelect } from './PackageSelect';
2
2
  export type { PackageSelectProps, PackageSelectOption } from './PackageSelect';
3
- export { PACKAGE_SELECT_DEFAULT_COPY, getPackageSelectDefaultCopy, } from './PackageSelect.translations';
4
- export type { PackageSelectLocale, PackageSelectDefaultCopy } from './PackageSelect.translations';
@@ -25,7 +25,7 @@ export interface ServiceOfferCardProps extends Omit<React.HTMLAttributes<HTMLDiv
25
25
  action?: React.ReactNode;
26
26
  }
27
27
  /**
28
- * Add-on card used on "review your booking" screens: an image with a
28
+ * Upsell/add-on card used on "review your booking" screens: an image with a
29
29
  * floating quantity control, title + description, and a price (with
30
30
  * optional struck-through original), plus an optional flush corner banner
31
31
  * (`tag`) like "Contribute to cow service".
@@ -1 +0,0 @@
1
- export {};
package/dist/index.d.ts CHANGED
@@ -22,28 +22,22 @@ export { SelectorCard, SelectorCardEditableField, SelectorCardInfoRow, SelectorC
22
22
  export type { SelectorCardProps, SelectorCardEditableFieldProps, SelectorCardInfoRowProps, SelectorCardNoteProps, SelectorCardPriceBadgeProps, } from './components/SelectorCard';
23
23
  export { QuantityStepper } from './components/QuantityStepper';
24
24
  export type { QuantityStepperProps } from './components/QuantityStepper';
25
- export { CartReviewItem, CartReviewMandapItem, CartReviewChangeButton, CartReviewAddedBadge } from './components/CartReviewItem';
26
- export type { CartReviewItemProps, CartReviewMandapItemProps, CartReviewChangeButtonProps, CartReviewAddedBadgeProps, } from './components/CartReviewItem';
25
+ export { CartReviewItem, CartReviewChangeButton, CartReviewAddedBadge } from './components/CartReviewItem';
26
+ export type { CartReviewItemProps, CartReviewChangeButtonProps, CartReviewAddedBadgeProps, } from './components/CartReviewItem';
27
27
  export { ServiceOfferCard } from './components/ServiceOfferCard';
28
28
  export type { ServiceOfferCardProps } from './components/ServiceOfferCard';
29
29
  export { PackageSelect } from './components/PackageSelect';
30
30
  export type { PackageSelectProps, PackageSelectOption } from './components/PackageSelect';
31
- export { PACKAGE_SELECT_DEFAULT_COPY, getPackageSelectDefaultCopy, } from './components/PackageSelect';
32
- export type { PackageSelectLocale, PackageSelectDefaultCopy } from './components/PackageSelect';
33
31
  export { TrustBadgesBar } from './components/TrustBadgesBar';
34
32
  export type { TrustBadgesBarProps, TrustBadge } from './components/TrustBadgesBar';
35
33
  export { CheckoutBar } from './components/CheckoutBar';
36
34
  export type { CheckoutBarProps } from './components/CheckoutBar';
37
- export { CHECKOUT_BAR_DEFAULT_COPY, getCheckoutBarDefaultCopy } from './components/CheckoutBar';
38
- export type { CheckoutBarLocale, CheckoutBarDefaultCopy } from './components/CheckoutBar';
39
35
  export { BookingSummaryBanner } from './components/BookingSummaryBanner';
40
- export type { BookingSummaryBannerProps, BookingSummaryBannerStats } from './components/BookingSummaryBanner';
41
- export { BOOKING_SUMMARY_BANNER_DEFAULT_COPY, getBookingSummaryBannerDefaultCopy, } from './components/BookingSummaryBanner';
42
- export type { BookingSummaryBannerLocale, BookingSummaryBannerDefaultCopy, } from './components/BookingSummaryBanner';
36
+ export type { BookingSummaryBannerProps } from './components/BookingSummaryBanner';
43
37
  export { BillDetails } from './components/BillDetails';
44
38
  export type { BillDetailsProps, BillDetailsRow } from './components/BillDetails';
45
39
  export { CartView } from './components/CartView';
46
- export type { CartViewProps, CartViewAddon, CartViewItem } from './components/CartView';
40
+ export type { CartViewProps, CartViewItem, CartViewUpsell } from './components/CartView';
47
41
  export { TextField } from './components/TextField';
48
42
  export type { TextFieldProps } from './components/TextField';
49
43
  export { TithiPickerSheet } from './components/TithiPickerSheet';
@@ -52,14 +46,12 @@ export { DatePickerSheet } from './components/DatePickerSheet';
52
46
  export type { DatePickerSheetProps, PickedDate } from './components/DatePickerSheet';
53
47
  export { PhoneNumberSheet } from './components/PhoneNumberSheet';
54
48
  export type { PhoneNumberSheetProps } from './components/PhoneNumberSheet';
49
+ export { EmailSheet } from './components/EmailSheet';
50
+ export type { EmailSheetProps } from './components/EmailSheet';
55
51
  export { L2Card } from './components/L2Card';
56
52
  export type { L2CardProps, L2CardImageProps } from './components/L2Card';
57
53
  export { OutcomeButton, PlusIcon, CheckIcon } from './components/OutcomeButton';
58
54
  export type { OutcomeButtonProps, OutcomeButtonVariant, IconProps } from './components/OutcomeButton';
59
55
  export { OutcomeSummary } from './components/OutcomeSummary';
60
56
  export type { OutcomeSummaryProps, OutcomeTrustItem, OutcomeTrustIconVariant } from './components/OutcomeSummary';
61
- export { SarvaPitruCard } from './components/SarvaPitruCard';
62
- export type { SarvaPitruCardProps } from './components/SarvaPitruCard';
63
- export { SARVA_PITRU_CARD_DEFAULT_COPY, getSarvaPitruCardDefaultCopy, } from './components/SarvaPitruCard';
64
- export type { SarvaPitruCardLocale, SarvaPitruCardDefaultCopy } from './components/SarvaPitruCard';
65
57
  export { cn } from '../../common/dist/common.js';