@faststore/core 4.6.0 → 4.7.0-dev.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.
Files changed (32) hide show
  1. package/.turbo/turbo-generate.log +4 -4
  2. package/.turbo/turbo-test.log +105 -90
  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-dev.6 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.1-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-dev.6 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.6.1-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-dev.6 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.6.1-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,18 +1,25 @@
1
1
 
2
- > @faststore/core@4.6.0-dev.6 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.1-dev.0 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.18 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 408ms
9
8
  Not implemented: navigation to another Document
10
9
  Not implemented: navigation to another Document
11
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1130ms
12
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 41ms
13
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 3068ms
14
- ✓ shows an error state when the list fails to load  878ms
15
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  504ms
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) 1003ms
14
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2752ms
15
+ ✓ shows an error state when the list fails to load  800ms
16
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  326ms
17
+ ✓ keeps Confirm disabled when switching is unavailable  306ms
18
+ ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (14 tests) 2097ms
19
+ ✓ shows the tab bar and renders Personal cards by default  983ms
20
+ ✓ paginates when there are more than 25 cards  355ms
21
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 288ms
22
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 19ms
16
23
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
17
24
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
18
25
   at node:internal/deps/undici/undici:16416:13
@@ -39,14 +46,11 @@ Not implemented: navigation to another Document
39
46
  }
40
47
  }
41
48
 
42
- Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
43
- npx update-browserslist-db@latest
44
- Why you should do it regularly: https://github.com/browserslist/update-db#readme
45
49
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
46
50
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
47
51
 
48
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 302ms
49
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 210ms
52
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 228ms
53
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 170ms
50
54
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
51
55
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
52
56
 
