@propeller-commerce/propeller-v2-react-ui 0.15.11 → 0.18.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 +107 -0
- package/README.md +17 -5
- package/dist/index.cjs +149 -114
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +78 -5
- package/dist/index.d.ts +78 -5
- package/dist/index.js +149 -114
- package/dist/index.js.map +1 -1
- package/dist/pure.cjs +24 -19
- package/dist/pure.cjs.map +1 -1
- package/dist/pure.d.cts +10 -0
- package/dist/pure.d.ts +10 -0
- package/dist/pure.js +25 -20
- package/dist/pure.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -894,6 +894,13 @@ interface FavoriteListFormData {
|
|
|
894
894
|
isDefault: boolean;
|
|
895
895
|
}
|
|
896
896
|
/** Options for {@link useFavorites}. */
|
|
897
|
+
/** What a favorite-list mutation did — see `onListChanged`. */
|
|
898
|
+
interface FavoriteListChange {
|
|
899
|
+
action: 'created' | 'updated' | 'deleted';
|
|
900
|
+
listId?: string | number;
|
|
901
|
+
name?: string;
|
|
902
|
+
isDefault?: boolean;
|
|
903
|
+
}
|
|
897
904
|
interface UseFavoritesOptions {
|
|
898
905
|
/** GraphQL client the hook derives its Services bundle from. */
|
|
899
906
|
graphqlClient: GraphQLClient;
|
|
@@ -908,7 +915,15 @@ interface UseFavoritesOptions {
|
|
|
908
915
|
/** Override: fires instead of the default `deleteFavoriteList` call. */
|
|
909
916
|
onDelete?: (id: string) => void;
|
|
910
917
|
/** Fires after any list create / update / delete completes. */
|
|
911
|
-
|
|
918
|
+
/**
|
|
919
|
+
* Called after a list mutation succeeds.
|
|
920
|
+
*
|
|
921
|
+
* The `change` argument is optional so existing zero-argument callbacks keep
|
|
922
|
+
* working, but without it a host cannot tell a create from a delete — which
|
|
923
|
+
* makes the hook useless for analytics, audit trails or optimistic UI that
|
|
924
|
+
* needs to know WHAT happened rather than merely THAT something did.
|
|
925
|
+
*/
|
|
926
|
+
onListChanged?: (change?: FavoriteListChange) => void;
|
|
912
927
|
}
|
|
913
928
|
/** State and favorite-list actions returned by {@link useFavorites}. */
|
|
914
929
|
interface UseFavoritesReturn {
|
|
@@ -1412,6 +1427,9 @@ interface UseProductSearchOptions {
|
|
|
1412
1427
|
/** Portal configuration: base category fallback plus image filters. */
|
|
1413
1428
|
configuration: {
|
|
1414
1429
|
baseCategoryId?: number;
|
|
1430
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1431
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1432
|
+
anonymousUserId?: number;
|
|
1415
1433
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1416
1434
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
1417
1435
|
};
|
|
@@ -1547,6 +1565,9 @@ interface UseQuickOrderOptions {
|
|
|
1547
1565
|
imageVariantFiltersSmall?: TransformationsInput;
|
|
1548
1566
|
/** Catalog root. Without it the search returns nothing — see `searchProducts`. */
|
|
1549
1567
|
baseCategoryId?: number;
|
|
1568
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1569
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1570
|
+
anonymousUserId?: number;
|
|
1550
1571
|
};
|
|
1551
1572
|
/** Fires when `submit` creates a fresh cart — persist the cart id. */
|
|
1552
1573
|
onCartCreated?: (cart: Cart) => void;
|
|
@@ -1659,6 +1680,9 @@ interface UseSparePartsOptions {
|
|
|
1659
1680
|
pageSize?: number;
|
|
1660
1681
|
/** Image filter config, mirroring `useProductSearch`'s `configuration`. */
|
|
1661
1682
|
configuration?: {
|
|
1683
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1684
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1685
|
+
anonymousUserId?: number;
|
|
1662
1686
|
imageSearchFiltersGrid?: unknown;
|
|
1663
1687
|
imageVariantFiltersMedium?: unknown;
|
|
1664
1688
|
};
|
|
@@ -1773,6 +1797,9 @@ interface UseProductSliderOptions {
|
|
|
1773
1797
|
companyId?: number;
|
|
1774
1798
|
/** Portal configuration: image search/variant filters. */
|
|
1775
1799
|
configuration?: {
|
|
1800
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1801
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1802
|
+
anonymousUserId?: number;
|
|
1776
1803
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1777
1804
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
1778
1805
|
};
|
|
@@ -2779,6 +2806,13 @@ interface AddToCartEvents {
|
|
|
2779
2806
|
declare function AddToCart(rawProps: AddToCartProps): React$1.JSX.Element;
|
|
2780
2807
|
declare const _default$1: React$1.MemoExoticComponent<typeof AddToCart>;
|
|
2781
2808
|
|
|
2809
|
+
/** Which way the favorite toggle went — see `onFavoriteChanged`. */
|
|
2810
|
+
interface FavoriteChange {
|
|
2811
|
+
action: 'added' | 'removed';
|
|
2812
|
+
listId?: string | number;
|
|
2813
|
+
productId?: number;
|
|
2814
|
+
clusterId?: number;
|
|
2815
|
+
}
|
|
2782
2816
|
interface AddToFavoriteProps {
|
|
2783
2817
|
/** The initialized GraphQL Client instance. Resolved from PropellerProvider when omitted. */
|
|
2784
2818
|
graphqlClient?: GraphQLClient;
|
|
@@ -2793,7 +2827,15 @@ interface AddToFavoriteProps {
|
|
|
2793
2827
|
/** UI string overrides */
|
|
2794
2828
|
labels?: Record<string, string>;
|
|
2795
2829
|
/** Called after a favorite list mutation (add/remove) succeeds */
|
|
2796
|
-
|
|
2830
|
+
/**
|
|
2831
|
+
* Called after the favorite toggle succeeds, with which way it went.
|
|
2832
|
+
*
|
|
2833
|
+
* The argument is optional so existing zero-argument callbacks keep working.
|
|
2834
|
+
* Without it an add and a removal are indistinguishable, so a host cannot
|
|
2835
|
+
* report "added to wishlist" without inventing the direction — and a
|
|
2836
|
+
* wishlist metric that also counts removals is worse than none.
|
|
2837
|
+
*/
|
|
2838
|
+
onFavoriteChanged?: (change?: FavoriteChange) => void;
|
|
2797
2839
|
}
|
|
2798
2840
|
/**
|
|
2799
2841
|
* Favorite toggle button for a product or cluster: opens a modal to add the
|
|
@@ -4109,6 +4151,11 @@ interface ClusterOptionsProps {
|
|
|
4109
4151
|
currency?: string;
|
|
4110
4152
|
/** Authenticated user. Resolved from PropellerProvider when omitted. */
|
|
4111
4153
|
user?: Contact | Customer | null;
|
|
4154
|
+
/**
|
|
4155
|
+
* Language used to resolve option and product names. Resolved from
|
|
4156
|
+
* PropellerProvider when omitted.
|
|
4157
|
+
*/
|
|
4158
|
+
language?: string;
|
|
4112
4159
|
/**
|
|
4113
4160
|
* Portal access mode. In `'semi-closed'` option prices are omitted from the
|
|
4114
4161
|
* dropdown labels and preview for anonymous visitors. Resolved from
|
|
@@ -4123,7 +4170,7 @@ interface ClusterOptionsProps {
|
|
|
4123
4170
|
* with a preview of the chosen product. Surfaces validation errors for unset
|
|
4124
4171
|
* required options when `showErrors` is enabled.
|
|
4125
4172
|
*/
|
|
4126
|
-
declare function ClusterOptions(
|
|
4173
|
+
declare function ClusterOptions(rawProps: ClusterOptionsProps): React$1.JSX.Element;
|
|
4127
4174
|
|
|
4128
4175
|
/**
|
|
4129
4176
|
* @rsc-blocked — Client-only component: browser-only APIs (window/document/storage).
|
|
@@ -4526,8 +4573,12 @@ interface FavoriteListsProps {
|
|
|
4526
4573
|
}) => void;
|
|
4527
4574
|
/** Action function triggered when deleting a favorite list. If not provided, the default action is executed */
|
|
4528
4575
|
onDelete?: (favoriteListId: string) => void;
|
|
4529
|
-
/**
|
|
4530
|
-
|
|
4576
|
+
/**
|
|
4577
|
+
* Called after any list mutation succeeds, with what it did.
|
|
4578
|
+
*
|
|
4579
|
+
* The argument is optional so existing zero-argument callbacks keep working.
|
|
4580
|
+
*/
|
|
4581
|
+
onListChanged?: (change?: FavoriteListChange) => void;
|
|
4531
4582
|
}
|
|
4532
4583
|
/**
|
|
4533
4584
|
* Lists the user's favorite lists with inline edit, delete and create-list
|
|
@@ -5184,6 +5235,16 @@ interface OrderItemCardProps {
|
|
|
5184
5235
|
orderItem: OrderItem;
|
|
5185
5236
|
/** Child order items (rendered as indented sub-rows beneath the parent) */
|
|
5186
5237
|
childItems?: OrderItem[];
|
|
5238
|
+
/**
|
|
5239
|
+
* Language used to resolve localized product names and the slugs in the
|
|
5240
|
+
* item's PDP link. Defaults to the catalog's default language.
|
|
5241
|
+
*
|
|
5242
|
+
* This component is RSC-safe (no hooks, no context), so the host has to pass
|
|
5243
|
+
* it — there is nothing to read it from. Without it a non-default storefront
|
|
5244
|
+
* renders default-language names and, worse, default-language slugs in the
|
|
5245
|
+
* links (PWP-940).
|
|
5246
|
+
*/
|
|
5247
|
+
language?: string;
|
|
5187
5248
|
/** Should the item title be a link to the PDP */
|
|
5188
5249
|
titleLinkable?: boolean;
|
|
5189
5250
|
/** Display a small thumbnail of the order item */
|
|
@@ -5403,6 +5464,9 @@ interface QuickOrderProps {
|
|
|
5403
5464
|
* has no access to.
|
|
5404
5465
|
*/
|
|
5405
5466
|
baseCategoryId?: number;
|
|
5467
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
5468
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
5469
|
+
anonymousUserId?: number;
|
|
5406
5470
|
};
|
|
5407
5471
|
/** Tax zone for price calculation. Defaults to `'NL'`. */
|
|
5408
5472
|
taxZone?: string;
|
|
@@ -5425,6 +5489,12 @@ interface QuickOrderProps {
|
|
|
5425
5489
|
parseSpreadsheet?: (file: File) => Promise<QuickOrderUploadLine[]>;
|
|
5426
5490
|
/** URL to a downloadable XLSX template (shown next to the upload control). */
|
|
5427
5491
|
templateUrl?: string;
|
|
5492
|
+
/**
|
|
5493
|
+
* Called when the template link is clicked. Navigation is untouched — this is
|
|
5494
|
+
* a notification, not a handler: a buyer fetching the template is a
|
|
5495
|
+
* quick-order intent signal that otherwise leaves no trace at all.
|
|
5496
|
+
*/
|
|
5497
|
+
onTemplateDownload?: () => void;
|
|
5428
5498
|
/** Max upload file size in bytes. Defaults to 2 MB. */
|
|
5429
5499
|
maxUploadBytes?: number;
|
|
5430
5500
|
/** Max rows accepted from an upload. Defaults to 500. */
|
|
@@ -6297,6 +6367,9 @@ interface ProductGridProps {
|
|
|
6297
6367
|
*/
|
|
6298
6368
|
configuration?: {
|
|
6299
6369
|
baseCategoryId?: number;
|
|
6370
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
6371
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
6372
|
+
anonymousUserId?: number;
|
|
6300
6373
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
6301
6374
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
6302
6375
|
urls?: {
|
package/dist/index.d.ts
CHANGED
|
@@ -894,6 +894,13 @@ interface FavoriteListFormData {
|
|
|
894
894
|
isDefault: boolean;
|
|
895
895
|
}
|
|
896
896
|
/** Options for {@link useFavorites}. */
|
|
897
|
+
/** What a favorite-list mutation did — see `onListChanged`. */
|
|
898
|
+
interface FavoriteListChange {
|
|
899
|
+
action: 'created' | 'updated' | 'deleted';
|
|
900
|
+
listId?: string | number;
|
|
901
|
+
name?: string;
|
|
902
|
+
isDefault?: boolean;
|
|
903
|
+
}
|
|
897
904
|
interface UseFavoritesOptions {
|
|
898
905
|
/** GraphQL client the hook derives its Services bundle from. */
|
|
899
906
|
graphqlClient: GraphQLClient;
|
|
@@ -908,7 +915,15 @@ interface UseFavoritesOptions {
|
|
|
908
915
|
/** Override: fires instead of the default `deleteFavoriteList` call. */
|
|
909
916
|
onDelete?: (id: string) => void;
|
|
910
917
|
/** Fires after any list create / update / delete completes. */
|
|
911
|
-
|
|
918
|
+
/**
|
|
919
|
+
* Called after a list mutation succeeds.
|
|
920
|
+
*
|
|
921
|
+
* The `change` argument is optional so existing zero-argument callbacks keep
|
|
922
|
+
* working, but without it a host cannot tell a create from a delete — which
|
|
923
|
+
* makes the hook useless for analytics, audit trails or optimistic UI that
|
|
924
|
+
* needs to know WHAT happened rather than merely THAT something did.
|
|
925
|
+
*/
|
|
926
|
+
onListChanged?: (change?: FavoriteListChange) => void;
|
|
912
927
|
}
|
|
913
928
|
/** State and favorite-list actions returned by {@link useFavorites}. */
|
|
914
929
|
interface UseFavoritesReturn {
|
|
@@ -1412,6 +1427,9 @@ interface UseProductSearchOptions {
|
|
|
1412
1427
|
/** Portal configuration: base category fallback plus image filters. */
|
|
1413
1428
|
configuration: {
|
|
1414
1429
|
baseCategoryId?: number;
|
|
1430
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1431
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1432
|
+
anonymousUserId?: number;
|
|
1415
1433
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1416
1434
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
1417
1435
|
};
|
|
@@ -1547,6 +1565,9 @@ interface UseQuickOrderOptions {
|
|
|
1547
1565
|
imageVariantFiltersSmall?: TransformationsInput;
|
|
1548
1566
|
/** Catalog root. Without it the search returns nothing — see `searchProducts`. */
|
|
1549
1567
|
baseCategoryId?: number;
|
|
1568
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1569
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1570
|
+
anonymousUserId?: number;
|
|
1550
1571
|
};
|
|
1551
1572
|
/** Fires when `submit` creates a fresh cart — persist the cart id. */
|
|
1552
1573
|
onCartCreated?: (cart: Cart) => void;
|
|
@@ -1659,6 +1680,9 @@ interface UseSparePartsOptions {
|
|
|
1659
1680
|
pageSize?: number;
|
|
1660
1681
|
/** Image filter config, mirroring `useProductSearch`'s `configuration`. */
|
|
1661
1682
|
configuration?: {
|
|
1683
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1684
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1685
|
+
anonymousUserId?: number;
|
|
1662
1686
|
imageSearchFiltersGrid?: unknown;
|
|
1663
1687
|
imageVariantFiltersMedium?: unknown;
|
|
1664
1688
|
};
|
|
@@ -1773,6 +1797,9 @@ interface UseProductSliderOptions {
|
|
|
1773
1797
|
companyId?: number;
|
|
1774
1798
|
/** Portal configuration: image search/variant filters. */
|
|
1775
1799
|
configuration?: {
|
|
1800
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
1801
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
1802
|
+
anonymousUserId?: number;
|
|
1776
1803
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
1777
1804
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
1778
1805
|
};
|
|
@@ -2779,6 +2806,13 @@ interface AddToCartEvents {
|
|
|
2779
2806
|
declare function AddToCart(rawProps: AddToCartProps): React$1.JSX.Element;
|
|
2780
2807
|
declare const _default$1: React$1.MemoExoticComponent<typeof AddToCart>;
|
|
2781
2808
|
|
|
2809
|
+
/** Which way the favorite toggle went — see `onFavoriteChanged`. */
|
|
2810
|
+
interface FavoriteChange {
|
|
2811
|
+
action: 'added' | 'removed';
|
|
2812
|
+
listId?: string | number;
|
|
2813
|
+
productId?: number;
|
|
2814
|
+
clusterId?: number;
|
|
2815
|
+
}
|
|
2782
2816
|
interface AddToFavoriteProps {
|
|
2783
2817
|
/** The initialized GraphQL Client instance. Resolved from PropellerProvider when omitted. */
|
|
2784
2818
|
graphqlClient?: GraphQLClient;
|
|
@@ -2793,7 +2827,15 @@ interface AddToFavoriteProps {
|
|
|
2793
2827
|
/** UI string overrides */
|
|
2794
2828
|
labels?: Record<string, string>;
|
|
2795
2829
|
/** Called after a favorite list mutation (add/remove) succeeds */
|
|
2796
|
-
|
|
2830
|
+
/**
|
|
2831
|
+
* Called after the favorite toggle succeeds, with which way it went.
|
|
2832
|
+
*
|
|
2833
|
+
* The argument is optional so existing zero-argument callbacks keep working.
|
|
2834
|
+
* Without it an add and a removal are indistinguishable, so a host cannot
|
|
2835
|
+
* report "added to wishlist" without inventing the direction — and a
|
|
2836
|
+
* wishlist metric that also counts removals is worse than none.
|
|
2837
|
+
*/
|
|
2838
|
+
onFavoriteChanged?: (change?: FavoriteChange) => void;
|
|
2797
2839
|
}
|
|
2798
2840
|
/**
|
|
2799
2841
|
* Favorite toggle button for a product or cluster: opens a modal to add the
|
|
@@ -4109,6 +4151,11 @@ interface ClusterOptionsProps {
|
|
|
4109
4151
|
currency?: string;
|
|
4110
4152
|
/** Authenticated user. Resolved from PropellerProvider when omitted. */
|
|
4111
4153
|
user?: Contact | Customer | null;
|
|
4154
|
+
/**
|
|
4155
|
+
* Language used to resolve option and product names. Resolved from
|
|
4156
|
+
* PropellerProvider when omitted.
|
|
4157
|
+
*/
|
|
4158
|
+
language?: string;
|
|
4112
4159
|
/**
|
|
4113
4160
|
* Portal access mode. In `'semi-closed'` option prices are omitted from the
|
|
4114
4161
|
* dropdown labels and preview for anonymous visitors. Resolved from
|
|
@@ -4123,7 +4170,7 @@ interface ClusterOptionsProps {
|
|
|
4123
4170
|
* with a preview of the chosen product. Surfaces validation errors for unset
|
|
4124
4171
|
* required options when `showErrors` is enabled.
|
|
4125
4172
|
*/
|
|
4126
|
-
declare function ClusterOptions(
|
|
4173
|
+
declare function ClusterOptions(rawProps: ClusterOptionsProps): React$1.JSX.Element;
|
|
4127
4174
|
|
|
4128
4175
|
/**
|
|
4129
4176
|
* @rsc-blocked — Client-only component: browser-only APIs (window/document/storage).
|
|
@@ -4526,8 +4573,12 @@ interface FavoriteListsProps {
|
|
|
4526
4573
|
}) => void;
|
|
4527
4574
|
/** Action function triggered when deleting a favorite list. If not provided, the default action is executed */
|
|
4528
4575
|
onDelete?: (favoriteListId: string) => void;
|
|
4529
|
-
/**
|
|
4530
|
-
|
|
4576
|
+
/**
|
|
4577
|
+
* Called after any list mutation succeeds, with what it did.
|
|
4578
|
+
*
|
|
4579
|
+
* The argument is optional so existing zero-argument callbacks keep working.
|
|
4580
|
+
*/
|
|
4581
|
+
onListChanged?: (change?: FavoriteListChange) => void;
|
|
4531
4582
|
}
|
|
4532
4583
|
/**
|
|
4533
4584
|
* Lists the user's favorite lists with inline edit, delete and create-list
|
|
@@ -5184,6 +5235,16 @@ interface OrderItemCardProps {
|
|
|
5184
5235
|
orderItem: OrderItem;
|
|
5185
5236
|
/** Child order items (rendered as indented sub-rows beneath the parent) */
|
|
5186
5237
|
childItems?: OrderItem[];
|
|
5238
|
+
/**
|
|
5239
|
+
* Language used to resolve localized product names and the slugs in the
|
|
5240
|
+
* item's PDP link. Defaults to the catalog's default language.
|
|
5241
|
+
*
|
|
5242
|
+
* This component is RSC-safe (no hooks, no context), so the host has to pass
|
|
5243
|
+
* it — there is nothing to read it from. Without it a non-default storefront
|
|
5244
|
+
* renders default-language names and, worse, default-language slugs in the
|
|
5245
|
+
* links (PWP-940).
|
|
5246
|
+
*/
|
|
5247
|
+
language?: string;
|
|
5187
5248
|
/** Should the item title be a link to the PDP */
|
|
5188
5249
|
titleLinkable?: boolean;
|
|
5189
5250
|
/** Display a small thumbnail of the order item */
|
|
@@ -5403,6 +5464,9 @@ interface QuickOrderProps {
|
|
|
5403
5464
|
* has no access to.
|
|
5404
5465
|
*/
|
|
5405
5466
|
baseCategoryId?: number;
|
|
5467
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
5468
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
5469
|
+
anonymousUserId?: number;
|
|
5406
5470
|
};
|
|
5407
5471
|
/** Tax zone for price calculation. Defaults to `'NL'`. */
|
|
5408
5472
|
taxZone?: string;
|
|
@@ -5425,6 +5489,12 @@ interface QuickOrderProps {
|
|
|
5425
5489
|
parseSpreadsheet?: (file: File) => Promise<QuickOrderUploadLine[]>;
|
|
5426
5490
|
/** URL to a downloadable XLSX template (shown next to the upload control). */
|
|
5427
5491
|
templateUrl?: string;
|
|
5492
|
+
/**
|
|
5493
|
+
* Called when the template link is clicked. Navigation is untouched — this is
|
|
5494
|
+
* a notification, not a handler: a buyer fetching the template is a
|
|
5495
|
+
* quick-order intent signal that otherwise leaves no trace at all.
|
|
5496
|
+
*/
|
|
5497
|
+
onTemplateDownload?: () => void;
|
|
5428
5498
|
/** Max upload file size in bytes. Defaults to 2 MB. */
|
|
5429
5499
|
maxUploadBytes?: number;
|
|
5430
5500
|
/** Max rows accepted from an upload. Defaults to 500. */
|
|
@@ -6297,6 +6367,9 @@ interface ProductGridProps {
|
|
|
6297
6367
|
*/
|
|
6298
6368
|
configuration?: {
|
|
6299
6369
|
baseCategoryId?: number;
|
|
6370
|
+
/** The channel's anonymous user, seeded by the host. Scopes logged-out
|
|
6371
|
+
* listings exactly like the SSR seed does (PWP-942 #22). */
|
|
6372
|
+
anonymousUserId?: number;
|
|
6300
6373
|
imageSearchFiltersGrid?: MediaImageProductSearchInput;
|
|
6301
6374
|
imageVariantFiltersMedium?: TransformationsInput;
|
|
6302
6375
|
urls?: {
|