@juo/blocks 1.15.0 → 1.16.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 (90) hide show
  1. package/dist/{block-VhmfGB3N.js → block-dVP4Rqgz.js} +9 -0
  2. package/dist/core.js +2294 -378
  3. package/dist/preact.js +2 -2
  4. package/dist/react.js +2 -2
  5. package/dist/services/customer/adapter.d.ts +8 -0
  6. package/dist/services/customer/adapter.d.ts.map +1 -0
  7. package/dist/services/customer/customerService.d.ts +3 -2
  8. package/dist/services/customer/customerService.d.ts.map +1 -1
  9. package/dist/services/customer/index.d.ts +1 -0
  10. package/dist/services/customer/index.d.ts.map +1 -1
  11. package/dist/services/customer/types.d.ts +4 -1
  12. package/dist/services/customer/types.d.ts.map +1 -1
  13. package/dist/services/index.d.ts +3 -0
  14. package/dist/services/index.d.ts.map +1 -1
  15. package/dist/services/login/adapter.d.ts +33 -0
  16. package/dist/services/login/adapter.d.ts.map +1 -0
  17. package/dist/services/login/index.d.ts +3 -1
  18. package/dist/services/login/index.d.ts.map +1 -1
  19. package/dist/services/login/loginService.d.ts +6 -2
  20. package/dist/services/login/loginService.d.ts.map +1 -1
  21. package/dist/services/order/adapter.d.ts +9 -0
  22. package/dist/services/order/adapter.d.ts.map +1 -0
  23. package/dist/services/order/index.d.ts +5 -0
  24. package/dist/services/order/index.d.ts.map +1 -0
  25. package/dist/services/order/orderService.d.ts +7 -0
  26. package/dist/services/order/orderService.d.ts.map +1 -0
  27. package/dist/services/order/types.d.ts +21 -0
  28. package/dist/services/order/types.d.ts.map +1 -0
  29. package/dist/services/orders/adapter.d.ts +2 -0
  30. package/dist/services/orders/adapter.d.ts.map +1 -1
  31. package/dist/services/orders/index.d.ts +1 -1
  32. package/dist/services/orders/index.d.ts.map +1 -1
  33. package/dist/services/product/adapter.d.ts +27 -2
  34. package/dist/services/product/adapter.d.ts.map +1 -1
  35. package/dist/services/product/adapter.test.d.ts +2 -0
  36. package/dist/services/product/adapter.test.d.ts.map +1 -0
  37. package/dist/services/product/index.d.ts +1 -1
  38. package/dist/services/product/index.d.ts.map +1 -1
  39. package/dist/services/product/productService.d.ts.map +1 -1
  40. package/dist/services/product/types.d.ts +68 -0
  41. package/dist/services/product/types.d.ts.map +1 -1
  42. package/dist/services/schedules/adapter.d.ts +94 -0
  43. package/dist/services/schedules/adapter.d.ts.map +1 -0
  44. package/dist/services/schedules/adapter.test.d.ts +2 -0
  45. package/dist/services/schedules/adapter.test.d.ts.map +1 -0
  46. package/dist/services/schedules/apiSchedulesAdapter.test.d.ts +2 -0
  47. package/dist/services/schedules/apiSchedulesAdapter.test.d.ts.map +1 -0
  48. package/dist/services/schedules/index.d.ts +5 -0
  49. package/dist/services/schedules/index.d.ts.map +1 -0
  50. package/dist/services/schedules/schedulesService.d.ts +11 -0
  51. package/dist/services/schedules/schedulesService.d.ts.map +1 -0
  52. package/dist/services/schedules/schedulesService.test.d.ts +2 -0
  53. package/dist/services/schedules/schedulesService.test.d.ts.map +1 -0
  54. package/dist/services/schedules/types.d.ts +290 -0
  55. package/dist/services/schedules/types.d.ts.map +1 -0
  56. package/dist/services/settings/index.d.ts +3 -0
  57. package/dist/services/settings/index.d.ts.map +1 -0
  58. package/dist/services/settings/settingsService.d.ts +7 -0
  59. package/dist/services/settings/settingsService.d.ts.map +1 -0
  60. package/dist/services/settings/settingsService.test.d.ts +2 -0
  61. package/dist/services/settings/settingsService.test.d.ts.map +1 -0
  62. package/dist/services/settings/types.d.ts +35 -0
  63. package/dist/services/settings/types.d.ts.map +1 -0
  64. package/dist/services/shop/index.d.ts +3 -0
  65. package/dist/services/shop/index.d.ts.map +1 -0
  66. package/dist/services/shop/shopService.d.ts +12 -0
  67. package/dist/services/shop/shopService.d.ts.map +1 -0
  68. package/dist/services/shop/shopService.test.d.ts +2 -0
  69. package/dist/services/shop/shopService.test.d.ts.map +1 -0
  70. package/dist/services/shop/types.d.ts +7 -0
  71. package/dist/services/shop/types.d.ts.map +1 -0
  72. package/dist/services/subscription/adapter.d.ts +77 -2
  73. package/dist/services/subscription/adapter.d.ts.map +1 -1
  74. package/dist/services/subscription/adapter.test.d.ts +2 -0
  75. package/dist/services/subscription/adapter.test.d.ts.map +1 -0
  76. package/dist/services/subscription/index.d.ts +1 -1
  77. package/dist/services/subscription/index.d.ts.map +1 -1
  78. package/dist/services/subscription/subscriptionService.d.ts +1 -6
  79. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  80. package/dist/services/subscription/types.d.ts +220 -9
  81. package/dist/services/subscription/types.d.ts.map +1 -1
  82. package/dist/services/subscription/types.test.d.ts +2 -0
  83. package/dist/services/subscription/types.test.d.ts.map +1 -0
  84. package/dist/shared/context.d.ts.map +1 -1
  85. package/dist/utils/index.d.ts +6 -0
  86. package/dist/utils/index.d.ts.map +1 -1
  87. package/dist/vue/context.d.ts +1 -0
  88. package/dist/vue/context.d.ts.map +1 -1
  89. package/dist/vue.js +12 -2
  90. package/package.json +1 -1