@@ -132,6 +136,7 @@ act(() => {
132
136
  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
133
137
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
134
138
 
139
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 10ms
135
140
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > uses the fallback invalid-password message when API omits an error
136
141
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
137
142
 
@@ -276,12 +281,11 @@ act(() => {
276
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
277
282
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
278
283
 
279
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1632ms
280
- ✓ renders the password protection form  610ms
281
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 17ms
282
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 55ms
283
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1367ms
284
- ✓ renders the menu view with contract details and manage footer  801ms
284
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1289ms
285
+ ✓ renders the password protection form  498ms
286
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1063ms
287
+ ✓ renders the menu view with contract details and manage footer  678ms
288
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 26ms
285
289
  stderr | test/sdk/localization/store-url.browser.test.ts
286
290
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
287
291
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -290,10 +294,10 @@ This ensures that you're testing the behavior the user would see in the browser.
290
294
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
291
295
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
292
296
 
293
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 9ms
294
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 32ms
295
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 46ms
296
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 27ms
297
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 5ms
298
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 27ms
299
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 27ms
300
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 40ms
297
301
  stderr | test/components/account/doLogout.browser.test.ts
298
302
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
299
303
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -302,9 +306,10 @@ This ensures that you're testing the behavior the user would see in the browser.
302
306
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
303
307
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
304
308
 
305
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 29ms
306
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 267ms
307
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 275ms
309
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 27ms
310
+ ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 85ms
311
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 289ms
312
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 268ms
308
313
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
309
314
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
310
315
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -313,12 +318,10 @@ This ensures that you're testing the behavior the user would see in the browser.
313
318
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
314
319
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
315
320
 
316
- ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 5ms
317
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
321
+ ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 7ms
322
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 6ms
318
323
  ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
319
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 25ms
320
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 38ms
321
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 30ms
324
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 26ms
322
325
  stderr | test/sdk/account/refreshToken.browser.test.ts
323
326
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
324
327
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -327,10 +330,12 @@ This ensures that you're testing the behavior the user would see in the browser.
327
330
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
328
331
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
329
332
 
330
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 4ms
331
- ✓  node  test/utils/match-url.test.ts (10 tests) 14ms
332
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 16ms
333
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 158ms
333
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 43ms
334
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 5ms
335
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 42ms
336
+ ✓  node  test/utils/match-url.test.ts (10 tests) 11ms
337
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 232ms
338
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 11ms
334
339
  ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 11ms
335
340
  stderr | test/components/search/SearchInputComponent.test.tsx
336
341
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
@@ -395,11 +400,19 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
395
400
  at Suspense
396
401
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
397
402
 
398
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 67ms
399
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 14ms
400
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 59ms
401
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 10ms
402
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 26ms
403
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 76ms
404
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 53ms
405
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 18ms
406
+ stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > redirects to /pvt/account/403 when the query fails with 401/403
407
+ { extensions: { status: 401 } }
408
+
409
+ 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
410
+ { extensions: { status: 502 } }
411
+
412
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 12ms
413
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 7ms
414
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 28ms
415
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 407ms
403
416
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
404
417
  Graphql execution returned with error: [
405
418
  {
@@ -448,7 +461,7 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
448
461
 
449
462
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps BadRequestError thrown by execute to its status
450
463
  Something unexpected occurred querying Graphql endpoint:
451
- T [FastStoreError]: malformed
464
+ E [FastStoreError]: malformed
452
465
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:190:31
453
466
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
454
467
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
@@ -492,63 +505,65 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
492
505
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
493
506
  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)
494
507
 
495
- ✓  node  test/pages/api/graphql.test.ts (17 tests) 24ms
496
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 349ms
497
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 833ms
498
- ✓ navigates with the search term on blur  363ms
499
- ✓ navigates without a label param when the search is cleared  360ms
500
- ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 36ms
501
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 50ms
508
+ ✓  node  test/pages/api/graphql.test.ts (17 tests) 33ms
509
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 831ms
510
+ ✓ navigates with the search term on blur  362ms
511
+ ✓ navigates without a label param when the search is cleared  357ms
502
512
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
503
513
  Set password request failed: Bad Request
504
514
 
505
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 47ms
515
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 51ms
516
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 42ms
517
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 49ms
506
518
  ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 6ms
507
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 9ms
508
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 38ms
509
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 161ms
510
- ✓  node  test/server/index.test.ts (7 tests) 648ms
511
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 47ms
512
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 6ms
513
- ✓  node  test/proxy.localization.test.ts (5 tests) 34ms
514
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 42ms
515
- ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 7ms
516
- ✓  node  test/proxy.test.ts (4 tests) 21ms
517
- ✓  node  test/server/webops-api.test.ts (9 tests) 12ms
518
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 64ms
519
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 106ms
520
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
521
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 8ms
522
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 12ms
523
- ✓  node  test/server/cms/global.test.ts (3 tests) 5ms
524
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 3ms
525
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 66ms
526
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 134ms
519
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 7ms
520
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 64ms
521
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (11 tests) 10ms
522
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 165ms
523
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 58ms
524
+ ✓  node  test/server/index.test.ts (7 tests) 866ms
525
+ ✓ should return a valid merged GraphQL schema  314ms
526
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 40ms
527
+ ✓  node  test/proxy.localization.test.ts (5 tests) 50ms
528
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 8ms
529
+ ✓  node  test/proxy.test.ts (4 tests) 18ms
530
+ ✓  node  test/server/webops-api.test.ts (9 tests) 14ms
531
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 112ms
532
+ ✓  node  test/server/content/service.test.ts (5 tests) 7ms
533
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 63ms
534
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 11ms
535
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 9ms
536
+ ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
537
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 5ms
538
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 36ms
539
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 146ms
527
540
  ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 5ms
528
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 12ms
541
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 6ms
529
542
  ✓  node  test/pages/api/preview.test.ts (2 tests) 9ms
530
- ✓  node  test/server/rootSpan.test.ts (4 tests) 73ms
531
543
  ✓  node  test/components/search/SearchInput.test.ts (6 tests) 8ms
532
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
544
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 32ms
545
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 6ms
533
546
  ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 5ms
534
- ✓  node  test/server/cms/index.test.ts (2 tests) 5ms
535
- ✓  node  test/utils/retry.test.ts (5 tests) 14ms
536
- ✓  node  test/components/account/Layout.test.tsx (4 tests) 37ms
537
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 186ms
538
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
539
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 5ms
540
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 3ms
541
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
542
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 42ms
543
- ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
547
+ ✓  node  test/server/cms/index.test.ts (2 tests) 7ms
548
+ ✓  node  test/utils/retry.test.ts (5 tests) 20ms
549
+ ✓  node  test/components/account/Layout.test.tsx (4 tests) 39ms
550
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 201ms
551
+ ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 6ms
552
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 7ms
553
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 7ms
554
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 4ms
555
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 6ms
556
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 56ms
557
+ ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 5ms
558
+ ✓  node  test/utils/getCookie.test.ts (4 tests) 5ms
544
559
  ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
545
- ✓  node  test/instrumentation.test.ts (3 tests) 6ms
546
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 33ms
547
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 11ms
548
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 23ms
549
-
550
-  Test Files  82 passed (82)
551
-  Tests  661 passed (661)
552
-  Start at  17:48:06
553
-  Duration  40.68s (transform 9.42s, setup 0ms, import 33.98s, tests 12.67s, environment 52.70s)
560
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 45ms
561
+ ✓  node  test/instrumentation.test.ts (3 tests) 7ms
562
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 18ms
563
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 24ms
564
+
565
+  Test Files  87 passed (87)
566
+  Tests  695 passed (695)
567
+  Start at  12:28:43
568
+  Duration  43.06s (transform 10.71s, setup 0ms, import 37.10s, tests 13.95s, environment 54.21s)
554
569
 
@@ -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 } }",