@snowcone-app/ui 0.8.2 → 0.9.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/CHANGELOG.md +20 -0
- package/dist/index.cjs +101 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +70 -17
- package/dist/index.d.ts +70 -17
- package/dist/index.js +126 -58
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/composed/AddToCart.tsx +51 -31
- package/src/composed/PlacementTabs.tsx +117 -19
- package/src/composed/__tests__/AddToCart.async.test.tsx +104 -0
- package/src/composed/__tests__/PlacementTabs.linked.test.tsx +144 -0
- package/src/patterns/RealtimeProvider.tsx +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1623,13 +1623,21 @@ interface AddToCartProps {
|
|
|
1623
1623
|
text?: string;
|
|
1624
1624
|
loadingText?: string;
|
|
1625
1625
|
successText?: string;
|
|
1626
|
+
/** Button text after a failed add; the error's message is announced in a
|
|
1627
|
+
* `role="alert"` below the button and the button stays enabled to retry. */
|
|
1628
|
+
errorText?: string;
|
|
1626
1629
|
disabled?: boolean;
|
|
1627
1630
|
className?: string;
|
|
1628
1631
|
quantity?: number;
|
|
1629
|
-
|
|
1632
|
+
/** Performs the add. Return a Promise and the button waits for it: "Added!"
|
|
1633
|
+
* only after it resolves; a rejection shows the error state. */
|
|
1634
|
+
onClick?: (cartDetail: any) => void | Promise<unknown>;
|
|
1630
1635
|
onError?: (error: Error) => void;
|
|
1636
|
+
/** Fake delay used only when there is no `onClick` (demos). */
|
|
1631
1637
|
simulateDelay?: number;
|
|
1632
1638
|
}
|
|
1639
|
+
/** `data-add-to-cart` on the button — assert on this, not the label text. */
|
|
1640
|
+
type AddToCartStatus = "idle" | "adding" | "added" | "error";
|
|
1633
1641
|
/**
|
|
1634
1642
|
* AddToCart - Add to cart button with validation and loading states
|
|
1635
1643
|
*
|
|
@@ -1639,8 +1647,11 @@ interface AddToCartProps {
|
|
|
1639
1647
|
*
|
|
1640
1648
|
* Features:
|
|
1641
1649
|
* - Automatic selection validation before allowing add
|
|
1642
|
-
* - Loading state with customizable text
|
|
1643
|
-
* - Success
|
|
1650
|
+
* - Loading state with customizable text; waits for an async `onClick`
|
|
1651
|
+
* - Success only after `onClick` resolves; a rejection shows `errorText`
|
|
1652
|
+
* plus the error message in a `role="alert"`, and the button stays
|
|
1653
|
+
* enabled to retry (never a silent "Added!")
|
|
1654
|
+
* - `data-add-to-cart="idle|adding|added|error"` for tests and agents
|
|
1644
1655
|
* - Automatic cart detail generation with variant info
|
|
1645
1656
|
* - Simulated delay for cart operations
|
|
1646
1657
|
* - Screen reader announcements for state changes
|
|
@@ -1665,9 +1676,10 @@ interface AddToCartProps {
|
|
|
1665
1676
|
* <Product productId="shirt-123">
|
|
1666
1677
|
* <ProductOptions />
|
|
1667
1678
|
* <AddToCart
|
|
1668
|
-
* onClick={(cartDetail) => {
|
|
1669
|
-
*
|
|
1670
|
-
*
|
|
1679
|
+
* onClick={async (cartDetail) => {
|
|
1680
|
+
* // Throw (or reject) if the add fails — the button shows the error.
|
|
1681
|
+
* const res = await fetch('/api/cart', { method: 'POST', body: JSON.stringify(cartDetail) });
|
|
1682
|
+
* if (!res.ok) throw new Error('Could not add to cart');
|
|
1671
1683
|
* }}
|
|
1672
1684
|
* />
|
|
1673
1685
|
* </Product>
|
|
@@ -1697,24 +1709,22 @@ interface AddToCartProps {
|
|
|
1697
1709
|
*
|
|
1698
1710
|
* @example
|
|
1699
1711
|
* ```tsx
|
|
1700
|
-
* //
|
|
1701
|
-
* <AddToCart
|
|
1702
|
-
* simulateDelay={500}
|
|
1703
|
-
* onClick={(detail) => console.log(detail)}
|
|
1704
|
-
* />
|
|
1712
|
+
* // Demo without a real cart: a simulated delay, then "Added!"
|
|
1713
|
+
* <AddToCart simulateDelay={500} />
|
|
1705
1714
|
* ```
|
|
1706
1715
|
*
|
|
1707
1716
|
* @param text - Button text in default state (default: "Add to Bag")
|
|
1708
1717
|
* @param loadingText - Button text while adding (default: "Adding...")
|
|
1709
1718
|
* @param successText - Button text after successful add (default: "Added!")
|
|
1719
|
+
* @param errorText - Button text after a failed add (default: "Couldn't add — try again")
|
|
1710
1720
|
* @param disabled - Force button to disabled state
|
|
1711
1721
|
* @param className - Additional CSS classes for button
|
|
1712
1722
|
* @param quantity - Number of items to add (default: 1)
|
|
1713
|
-
* @param onClick -
|
|
1723
|
+
* @param onClick - Performs the add with the cart detail; may return a Promise, which the button awaits
|
|
1714
1724
|
* @param onError - Callback when add fails with error
|
|
1715
|
-
* @param simulateDelay - Delay in ms to simulate cart operation (default: 1000)
|
|
1725
|
+
* @param simulateDelay - Delay in ms to simulate a cart operation when there is no `onClick` (default: 1000)
|
|
1716
1726
|
*/
|
|
1717
|
-
declare function AddToCart({ text, loadingText, successText, disabled, className, quantity, onClick, onError, simulateDelay, }: AddToCartProps): react_jsx_runtime.JSX.Element;
|
|
1727
|
+
declare function AddToCart({ text, loadingText, successText, errorText, disabled, className, quantity, onClick, onError, simulateDelay, }: AddToCartProps): react_jsx_runtime.JSX.Element;
|
|
1718
1728
|
|
|
1719
1729
|
/**
|
|
1720
1730
|
* Artwork shape types. Kept here for backwards-compatible imports
|
|
@@ -2306,7 +2316,31 @@ interface PlacementTabsProps {
|
|
|
2306
2316
|
toolbarSize?: number;
|
|
2307
2317
|
/** Additional className for the container */
|
|
2308
2318
|
className?: string;
|
|
2309
|
-
|
|
2319
|
+
/**
|
|
2320
|
+
* Linked placements (ADR-0101): one design on every print area.
|
|
2321
|
+
*
|
|
2322
|
+
* - `true` — LINKED. Renders one non-interactive pill naming the set
|
|
2323
|
+
* ("Both sides" for two placements, "All N areas" otherwise; the labels
|
|
2324
|
+
* in its `title`) plus a single **Customize separately** action
|
|
2325
|
+
* (`onSplitAll`). No per-placement tabs: there is one design to edit.
|
|
2326
|
+
* - `false` — SPLIT. Renders the per-placement tabs plus one
|
|
2327
|
+
* **Use one design for all** action (`onLinkAll`).
|
|
2328
|
+
* - `undefined` (default) — no link model: plain tabs, exactly as before.
|
|
2329
|
+
*/
|
|
2330
|
+
linked?: boolean;
|
|
2331
|
+
/** Linked → split: every placement gets its own copy of the design. */
|
|
2332
|
+
onSplitAll?: () => void;
|
|
2333
|
+
/** Split → linked: drop the per-placement copies, back to one design. */
|
|
2334
|
+
onLinkAll?: () => void;
|
|
2335
|
+
/** Override the linked pill's copy (localisation). */
|
|
2336
|
+
linkedLabel?: string;
|
|
2337
|
+
/** Override the "Customize separately" action copy. */
|
|
2338
|
+
splitAllLabel?: string;
|
|
2339
|
+
/** Override the "Use one design for all" action copy. */
|
|
2340
|
+
linkAllLabel?: string;
|
|
2341
|
+
}
|
|
2342
|
+
/** Default pill copy for a linked set of `count` placements. */
|
|
2343
|
+
declare function linkedPlacementsLabel(count: number): string;
|
|
2310
2344
|
/**
|
|
2311
2345
|
* PlacementTabs - Renders placement tabs with optional floating toolbar placeholder.
|
|
2312
2346
|
*
|
|
@@ -2314,6 +2348,11 @@ interface PlacementTabsProps {
|
|
|
2314
2348
|
* to flow around the toolbar placeholder. On desktop, renders simple tabs
|
|
2315
2349
|
* without the toolbar placeholder (toolbar is typically in header).
|
|
2316
2350
|
*
|
|
2351
|
+
* The container carries `data-placement-tabs` and, when the link model is in
|
|
2352
|
+
* play, `data-linked="true" | "false"`; the pill is `data-placement-pill`
|
|
2353
|
+
* and the actions are `data-action="split-all" | "link-all"` so hosts and
|
|
2354
|
+
* agents can assert the state instead of reading pixels.
|
|
2355
|
+
*
|
|
2317
2356
|
* @example
|
|
2318
2357
|
* ```tsx
|
|
2319
2358
|
* // Basic usage
|
|
@@ -2333,9 +2372,19 @@ interface PlacementTabsProps {
|
|
|
2333
2372
|
* onPlacementChange={setSelected}
|
|
2334
2373
|
* isDesktop
|
|
2335
2374
|
* />
|
|
2375
|
+
*
|
|
2376
|
+
* // Linked by default (ADR-0101): one design on every area
|
|
2377
|
+
* <PlacementTabs
|
|
2378
|
+
* placements={placements}
|
|
2379
|
+
* selectedPlacement={selected}
|
|
2380
|
+
* onPlacementChange={setSelected}
|
|
2381
|
+
* linked={linked}
|
|
2382
|
+
* onSplitAll={splitAll}
|
|
2383
|
+
* onLinkAll={linkAll}
|
|
2384
|
+
* />
|
|
2336
2385
|
* ```
|
|
2337
2386
|
*/
|
|
2338
|
-
declare function PlacementTabs({ placements, selectedPlacement, onPlacementChange, isDesktop, toolbarPlaceholderId, toolbarSize, className, }: PlacementTabsProps): react_jsx_runtime.JSX.Element | null;
|
|
2387
|
+
declare function PlacementTabs({ placements, selectedPlacement, onPlacementChange, isDesktop, toolbarPlaceholderId, toolbarSize, className, linked, onSplitAll, onLinkAll, linkedLabel, splitAllLabel, linkAllLabel, }: PlacementTabsProps): react_jsx_runtime.JSX.Element | null;
|
|
2339
2388
|
|
|
2340
2389
|
/**
|
|
2341
2390
|
* usePlacementsProcessor - Process placement prop to separate colors from images
|
|
@@ -2952,6 +3001,10 @@ interface RealtimeContextValue {
|
|
|
2952
3001
|
y: number;
|
|
2953
3002
|
width: number;
|
|
2954
3003
|
height: number;
|
|
3004
|
+
part?: {
|
|
3005
|
+
index: number;
|
|
3006
|
+
count: number;
|
|
3007
|
+
};
|
|
2955
3008
|
}>;
|
|
2956
3009
|
}> | undefined) => void;
|
|
2957
3010
|
getMockupResultsImmediate: () => MockupResult[];
|
|
@@ -5595,4 +5648,4 @@ declare function normalizeHex(color: string): string;
|
|
|
5595
5648
|
*/
|
|
5596
5649
|
declare function scrollInputAboveKeyboard(input: HTMLElement): void;
|
|
5597
5650
|
|
|
5598
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddToCart, type AddToCartProps, ArtAlignment, type ArtAlignmentProps, ArtSelector, type ArtSelectorProps, type Artwork, ArtworkCustomizer, type ArtworkCustomizerProps, Badge, type BadgeProps, BrandLogo, type BrandLogoProps, BrandName, type BrandNameProps, Button, type ButtonProps, CanvasEditor, type CanvasExportServiceConfig, CanvasIsolationBoundary, CanvasIsolationConfigurator, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CarouselImage, type CarouselRenderProps, Checkbox, Chip, type ClipShape, Collapsible, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ColorPalette, ColorPicker, type ColorPickerProps, ColorRow, ColorSwatch, type ColorSwatchChoice, type ColorSwatchProps, ColorTokenSwatch, type ContentRenderProps, CurrentRefinements, CurrentSelectionDisplay, type CurrentSelectionDisplayProps, DEFAULT_HERO_ZOOM_CONFIG, DEFAULT_IMAGE_CONFIG, DEFAULT_VISIBILITY_OPTIONS, DesignSystemPage, type DeviceDetectionResult, Disclosure, DisclosureContent, DisclosureTrigger, DragHintAnimation, type DragHintAnimationProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EdgeBlurBox, type EdgeBlurBoxProps, EdgeSwipeGuards, type EdgeSwipeGuardsProps, EnhancedImageViewer, FACET_SECTIONS, type FacetSection, type FacetType, Fieldset, type FieldsetProps, Filters, FiltersButton, type FiltersButtonProps, FiltersDrawer, type FiltersProps, FloatingActionGroup, type FloatingActionGroupProps, type FloatingActionItem, type FormatCurrencyOptions, HeroCarousel, type HeroCarouselProps, type HeroImage, type HeroImageRenderProps, HeroProductImage, type HeroProductImageProps, type HeroShrinkConfig, HeroShrinkLayout, type HeroShrinkLayoutProps, type HeroZoomConfig, HeroZoomLayout, type HeroZoomLayoutProps, type HeroZoomScales, HorizontalProgressiveBlur, type HorizontalProgressiveBlurProps, Drawer as IOSDrawer, DrawerClose as IOSDrawerClose, DrawerContent as IOSDrawerContent, DrawerDescription as IOSDrawerDescription, DrawerFooter as IOSDrawerFooter, DrawerHeader as IOSDrawerHeader, DrawerTitle as IOSDrawerTitle, DrawerTrigger as IOSDrawerTrigger, ImageBlurExtension, type ImageBlurExtensionProps, ImageEdgeBlur, type ImageEdgeBlurProps, type ImageLayer, type ImageUpdateRequest, Input, type InputProps, Kbd, type KbdProps, Label, Legend, type LegendProps, Lightbox, type LightboxProps, Link, LinkIcon, type LinkProps, LoadingOverlayPrism, LoadingOverlayPrismCandy, LoadingOverlayPrismCandyInline, type LoadingOverlayPrismCandyProps, type LoadingOverlayPrismProps, MasonryGrid, type MasonryGridProps, MobileProductCarousel, type MobileProductCarouselProps, MockupBackground, type MockupBackgroundProps, type MockupPriorityContextValue, MockupPriorityProvider, type MockupPriorityProviderProps, type MockupResult, PDPLayout, type PDPLayoutProps, PersonalizationField, PersonalizationInputs, PersonalizationProvider, PersonalizationValues, PlacementClipShapeSelector, type PlacementConfig, type PlacementDesign, PlacementTabs, type PlacementTabsProps, Popover, PopoverAnchor, PopoverContent, PopoverRoot, PopoverTrigger, type PriorityLevel, Product, ProductCard, type ProductCardProps, ProductContext, type ProductDataMode, ProductGallery, type ProductGalleryProps, ProductGrid, type ProductGridProps, type ProductHit, ProductHitComponent, ProductImage, type Artwork$1 as ProductImageArtwork, type ProductImageProps, ProductList, type ProductListProps, ProductOptions, type ProductPageContext, ProductPageProvider, ProductPageProviderMinimal, type ProductPageProviderMinimalProps, type ProductPageProviderProps, ProductPrice, type ProductPriceProps, type ProductProviderProps, ProgressiveBlur, type ProgressiveBlurProps, type ProviderStatus, Radio, RadioGroup, RadioGroupItem, RadiusScale, type ReactProductContext, type RealtimeContextValue, RealtimeMockup, type RealtimeMockupProps, RealtimeProvider, type RealtimeProviderProps, type RealtimeState, type RegularArtwork$1 as RegularArtwork, type ResponsiveColumns, type ResponsiveImageCapInfo, type ResponsiveImageCapOptions, ResponsiveZoom, RightToLeftProgressiveBlur, type RightToLeftProgressiveBlurProps, SafeImg, type SafeImgProps, type ScrollDirection, ScrollFade, type ScrollFadeProps, type ScrollState, type SeamlessPattern$1 as SeamlessPattern, SearchBox, SearchProvider, type SearchProviderProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Shop, ShopContext, type ShopContextValue, type ShopProps, SimpleImageBlur, type SimpleImageBlurProps, Slider, SliderFill, SliderOutput, SliderThumb, SliderTrack, Spinner, type SpinnerProps, Surface, SurfaceContext, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsRoot, TabsTrigger, TextArea, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeSwitcher, ThemeToggle, type ThemeToggleProps, TileCount, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, TypographyScale, type UiRouter, UiRouterProvider, type UseBrandResult, type UseImagePreloaderOptions, type UseImagePreloaderReturn, type UseImageTransitionOptions, type UseImageTransitionReturn, type UsePersonalizationShimmerReturn, type UseProductGalleryOptions, type UseProductGalleryReturn, VISIBILITY_THRESHOLDS, type ViewportDimensions, type ZoomImage, ZoomOverlay, badgeVariants, brandAssets, buttonVariants, canvasExportService, checkComponentStyles, checkTailwindConfig, checkThemeTokens, createScrollDirectionTracker, formatCurrency, formatDate, formatDateTime, getBrand, getObservedElementCount, getObserverCount, hasEdgeBlur, isObserved, isWideMonitor, kbdVariants, linkVariants, normalizeHex, observe, runConfigChecks, scrollInputAboveKeyboard, searchClient, spinnerVariants, surfaceVariants, useArtworkAlignment, useBrand, useCanvasContext, useCanvasContextStatic, useCurrentPlacements, useDesign, useDesignOptional, useDeviceDetection, useFocusTrap, useHeroZoomScales, useImagePreloader, useImageTransition, useIsolatedCanvas, useLoadingOverlay, useMediaQuery, useMockupBackgroundOptional, useMockupPriority, useMockupPriorityOptional, usePersonalization, usePersonalizationOptional, usePersonalizationShimmer, usePlacementClipShape, usePlacementsProcessor, useProduct, useProductGallery, useProductOptional, useProductPage, useProductPageOptional, useProductSelection, useProviderStatus, useRealtime, useRealtimeOptional, useRenderCount, useRenderGuard, useResponsiveImageCap, useScrollDirection, useSelectedArtwork, useSetArtworkAlignment, useShop, useShopOptional, useSurface, useViewportDimensions, useWideMonitorMode };
|
|
5651
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddToCart, type AddToCartProps, type AddToCartStatus, ArtAlignment, type ArtAlignmentProps, ArtSelector, type ArtSelectorProps, type Artwork, ArtworkCustomizer, type ArtworkCustomizerProps, Badge, type BadgeProps, BrandLogo, type BrandLogoProps, BrandName, type BrandNameProps, Button, type ButtonProps, CanvasEditor, type CanvasExportServiceConfig, CanvasIsolationBoundary, CanvasIsolationConfigurator, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CarouselImage, type CarouselRenderProps, Checkbox, Chip, type ClipShape, Collapsible, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ColorPalette, ColorPicker, type ColorPickerProps, ColorRow, ColorSwatch, type ColorSwatchChoice, type ColorSwatchProps, ColorTokenSwatch, type ContentRenderProps, CurrentRefinements, CurrentSelectionDisplay, type CurrentSelectionDisplayProps, DEFAULT_HERO_ZOOM_CONFIG, DEFAULT_IMAGE_CONFIG, DEFAULT_VISIBILITY_OPTIONS, DesignSystemPage, type DeviceDetectionResult, Disclosure, DisclosureContent, DisclosureTrigger, DragHintAnimation, type DragHintAnimationProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EdgeBlurBox, type EdgeBlurBoxProps, EdgeSwipeGuards, type EdgeSwipeGuardsProps, EnhancedImageViewer, FACET_SECTIONS, type FacetSection, type FacetType, Fieldset, type FieldsetProps, Filters, FiltersButton, type FiltersButtonProps, FiltersDrawer, type FiltersProps, FloatingActionGroup, type FloatingActionGroupProps, type FloatingActionItem, type FormatCurrencyOptions, HeroCarousel, type HeroCarouselProps, type HeroImage, type HeroImageRenderProps, HeroProductImage, type HeroProductImageProps, type HeroShrinkConfig, HeroShrinkLayout, type HeroShrinkLayoutProps, type HeroZoomConfig, HeroZoomLayout, type HeroZoomLayoutProps, type HeroZoomScales, HorizontalProgressiveBlur, type HorizontalProgressiveBlurProps, Drawer as IOSDrawer, DrawerClose as IOSDrawerClose, DrawerContent as IOSDrawerContent, DrawerDescription as IOSDrawerDescription, DrawerFooter as IOSDrawerFooter, DrawerHeader as IOSDrawerHeader, DrawerTitle as IOSDrawerTitle, DrawerTrigger as IOSDrawerTrigger, ImageBlurExtension, type ImageBlurExtensionProps, ImageEdgeBlur, type ImageEdgeBlurProps, type ImageLayer, type ImageUpdateRequest, Input, type InputProps, Kbd, type KbdProps, Label, Legend, type LegendProps, Lightbox, type LightboxProps, Link, LinkIcon, type LinkProps, LoadingOverlayPrism, LoadingOverlayPrismCandy, LoadingOverlayPrismCandyInline, type LoadingOverlayPrismCandyProps, type LoadingOverlayPrismProps, MasonryGrid, type MasonryGridProps, MobileProductCarousel, type MobileProductCarouselProps, MockupBackground, type MockupBackgroundProps, type MockupPriorityContextValue, MockupPriorityProvider, type MockupPriorityProviderProps, type MockupResult, PDPLayout, type PDPLayoutProps, PersonalizationField, PersonalizationInputs, PersonalizationProvider, PersonalizationValues, PlacementClipShapeSelector, type PlacementConfig, type PlacementDesign, PlacementTabs, type PlacementTabsProps, Popover, PopoverAnchor, PopoverContent, PopoverRoot, PopoverTrigger, type PriorityLevel, Product, ProductCard, type ProductCardProps, ProductContext, type ProductDataMode, ProductGallery, type ProductGalleryProps, ProductGrid, type ProductGridProps, type ProductHit, ProductHitComponent, ProductImage, type Artwork$1 as ProductImageArtwork, type ProductImageProps, ProductList, type ProductListProps, ProductOptions, type ProductPageContext, ProductPageProvider, ProductPageProviderMinimal, type ProductPageProviderMinimalProps, type ProductPageProviderProps, ProductPrice, type ProductPriceProps, type ProductProviderProps, ProgressiveBlur, type ProgressiveBlurProps, type ProviderStatus, Radio, RadioGroup, RadioGroupItem, RadiusScale, type ReactProductContext, type RealtimeContextValue, RealtimeMockup, type RealtimeMockupProps, RealtimeProvider, type RealtimeProviderProps, type RealtimeState, type RegularArtwork$1 as RegularArtwork, type ResponsiveColumns, type ResponsiveImageCapInfo, type ResponsiveImageCapOptions, ResponsiveZoom, RightToLeftProgressiveBlur, type RightToLeftProgressiveBlurProps, SafeImg, type SafeImgProps, type ScrollDirection, ScrollFade, type ScrollFadeProps, type ScrollState, type SeamlessPattern$1 as SeamlessPattern, SearchBox, SearchProvider, type SearchProviderProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Shop, ShopContext, type ShopContextValue, type ShopProps, SimpleImageBlur, type SimpleImageBlurProps, Slider, SliderFill, SliderOutput, SliderThumb, SliderTrack, Spinner, type SpinnerProps, Surface, SurfaceContext, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsRoot, TabsTrigger, TextArea, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeSwitcher, ThemeToggle, type ThemeToggleProps, TileCount, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, TypographyScale, type UiRouter, UiRouterProvider, type UseBrandResult, type UseImagePreloaderOptions, type UseImagePreloaderReturn, type UseImageTransitionOptions, type UseImageTransitionReturn, type UsePersonalizationShimmerReturn, type UseProductGalleryOptions, type UseProductGalleryReturn, VISIBILITY_THRESHOLDS, type ViewportDimensions, type ZoomImage, ZoomOverlay, badgeVariants, brandAssets, buttonVariants, canvasExportService, checkComponentStyles, checkTailwindConfig, checkThemeTokens, createScrollDirectionTracker, formatCurrency, formatDate, formatDateTime, getBrand, getObservedElementCount, getObserverCount, hasEdgeBlur, isObserved, isWideMonitor, kbdVariants, linkVariants, linkedPlacementsLabel, normalizeHex, observe, runConfigChecks, scrollInputAboveKeyboard, searchClient, spinnerVariants, surfaceVariants, useArtworkAlignment, useBrand, useCanvasContext, useCanvasContextStatic, useCurrentPlacements, useDesign, useDesignOptional, useDeviceDetection, useFocusTrap, useHeroZoomScales, useImagePreloader, useImageTransition, useIsolatedCanvas, useLoadingOverlay, useMediaQuery, useMockupBackgroundOptional, useMockupPriority, useMockupPriorityOptional, usePersonalization, usePersonalizationOptional, usePersonalizationShimmer, usePlacementClipShape, usePlacementsProcessor, useProduct, useProductGallery, useProductOptional, useProductPage, useProductPageOptional, useProductSelection, useProviderStatus, useRealtime, useRealtimeOptional, useRenderCount, useRenderGuard, useResponsiveImageCap, useScrollDirection, useSelectedArtwork, useSetArtworkAlignment, useShop, useShopOptional, useSurface, useViewportDimensions, useWideMonitorMode };
|
package/dist/index.d.ts
CHANGED
|
@@ -1623,13 +1623,21 @@ interface AddToCartProps {
|
|
|
1623
1623
|
text?: string;
|
|
1624
1624
|
loadingText?: string;
|
|
1625
1625
|
successText?: string;
|
|
1626
|
+
/** Button text after a failed add; the error's message is announced in a
|
|
1627
|
+
* `role="alert"` below the button and the button stays enabled to retry. */
|
|
1628
|
+
errorText?: string;
|
|
1626
1629
|
disabled?: boolean;
|
|
1627
1630
|
className?: string;
|
|
1628
1631
|
quantity?: number;
|
|
1629
|
-
|
|
1632
|
+
/** Performs the add. Return a Promise and the button waits for it: "Added!"
|
|
1633
|
+
* only after it resolves; a rejection shows the error state. */
|
|
1634
|
+
onClick?: (cartDetail: any) => void | Promise<unknown>;
|
|
1630
1635
|
onError?: (error: Error) => void;
|
|
1636
|
+
/** Fake delay used only when there is no `onClick` (demos). */
|
|
1631
1637
|
simulateDelay?: number;
|
|
1632
1638
|
}
|
|
1639
|
+
/** `data-add-to-cart` on the button — assert on this, not the label text. */
|
|
1640
|
+
type AddToCartStatus = "idle" | "adding" | "added" | "error";
|
|
1633
1641
|
/**
|
|
1634
1642
|
* AddToCart - Add to cart button with validation and loading states
|
|
1635
1643
|
*
|
|
@@ -1639,8 +1647,11 @@ interface AddToCartProps {
|
|
|
1639
1647
|
*
|
|
1640
1648
|
* Features:
|
|
1641
1649
|
* - Automatic selection validation before allowing add
|
|
1642
|
-
* - Loading state with customizable text
|
|
1643
|
-
* - Success
|
|
1650
|
+
* - Loading state with customizable text; waits for an async `onClick`
|
|
1651
|
+
* - Success only after `onClick` resolves; a rejection shows `errorText`
|
|
1652
|
+
* plus the error message in a `role="alert"`, and the button stays
|
|
1653
|
+
* enabled to retry (never a silent "Added!")
|
|
1654
|
+
* - `data-add-to-cart="idle|adding|added|error"` for tests and agents
|
|
1644
1655
|
* - Automatic cart detail generation with variant info
|
|
1645
1656
|
* - Simulated delay for cart operations
|
|
1646
1657
|
* - Screen reader announcements for state changes
|
|
@@ -1665,9 +1676,10 @@ interface AddToCartProps {
|
|
|
1665
1676
|
* <Product productId="shirt-123">
|
|
1666
1677
|
* <ProductOptions />
|
|
1667
1678
|
* <AddToCart
|
|
1668
|
-
* onClick={(cartDetail) => {
|
|
1669
|
-
*
|
|
1670
|
-
*
|
|
1679
|
+
* onClick={async (cartDetail) => {
|
|
1680
|
+
* // Throw (or reject) if the add fails — the button shows the error.
|
|
1681
|
+
* const res = await fetch('/api/cart', { method: 'POST', body: JSON.stringify(cartDetail) });
|
|
1682
|
+
* if (!res.ok) throw new Error('Could not add to cart');
|
|
1671
1683
|
* }}
|
|
1672
1684
|
* />
|
|
1673
1685
|
* </Product>
|
|
@@ -1697,24 +1709,22 @@ interface AddToCartProps {
|
|
|
1697
1709
|
*
|
|
1698
1710
|
* @example
|
|
1699
1711
|
* ```tsx
|
|
1700
|
-
* //
|
|
1701
|
-
* <AddToCart
|
|
1702
|
-
* simulateDelay={500}
|
|
1703
|
-
* onClick={(detail) => console.log(detail)}
|
|
1704
|
-
* />
|
|
1712
|
+
* // Demo without a real cart: a simulated delay, then "Added!"
|
|
1713
|
+
* <AddToCart simulateDelay={500} />
|
|
1705
1714
|
* ```
|
|
1706
1715
|
*
|
|
1707
1716
|
* @param text - Button text in default state (default: "Add to Bag")
|
|
1708
1717
|
* @param loadingText - Button text while adding (default: "Adding...")
|
|
1709
1718
|
* @param successText - Button text after successful add (default: "Added!")
|
|
1719
|
+
* @param errorText - Button text after a failed add (default: "Couldn't add — try again")
|
|
1710
1720
|
* @param disabled - Force button to disabled state
|
|
1711
1721
|
* @param className - Additional CSS classes for button
|
|
1712
1722
|
* @param quantity - Number of items to add (default: 1)
|
|
1713
|
-
* @param onClick -
|
|
1723
|
+
* @param onClick - Performs the add with the cart detail; may return a Promise, which the button awaits
|
|
1714
1724
|
* @param onError - Callback when add fails with error
|
|
1715
|
-
* @param simulateDelay - Delay in ms to simulate cart operation (default: 1000)
|
|
1725
|
+
* @param simulateDelay - Delay in ms to simulate a cart operation when there is no `onClick` (default: 1000)
|
|
1716
1726
|
*/
|
|
1717
|
-
declare function AddToCart({ text, loadingText, successText, disabled, className, quantity, onClick, onError, simulateDelay, }: AddToCartProps): react_jsx_runtime.JSX.Element;
|
|
1727
|
+
declare function AddToCart({ text, loadingText, successText, errorText, disabled, className, quantity, onClick, onError, simulateDelay, }: AddToCartProps): react_jsx_runtime.JSX.Element;
|
|
1718
1728
|
|
|
1719
1729
|
/**
|
|
1720
1730
|
* Artwork shape types. Kept here for backwards-compatible imports
|
|
@@ -2306,7 +2316,31 @@ interface PlacementTabsProps {
|
|
|
2306
2316
|
toolbarSize?: number;
|
|
2307
2317
|
/** Additional className for the container */
|
|
2308
2318
|
className?: string;
|
|
2309
|
-
|
|
2319
|
+
/**
|
|
2320
|
+
* Linked placements (ADR-0101): one design on every print area.
|
|
2321
|
+
*
|
|
2322
|
+
* - `true` — LINKED. Renders one non-interactive pill naming the set
|
|
2323
|
+
* ("Both sides" for two placements, "All N areas" otherwise; the labels
|
|
2324
|
+
* in its `title`) plus a single **Customize separately** action
|
|
2325
|
+
* (`onSplitAll`). No per-placement tabs: there is one design to edit.
|
|
2326
|
+
* - `false` — SPLIT. Renders the per-placement tabs plus one
|
|
2327
|
+
* **Use one design for all** action (`onLinkAll`).
|
|
2328
|
+
* - `undefined` (default) — no link model: plain tabs, exactly as before.
|
|
2329
|
+
*/
|
|
2330
|
+
linked?: boolean;
|
|
2331
|
+
/** Linked → split: every placement gets its own copy of the design. */
|
|
2332
|
+
onSplitAll?: () => void;
|
|
2333
|
+
/** Split → linked: drop the per-placement copies, back to one design. */
|
|
2334
|
+
onLinkAll?: () => void;
|
|
2335
|
+
/** Override the linked pill's copy (localisation). */
|
|
2336
|
+
linkedLabel?: string;
|
|
2337
|
+
/** Override the "Customize separately" action copy. */
|
|
2338
|
+
splitAllLabel?: string;
|
|
2339
|
+
/** Override the "Use one design for all" action copy. */
|
|
2340
|
+
linkAllLabel?: string;
|
|
2341
|
+
}
|
|
2342
|
+
/** Default pill copy for a linked set of `count` placements. */
|
|
2343
|
+
declare function linkedPlacementsLabel(count: number): string;
|
|
2310
2344
|
/**
|
|
2311
2345
|
* PlacementTabs - Renders placement tabs with optional floating toolbar placeholder.
|
|
2312
2346
|
*
|
|
@@ -2314,6 +2348,11 @@ interface PlacementTabsProps {
|
|
|
2314
2348
|
* to flow around the toolbar placeholder. On desktop, renders simple tabs
|
|
2315
2349
|
* without the toolbar placeholder (toolbar is typically in header).
|
|
2316
2350
|
*
|
|
2351
|
+
* The container carries `data-placement-tabs` and, when the link model is in
|
|
2352
|
+
* play, `data-linked="true" | "false"`; the pill is `data-placement-pill`
|
|
2353
|
+
* and the actions are `data-action="split-all" | "link-all"` so hosts and
|
|
2354
|
+
* agents can assert the state instead of reading pixels.
|
|
2355
|
+
*
|
|
2317
2356
|
* @example
|
|
2318
2357
|
* ```tsx
|
|
2319
2358
|
* // Basic usage
|
|
@@ -2333,9 +2372,19 @@ interface PlacementTabsProps {
|
|
|
2333
2372
|
* onPlacementChange={setSelected}
|
|
2334
2373
|
* isDesktop
|
|
2335
2374
|
* />
|
|
2375
|
+
*
|
|
2376
|
+
* // Linked by default (ADR-0101): one design on every area
|
|
2377
|
+
* <PlacementTabs
|
|
2378
|
+
* placements={placements}
|
|
2379
|
+
* selectedPlacement={selected}
|
|
2380
|
+
* onPlacementChange={setSelected}
|
|
2381
|
+
* linked={linked}
|
|
2382
|
+
* onSplitAll={splitAll}
|
|
2383
|
+
* onLinkAll={linkAll}
|
|
2384
|
+
* />
|
|
2336
2385
|
* ```
|
|
2337
2386
|
*/
|
|
2338
|
-
declare function PlacementTabs({ placements, selectedPlacement, onPlacementChange, isDesktop, toolbarPlaceholderId, toolbarSize, className, }: PlacementTabsProps): react_jsx_runtime.JSX.Element | null;
|
|
2387
|
+
declare function PlacementTabs({ placements, selectedPlacement, onPlacementChange, isDesktop, toolbarPlaceholderId, toolbarSize, className, linked, onSplitAll, onLinkAll, linkedLabel, splitAllLabel, linkAllLabel, }: PlacementTabsProps): react_jsx_runtime.JSX.Element | null;
|
|
2339
2388
|
|
|
2340
2389
|
/**
|
|
2341
2390
|
* usePlacementsProcessor - Process placement prop to separate colors from images
|
|
@@ -2952,6 +3001,10 @@ interface RealtimeContextValue {
|
|
|
2952
3001
|
y: number;
|
|
2953
3002
|
width: number;
|
|
2954
3003
|
height: number;
|
|
3004
|
+
part?: {
|
|
3005
|
+
index: number;
|
|
3006
|
+
count: number;
|
|
3007
|
+
};
|
|
2955
3008
|
}>;
|
|
2956
3009
|
}> | undefined) => void;
|
|
2957
3010
|
getMockupResultsImmediate: () => MockupResult[];
|
|
@@ -5595,4 +5648,4 @@ declare function normalizeHex(color: string): string;
|
|
|
5595
5648
|
*/
|
|
5596
5649
|
declare function scrollInputAboveKeyboard(input: HTMLElement): void;
|
|
5597
5650
|
|
|
5598
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddToCart, type AddToCartProps, ArtAlignment, type ArtAlignmentProps, ArtSelector, type ArtSelectorProps, type Artwork, ArtworkCustomizer, type ArtworkCustomizerProps, Badge, type BadgeProps, BrandLogo, type BrandLogoProps, BrandName, type BrandNameProps, Button, type ButtonProps, CanvasEditor, type CanvasExportServiceConfig, CanvasIsolationBoundary, CanvasIsolationConfigurator, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CarouselImage, type CarouselRenderProps, Checkbox, Chip, type ClipShape, Collapsible, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ColorPalette, ColorPicker, type ColorPickerProps, ColorRow, ColorSwatch, type ColorSwatchChoice, type ColorSwatchProps, ColorTokenSwatch, type ContentRenderProps, CurrentRefinements, CurrentSelectionDisplay, type CurrentSelectionDisplayProps, DEFAULT_HERO_ZOOM_CONFIG, DEFAULT_IMAGE_CONFIG, DEFAULT_VISIBILITY_OPTIONS, DesignSystemPage, type DeviceDetectionResult, Disclosure, DisclosureContent, DisclosureTrigger, DragHintAnimation, type DragHintAnimationProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EdgeBlurBox, type EdgeBlurBoxProps, EdgeSwipeGuards, type EdgeSwipeGuardsProps, EnhancedImageViewer, FACET_SECTIONS, type FacetSection, type FacetType, Fieldset, type FieldsetProps, Filters, FiltersButton, type FiltersButtonProps, FiltersDrawer, type FiltersProps, FloatingActionGroup, type FloatingActionGroupProps, type FloatingActionItem, type FormatCurrencyOptions, HeroCarousel, type HeroCarouselProps, type HeroImage, type HeroImageRenderProps, HeroProductImage, type HeroProductImageProps, type HeroShrinkConfig, HeroShrinkLayout, type HeroShrinkLayoutProps, type HeroZoomConfig, HeroZoomLayout, type HeroZoomLayoutProps, type HeroZoomScales, HorizontalProgressiveBlur, type HorizontalProgressiveBlurProps, Drawer as IOSDrawer, DrawerClose as IOSDrawerClose, DrawerContent as IOSDrawerContent, DrawerDescription as IOSDrawerDescription, DrawerFooter as IOSDrawerFooter, DrawerHeader as IOSDrawerHeader, DrawerTitle as IOSDrawerTitle, DrawerTrigger as IOSDrawerTrigger, ImageBlurExtension, type ImageBlurExtensionProps, ImageEdgeBlur, type ImageEdgeBlurProps, type ImageLayer, type ImageUpdateRequest, Input, type InputProps, Kbd, type KbdProps, Label, Legend, type LegendProps, Lightbox, type LightboxProps, Link, LinkIcon, type LinkProps, LoadingOverlayPrism, LoadingOverlayPrismCandy, LoadingOverlayPrismCandyInline, type LoadingOverlayPrismCandyProps, type LoadingOverlayPrismProps, MasonryGrid, type MasonryGridProps, MobileProductCarousel, type MobileProductCarouselProps, MockupBackground, type MockupBackgroundProps, type MockupPriorityContextValue, MockupPriorityProvider, type MockupPriorityProviderProps, type MockupResult, PDPLayout, type PDPLayoutProps, PersonalizationField, PersonalizationInputs, PersonalizationProvider, PersonalizationValues, PlacementClipShapeSelector, type PlacementConfig, type PlacementDesign, PlacementTabs, type PlacementTabsProps, Popover, PopoverAnchor, PopoverContent, PopoverRoot, PopoverTrigger, type PriorityLevel, Product, ProductCard, type ProductCardProps, ProductContext, type ProductDataMode, ProductGallery, type ProductGalleryProps, ProductGrid, type ProductGridProps, type ProductHit, ProductHitComponent, ProductImage, type Artwork$1 as ProductImageArtwork, type ProductImageProps, ProductList, type ProductListProps, ProductOptions, type ProductPageContext, ProductPageProvider, ProductPageProviderMinimal, type ProductPageProviderMinimalProps, type ProductPageProviderProps, ProductPrice, type ProductPriceProps, type ProductProviderProps, ProgressiveBlur, type ProgressiveBlurProps, type ProviderStatus, Radio, RadioGroup, RadioGroupItem, RadiusScale, type ReactProductContext, type RealtimeContextValue, RealtimeMockup, type RealtimeMockupProps, RealtimeProvider, type RealtimeProviderProps, type RealtimeState, type RegularArtwork$1 as RegularArtwork, type ResponsiveColumns, type ResponsiveImageCapInfo, type ResponsiveImageCapOptions, ResponsiveZoom, RightToLeftProgressiveBlur, type RightToLeftProgressiveBlurProps, SafeImg, type SafeImgProps, type ScrollDirection, ScrollFade, type ScrollFadeProps, type ScrollState, type SeamlessPattern$1 as SeamlessPattern, SearchBox, SearchProvider, type SearchProviderProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Shop, ShopContext, type ShopContextValue, type ShopProps, SimpleImageBlur, type SimpleImageBlurProps, Slider, SliderFill, SliderOutput, SliderThumb, SliderTrack, Spinner, type SpinnerProps, Surface, SurfaceContext, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsRoot, TabsTrigger, TextArea, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeSwitcher, ThemeToggle, type ThemeToggleProps, TileCount, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, TypographyScale, type UiRouter, UiRouterProvider, type UseBrandResult, type UseImagePreloaderOptions, type UseImagePreloaderReturn, type UseImageTransitionOptions, type UseImageTransitionReturn, type UsePersonalizationShimmerReturn, type UseProductGalleryOptions, type UseProductGalleryReturn, VISIBILITY_THRESHOLDS, type ViewportDimensions, type ZoomImage, ZoomOverlay, badgeVariants, brandAssets, buttonVariants, canvasExportService, checkComponentStyles, checkTailwindConfig, checkThemeTokens, createScrollDirectionTracker, formatCurrency, formatDate, formatDateTime, getBrand, getObservedElementCount, getObserverCount, hasEdgeBlur, isObserved, isWideMonitor, kbdVariants, linkVariants, normalizeHex, observe, runConfigChecks, scrollInputAboveKeyboard, searchClient, spinnerVariants, surfaceVariants, useArtworkAlignment, useBrand, useCanvasContext, useCanvasContextStatic, useCurrentPlacements, useDesign, useDesignOptional, useDeviceDetection, useFocusTrap, useHeroZoomScales, useImagePreloader, useImageTransition, useIsolatedCanvas, useLoadingOverlay, useMediaQuery, useMockupBackgroundOptional, useMockupPriority, useMockupPriorityOptional, usePersonalization, usePersonalizationOptional, usePersonalizationShimmer, usePlacementClipShape, usePlacementsProcessor, useProduct, useProductGallery, useProductOptional, useProductPage, useProductPageOptional, useProductSelection, useProviderStatus, useRealtime, useRealtimeOptional, useRenderCount, useRenderGuard, useResponsiveImageCap, useScrollDirection, useSelectedArtwork, useSetArtworkAlignment, useShop, useShopOptional, useSurface, useViewportDimensions, useWideMonitorMode };
|
|
5651
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddToCart, type AddToCartProps, type AddToCartStatus, ArtAlignment, type ArtAlignmentProps, ArtSelector, type ArtSelectorProps, type Artwork, ArtworkCustomizer, type ArtworkCustomizerProps, Badge, type BadgeProps, BrandLogo, type BrandLogoProps, BrandName, type BrandNameProps, Button, type ButtonProps, CanvasEditor, type CanvasExportServiceConfig, CanvasIsolationBoundary, CanvasIsolationConfigurator, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CarouselImage, type CarouselRenderProps, Checkbox, Chip, type ClipShape, Collapsible, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ColorPalette, ColorPicker, type ColorPickerProps, ColorRow, ColorSwatch, type ColorSwatchChoice, type ColorSwatchProps, ColorTokenSwatch, type ContentRenderProps, CurrentRefinements, CurrentSelectionDisplay, type CurrentSelectionDisplayProps, DEFAULT_HERO_ZOOM_CONFIG, DEFAULT_IMAGE_CONFIG, DEFAULT_VISIBILITY_OPTIONS, DesignSystemPage, type DeviceDetectionResult, Disclosure, DisclosureContent, DisclosureTrigger, DragHintAnimation, type DragHintAnimationProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EdgeBlurBox, type EdgeBlurBoxProps, EdgeSwipeGuards, type EdgeSwipeGuardsProps, EnhancedImageViewer, FACET_SECTIONS, type FacetSection, type FacetType, Fieldset, type FieldsetProps, Filters, FiltersButton, type FiltersButtonProps, FiltersDrawer, type FiltersProps, FloatingActionGroup, type FloatingActionGroupProps, type FloatingActionItem, type FormatCurrencyOptions, HeroCarousel, type HeroCarouselProps, type HeroImage, type HeroImageRenderProps, HeroProductImage, type HeroProductImageProps, type HeroShrinkConfig, HeroShrinkLayout, type HeroShrinkLayoutProps, type HeroZoomConfig, HeroZoomLayout, type HeroZoomLayoutProps, type HeroZoomScales, HorizontalProgressiveBlur, type HorizontalProgressiveBlurProps, Drawer as IOSDrawer, DrawerClose as IOSDrawerClose, DrawerContent as IOSDrawerContent, DrawerDescription as IOSDrawerDescription, DrawerFooter as IOSDrawerFooter, DrawerHeader as IOSDrawerHeader, DrawerTitle as IOSDrawerTitle, DrawerTrigger as IOSDrawerTrigger, ImageBlurExtension, type ImageBlurExtensionProps, ImageEdgeBlur, type ImageEdgeBlurProps, type ImageLayer, type ImageUpdateRequest, Input, type InputProps, Kbd, type KbdProps, Label, Legend, type LegendProps, Lightbox, type LightboxProps, Link, LinkIcon, type LinkProps, LoadingOverlayPrism, LoadingOverlayPrismCandy, LoadingOverlayPrismCandyInline, type LoadingOverlayPrismCandyProps, type LoadingOverlayPrismProps, MasonryGrid, type MasonryGridProps, MobileProductCarousel, type MobileProductCarouselProps, MockupBackground, type MockupBackgroundProps, type MockupPriorityContextValue, MockupPriorityProvider, type MockupPriorityProviderProps, type MockupResult, PDPLayout, type PDPLayoutProps, PersonalizationField, PersonalizationInputs, PersonalizationProvider, PersonalizationValues, PlacementClipShapeSelector, type PlacementConfig, type PlacementDesign, PlacementTabs, type PlacementTabsProps, Popover, PopoverAnchor, PopoverContent, PopoverRoot, PopoverTrigger, type PriorityLevel, Product, ProductCard, type ProductCardProps, ProductContext, type ProductDataMode, ProductGallery, type ProductGalleryProps, ProductGrid, type ProductGridProps, type ProductHit, ProductHitComponent, ProductImage, type Artwork$1 as ProductImageArtwork, type ProductImageProps, ProductList, type ProductListProps, ProductOptions, type ProductPageContext, ProductPageProvider, ProductPageProviderMinimal, type ProductPageProviderMinimalProps, type ProductPageProviderProps, ProductPrice, type ProductPriceProps, type ProductProviderProps, ProgressiveBlur, type ProgressiveBlurProps, type ProviderStatus, Radio, RadioGroup, RadioGroupItem, RadiusScale, type ReactProductContext, type RealtimeContextValue, RealtimeMockup, type RealtimeMockupProps, RealtimeProvider, type RealtimeProviderProps, type RealtimeState, type RegularArtwork$1 as RegularArtwork, type ResponsiveColumns, type ResponsiveImageCapInfo, type ResponsiveImageCapOptions, ResponsiveZoom, RightToLeftProgressiveBlur, type RightToLeftProgressiveBlurProps, SafeImg, type SafeImgProps, type ScrollDirection, ScrollFade, type ScrollFadeProps, type ScrollState, type SeamlessPattern$1 as SeamlessPattern, SearchBox, SearchProvider, type SearchProviderProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Shop, ShopContext, type ShopContextValue, type ShopProps, SimpleImageBlur, type SimpleImageBlurProps, Slider, SliderFill, SliderOutput, SliderThumb, SliderTrack, Spinner, type SpinnerProps, Surface, SurfaceContext, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsRoot, TabsTrigger, TextArea, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeSwitcher, ThemeToggle, type ThemeToggleProps, TileCount, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, TypographyScale, type UiRouter, UiRouterProvider, type UseBrandResult, type UseImagePreloaderOptions, type UseImagePreloaderReturn, type UseImageTransitionOptions, type UseImageTransitionReturn, type UsePersonalizationShimmerReturn, type UseProductGalleryOptions, type UseProductGalleryReturn, VISIBILITY_THRESHOLDS, type ViewportDimensions, type ZoomImage, ZoomOverlay, badgeVariants, brandAssets, buttonVariants, canvasExportService, checkComponentStyles, checkTailwindConfig, checkThemeTokens, createScrollDirectionTracker, formatCurrency, formatDate, formatDateTime, getBrand, getObservedElementCount, getObserverCount, hasEdgeBlur, isObserved, isWideMonitor, kbdVariants, linkVariants, linkedPlacementsLabel, normalizeHex, observe, runConfigChecks, scrollInputAboveKeyboard, searchClient, spinnerVariants, surfaceVariants, useArtworkAlignment, useBrand, useCanvasContext, useCanvasContextStatic, useCurrentPlacements, useDesign, useDesignOptional, useDeviceDetection, useFocusTrap, useHeroZoomScales, useImagePreloader, useImageTransition, useIsolatedCanvas, useLoadingOverlay, useMediaQuery, useMockupBackgroundOptional, useMockupPriority, useMockupPriorityOptional, usePersonalization, usePersonalizationOptional, usePersonalizationShimmer, usePlacementClipShape, usePlacementsProcessor, useProduct, useProductGallery, useProductOptional, useProductPage, useProductPageOptional, useProductSelection, useProviderStatus, useRealtime, useRealtimeOptional, useRenderCount, useRenderGuard, useResponsiveImageCap, useScrollDirection, useSelectedArtwork, useSetArtworkAlignment, useShop, useShopOptional, useSurface, useViewportDimensions, useWideMonitorMode };
|