package/dist/preact.js CHANGED
@@ -3,8 +3,8 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { effect, injectContext, provideContext, createCeRenderer, attachEmptyTracking } from "@juo/blocks";
5
5
  import { useState, useRef, useEffect, useContext as useContext$1, useMemo } from "preact/hooks";
6
- import { g as getSignalValue, s as setSignalValue, w as wrapContext, c as createSlotChildren } from "./block-VhmfGB3N.js";
7
- import { t } from "./block-VhmfGB3N.js";
6
+ import { g as getSignalValue, s as setSignalValue, w as wrapContext, c as createSlotChildren } from "./block-dVP4Rqgz.js";
7
+ import { t } from "./block-dVP4Rqgz.js";
8
8
  import { createContext, h, render } from "preact";
9
9
  import { g as getInstrumentation } from "./index-JSv6UH_o.js";
10
10
  import { a as createEditorBridge } from "./bridge-xiKEzCGR.js";
package/dist/react.js CHANGED
@@ -3,8 +3,8 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { effect, injectContext, provideContext, createCeRenderer, attachEmptyTracking } from "@juo/blocks";
5
5
  import React, { useSyncExternalStore, createContext, useState, useContext as useContext$1, useMemo, useRef, useEffect } from "react";
6
- import { g as getSignalValue, s as setSignalValue, w as wrapContext, c as createSlotChildren } from "./block-VhmfGB3N.js";
7
- import { t } from "./block-VhmfGB3N.js";
6
+ import { g as getSignalValue, s as setSignalValue, w as wrapContext, c as createSlotChildren } from "./block-dVP4Rqgz.js";
7
+ import { t } from "./block-dVP4Rqgz.js";
8
8
  import { createRoot } from "react-dom/client";
9
9
  import { g as getInstrumentation } from "./index-JSv6UH_o.js";
