@faststore/core 4.6.1-dev.0 → 4.7.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.turbo/turbo-generate.log +4 -4
  2. package/.turbo/turbo-test.log +109 -95
  3. package/@generated/cached-operations.json +1 -0
  4. package/@generated/gql.ts +6 -0
  5. package/@generated/graphql.ts +61 -0
  6. package/@generated/persisted-documents.json +1 -0
  7. package/@generated/schema.graphql +56 -0
  8. package/CHANGELOG.md +10 -0
  9. package/cms/faststore/my-account/components/cms_component__accountlistcards.jsonc +90 -0
  10. package/cms/faststore/my-account/pages/cms_content_type__myaccountcards.jsonc +18 -0
  11. package/package.json +6 -6
  12. package/public/icons.svg +1 -1
  13. package/src/components/account/Layout/Layout.tsx +4 -0
  14. package/src/components/account/cards/MyAccountListCards/MyAccountListCards.tsx +409 -0
  15. package/src/components/account/cards/MyAccountListCards/index.ts +11 -0
  16. package/src/components/account/cards/MyAccountListCards/myAccountListCardsLabels.ts +44 -0
  17. package/src/components/account/cards/MyAccountListCards/styles.module.scss +126 -0
  18. package/src/components/cms/account/Components.ts +2 -0
  19. package/src/components/sections/Account/AccountListCards.tsx +69 -0
  20. package/src/pages/pvt/account/cards/index.tsx +244 -0
  21. package/src/sdk/account/accountPageContext.ts +16 -0
  22. package/src/sdk/account/getB2BSessionClaims.ts +42 -0
  23. package/src/sdk/account/getMyAccountRoutes.ts +7 -0
  24. package/src/server/cms/myAccountDefaultSections.ts +2 -0
  25. package/src/utils/getCookie.ts +8 -1
  26. package/test/components/account/cards/MyAccountListCards.browser.test.tsx +301 -0
  27. package/test/components/sections/Account/AccountListCards.browser.test.tsx +57 -0
  28. package/test/pages/pvt/account/cards/index.test.ts +202 -0
  29. package/test/sdk/account/getB2BSessionClaims.test.ts +48 -0
  30. package/test/sdk/account/getMyAccountRoutes.test.ts +10 -0
  31. package/test/server/index.test.ts +2 -0
  32. package/test/utils/getCookie.test.ts +23 -0
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.6.0 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.7.0-dev.0 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.6.0 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.7.0-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,11 +19,11 @@
19
19
  [COMPLETED] Generate to /home/runner/work/faststore/faststore/packages/core/@generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.6.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.7.0-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
26
26
  [Info] - Persisted documents at: /home/runner/work/faststore/faststore/packages/core/@generated/persisted-documents.json
27
27
  [Info] - Cached operations output: /home/runner/work/faststore/faststore/packages/core/@generated/cached-operations.json
28
28
  [Success] - GraphQL queries cached with success: 🎉
29
- Queries: ServerAccountPageQuery, ServerCollectionPageQuery, ServerProductQuery, ServerOrderDetailsQuery, ServerListOrdersQuery, ServerProfileQuery, ServerListQuotesQuery, ServerQuotesOrganizationMemberQuery, ServerSecurity, ServerUserDetailsQuery, AvailableContractsQuery, ValidateUser, ClientPickupPointsQuery, OrderEntryOperationQuery, OrderFormItemsQuery, ClientProductCountQuery, ClientAllVariantProductsQuery, ClientManyProductsQueryWithSearchId, ClientProductGalleryQuery, ClientProductQuery, ClientManyProductsQuery, ClientManyProductsSelectedQuery, ClientProfileQuery, ClientRecommendationsQuery, ClientSearchSuggestionsQuery, ClientTopSearchSuggestionsQuery, ClientShippingSimulationQuery, ServerManyProductsQuery
29
+ Queries: ServerAccountPageQuery, ServerCollectionPageQuery, ServerProductQuery, ServerListCardsQuery, ServerOrderDetailsQuery, ServerListOrdersQuery, ServerProfileQuery, ServerListQuotesQuery, ServerQuotesOrganizationMemberQuery, ServerSecurity, ServerUserDetailsQuery, AvailableContractsQuery, ValidateUser, ClientPickupPointsQuery, OrderEntryOperationQuery, OrderFormItemsQuery, ClientProductCountQuery, ClientAllVariantProductsQuery, ClientManyProductsQueryWithSearchId, ClientProductGalleryQuery, ClientProductQuery, ClientManyProductsQuery, ClientManyProductsSelectedQuery, ClientProfileQuery, ClientRecommendationsQuery, ClientSearchSuggestionsQuery, ClientTopSearchSuggestionsQuery, ClientShippingSimulationQuery, ServerManyProductsQuery
@@ -1,5 +1,5 @@
1
1
 
