@cimplify/sdk 0.71.0 → 0.73.0
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/react.d.mts +64 -17
- package/dist/react.d.ts +64 -17
- package/dist/react.js +209 -87
- package/dist/react.mjs +210 -88
- package/dist/styles.css +1 -1
- package/dist/testing.d.mts +15 -15
- package/dist/testing.d.ts +15 -15
- package/package.json +1 -1
- package/registry/accommodation-card.json +1 -1
- package/registry/add-on-selector.json +1 -1
- package/registry/billing-plan-selector.json +1 -1
- package/registry/booking-page.json +1 -1
- package/registry/bundle-selector.json +1 -1
- package/registry/compact-service-card.json +1 -1
- package/registry/composite-selector.json +1 -1
- package/registry/customer-input-fields.json +1 -1
- package/registry/date-slot-picker.json +1 -1
- package/registry/default-product-layout.json +1 -1
- package/registry/digital-product-card.json +1 -1
- package/registry/digital-product-layout.json +1 -1
- package/registry/food-product-card.json +1 -1
- package/registry/food-product-layout.json +1 -1
- package/registry/lease-service-card.json +1 -1
- package/registry/price-range.json +1 -1
- package/registry/price.json +1 -1
- package/registry/product-card.json +1 -1
- package/registry/product-customizer.json +1 -1
- package/registry/product-image-gallery.json +1 -1
- package/registry/product-sheet.json +1 -1
- package/registry/rental-service-card.json +1 -1
- package/registry/retail-product-card.json +1 -1
- package/registry/sale-badge.json +1 -1
- package/registry/schedule-service-card.json +1 -1
- package/registry/service-product-layout.json +1 -1
- package/registry/slot-picker.json +1 -1
- package/registry/standard-service-card.json +1 -1
- package/registry/subscription-card.json +1 -1
- package/registry/variant-selector.json +1 -1
- package/registry/volume-pricing.json +1 -1
- package/registry/wholesale-product-card.json +1 -1
- package/registry/wholesale-product-layout.json +1 -1
package/dist/react.d.mts
CHANGED
|
@@ -760,25 +760,41 @@ interface CimplifyUserButtonProps {
|
|
|
760
760
|
declare function CimplifyUserButton({ session: controlledSession, sessionUri, links, identityUrl, signOutHref, onSignOut, clientId, redirectUri, signInLabel, onSignIn, hideName, align, className, }: CimplifyUserButtonProps): React$1.ReactElement | null;
|
|
761
761
|
|
|
762
762
|
interface PriceProps {
|
|
763
|
-
/** The amount in
|
|
763
|
+
/** The amount, denominated in `currency` (or the business base currency). */
|
|
764
764
|
amount: number | string;
|
|
765
|
-
/**
|
|
765
|
+
/**
|
|
766
|
+
* Currency the `amount` is denominated in. Pass the product/order currency
|
|
767
|
+
* so the value renders correctly during SSR — before the provider has
|
|
768
|
+
* loaded the business client-side. Falls back to the provider's base
|
|
769
|
+
* currency, then USD.
|
|
770
|
+
*/
|
|
766
771
|
currency?: CurrencyCode;
|
|
767
772
|
/** Optional CSS class name for the wrapping span. */
|
|
768
773
|
className?: string;
|
|
769
774
|
/** Optional prefix rendered before the formatted price (e.g. "+"). */
|
|
770
775
|
prefix?: string;
|
|
776
|
+
/**
|
|
777
|
+
* Apply the provider's FX display-currency override when one is active.
|
|
778
|
+
* Default true. The conversion is a post-hydration enhancement: it only
|
|
779
|
+
* engages once an FX rate has loaded client-side, so SSR and first-paint
|
|
780
|
+
* output always match and no currency flash occurs.
|
|
781
|
+
*/
|
|
782
|
+
convert?: boolean;
|
|
771
783
|
}
|
|
772
784
|
/**
|
|
773
785
|
* Price — renders a formatted price value.
|
|
774
786
|
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
787
|
+
* Currency is resolved from the `currency` prop (the amount's source currency),
|
|
788
|
+
* falling back to the provider's base currency, then USD. Because the source
|
|
789
|
+
* currency comes from data rather than the client-only provider bootstrap, an
|
|
790
|
+
* explicit `currency` renders correctly during SSR.
|
|
777
791
|
*
|
|
778
|
-
*
|
|
779
|
-
*
|
|
792
|
+
* FX display-currency conversion (when a user picks a non-base display
|
|
793
|
+
* currency) is layered on top after hydration, and only when the source is the
|
|
794
|
+
* base currency the FX rate is computed from. It never affects the server or
|
|
795
|
+
* first-paint render, so there is no hydration mismatch.
|
|
780
796
|
*/
|
|
781
|
-
declare function Price({ amount, currency, className, prefix }: PriceProps): React$1.ReactElement;
|
|
797
|
+
declare function Price({ amount, currency, className, prefix, convert, }: PriceProps): React$1.ReactElement;
|
|
782
798
|
|
|
783
799
|
interface CimplifyClientContextValue {
|
|
784
800
|
client: CimplifyClient;
|
|
@@ -815,13 +831,23 @@ interface CimplifyProviderProps {
|
|
|
815
831
|
client?: CimplifyClient;
|
|
816
832
|
children: ReactNode;
|
|
817
833
|
onLocationChange?: (location: Location) => void;
|
|
834
|
+
/**
|
|
835
|
+
* Server-fetched business to seed the provider. When provided, `business`
|
|
836
|
+
* and `baseCurrency` are correct on the first (server) render, so prices
|
|
837
|
+
* render in the right currency during SSR with no loading flash. Pass from
|
|
838
|
+
* a Server Component via `getServerClient().business.getInfo()`. Passing
|
|
839
|
+
* `null` marks "no business" as resolved (still skips the loading state).
|
|
840
|
+
*/
|
|
841
|
+
initialBusiness?: Business | null;
|
|
842
|
+
/** Server-fetched locations to seed the provider alongside `initialBusiness`. */
|
|
843
|
+
initialLocations?: Location[];
|
|
818
844
|
/**
|
|
819
845
|
* Toggle hidden optimistic UI for collection-backed hooks. Default true.
|
|
820
846
|
* Set to false to disable optimistic updates app-wide (e.g. e2e tests).
|
|
821
847
|
*/
|
|
822
848
|
optimistic?: boolean;
|
|
823
849
|
}
|
|
824
|
-
declare function CimplifyProvider({ client, children, onLocationChange, optimistic, }: CimplifyProviderProps): React$1.ReactElement;
|
|
850
|
+
declare function CimplifyProvider({ client, children, onLocationChange, initialBusiness, initialLocations, optimistic, }: CimplifyProviderProps): React$1.ReactElement;
|
|
825
851
|
declare function useCimplify(): CimplifyContextValue;
|
|
826
852
|
declare function useOptionalCimplify(): CimplifyContextValue | null;
|
|
827
853
|
declare function useCimplifyClient(): CimplifyClientContextValue;
|
|
@@ -1498,6 +1524,8 @@ interface VariantSelectorClassNames {
|
|
|
1498
1524
|
axisOptions?: string;
|
|
1499
1525
|
option?: string;
|
|
1500
1526
|
optionSelected?: string;
|
|
1527
|
+
swatch?: string;
|
|
1528
|
+
swatchSelected?: string;
|
|
1501
1529
|
listLabel?: string;
|
|
1502
1530
|
list?: string;
|
|
1503
1531
|
name?: string;
|
|
@@ -1508,13 +1536,14 @@ interface VariantSelectorProps {
|
|
|
1508
1536
|
variants: VariantView[];
|
|
1509
1537
|
variantAxes?: VariantAxisWithValues[];
|
|
1510
1538
|
basePrice?: Money;
|
|
1539
|
+
currency?: CurrencyCode;
|
|
1511
1540
|
selectedVariantId?: string;
|
|
1512
1541
|
onVariantChange: (variantId: string | undefined, variant: VariantView | undefined) => void;
|
|
1513
1542
|
productName?: string;
|
|
1514
1543
|
className?: string;
|
|
1515
1544
|
classNames?: VariantSelectorClassNames;
|
|
1516
1545
|
}
|
|
1517
|
-
declare function VariantSelector({ variants, variantAxes, basePrice, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React$1.ReactElement | null;
|
|
1546
|
+
declare function VariantSelector({ variants, variantAxes, basePrice, currency, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React$1.ReactElement | null;
|
|
1518
1547
|
|
|
1519
1548
|
interface AddOnSelectorClassNames {
|
|
1520
1549
|
root?: string;
|
|
@@ -1534,10 +1563,11 @@ interface AddOnSelectorProps {
|
|
|
1534
1563
|
addOns: AddOnWithOptions[];
|
|
1535
1564
|
selectedOptions: string[];
|
|
1536
1565
|
onOptionsChange: (optionIds: string[]) => void;
|
|
1566
|
+
currency?: CurrencyCode;
|
|
1537
1567
|
className?: string;
|
|
1538
1568
|
classNames?: AddOnSelectorClassNames;
|
|
1539
1569
|
}
|
|
1540
|
-
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, className, classNames, }: AddOnSelectorProps): React$1.ReactElement | null;
|
|
1570
|
+
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, currency, className, classNames, }: AddOnSelectorProps): React$1.ReactElement | null;
|
|
1541
1571
|
|
|
1542
1572
|
interface BundleSelectorClassNames {
|
|
1543
1573
|
root?: string;
|
|
@@ -1562,13 +1592,14 @@ interface BundleSelectorProps {
|
|
|
1562
1592
|
bundlePrice?: Money;
|
|
1563
1593
|
discountValue?: Money;
|
|
1564
1594
|
pricingType?: BundlePriceType;
|
|
1595
|
+
currency?: CurrencyCode;
|
|
1565
1596
|
onSelectionsChange: (selections: BundleSelectionInput[]) => void;
|
|
1566
1597
|
onPriceChange?: (price: number) => void;
|
|
1567
1598
|
onReady?: (ready: boolean) => void;
|
|
1568
1599
|
className?: string;
|
|
1569
1600
|
classNames?: BundleSelectorClassNames;
|
|
1570
1601
|
}
|
|
1571
|
-
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React$1.ReactElement | null;
|
|
1602
|
+
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, currency, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React$1.ReactElement | null;
|
|
1572
1603
|
|
|
1573
1604
|
interface CompositeSelectorClassNames {
|
|
1574
1605
|
root?: string;
|
|
@@ -1603,6 +1634,7 @@ interface CompositeSelectorClassNames {
|
|
|
1603
1634
|
interface CompositeSelectorProps {
|
|
1604
1635
|
compositeId: string;
|
|
1605
1636
|
groups: CompositeGroupView[];
|
|
1637
|
+
currency?: CurrencyCode;
|
|
1606
1638
|
onSelectionsChange: (selections: ComponentSelectionInput[]) => void;
|
|
1607
1639
|
onPriceChange?: (price: CompositePriceResult | null) => void;
|
|
1608
1640
|
onReady?: (ready: boolean) => void;
|
|
@@ -1610,7 +1642,7 @@ interface CompositeSelectorProps {
|
|
|
1610
1642
|
className?: string;
|
|
1611
1643
|
classNames?: CompositeSelectorClassNames;
|
|
1612
1644
|
}
|
|
1613
|
-
declare function CompositeSelector({ compositeId, groups, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React$1.ReactElement | null;
|
|
1645
|
+
declare function CompositeSelector({ compositeId, groups, currency, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React$1.ReactElement | null;
|
|
1614
1646
|
|
|
1615
1647
|
interface ProductCustomizerClassNames {
|
|
1616
1648
|
root?: string;
|
|
@@ -1828,10 +1860,11 @@ interface CustomerInputFieldsProps {
|
|
|
1828
1860
|
values: Record<string, unknown>;
|
|
1829
1861
|
onChange: (values: Record<string, unknown>) => void;
|
|
1830
1862
|
onFileUpload?: (file: File, field: ProductInputField) => Promise<string>;
|
|
1863
|
+
currency?: CurrencyCode;
|
|
1831
1864
|
className?: string;
|
|
1832
1865
|
classNames?: CustomerInputFieldsClassNames;
|
|
1833
1866
|
}
|
|
1834
|
-
declare function CustomerInputFields({ fields, values, onChange, onFileUpload, className, classNames, }: CustomerInputFieldsProps): React$1.ReactElement | null;
|
|
1867
|
+
declare function CustomerInputFields({ fields, values, onChange, onFileUpload, currency, className, classNames, }: CustomerInputFieldsProps): React$1.ReactElement | null;
|
|
1835
1868
|
|
|
1836
1869
|
interface SaleBadgeClassNames {
|
|
1837
1870
|
root?: string;
|
|
@@ -2389,6 +2422,7 @@ interface SlotPickerClassNames {
|
|
|
2389
2422
|
slot?: string;
|
|
2390
2423
|
slotTime?: string;
|
|
2391
2424
|
slotPrice?: string;
|
|
2425
|
+
slotScarcity?: string;
|
|
2392
2426
|
loading?: string;
|
|
2393
2427
|
empty?: string;
|
|
2394
2428
|
}
|
|
@@ -2409,6 +2443,14 @@ interface SlotPickerProps {
|
|
|
2409
2443
|
groupByTimeOfDay?: boolean;
|
|
2410
2444
|
/** Show price on each slot. Default: true. */
|
|
2411
2445
|
showPrice?: boolean;
|
|
2446
|
+
/**
|
|
2447
|
+
* Show a "N left" urgency tag when a slot's remaining capacity is at or below
|
|
2448
|
+
* this number (and above zero). Slots at zero capacity render as sold out.
|
|
2449
|
+
* Default: 3. Set to 0 to disable scarcity tags.
|
|
2450
|
+
*/
|
|
2451
|
+
lowCapacityThreshold?: number;
|
|
2452
|
+
/** Currency the slot prices are denominated in. */
|
|
2453
|
+
currency?: CurrencyCode;
|
|
2412
2454
|
/**
|
|
2413
2455
|
* Hide slots whose `start_time` is already in the past. Default: true.
|
|
2414
2456
|
* Set to false to show elapsed slots greyed-out (still un-selectable).
|
|
@@ -2435,7 +2477,7 @@ interface SlotPickerProps {
|
|
|
2435
2477
|
className?: string;
|
|
2436
2478
|
classNames?: SlotPickerClassNames;
|
|
2437
2479
|
}
|
|
2438
|
-
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, emptyMessage, className, classNames, }: SlotPickerProps): React$1.ReactElement;
|
|
2480
|
+
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, lowCapacityThreshold, currency, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, emptyMessage, className, classNames, }: SlotPickerProps): React$1.ReactElement;
|
|
2439
2481
|
|
|
2440
2482
|
interface DateSlotPickerClassNames {
|
|
2441
2483
|
root?: string;
|
|
@@ -2461,6 +2503,8 @@ interface DateSlotPickerProps {
|
|
|
2461
2503
|
availability?: DayAvailability[];
|
|
2462
2504
|
/** Show price on slots. Default: true. */
|
|
2463
2505
|
showPrice?: boolean;
|
|
2506
|
+
/** Currency the slot prices are denominated in. */
|
|
2507
|
+
currency?: CurrencyCode;
|
|
2464
2508
|
/** Forwarded to `<SlotPicker>` to render multi-day stay labels. */
|
|
2465
2509
|
schedulingMode?: SchedulingMode;
|
|
2466
2510
|
/** Forwarded to `<SlotPicker>` — unit for the stay summary in multi-day mode. */
|
|
@@ -2474,7 +2518,7 @@ interface DateSlotPickerProps {
|
|
|
2474
2518
|
className?: string;
|
|
2475
2519
|
classNames?: DateSlotPickerClassNames;
|
|
2476
2520
|
}
|
|
2477
|
-
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, className, classNames, }: DateSlotPickerProps): React$1.ReactElement;
|
|
2521
|
+
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, currency, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, className, classNames, }: DateSlotPickerProps): React$1.ReactElement;
|
|
2478
2522
|
|
|
2479
2523
|
interface DatePickerClassNames {
|
|
2480
2524
|
/** Outer wrapper around the trigger. */
|
|
@@ -3480,6 +3524,8 @@ interface BillingPlanSelectorProps {
|
|
|
3480
3524
|
onPlanSelect?: (plan: ProductBillingPlan | null) => void;
|
|
3481
3525
|
/** Currently selected plan ID. */
|
|
3482
3526
|
selectedPlanId?: string | null;
|
|
3527
|
+
/** Currency the plan amounts are denominated in. */
|
|
3528
|
+
currency?: CurrencyCode;
|
|
3483
3529
|
/** Show a "One-time purchase" option at the top. */
|
|
3484
3530
|
showOneTimePurchase?: boolean;
|
|
3485
3531
|
/** Label for the one-time purchase option. Default: "One-time purchase". */
|
|
@@ -3495,7 +3541,7 @@ interface BillingPlanSelectorProps {
|
|
|
3495
3541
|
* Renders plan cards with frequency, markup, trial, and setup fee details.
|
|
3496
3542
|
* Returns `null` when no plans are available (and one-time purchase is hidden).
|
|
3497
3543
|
*/
|
|
3498
|
-
declare function BillingPlanSelector({ productId, plans: plansProp, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React$1.ReactElement | null;
|
|
3544
|
+
declare function BillingPlanSelector({ productId, plans: plansProp, currency, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React$1.ReactElement | null;
|
|
3499
3545
|
|
|
3500
3546
|
interface VolumePricingClassNames {
|
|
3501
3547
|
root?: string;
|
|
@@ -3511,10 +3557,11 @@ interface VolumePricingProps {
|
|
|
3511
3557
|
tiers: QuantityPricingTier[];
|
|
3512
3558
|
currentQuantity?: number;
|
|
3513
3559
|
defaultOpen?: boolean;
|
|
3560
|
+
currency?: CurrencyCode;
|
|
3514
3561
|
className?: string;
|
|
3515
3562
|
classNames?: VolumePricingClassNames;
|
|
3516
3563
|
}
|
|
3517
|
-
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, className, classNames, }: VolumePricingProps): React$1.ReactElement | null;
|
|
3564
|
+
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, currency, className, classNames, }: VolumePricingProps): React$1.ReactElement | null;
|
|
3518
3565
|
|
|
3519
3566
|
interface PriceRangeProps {
|
|
3520
3567
|
product: Product | ProductWithDetails;
|
package/dist/react.d.ts
CHANGED
|
@@ -760,25 +760,41 @@ interface CimplifyUserButtonProps {
|
|
|
760
760
|
declare function CimplifyUserButton({ session: controlledSession, sessionUri, links, identityUrl, signOutHref, onSignOut, clientId, redirectUri, signInLabel, onSignIn, hideName, align, className, }: CimplifyUserButtonProps): React$1.ReactElement | null;
|
|
761
761
|
|
|
762
762
|
interface PriceProps {
|
|
763
|
-
/** The amount in
|
|
763
|
+
/** The amount, denominated in `currency` (or the business base currency). */
|
|
764
764
|
amount: number | string;
|
|
765
|
-
/**
|
|
765
|
+
/**
|
|
766
|
+
* Currency the `amount` is denominated in. Pass the product/order currency
|
|
767
|
+
* so the value renders correctly during SSR — before the provider has
|
|
768
|
+
* loaded the business client-side. Falls back to the provider's base
|
|
769
|
+
* currency, then USD.
|
|
770
|
+
*/
|
|
766
771
|
currency?: CurrencyCode;
|
|
767
772
|
/** Optional CSS class name for the wrapping span. */
|
|
768
773
|
className?: string;
|
|
769
774
|
/** Optional prefix rendered before the formatted price (e.g. "+"). */
|
|
770
775
|
prefix?: string;
|
|
776
|
+
/**
|
|
777
|
+
* Apply the provider's FX display-currency override when one is active.
|
|
778
|
+
* Default true. The conversion is a post-hydration enhancement: it only
|
|
779
|
+
* engages once an FX rate has loaded client-side, so SSR and first-paint
|
|
780
|
+
* output always match and no currency flash occurs.
|
|
781
|
+
*/
|
|
782
|
+
convert?: boolean;
|
|
771
783
|
}
|
|
772
784
|
/**
|
|
773
785
|
* Price — renders a formatted price value.
|
|
774
786
|
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
787
|
+
* Currency is resolved from the `currency` prop (the amount's source currency),
|
|
788
|
+
* falling back to the provider's base currency, then USD. Because the source
|
|
789
|
+
* currency comes from data rather than the client-only provider bootstrap, an
|
|
790
|
+
* explicit `currency` renders correctly during SSR.
|
|
777
791
|
*
|
|
778
|
-
*
|
|
779
|
-
*
|
|
792
|
+
* FX display-currency conversion (when a user picks a non-base display
|
|
793
|
+
* currency) is layered on top after hydration, and only when the source is the
|
|
794
|
+
* base currency the FX rate is computed from. It never affects the server or
|
|
795
|
+
* first-paint render, so there is no hydration mismatch.
|
|
780
796
|
*/
|
|
781
|
-
declare function Price({ amount, currency, className, prefix }: PriceProps): React$1.ReactElement;
|
|
797
|
+
declare function Price({ amount, currency, className, prefix, convert, }: PriceProps): React$1.ReactElement;
|
|
782
798
|
|
|
783
799
|
interface CimplifyClientContextValue {
|
|
784
800
|
client: CimplifyClient;
|
|
@@ -815,13 +831,23 @@ interface CimplifyProviderProps {
|
|
|
815
831
|
client?: CimplifyClient;
|
|
816
832
|
children: ReactNode;
|
|
817
833
|
onLocationChange?: (location: Location) => void;
|
|
834
|
+
/**
|
|
835
|
+
* Server-fetched business to seed the provider. When provided, `business`
|
|
836
|
+
* and `baseCurrency` are correct on the first (server) render, so prices
|
|
837
|
+
* render in the right currency during SSR with no loading flash. Pass from
|
|
838
|
+
* a Server Component via `getServerClient().business.getInfo()`. Passing
|
|
839
|
+
* `null` marks "no business" as resolved (still skips the loading state).
|
|
840
|
+
*/
|
|
841
|
+
initialBusiness?: Business | null;
|
|
842
|
+
/** Server-fetched locations to seed the provider alongside `initialBusiness`. */
|
|
843
|
+
initialLocations?: Location[];
|
|
818
844
|
/**
|
|
819
845
|
* Toggle hidden optimistic UI for collection-backed hooks. Default true.
|
|
820
846
|
* Set to false to disable optimistic updates app-wide (e.g. e2e tests).
|
|
821
847
|
*/
|
|
822
848
|
optimistic?: boolean;
|
|
823
849
|
}
|
|
824
|
-
declare function CimplifyProvider({ client, children, onLocationChange, optimistic, }: CimplifyProviderProps): React$1.ReactElement;
|
|
850
|
+
declare function CimplifyProvider({ client, children, onLocationChange, initialBusiness, initialLocations, optimistic, }: CimplifyProviderProps): React$1.ReactElement;
|
|
825
851
|
declare function useCimplify(): CimplifyContextValue;
|
|
826
852
|
declare function useOptionalCimplify(): CimplifyContextValue | null;
|
|
827
853
|
declare function useCimplifyClient(): CimplifyClientContextValue;
|
|
@@ -1498,6 +1524,8 @@ interface VariantSelectorClassNames {
|
|
|
1498
1524
|
axisOptions?: string;
|
|
1499
1525
|
option?: string;
|
|
1500
1526
|
optionSelected?: string;
|
|
1527
|
+
swatch?: string;
|
|
1528
|
+
swatchSelected?: string;
|
|
1501
1529
|
listLabel?: string;
|
|
1502
1530
|
list?: string;
|
|
1503
1531
|
name?: string;
|
|
@@ -1508,13 +1536,14 @@ interface VariantSelectorProps {
|
|
|
1508
1536
|
variants: VariantView[];
|
|
1509
1537
|
variantAxes?: VariantAxisWithValues[];
|
|
1510
1538
|
basePrice?: Money;
|
|
1539
|
+
currency?: CurrencyCode;
|
|
1511
1540
|
selectedVariantId?: string;
|
|
1512
1541
|
onVariantChange: (variantId: string | undefined, variant: VariantView | undefined) => void;
|
|
1513
1542
|
productName?: string;
|
|
1514
1543
|
className?: string;
|
|
1515
1544
|
classNames?: VariantSelectorClassNames;
|
|
1516
1545
|
}
|
|
1517
|
-
declare function VariantSelector({ variants, variantAxes, basePrice, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React$1.ReactElement | null;
|
|
1546
|
+
declare function VariantSelector({ variants, variantAxes, basePrice, currency, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React$1.ReactElement | null;
|
|
1518
1547
|
|
|
1519
1548
|
interface AddOnSelectorClassNames {
|
|
1520
1549
|
root?: string;
|
|
@@ -1534,10 +1563,11 @@ interface AddOnSelectorProps {
|
|
|
1534
1563
|
addOns: AddOnWithOptions[];
|
|
1535
1564
|
selectedOptions: string[];
|
|
1536
1565
|
onOptionsChange: (optionIds: string[]) => void;
|
|
1566
|
+
currency?: CurrencyCode;
|
|
1537
1567
|
className?: string;
|
|
1538
1568
|
classNames?: AddOnSelectorClassNames;
|
|
1539
1569
|
}
|
|
1540
|
-
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, className, classNames, }: AddOnSelectorProps): React$1.ReactElement | null;
|
|
1570
|
+
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, currency, className, classNames, }: AddOnSelectorProps): React$1.ReactElement | null;
|
|
1541
1571
|
|
|
1542
1572
|
interface BundleSelectorClassNames {
|
|
1543
1573
|
root?: string;
|
|
@@ -1562,13 +1592,14 @@ interface BundleSelectorProps {
|
|
|
1562
1592
|
bundlePrice?: Money;
|
|
1563
1593
|
discountValue?: Money;
|
|
1564
1594
|
pricingType?: BundlePriceType;
|
|
1595
|
+
currency?: CurrencyCode;
|
|
1565
1596
|
onSelectionsChange: (selections: BundleSelectionInput[]) => void;
|
|
1566
1597
|
onPriceChange?: (price: number) => void;
|
|
1567
1598
|
onReady?: (ready: boolean) => void;
|
|
1568
1599
|
className?: string;
|
|
1569
1600
|
classNames?: BundleSelectorClassNames;
|
|
1570
1601
|
}
|
|
1571
|
-
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React$1.ReactElement | null;
|
|
1602
|
+
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, currency, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React$1.ReactElement | null;
|
|
1572
1603
|
|
|
1573
1604
|
interface CompositeSelectorClassNames {
|
|
1574
1605
|
root?: string;
|
|
@@ -1603,6 +1634,7 @@ interface CompositeSelectorClassNames {
|
|
|
1603
1634
|
interface CompositeSelectorProps {
|
|
1604
1635
|
compositeId: string;
|
|
1605
1636
|
groups: CompositeGroupView[];
|
|
1637
|
+
currency?: CurrencyCode;
|
|
1606
1638
|
onSelectionsChange: (selections: ComponentSelectionInput[]) => void;
|
|
1607
1639
|
onPriceChange?: (price: CompositePriceResult | null) => void;
|
|
1608
1640
|
onReady?: (ready: boolean) => void;
|
|
@@ -1610,7 +1642,7 @@ interface CompositeSelectorProps {
|
|
|
1610
1642
|
className?: string;
|
|
1611
1643
|
classNames?: CompositeSelectorClassNames;
|
|
1612
1644
|
}
|
|
1613
|
-
declare function CompositeSelector({ compositeId, groups, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React$1.ReactElement | null;
|
|
1645
|
+
declare function CompositeSelector({ compositeId, groups, currency, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React$1.ReactElement | null;
|
|
1614
1646
|
|
|
1615
1647
|
interface ProductCustomizerClassNames {
|
|
1616
1648
|
root?: string;
|
|
@@ -1828,10 +1860,11 @@ interface CustomerInputFieldsProps {
|
|
|
1828
1860
|
values: Record<string, unknown>;
|
|
1829
1861
|
onChange: (values: Record<string, unknown>) => void;
|
|
1830
1862
|
onFileUpload?: (file: File, field: ProductInputField) => Promise<string>;
|
|
1863
|
+
currency?: CurrencyCode;
|
|
1831
1864
|
className?: string;
|
|
1832
1865
|
classNames?: CustomerInputFieldsClassNames;
|
|
1833
1866
|
}
|
|
1834
|
-
declare function CustomerInputFields({ fields, values, onChange, onFileUpload, className, classNames, }: CustomerInputFieldsProps): React$1.ReactElement | null;
|
|
1867
|
+
declare function CustomerInputFields({ fields, values, onChange, onFileUpload, currency, className, classNames, }: CustomerInputFieldsProps): React$1.ReactElement | null;
|
|
1835
1868
|
|
|
1836
1869
|
interface SaleBadgeClassNames {
|
|
1837
1870
|
root?: string;
|
|
@@ -2389,6 +2422,7 @@ interface SlotPickerClassNames {
|
|
|
2389
2422
|
slot?: string;
|
|
2390
2423
|
slotTime?: string;
|
|
2391
2424
|
slotPrice?: string;
|
|
2425
|
+
slotScarcity?: string;
|
|
2392
2426
|
loading?: string;
|
|
2393
2427
|
empty?: string;
|
|
2394
2428
|
}
|
|
@@ -2409,6 +2443,14 @@ interface SlotPickerProps {
|
|
|
2409
2443
|
groupByTimeOfDay?: boolean;
|
|
2410
2444
|
/** Show price on each slot. Default: true. */
|
|
2411
2445
|
showPrice?: boolean;
|
|
2446
|
+
/**
|
|
2447
|
+
* Show a "N left" urgency tag when a slot's remaining capacity is at or below
|
|
2448
|
+
* this number (and above zero). Slots at zero capacity render as sold out.
|
|
2449
|
+
* Default: 3. Set to 0 to disable scarcity tags.
|
|
2450
|
+
*/
|
|
2451
|
+
lowCapacityThreshold?: number;
|
|
2452
|
+
/** Currency the slot prices are denominated in. */
|
|
2453
|
+
currency?: CurrencyCode;
|
|
2412
2454
|
/**
|
|
2413
2455
|
* Hide slots whose `start_time` is already in the past. Default: true.
|
|
2414
2456
|
* Set to false to show elapsed slots greyed-out (still un-selectable).
|
|
@@ -2435,7 +2477,7 @@ interface SlotPickerProps {
|
|
|
2435
2477
|
className?: string;
|
|
2436
2478
|
classNames?: SlotPickerClassNames;
|
|
2437
2479
|
}
|
|
2438
|
-
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, emptyMessage, className, classNames, }: SlotPickerProps): React$1.ReactElement;
|
|
2480
|
+
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, lowCapacityThreshold, currency, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, emptyMessage, className, classNames, }: SlotPickerProps): React$1.ReactElement;
|
|
2439
2481
|
|
|
2440
2482
|
interface DateSlotPickerClassNames {
|
|
2441
2483
|
root?: string;
|
|
@@ -2461,6 +2503,8 @@ interface DateSlotPickerProps {
|
|
|
2461
2503
|
availability?: DayAvailability[];
|
|
2462
2504
|
/** Show price on slots. Default: true. */
|
|
2463
2505
|
showPrice?: boolean;
|
|
2506
|
+
/** Currency the slot prices are denominated in. */
|
|
2507
|
+
currency?: CurrencyCode;
|
|
2464
2508
|
/** Forwarded to `<SlotPicker>` to render multi-day stay labels. */
|
|
2465
2509
|
schedulingMode?: SchedulingMode;
|
|
2466
2510
|
/** Forwarded to `<SlotPicker>` — unit for the stay summary in multi-day mode. */
|
|
@@ -2474,7 +2518,7 @@ interface DateSlotPickerProps {
|
|
|
2474
2518
|
className?: string;
|
|
2475
2519
|
classNames?: DateSlotPickerClassNames;
|
|
2476
2520
|
}
|
|
2477
|
-
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, className, classNames, }: DateSlotPickerProps): React$1.ReactElement;
|
|
2521
|
+
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, currency, schedulingMode, durationUnit, durationValue, hideElapsedSlots, minLeadMinutes, className, classNames, }: DateSlotPickerProps): React$1.ReactElement;
|
|
2478
2522
|
|
|
2479
2523
|
interface DatePickerClassNames {
|
|
2480
2524
|
/** Outer wrapper around the trigger. */
|
|
@@ -3480,6 +3524,8 @@ interface BillingPlanSelectorProps {
|
|
|
3480
3524
|
onPlanSelect?: (plan: ProductBillingPlan | null) => void;
|
|
3481
3525
|
/** Currently selected plan ID. */
|
|
3482
3526
|
selectedPlanId?: string | null;
|
|
3527
|
+
/** Currency the plan amounts are denominated in. */
|
|
3528
|
+
currency?: CurrencyCode;
|
|
3483
3529
|
/** Show a "One-time purchase" option at the top. */
|
|
3484
3530
|
showOneTimePurchase?: boolean;
|
|
3485
3531
|
/** Label for the one-time purchase option. Default: "One-time purchase". */
|
|
@@ -3495,7 +3541,7 @@ interface BillingPlanSelectorProps {
|
|
|
3495
3541
|
* Renders plan cards with frequency, markup, trial, and setup fee details.
|
|
3496
3542
|
* Returns `null` when no plans are available (and one-time purchase is hidden).
|
|
3497
3543
|
*/
|
|
3498
|
-
declare function BillingPlanSelector({ productId, plans: plansProp, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React$1.ReactElement | null;
|
|
3544
|
+
declare function BillingPlanSelector({ productId, plans: plansProp, currency, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React$1.ReactElement | null;
|
|
3499
3545
|
|
|
3500
3546
|
interface VolumePricingClassNames {
|
|
3501
3547
|
root?: string;
|
|
@@ -3511,10 +3557,11 @@ interface VolumePricingProps {
|
|
|
3511
3557
|
tiers: QuantityPricingTier[];
|
|
3512
3558
|
currentQuantity?: number;
|
|
3513
3559
|
defaultOpen?: boolean;
|
|
3560
|
+
currency?: CurrencyCode;
|
|
3514
3561
|
className?: string;
|
|
3515
3562
|
classNames?: VolumePricingClassNames;
|
|
3516
3563
|
}
|
|
3517
|
-
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, className, classNames, }: VolumePricingProps): React$1.ReactElement | null;
|
|
3564
|
+
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, currency, className, classNames, }: VolumePricingProps): React$1.ReactElement | null;
|
|
3518
3565
|
|
|
3519
3566
|
interface PriceRangeProps {
|
|
3520
3567
|
product: Product | ProductWithDetails;
|