10
10
  import { a as createEditorBridge } from "./bridge-xiKEzCGR.js";
@@ -0,0 +1,8 @@
1
+ import { Customer } from './types';
2
+ import { ApiFetcher, Result } from '../../utils';
3
+ export interface CustomerAdapter {
4
+ getCurrent(): Promise<Result<Customer | null>>;
5
+ }
6
+ export declare function createMockCustomerAdapter(): CustomerAdapter;
7
+ export declare function createApiCustomerAdapter(fetcher: ApiFetcher): CustomerAdapter;
8
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/customer/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;CAChD;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAO3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CAyB7E"}
@@ -1,6 +1,7 @@
1
- import { ContextType } from '../../context';
1
+ import { CustomerAdapter } from './adapter';
2
2
  import { CustomerService } from './types';
3
3
  type CreateCustomerServiceOptions = {
4
+ adapter: CustomerAdapter;
4
5
  /**
5
6
  * Absolute storefront URL for account / orders (Header `<a href>` + `target="_parent"`).
6
7
  * Called once when the service is created; hosts that need reactivity (portal) update
@@ -8,7 +9,7 @@ type CreateCustomerServiceOptions = {
8
9
  */
9
10
  getAccountOrdersUrl: () => string;
10
11
  };
11
- export declare function createCustomerService(options: CreateCustomerServiceOptions): ContextType<typeof CustomerServiceContext>;
12
+ export declare function createCustomerService(options: CreateCustomerServiceOptions): CustomerService;
12
13
  export declare const CustomerServiceContext: {
13
14
  __context__: CustomerService;
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"customerService.d.ts","sourceRoot":"","sources":["../../../src/services/customer/customerService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,4BAA4B,GAAG;IAClC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAU5C;AAED,eAAO,MAAM,sBAAsB;;CACkB,CAAC"}
1
+ {"version":3,"file":"customerService.d.ts","sourceRoot":"","sources":["../../../src/services/customer/customerService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,eAAe,CAajB;AAED,eAAO,MAAM,sBAAsB;;CACkB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { type CustomerService, type Customer } from './types';
2
2
  export { createCustomerService, CustomerServiceContext, } from './customerService';
3
+ export { type CustomerAdapter, createMockCustomerAdapter, createApiCustomerAdapter, } from './adapter';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/customer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/customer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,WAAW,CAAC"}
@@ -1,12 +1,15 @@
1
1
  import { Signal } from '@preact/signals-core';
2
+ import { Result } from '../../utils';
2
3
  /** Signed-in customer identity for blocks such as Header (name / email display). */
3
4
  export type Customer = {
4
5
  id: string;
5
6
  name: string;
6
- email: string;
7
+ email?: string;
8
+ metadata?: Record<string, unknown>;
7
9
  };
8
10
  export type CustomerService = {
9
11
  current: Signal<Customer | null>;
12
+ getCurrent(): Promise<Result<Customer | null>>;
10
13
  accountOrdersUrl: Signal<string>;
11
14
  };
12
15
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/customer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,oFAAoF;AACpF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/customer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,oFAAoF;AACpF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACjC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC"}
@@ -3,5 +3,8 @@ export * from './login';
3
3
  export * from './orders';
4
4
  export * from './product';
5
5
  export * from './router';
6
+ export * from './schedules';
7
+ export * from './settings';
8
+ export * from './shop';
6
9
  export * from './subscription';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { ApiFetcher, Result } from '../../utils';
2
+ export type AuthTokens = {
3
+ access_token: string;
4
+ refresh_token: string;
5
+ expires_in: number;
6
+ };
7
+ export interface LoginAdapter {
8
+ passwordlessStart(params: {
9
+ email: string;
10
+ lang: string;
11
+ }): Promise<Result<void>>;
12
+ authenticate(params: {
13
+ email: string;
14
+ code: string;
15
+ } | {
16
+ code: string;
17
+ } | {
18
+ refreshToken: string;
19
+ }): Promise<Result<AuthTokens>>;
20
+ getAuthorizeUrl(params: {
21
+ connection: "facebook" | "google-oauth2";
22
+ state: string;
23
+ shop: string;
24
+ }): string;
25
+ }
26
+ export declare function createMockLoginAdapter(opts?: {
27
+ appUrl?: string;
28
+ }): LoginAdapter;
29
+ export declare function createApiLoginAdapter(fetcher: ApiFetcher, opts: {
30
+ shopDomain: string;
31
+ appUrl: string;
32
+ }): LoginAdapter;
33
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/login/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1B,YAAY,CACV,MAAM,EACF;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAE/B,eAAe,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,MAAM,CAAC;CACZ;AAED,wBAAgB,sBAAsB,CACpC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,YAAY,CAwBd;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C,YAAY,CAoHd"}
@@ -13,11 +13,13 @@ type LoginService = {
13
13
  };
14
14
  isAuthenticated: Signal<boolean>;
15
15
  getToken(): Promise<string | null>;
16
+ getAuthHeaders(): Promise<Record<string, string>>;
16
17
  handleQueryParams(query: URLSearchParams): Promise<Result<void, ErrorDetails>>;
17
18
  logout(): Promise<Result>;
18
19
  };
19
20
  export declare const LoginServiceContext: {
20
21
  __context__: LoginService;
21
22
  };
22
- export { loginService, type LoginServiceDependencies, type ErrorFormatter, AuthenticationError, AuthenticationErrorReason, } from './loginService';
23
+ export { loginService, createLoginService, type LoginServiceDependencies, type ErrorFormatter, AuthenticationError, AuthenticationErrorReason, } from './loginService';
24
+ export { type LoginAdapter, type AuthTokens, createApiLoginAdapter, createMockLoginAdapter, } from './adapter';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;SAC1E,CAAC;KACH,CAAC;IAEF,MAAM,EAAE;QACN,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;KAC3D,CAAC;IAEF,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,iBAAiB,CACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CACe,CAAC;AAEhD,OAAO,EACL,YAAY,EACZ,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;SAC1E,CAAC;KACH,CAAC;IAEF,MAAM,EAAE;QACN,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;KAC3D,CAAC;IAEF,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,iBAAiB,CACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CACe,CAAC;AAEhD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Signal } from '@preact/signals-core';
2
+ import { LoginAdapter } from './adapter';
2
3
  export declare enum AuthenticationErrorReason {
3
4
  Expired = "expired",
4
5
  IncorrectCode = "wrong-code",
@@ -28,14 +29,15 @@ export type ErrorFormatter = (error: unknown | AuthenticationError) => {
28
29
  message: string;
29
30
  };
30
31
  export interface LoginServiceDependencies {
31
- apiUrl: string;
32
+ adapter: LoginAdapter;
32
33
  formatError: ErrorFormatter;
33
34
  router: RouterService;
34
35
  shop: ShopService;
35
36
  onLoginSuccess?: () => Promise<void>;
36
37
  }
37
38
  /**
38
- * @deprecated Use `createLoginService` instead
39
+ * @deprecated Use `createLoginService` instead.
40
+ * Constructs a real API adapter from `shop.rootUrl` for backward compatibility.
39
41
  */
40
42
  export declare function loginService(deps: {
41
43
  formatError: ErrorFormatter;
@@ -59,6 +61,7 @@ export declare function loginService(deps: {
59
61
  };
60
62
  isAuthenticated: Signal<boolean>;
61
63
  getToken(): Promise<string | null>;
64
+ getAuthHeaders(): Promise<Record<string, string>>;
62
65
  handleQueryParams(query: URLSearchParams): Promise<import('../../utils').Result<void, import('../../utils').ErrorDetails>>;
63
66
  logout(): Promise<import('../../utils').Result>;
64
67
  };
@@ -75,6 +78,7 @@ export declare function createLoginService(init: LoginServiceDependencies): {
75
78
  };
76
79
  isAuthenticated: Signal<boolean>;
77
80
  getToken(): Promise<string | null>;
81
+ getAuthHeaders(): Promise<Record<string, string>>;
78
82
  handleQueryParams(query: URLSearchParams): Promise<import('../../utils').Result<void, import('../../utils').ErrorDetails>>;
79
83
  logout(): Promise<import('../../utils').Result>;
80
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"loginService.d.ts","sourceRoot":"","sources":["../../../src/services/login/loginService.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMxE,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,aAAa,eAAe;IAC5B,YAAY,mBAAmB;IAC/B,OAAO,aAAa;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG5B,MAAM,EAAE,yBAAyB,EACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMjC;AAGD,UAAU,aAAa;IACrB,IAAI,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAgMD,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,KAAK;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,WAAW,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;;;;;;;;;;;;;;;EAWA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;EAgLhE"}
1
+ {"version":3,"file":"loginService.d.ts","sourceRoot":"","sources":["../../../src/services/login/loginService.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAKxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,aAAa,eAAe;IAC5B,YAAY,mBAAmB;IAC/B,OAAO,aAAa;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG5B,MAAM,EAAE,yBAAyB,EACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMjC;AAED,UAAU,aAAa;IACrB,IAAI,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AA0BD,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,KAAK;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,WAAW,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;;;;;;;;;;;;;;;;EAmBA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;EA+MhE"}
@@ -0,0 +1,9 @@
1
+ import { Order } from './types';
2
+ import { ApiFetcher, Result } from '../../utils';
3
+ export interface OrderAdapter {
4
+ getHistory(): Promise<Result<Order[]>>;
5
+ getById(id: string): Promise<Result<Order | null>>;
6
+ }
7
+ export declare function createMockOrderAdapter(): OrderAdapter;
8
+ export declare function createApiOrderAdapter(fetcher: ApiFetcher): OrderAdapter;
9
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/order/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;CACpD;AA+BD,wBAAgB,sBAAsB,IAAI,YAAY,CAiCrD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,YAAY,CA2BvE"}
@@ -0,0 +1,5 @@
1
+ export type { OrderAdapter } from './adapter';
2
+ export { createMockOrderAdapter, createApiOrderAdapter } from './adapter';
3
+ export { createOrderService, OrderServiceContext } from './orderService';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/order/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzE,cAAc,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { OrderAdapter } from './adapter';
2
+ import { OrderService } from './types';
3
+ export declare const OrderServiceContext: {
4
+ __context__: OrderService;
5
+ };
6
+ export declare function createOrderService(adapter: OrderAdapter): OrderService;
7
+ //# sourceMappingURL=orderService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderService.d.ts","sourceRoot":"","sources":["../../../src/services/order/orderService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,mBAAmB;;CAAgD,CAAC;AAEjF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAKtE"}
@@ -0,0 +1,21 @@
1
+ import { Result } from '../../utils';
2
+ export interface OrderItem {
3
+ id: string;
4
+ productId: string;
5
+ variantId: string;
6
+ quantity: number;
7
+ metadata?: Record<string, unknown>;
8
+ }
9
+ export interface Order {
10
+ id: string;
11
+ customerId: string;
12
+ items: OrderItem[];
13
+ deliveryDate: string | null;
14
+ status: "pending" | "confirmed" | "delivered" | "skipped";
15
+ metadata?: Record<string, unknown>;
16
+ }
17
+ export type OrderService = {
18
+ getHistory(): Promise<Result<Order[]>>;
19
+ getById(id: string): Promise<Result<Order | null>>;
20
+ };
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/order/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;CACpD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ApiFetcher } from '../../utils';
1
2
  import { OrdersAdapter } from './types';
2
3
  /**
3
4
  * Returns a mock `OrdersAdapter` with sample orders including customAttributes.
@@ -5,4 +6,5 @@ import { OrdersAdapter } from './types';
5
6
  * Used as a starting point by storybook helpers (`createMockOrdersService`) and theme preview.
6
7
  */
7
8
  export declare function createMockOrdersAdapter(): OrdersAdapter;
9
+ export declare function createApiOrdersAdapter(fetcher: ApiFetcher): OrdersAdapter;
8
10
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/orders/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CA6DvD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/orders/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAoB,aAAa,EAAmB,MAAM,SAAS,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CA6DvD;AAwDD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CA2BzE"}
@@ -1,4 +1,4 @@
1
1
  export type { GetOrdersParams, Order, OrderLine, OrdersAdapter, OrdersService, } from './types';
2
- export { createMockOrdersAdapter } from './adapter';
2
+ export { createMockOrdersAdapter, createApiOrdersAdapter } from './adapter';
3
3
  export { createOrdersService, OrdersServiceContext, } from './ordersService';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/orders/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/orders/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { PaginatedList } from '../../utils';
2
- import { Product, WithVariants } from './types';
1
+ import { ApiFetcher, PaginatedList } from '../../utils';
2
+ import { AvailableProduct, Box, Product, WithVariants } from './types';
3
3
  /**
4
4
  * Adapter interface for product operations.
5
5
  * Implementations should handle API calls, error handling, and data transformation.
@@ -15,6 +15,31 @@ export interface ProductAdapter {
15
15
  after: string;
16
16
  };
17
17
  }): Promise<PaginatedList<WithVariants<Product>>>;
18
+ getProductsByIds(params: {
19
+ ids: string[];
20
+ }): Promise<Product[]>;
21
+ getBoxVariants(params: {
22
+ ids: string[];
23
+ subscriptionId: string;
24
+ }): Promise<AvailableProduct[]>;
25
+ getAvailableProducts(params: {
26
+ subscriptionId: string;
27
+ lineId: string;
28
+ q?: string;
29
+ mode?: "same-product" | "other-products";
30
+ action: "swap" | "add";
31
+ pagination?: {
32
+ before: string;
33
+ } | {
34
+ after: string;
35
+ };
36
+ }): Promise<AvailableProduct[]>;
37
+ getBox(params: {
38
+ id: string;
39
+ }): Promise<Box | null>;
18
40
  }
19
41
  export declare function createMockProductAdapter(): ProductAdapter;
42
+ export declare function createApiProductAdapter(fetcher: ApiFetcher, opts?: {
43
+ currencyCode: string;
44
+ }): ProductAdapter;
20
45
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/product/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAkB,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzE,MAAM,CAAC,IAAI,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACnD;AAED,wBAAgB,wBAAwB,IAAI,cAAc,CAsMzD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/product/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,EAAkB,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzE,MAAM,CAAC,IAAI,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,gBAAgB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhE,cAAc,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE/F,oBAAoB,CAAC,MAAM,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;QACzC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QACvB,UAAU,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEhC,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;CACrD;AAED,wBAAgB,wBAAwB,IAAI,cAAc,CAmRzD;AAoED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,IAAI,GAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAA4B,GACvD,cAAc,CA4JhB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../../src/services/product/adapter.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  export type { ProductAdapter } from './adapter';
2
- export { createMockProductAdapter } from './adapter';
2
+ export { createMockProductAdapter, createApiProductAdapter } from './adapter';
3
3
  export { createProductService, ProductServiceContext } from './productService';
4
4
  export * from './types';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/product/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/product/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,cAAc,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"productService.d.ts","sourceRoot":"","sources":["../../../src/services/product/productService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,qBAAqB;;CACiB,CAAC;AAGpD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,GACtB,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAiB3C"}
1
+ {"version":3,"file":"productService.d.ts","sourceRoot":"","sources":["../../../src/services/product/productService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,qBAAqB;;CACiB,CAAC;AAGpD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,GACtB,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAsB3C"}
@@ -1,4 +1,33 @@
1
1
  import { Image, PaginatedList, PriceWithCurrency } from '../../utils';
2
+ export interface AvailableProductVariant {
3
+ id: string;
4
+ availableForSale: boolean;
5
+ title: string;
6
+ currentPrice: {
7
+ amount: number;
8
+ currencyCode: string;
9
+ };
10
+ basePrice: {
11
+ amount: number;
12
+ currencyCode: string;
13
+ };
14
+ image?: {
15
+ url: string;
16
+ altText?: string;
17
+ };
18
+ recurring?: boolean;
19
+ }
20
+ export interface AvailableProduct {
21
+ id: string;
22
+ title: string;
23
+ description: string;
24
+ featuredImage?: {
25
+ url: string;
26
+ altText?: string;
27
+ };
28
+ hasOnlyDefaultVariant: boolean;
29
+ variants: AvailableProductVariant[];
30
+ }
2
31
  export interface Product {
3
32
  id: string;
4
33
  title: string;
@@ -7,6 +36,7 @@ export interface Product {
7
36
  collections: {
8
37
  handle: string;
9
38
  }[];
39
+ metadata?: Record<string, unknown>;
10
40
  }
11
41
  export interface PurchaseOption {
12
42
  name: string;
@@ -23,10 +53,33 @@ export interface ProductVariant {
23
53
  price: PriceWithCurrency;
24
54
  subscriptionPrice?: PriceWithCurrency;
25
55
  purchaseOptions?: PurchaseOption[];
56
+ metadata?: Record<string, unknown>;
26
57
  }
27
58
  export type WithVariants<T> = T & {
28
59
  variants: PaginatedList<ProductVariant>;
29
60
  };
61
+ export interface BoxTier {
62
+ value: number;
63
+ threshold: number;
64
+ }
65
+ export interface BoxVariantGroup {
66
+ id: string;
67
+ variants: {
68
+ id: string;
69
+ }[];
70
+ }
71
+ export interface Box {
72
+ id: string;
73
+ title: string;
74
+ minProductsCount: number;
75
+ parentProduct: string;
76
+ tiers: BoxTier[];
77
+ variants: BoxVariantGroup[];
78
+ freeVariants: BoxVariantGroup[];
79
+ thresholdType: "LINES_COUNT" | "CART_TOTAL";
80
+ type: "FIXED_AMOUNT" | "PERCENTAGE" | "PRICE";
81
+ restrictQuantityToTiers: boolean;
82
+ }
30
83
  export type ProductService<T extends WithVariants<Product> = WithVariants<Product>> = {
31
84
  getById(id: string): Promise<T | null>;
32
85
  getByVariantId(variantId: string): Promise<T | null>;
@@ -38,5 +91,20 @@ export type ProductService<T extends WithVariants<Product> = WithVariants<Produc
38
91
  after: string;
39
92
  };
40
93
  }): Promise<PaginatedList<T>>;
94
+ getProductsByIds(ids: string[]): Promise<Product[]>;
95
+ getBoxVariants(ids: string[], subscriptionId: string): Promise<AvailableProduct[]>;
96
+ getAvailableProducts(params: {
97
+ subscriptionId: string;
98
+ lineId: string;
99
+ q?: string;
100
+ mode?: "same-product" | "other-products";
101
+ action: "swap" | "add";
102
+ pagination?: {
103
+ before: string;
104
+ } | {
105
+ after: string;
106
+ };
107
+ }): Promise<AvailableProduct[]>;
108
+ getBox(id: string): Promise<Box | null>;
41
109
  };
42
110
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/product/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAChC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,IACrD;IACF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/product/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { ApiFetcher, Result } from '../../utils';
2
+ import { SubscriptionAdapter } from '../subscription/adapter';
3
+ import { Subscription } from '../subscription/types';
4
+ import { ScheduleAdjustment, ScheduleOrder, ScheduleShippingAddressInput, ScheduleUpdateProductsLine } from './types';
5
+ export interface SchedulesAdapter {
6
+ getUpcomingOrders(params: {
7
+ count: number;
8
+ subscriptionId?: string;
9
+ /**
10
+ * Drop skipped cycles from the response. Defaults to `true` so a billable
11
+ * preview's requested `count` isn't consumed by skipped cycles (the next
12
+ * billable cycle surfaces). Pass `false` to retrieve the complete schedule —
13
+ * skipped cycles included — for skip/unskip lists or a full timeline view.
14
+ */
15
+ excludeSkipped?: boolean;
16
+ }): Promise<Result<ScheduleOrder[]>>;
17
+ getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
18
+ skipOrder(params: {
19
+ subscriptionId: string;
20
+ cycle?: number;
21
+ date?: string;
22
+ }): Promise<Result>;
23
+ /**
24
+ * Skip ONE line in the matched cycle by creating a single-line SKIP_ITEM
25
+ * adjustment. Single line BY DESIGN (R1): blocks can never create a
26
+ * multi-line SKIP_ITEM adjustment, so the service's unskipItem exact-cover
27
+ * happy path always holds. The wire `lineIds: [lineId]` array is built
28
+ * inside each adapter, at the API boundary. Matcher is single-arm only —
29
+ * CYCLE when `cycle` is provided, DATE as fallback, never CYCLE_AND_DATE
30
+ * (R10, see buildSkipItemMatcher).
31
+ */
32
+ skipItem(params: {
33
+ subscriptionId: string;
34
+ lineId: string;
35
+ cycle?: number;
36
+ date?: string;
37
+ reason?: string;
38
+ }): Promise<Result>;
39
+ changeDateAdjustment(params: {
40
+ subscriptionId: string;
41
+ newDate: string;
42
+ cycle: number;
43
+ currentDate?: string;
44
+ }): Promise<Result>;
45
+ updateShippingAdjustment(params: {
46
+ subscriptionId: string;
47
+ address: ScheduleShippingAddressInput;
48
+ cycle?: number;
49
+ date?: string;
50
+ }): Promise<Result>;
51
+ updatePaymentMethodAdjustment(params: {
52
+ subscriptionId: string;
53
+ paymentMethodId: string;
54
+ cycle?: number;
55
+ date?: string;
56
+ }): Promise<Result>;
57
+ updateProductsAdjustment(params: {
58
+ subscriptionId: string;
59
+ lines: ScheduleUpdateProductsLine[];
60
+ cycle?: number;
61
+ date?: string;
62
+ }): Promise<Result>;
63
+ applyDiscountAdjustment(params: {
64
+ subscriptionId: string;
65
+ discountCode: string;
66
+ cycle: number;
67
+ }): Promise<Result>;
68
+ removeAdjustment(params: {
69
+ adjustmentId: string;
70
+ }): Promise<Result>;
71
+ }
72
+ /** Subscription state the schedules mock projects orders from. */
73
+ type SubscriptionSource = Pick<SubscriptionAdapter, "getById" | "search">;
74
+ /**
75
+ * Project the next `count` upcoming orders for a subscription by stepping its
76
+ * `nextBillingDate` forward one billing interval at a time. Only active
77
+ * subscriptions have upcoming orders; everything else projects to nothing.
78
+ */
79
+ export declare function projectUpcomingOrders(sub: Subscription, count: number): ScheduleOrder[];
80
+ /**
81
+ * Mock schedules adapter that PROJECTS upcoming orders from a subscription
82
+ * source rather than holding its own static fixtures. Pass the same
83
+ * subscription adapter instance the SubscriptionService uses so item
84
+ * add/remove/update mutations flow through to the projected schedule. When no
85
+ * source is given it owns a fresh mock subscription adapter (used by unit tests).
86
+ *
87
+ * Skip / date-change actions are stored as an adjustments overlay applied on
88
+ * top of the projection — mirroring the real API (`getAdjustments` + a derived
89
+ * order list) rather than mutating a baked order array.
90
+ */
91
+ export declare function createMockSchedulesAdapter(subscriptions?: SubscriptionSource): SchedulesAdapter;
92
+ export declare function createApiSchedulesAdapter(fetcher: ApiFetcher): SchedulesAdapter;
93
+ export {};
94
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/adapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=apiSchedulesAdapter.test.d.ts.map