2
- > @faststore/core@4.6.0 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.7.0-dev.0 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
@@ -7,13 +7,20 @@
7
7
 
8
8
  Not implemented: navigation to another Document
9
9
  Not implemented: navigation to another Document
10
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 353ms
11
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 934ms
12
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2957ms
13
- ✓ shows an error state when the list fails to load  936ms
14
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  348ms
15
- ✓ keeps Confirm disabled when the selected contract is filtered out  321ms
16
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 23ms
10
+ Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
11
+ npx update-browserslist-db@latest
12
+ Why you should do it regularly: https://github.com/browserslist/update-db#readme
13
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1074ms
14
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 3025ms
15
+ ✓ shows an error state when the list fails to load  785ms
16
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  417ms
17
+ ✓ keeps Confirm disabled until a different contract is selected  304ms
18
+ ✓ does not reload when the switch returns false  321ms
19
+ ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (14 tests) 2288ms
20
+ ✓ shows the tab bar and renders Personal cards by default  1203ms
21
+ ✓ paginates when there are more than 25 cards  309ms
22
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 148ms
23
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 27ms
17
24
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
18
25
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
19
26
   at node:internal/deps/undici/undici:16416:13
@@ -40,14 +47,11 @@ Not implemented: navigation to another Document
40
47
  }
41
48
  }
42
49
 
43
- Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
44
- npx update-browserslist-db@latest
45
- Why you should do it regularly: https://github.com/browserslist/update-db#readme
46
50
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
47
51
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
48
52
 
49
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 295ms
50
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 226ms
53
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 307ms
54
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 152ms
51
55
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
52
56
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
53
57
 
@@ -277,12 +281,13 @@ act(() => {
277
281
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
278
282
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
279
283
 
280
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1477ms
281
- ✓ renders the password protection form  700ms
282
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 12ms
283
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1472ms
284
- ✓ renders the menu view with contract details and manage footer  941ms
285
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 33ms
284
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1261ms
285
+ ✓ renders the password protection form  642ms
286
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1051ms
287
+ ✓ renders the menu view with contract details and manage footer  559ms
288
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 13ms
289
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 54ms
290
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 40ms
286
291
  stderr | test/sdk/localization/store-url.browser.test.ts
287
292
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
288
293
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -291,10 +296,9 @@ This ensures that you're testing the behavior the user would see in the browser.
291
296
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
292
297
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
293
298
 
294
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 8ms
295
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 45ms
296
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 41ms
297
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 44ms
299
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 5ms
300
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 48ms
301
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 43ms
298
302
  stderr | test/components/account/doLogout.browser.test.ts
299
303
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
300
304
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -303,9 +307,10 @@ This ensures that you're testing the behavior the user would see in the browser.
303
307
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
304
308
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
305
309
 
306
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 25ms
307
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 250ms
308
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 306ms
310
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 24ms
311
+ ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 83ms
312
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 247ms
313
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 222ms
309
314
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
310
315
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
311
316
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -315,9 +320,11 @@ This ensures that you're testing the behavior the user would see in the browser.
315
320
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
316
321
 
317
322
  ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 8ms
318
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
319
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 4ms
320
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 28ms
323
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 4ms
324
+ ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
325
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 27ms
326
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 42ms
327
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 33ms
321
328
  stderr | test/sdk/account/refreshToken.browser.test.ts
322
329
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
323
330
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -326,13 +333,11 @@ This ensures that you're testing the behavior the user would see in the browser.
326
333
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
327
334
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
328
335
 
329
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 48ms
330
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 4ms
331
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 62ms
332
- ✓  node  test/utils/match-url.test.ts (10 tests) 9ms
333
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 16ms
334
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 151ms
335
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 10ms
336
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 5ms
337
+ ✓  node  test/utils/match-url.test.ts (10 tests) 10ms
338
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 179ms
339
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 14ms
340
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 6ms
336
341
  stderr | test/components/search/SearchInputComponent.test.tsx
337
342
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
338
343
 
@@ -396,11 +401,19 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
396
401
  at Suspense
397
402
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
398
403
 
399
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 92ms
400
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 17ms
401
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 60ms
402
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 25ms
403
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 13ms
404
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 69ms
405
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 40ms
406
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 11ms
407
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 22ms
408
+ stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > redirects to /pvt/account/403 when the query fails with 401/403
409
+ { extensions: { status: 401 } }
410
+
411
+ stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > renders the error state (no redirect) when the query fails with a non-auth status
412
+ { extensions: { status: 502 } }
413
+
414
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 12ms
415
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 9ms
416
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 402ms
404
417
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
405
418
  Graphql execution returned with error: [
406
419
  {
@@ -449,7 +462,7 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
449
462
 
450
463
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps BadRequestError thrown by execute to its status
451
464
  Something unexpected occurred querying Graphql endpoint:
452
- T [FastStoreError]: malformed
465
+ E [FastStoreError]: malformed
453
466
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:190:31
454
467
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
455
468
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
@@ -493,65 +506,66 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
493
506
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
494
507
  at Traces.$ (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js:142:27)
495
508
 
496
- ✓  node  test/pages/api/graphql.test.ts (17 tests) 32ms
497
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 424ms
498
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 823ms
499
- ✓ navigates with the search term on blur  362ms
500
- ✓ navigates without a label param when the search is cleared  358ms
509
+ ✓  node  test/pages/api/graphql.test.ts (17 tests) 21ms
501
510
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
502
511
  Set password request failed: Bad Request
503
512
 
504
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 41ms
505
- ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 43ms
506
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 42ms
507
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 8ms
508
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 8ms
509
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 61ms
510
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 180ms
511
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 40ms
512
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 35ms
513
- ✓  node  test/server/index.test.ts (7 tests) 904ms
514
- ✓ should return a valid merged GraphQL schema  318ms
515
- ✓ should handle options and execute  303ms
516
- ✓  node  test/proxy.localization.test.ts (5 tests) 42ms
517
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 9ms
518
- ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 10ms
519
- ✓  node  test/proxy.test.ts (4 tests) 23ms
520
- ✓  node  test/server/webops-api.test.ts (9 tests) 11ms
521
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 107ms
522
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 38ms
523
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
513
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 26ms
514
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 849ms
515
+ ✓ navigates with the search term on blur  363ms
516
+ ✓ navigates without a label param when the search is cleared  368ms
517
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 38ms
518
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 5ms
519
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 39ms
520
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 5ms
521
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 50ms
522
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (11 tests) 9ms
523
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 157ms
524
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 36ms
525
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 29ms
526
+ ✓  node  test/proxy.localization.test.ts (5 tests) 27ms
527
+ ✓  node  test/server/index.test.ts (7 tests) 1102ms
528
+ ✓ should return a valid merged GraphQL schema  312ms
529
+ ✓ should handle options and execute  566ms
530
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 6ms
531
+ ✓  node  test/proxy.test.ts (4 tests) 32ms
532
+ ✓  node  test/server/webops-api.test.ts (9 tests) 18ms
533
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 112ms
524
534
  ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 12ms
525
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 9ms
526
- ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
527
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 5ms
535
+ ✓  node  test/server/content/service.test.ts (5 tests) 5ms
536
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 26ms
537
+ ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
538
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 7ms
539
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 4ms
528
540
  ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 36ms
529
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 152ms
530
- ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 4ms
531
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 8ms
532
- ✓  node  test/pages/api/preview.test.ts (2 tests) 10ms
533
- ✓  node  test/server/rootSpan.test.ts (4 tests) 32ms
534
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 6ms
535
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 8ms
536
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 6ms
537
- ✓  node  test/server/cms/index.test.ts (2 tests) 4ms
538
- ✓  node  test/utils/retry.test.ts (5 tests) 14ms
539
- ✓  node  test/components/account/Layout.test.tsx (4 tests) 45ms
540
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 182ms
541
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 5ms
541
+ ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 5ms
542
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 131ms
543
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 6ms
544
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 13ms
545
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 11ms
546
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
547
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 38ms
548
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 4ms
549
+ ✓  node  test/server/cms/index.test.ts (2 tests) 5ms
550
+ ✓  node  test/utils/retry.test.ts (5 tests) 10ms
551
+ ✓  node  test/components/account/Layout.test.tsx (4 tests) 52ms
552
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 195ms
553
+ ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 5ms
542
554
  ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
543
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 6ms
555
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 4ms
556
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 4ms
544
557
  ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
558
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 45ms
545
559
  ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
546
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 58ms
547
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
548
- ✓  node  test/instrumentation.test.ts (3 tests) 5ms
549
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 40ms
550
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 16ms
551
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 25ms
552
-
553
-  Test Files  82 passed (82)
554
-  Tests  661 passed (661)
555
-  Start at  18:11:33
556
-  Duration  41.29s (transform 8.25s, setup 0ms, import 32.53s, tests 12.65s, environment 55.04s)
560
+ ✓  node  test/utils/getCookie.test.ts (4 tests) 5ms
561
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
562
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 27ms
563
+ ✓  node  test/instrumentation.test.ts (3 tests) 6ms
564
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 14ms
565
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 32ms
566
+
567
+  Test Files  87 passed (87)
568
+  Tests  695 passed (695)
569
+  Start at  16:20:18
570
+  Duration  41.11s (transform 10.74s, setup 0ms, import 35.89s, tests 14.30s, environment 51.43s)
557
571
 
@@ -2,6 +2,7 @@
2
2
  "ServerAccountPageQuery",
3
3
  "ServerCollectionPageQuery",
4
4
  "ServerProductQuery",
5
+ "ServerListCardsQuery",
5
6
  "ServerOrderDetailsQuery",
6
7
  "ServerListOrdersQuery",
7
8
  "ServerProfileQuery",
package/@generated/gql.ts CHANGED
@@ -31,6 +31,7 @@ type Documents = {
31
31
  "\n query ServerAccountPageQuery {\n accountProfile {\n name\n }\n }\n": typeof types.ServerAccountPageQueryDocument,
32
32
  "\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n otherLocales {\n locale\n slug\n }\n }\n }\n": typeof types.ServerCollectionPageQueryDocument,
33
33
  "\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n priceToken\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": typeof types.ServerProductQueryDocument,
34
+ "\n query ServerListCardsQuery {\n listCreditCards {\n list {\n accountId\n bin\n cardNumber\n cardLabel\n paymentSystem\n paymentSystemName\n isDefault\n isActive\n origin\n }\n }\n accountProfile {\n name\n }\n hasAdHocCardAccess\n }\n": typeof types.ServerListCardsQueryDocument,
34
35
  "\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n }\n": typeof types.UserOrderItemsFragmentFragmentDoc,
35
36
  "\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerOrderDetailsQueryDocument,
36
37
  "\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerListOrdersQueryDocument,
@@ -83,6 +84,7 @@ const documents: Documents = {
83
84
  "\n query ServerAccountPageQuery {\n accountProfile {\n name\n }\n }\n": types.ServerAccountPageQueryDocument,
84
85
  "\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n otherLocales {\n locale\n slug\n }\n }\n }\n": types.ServerCollectionPageQueryDocument,
85
86
  "\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n priceToken\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": types.ServerProductQueryDocument,
87
+ "\n query ServerListCardsQuery {\n listCreditCards {\n list {\n accountId\n bin\n cardNumber\n cardLabel\n paymentSystem\n paymentSystemName\n isDefault\n isActive\n origin\n }\n }\n accountProfile {\n name\n }\n hasAdHocCardAccess\n }\n": types.ServerListCardsQueryDocument,
86
88
  "\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n }\n": types.UserOrderItemsFragmentFragmentDoc,
87
89
  "\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerOrderDetailsQueryDocument,
88
90
  "\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerListOrdersQueryDocument,
@@ -183,6 +185,10 @@ export function gql(source: "\n query ServerCollectionPageQuery($slug: String!)
183
185
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
184
186
  */
185
187
  export function gql(source: "\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n priceToken\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n"): typeof import('./graphql').ServerProductQueryDocument;
188
+ /**
189
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
190
+ */
191
+ export function gql(source: "\n query ServerListCardsQuery {\n listCreditCards {\n list {\n accountId\n bin\n cardNumber\n cardLabel\n paymentSystem\n paymentSystemName\n isDefault\n isActive\n origin\n }\n }\n accountProfile {\n name\n }\n hasAdHocCardAccess\n }\n"): typeof import('./graphql').ServerListCardsQueryDocument;
186
192
  /**
187
193
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
188
194
  */
@@ -141,6 +141,15 @@ export type BusinessHour = {
141
141
  openingTime: Maybe<Scalars['String']['output']>;
142
142
  };
143
143
 
144
+ /**
145
+ * Whether a saved card is personally owned by the buyer or shared by their
146
+ * Organization/Contract. Resolved server-side by the Saved-cards service from
147
+ * the buyer's `useAdHocCard` role — never inferred client-side.
148
+ */
149
+ export type CardOrigin =
150
+ | 'personal'
151
+ | 'shared';
152
+
144
153
  /** Commercial Authorization dimension status. */
145
154
  export type CommercialAuthorizationDimensionStatus = {
146
155
  /** Creation date. */
@@ -883,8 +892,19 @@ export type Query = {
883
892
  availableContracts: Array<StoreContract>;
884
893
  /** Returns the details of a collection based on the collection slug. */
885
894
  collection: StoreCollection;
895
+ /**
896
+ * Whether the current user holds the ad-hoc card platform permission, which
897
+ * gates personal card management for Unit/Contract-affiliated buyers.
898
+ *
899
+ * Resolved from the user's roles by License Manager — it is not a session token
900
+ * claim. Fails open (`true`) when the permission service is unreachable, so an
901
+ * outage never locks buyers out of their own cards.
902
+ */
903
+ hasAdHocCardAccess: Scalars['Boolean']['output'];
886
904
  /** Returns whether the current authenticated user belongs to a B2B organization unit. */
887
905
  isOrganizationMember: Scalars['Boolean']['output'];
906
+ /** Returns the list of saved credit cards for the current user. */
907
+ listCreditCards: Maybe<SavedCardListResult>;
888
908
  /** Returns the list of Orders that the User can view. */
889
909
  listUserOrders: Maybe<UserOrderListMinimalResult>;
890
910
  /** Returns the list of Quotes that the authenticated Buyer can view. */
@@ -1070,6 +1090,41 @@ export type SkuSpecificationValue = {
1070
1090
  originalName: Maybe<Scalars['String']['output']>;
1071
1091
  };
1072
1092
 
1093
+ /** A saved payment card returned by the Saved-cards service. */
1094
+ export type SavedCard = {
1095
+ /** Account identifier that owns the card. */
1096
+ accountId: Maybe<Scalars['String']['output']>;
1097
+ /** First digits of the card (BIN). */
1098
+ bin: Maybe<Scalars['String']['output']>;
1099
+ /**
1100
+ * Buyer- or admin-assigned nickname for the card (e.g. "Team lunch card"), when
1101
+ * the Saved-cards service has one on file. Absent for most cards — callers
1102
+ * should fall back to `paymentSystemName` for display.
1103
+ */
1104
+ cardLabel: Maybe<Scalars['String']['output']>;
1105
+ /** Masked card number, per PCI display rules. */
1106
+ cardNumber: Maybe<Scalars['String']['output']>;
1107
+ /** Whether this card is active. */
1108
+ isActive: Maybe<Scalars['Boolean']['output']>;
1109
+ /** Whether this card is the account default. */
1110
+ isDefault: Maybe<Scalars['Boolean']['output']>;
1111
+ /**
1112
+ * Whether this card is personally owned by the buyer or shared by their
1113
+ * Organization/Contract.
1114
+ */
1115
+ origin: CardOrigin;
1116
+ /** Numeric payment system identifier. */
1117
+ paymentSystem: Maybe<Scalars['String']['output']>;
1118
+ /** Human-readable payment system name (e.g. Visa, Mastercard). */
1119
+ paymentSystemName: Maybe<Scalars['String']['output']>;
1120
+ };
1121
+
1122
+ /** Result of listing the current user's saved credit cards. */
1123
+ export type SavedCardListResult = {
1124
+ /** The list of saved credit cards. */
1125
+ list: Maybe<Array<SavedCard>>;
1126
+ };
1127
+
1073
1128
  /** Search result. */
1074
1129
  export type SearchMetadata = {
1075
1130
  /** Indicates how the search engine corrected the misspelled word by using fuzzy logic. */
@@ -2766,6 +2821,11 @@ export type ServerProductQueryQueryVariables = Exact<{
2766
2821
 
2767
2822
  export type ServerProductQueryQuery = { product: { sku: string, gtin: string, mpn: string, name: string, description: string, releaseDate: string, unitMultiplier: number | null, id: string, seo: { title: string, description: string, canonical: string }, brand: { name: string }, breadcrumbList: { itemListElement: Array<{ item: string, name: string, position: number }> }, image: Array<{ url: string, alternateName: string }>, offers: { lowPrice: number, highPrice: number, lowPriceWithTaxes: number, priceCurrency: string, offers: Array<{ availability: string, price: number, priceValidUntil: string, priceCurrency: string, itemCondition: string, priceToken: string | null, priceWithTaxes: number, listPrice: number, listPriceWithTaxes: number, quantity: number, seller: { identifier: string } }> }, isVariantOf: { name: string, productGroupID: string, skuVariants: { activeVariations: any | null, slugsMap: any | null, availableVariations: any | null, allVariantProducts: Array<{ name: string, productID: string }> | null } | null }, otherLocales: Array<{ locale: string, slug: string }> | null, additionalProperty: Array<{ propertyID: string, name: string, value: any, valueReference: any }> } };
2768
2823
 
2824
+ export type ServerListCardsQueryQueryVariables = Exact<{ [key: string]: never; }>;
2825
+
2826
+
2827
+ export type ServerListCardsQueryQuery = { hasAdHocCardAccess: boolean, listCreditCards: { list: Array<{ accountId: string | null, bin: string | null, cardNumber: string | null, cardLabel: string | null, paymentSystem: string | null, paymentSystemName: string | null, isDefault: boolean | null, isActive: boolean | null, origin: CardOrigin }> | null } | null, accountProfile: { name: string | null } };
2828
+
2769
2829
  export type UserOrderItemsFragmentFragment = { id: string | null, name: string | null, quantity: number | null, sellingPrice: number | null, unitMultiplier: number | null, measurementUnit: string | null, imageUrl: string | null, detailUrl: string | null, refId: string | null, rewardValue: number | null };
2770
2830
 
2771
2831
  export type ServerOrderDetailsQueryQueryVariables = Exact<{
@@ -3558,6 +3618,7 @@ export const SearchEvent_MetadataFragmentDoc = new TypedDocumentString(`
3558
3618
  export const ServerAccountPageQueryDocument = {"__meta__":{"operationName":"ServerAccountPageQuery","operationHash":"9baae331b75848a310fecb457e8c971ae27897ff"}} as unknown as TypedDocumentString<ServerAccountPageQueryQuery, ServerAccountPageQueryQueryVariables>;
3559
3619
  export const ServerCollectionPageQueryDocument = {"__meta__":{"operationName":"ServerCollectionPageQuery","operationHash":"d46841b30ae1f6350021b5cf02f253d56c848664"}} as unknown as TypedDocumentString<ServerCollectionPageQueryQuery, ServerCollectionPageQueryQueryVariables>;
3560
3620
  export const ServerProductQueryDocument = {"__meta__":{"operationName":"ServerProductQuery","operationHash":"b89e93519be01aebc01c402489a0ae640d38675a"}} as unknown as TypedDocumentString<ServerProductQueryQuery, ServerProductQueryQueryVariables>;
3621
+ export const ServerListCardsQueryDocument = {"__meta__":{"operationName":"ServerListCardsQuery","operationHash":"392cf85d18d66b94d6ea8d6b2a3c6ffb5c94683d"}} as unknown as TypedDocumentString<ServerListCardsQueryQuery, ServerListCardsQueryQueryVariables>;
3561
3622
  export const ServerOrderDetailsQueryDocument = {"__meta__":{"operationName":"ServerOrderDetailsQuery","operationHash":"bdf677bbccce12186a5ef15aebdce46585a99782"}} as unknown as TypedDocumentString<ServerOrderDetailsQueryQuery, ServerOrderDetailsQueryQueryVariables>;
3562
3623
  export const ServerListOrdersQueryDocument = {"__meta__":{"operationName":"ServerListOrdersQuery","operationHash":"70d06de1da9c11f10ebde31b66fd74eccd456af5"}} as unknown as TypedDocumentString<ServerListOrdersQueryQuery, ServerListOrdersQueryQueryVariables>;
3563
3624
  export const ServerProfileQueryDocument = {"__meta__":{"operationName":"ServerProfileQuery","operationHash":"672fe0f00b7b710b63fc6573c0a6b2ec54812b8f"}} as unknown as TypedDocumentString<ServerProfileQueryQuery, ServerProfileQueryQueryVariables>;
@@ -2,6 +2,7 @@
2
2
  "9baae331b75848a310fecb457e8c971ae27897ff": "query ServerAccountPageQuery { accountProfile { name } }",
3
3
  "d46841b30ae1f6350021b5cf02f253d56c848664": "fragment ServerCollectionPage on Query { collection(slug: $slug) { id } } query ServerCollectionPageQuery($slug: String!) { collection(slug: $slug) { breadcrumbList { itemListElement { item name position } } meta { selectedFacets { key value } } otherLocales { locale slug } seo { description title } } ...ServerCollectionPage }",
4
4
  "b89e93519be01aebc01c402489a0ae640d38675a": "fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceToken priceWithTaxes quantity seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } fragment ServerProduct on Query { product(locator: $locator) { id: productID } } query ServerProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { brand { name } breadcrumbList { itemListElement { item name position } } description gtin image { alternateName url } isVariantOf { productGroupID } mpn name offers { highPrice lowPrice lowPriceWithTaxes offers { availability itemCondition price priceCurrency priceToken priceValidUntil seller { identifier } } priceCurrency } otherLocales { locale slug } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }",
5
+ "392cf85d18d66b94d6ea8d6b2a3c6ffb5c94683d": "query ServerListCardsQuery { accountProfile { name } hasAdHocCardAccess listCreditCards { list { accountId bin cardLabel cardNumber isActive isDefault origin paymentSystem paymentSystemName } } }",
5
6
  "bdf677bbccce12186a5ef15aebdce46585a99782": "query ServerOrderDetailsQuery($orderId: String!) { accountProfile { name } userOrder(orderId: $orderId) { allowCancellation budgetData { budgets { allocations { id linkedEntity { id } reservations } balance { remaining } id name } } canProcessOrderAuthorization clientProfileData { corporateName email firstName isCorporate lastName phone } creationDate customFields { fields { name refId value } id type } deliveryOptionsData { contact { email name phone } deliveryOptions { address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } deliveryChannel deliveryCompany deliveryWindow { endDateUtc price startDateUtc } friendlyDeliveryOptionName friendlyShippingEstimate items { id imageUrl name price quantity sellingPrice tax taxPriceTagsTotal total uniqueId } pickupStoreInfo { additionalInfo address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } dockId friendlyName isPickupStore } quantityOfDifferentItems selectedSla seller shippingEstimate shippingEstimateDate total } } orderId paymentData { transactions { isActive payments { bankIssuedInvoiceIdentificationNumber connectorResponses { authId } group id installments lastDigits paymentOrigin paymentSystemName redemptionCode referenceValue tid url value } } } ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } shopper { email firstName lastName phone } status statusDescription storePreferencesData { currencyCode } totals { id name value } } }",
6
7
  "70d06de1da9c11f10ebde31b66fd74eccd456af5": "query ServerListOrdersQuery($clientEmail: String, $dateFinal: String, $dateInitial: String, $page: Int, $pendingMyApproval: Boolean, $perPage: Int, $status: [String], $text: String) { accountProfile { name } listUserOrders( page: $page perPage: $perPage status: $status dateInitial: $dateInitial dateFinal: $dateFinal text: $text clientEmail: $clientEmail pendingMyApproval: $pendingMyApproval ) { list { ShippingEstimatedDate clientName creationDate currencyCode customFields { type value } items { description ean id price productId quantity refId seller sellingPrice } orderId status statusDescription totalValue } paging { currentPage pages perPage total } } }",
7
8
  "672fe0f00b7b710b63fc6573c0a6b2ec54812b8f": "query ServerProfileQuery { accountProfile { email id name } }",