@juo/blocks 1.12.1 → 1.13.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/{ExtensionRoot-9XfhG8YM.js → ExtensionRoot-peABLAZZ.js} +15 -3
  2. package/dist/block-B6s9jL7l.js +966 -0
  3. package/dist/block.d.ts +50 -0
  4. package/dist/block.d.ts.map +1 -1
  5. package/dist/block.devtools.test.d.ts +2 -0
  6. package/dist/block.devtools.test.d.ts.map +1 -0
  7. package/dist/{bridge-w5KQ-czl.js → bridge-r7Yk8fjY.js} +34 -25
  8. package/dist/context.d.ts.map +1 -1
  9. package/dist/context.devtools.test.d.ts +2 -0
  10. package/dist/context.devtools.test.d.ts.map +1 -0
  11. package/dist/core.js +1910 -362
  12. package/dist/devtools/env.d.ts +3 -0
  13. package/dist/devtools/env.d.ts.map +1 -0
  14. package/dist/devtools/hook.d.ts +35 -0
  15. package/dist/devtools/hook.d.ts.map +1 -0
  16. package/dist/devtools/index.d.ts +4 -0
  17. package/dist/devtools/index.d.ts.map +1 -0
  18. package/dist/devtools/protocol.d.ts +91 -0
  19. package/dist/devtools/protocol.d.ts.map +1 -0
  20. package/dist/devtools.js +44 -0
  21. package/dist/editor/bridge.d.ts +7 -0
  22. package/dist/editor/bridge.d.ts.map +1 -1
  23. package/dist/editor/components.d.ts.map +1 -1
  24. package/dist/editor/main.d.ts +2 -1
  25. package/dist/editor/main.d.ts.map +1 -1
  26. package/dist/editor/messages.d.ts +13 -2
  27. package/dist/editor/messages.d.ts.map +1 -1
  28. package/dist/editor/messages.test.d.ts +2 -0
  29. package/dist/editor/messages.test.d.ts.map +1 -0
  30. package/dist/editor/overlays.d.ts +14 -0
  31. package/dist/editor/overlays.d.ts.map +1 -0
  32. package/dist/editor/overlays.test.d.ts +2 -0
  33. package/dist/editor/overlays.test.d.ts.map +1 -0
  34. package/dist/editor.js +64 -45
  35. package/dist/{juo-workflow-CkyZRq60.js → juo-workflow-DY4rd256.js} +74 -873
  36. package/dist/main.d.ts +3 -1
  37. package/dist/main.d.ts.map +1 -1
  38. package/dist/overlay-wrapper.d.ts +69 -0
  39. package/dist/overlay-wrapper.d.ts.map +1 -0
  40. package/dist/overlay-wrapper.test.d.ts +2 -0
  41. package/dist/overlay-wrapper.test.d.ts.map +1 -0
  42. package/dist/overlays/OverlayService.d.ts +34 -0
  43. package/dist/overlays/OverlayService.d.ts.map +1 -0
  44. package/dist/overlays/OverlayService.test.d.ts +2 -0
  45. package/dist/overlays/OverlayService.test.d.ts.map +1 -0
  46. package/dist/preact.js +1 -1
  47. package/dist/react.js +1 -1
  48. package/dist/registry.devtools.test.d.ts +2 -0
  49. package/dist/registry.devtools.test.d.ts.map +1 -0
  50. package/dist/services/customer/adapter.d.ts +8 -0
  51. package/dist/services/customer/adapter.d.ts.map +1 -0
  52. package/dist/services/customer/customerService.d.ts +3 -2
  53. package/dist/services/customer/customerService.d.ts.map +1 -1
  54. package/dist/services/customer/index.d.ts +1 -0
  55. package/dist/services/customer/index.d.ts.map +1 -1
  56. package/dist/services/customer/types.d.ts +4 -1
  57. package/dist/services/customer/types.d.ts.map +1 -1
  58. package/dist/services/index.d.ts +3 -0
  59. package/dist/services/index.d.ts.map +1 -1
  60. package/dist/services/login/adapter.d.ts +32 -0
  61. package/dist/services/login/adapter.d.ts.map +1 -0
  62. package/dist/services/login/index.d.ts +3 -1
  63. package/dist/services/login/index.d.ts.map +1 -1
  64. package/dist/services/login/loginService.d.ts +6 -2
  65. package/dist/services/login/loginService.d.ts.map +1 -1
  66. package/dist/services/order/adapter.d.ts +9 -0
  67. package/dist/services/order/adapter.d.ts.map +1 -0
  68. package/dist/services/order/index.d.ts +5 -0
  69. package/dist/services/order/index.d.ts.map +1 -0
  70. package/dist/services/order/orderService.d.ts +7 -0
  71. package/dist/services/order/orderService.d.ts.map +1 -0
  72. package/dist/services/order/types.d.ts +21 -0
  73. package/dist/services/order/types.d.ts.map +1 -0
  74. package/dist/services/orders/adapter.d.ts +2 -0
  75. package/dist/services/orders/adapter.d.ts.map +1 -1
  76. package/dist/services/orders/index.d.ts +1 -1
  77. package/dist/services/orders/index.d.ts.map +1 -1
  78. package/dist/services/product/adapter.d.ts +27 -2
  79. package/dist/services/product/adapter.d.ts.map +1 -1
  80. package/dist/services/product/adapter.test.d.ts +2 -0
  81. package/dist/services/product/adapter.test.d.ts.map +1 -0
  82. package/dist/services/product/index.d.ts +1 -1
  83. package/dist/services/product/index.d.ts.map +1 -1
  84. package/dist/services/product/productService.d.ts.map +1 -1
  85. package/dist/services/product/types.d.ts +68 -0
  86. package/dist/services/product/types.d.ts.map +1 -1
  87. package/dist/services/schedules/adapter.d.ts +47 -0
  88. package/dist/services/schedules/adapter.d.ts.map +1 -0
  89. package/dist/services/schedules/adapter.test.d.ts +2 -0
  90. package/dist/services/schedules/adapter.test.d.ts.map +1 -0
  91. package/dist/services/schedules/index.d.ts +5 -0
  92. package/dist/services/schedules/index.d.ts.map +1 -0
  93. package/dist/services/schedules/schedulesService.d.ts +11 -0
  94. package/dist/services/schedules/schedulesService.d.ts.map +1 -0
  95. package/dist/services/schedules/schedulesService.test.d.ts +2 -0
  96. package/dist/services/schedules/schedulesService.test.d.ts.map +1 -0
  97. package/dist/services/schedules/types.d.ts +101 -0
  98. package/dist/services/schedules/types.d.ts.map +1 -0
  99. package/dist/services/settings/index.d.ts +3 -0
  100. package/dist/services/settings/index.d.ts.map +1 -0
  101. package/dist/services/settings/settingsService.d.ts +7 -0
  102. package/dist/services/settings/settingsService.d.ts.map +1 -0
  103. package/dist/services/settings/settingsService.test.d.ts +2 -0
  104. package/dist/services/settings/settingsService.test.d.ts.map +1 -0
  105. package/dist/services/settings/types.d.ts +35 -0
  106. package/dist/services/settings/types.d.ts.map +1 -0
  107. package/dist/services/shop/index.d.ts +3 -0
  108. package/dist/services/shop/index.d.ts.map +1 -0
  109. package/dist/services/shop/shopService.d.ts +12 -0
  110. package/dist/services/shop/shopService.d.ts.map +1 -0
  111. package/dist/services/shop/shopService.test.d.ts +2 -0
  112. package/dist/services/shop/shopService.test.d.ts.map +1 -0
  113. package/dist/services/shop/types.d.ts +7 -0
  114. package/dist/services/shop/types.d.ts.map +1 -0
  115. package/dist/services/subscription/adapter.d.ts +58 -2
  116. package/dist/services/subscription/adapter.d.ts.map +1 -1
  117. package/dist/services/subscription/adapter.test.d.ts +2 -0
  118. package/dist/services/subscription/adapter.test.d.ts.map +1 -0
  119. package/dist/services/subscription/index.d.ts +1 -1
  120. package/dist/services/subscription/index.d.ts.map +1 -1
  121. package/dist/services/subscription/subscriptionService.d.ts +1 -6
  122. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  123. package/dist/services/subscription/types.d.ts +212 -9
  124. package/dist/services/subscription/types.d.ts.map +1 -1
  125. package/dist/services/subscription/types.test.d.ts +2 -0
  126. package/dist/services/subscription/types.test.d.ts.map +1 -0
  127. package/dist/theme-state.d.ts +2 -1
  128. package/dist/theme-state.d.ts.map +1 -1
  129. package/dist/theme-state.params.test.d.ts +2 -0
  130. package/dist/theme-state.params.test.d.ts.map +1 -0
  131. package/dist/theme-state.translations.test.d.ts +2 -0
  132. package/dist/theme-state.translations.test.d.ts.map +1 -0
  133. package/dist/utils/index.d.ts +6 -0
  134. package/dist/utils/index.d.ts.map +1 -1
  135. package/dist/vue/block.d.ts.map +1 -1
  136. package/dist/vue.js +25 -4
  137. package/dist/web-components/ExtensionRoot.d.ts +1 -0
  138. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  139. package/dist/web-components-editor.js +4 -3
  140. package/dist/web-components-runtime.js +3 -2
  141. package/package.json +1 -1
@@ -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,47 @@
1
+ import { ApiFetcher, Result } from '../../utils';
2
+ import { SubscriptionAdapter } from '../subscription/adapter';
3
+ import { Subscription } from '../subscription/types';
4
+ import { ScheduleAdjustment, ScheduleOrder } from './types';
5
+ export interface SchedulesAdapter {
6
+ getUpcomingOrders(params: {
7
+ count: number;
8
+ subscriptionId?: string;
9
+ }): Promise<Result<ScheduleOrder[]>>;
10
+ getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
11
+ skipOrder(params: {
12
+ subscriptionId: string;
13
+ cycle?: number;
14
+ date?: string;
15
+ }): Promise<Result>;
16
+ changeDateAdjustment(params: {
17
+ subscriptionId: string;
18
+ newDate: string;
19
+ currentDate?: string;
20
+ }): Promise<Result>;
21
+ removeAdjustment(params: {
22
+ adjustmentId: string;
23
+ }): Promise<Result>;
24
+ }
25
+ /** Subscription state the schedules mock projects orders from. */
26
+ type SubscriptionSource = Pick<SubscriptionAdapter, "getById" | "search">;
27
+ /**
28
+ * Project the next `count` upcoming orders for a subscription by stepping its
29
+ * `nextBillingDate` forward one billing interval at a time. Only active
30
+ * subscriptions have upcoming orders; everything else projects to nothing.
31
+ */
32
+ export declare function projectUpcomingOrders(sub: Subscription, count: number): ScheduleOrder[];
33
+ /**
34
+ * Mock schedules adapter that PROJECTS upcoming orders from a subscription
35
+ * source rather than holding its own static fixtures. Pass the same
36
+ * subscription adapter instance the SubscriptionService uses so item
37
+ * add/remove/update mutations flow through to the projected schedule. When no
38
+ * source is given it owns a fresh mock subscription adapter (used by unit tests).
39
+ *
40
+ * Skip / date-change actions are stored as an adjustments overlay applied on
41
+ * top of the projection — mirroring the real API (`getAdjustments` + a derived
42
+ * order list) rather than mutating a baked order array.
43
+ */
44
+ export declare function createMockSchedulesAdapter(subscriptions?: SubscriptionSource): SchedulesAdapter;
45
+ export declare function createApiSchedulesAdapter(fetcher: ApiFetcher): SchedulesAdapter;
46
+ export {};
47
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAqB,MAAM,SAAS,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACrC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,oBAAoB,CAAC,MAAM,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE;AAED,kEAAkE;AAClE,KAAK,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;AA2D1E;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,GACZ,aAAa,EAAE,CA4CjB;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,GAAE,kBAAoD,GAClE,gBAAgB,CAgHlB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,gBAAgB,CAoG/E"}
@@ -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,5 @@
1
+ export type { SchedulesAdapter, } from './adapter';
2
+ export { createMockSchedulesAdapter, createApiSchedulesAdapter, } from './adapter';
3
+ export { createSchedulesService, SchedulesServiceContext, } from './schedulesService';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ import { ContextType } from '../../context';
3
+ import { SchedulesAdapter } from './adapter';
4
+ import { SchedulesService } from './types';
5
+ export declare const SchedulesServiceContext: {
6
+ __context__: SchedulesService;
7
+ };
8
+ export declare function createSchedulesService(adapter: SchedulesAdapter, opts?: {
9
+ hasPendingBilling?: Signal<boolean>;
10
+ }): ContextType<typeof SchedulesServiceContext>;
11
+ //# sourceMappingURL=schedulesService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulesService.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/schedulesService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,uBAAuB;;CACmB,CAAC;AAExD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,GAC7C,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAmF7C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schedulesService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulesService.test.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/schedulesService.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ import { Result } from '../../utils';
3
+ export interface ScheduleOrderItem {
4
+ id: string;
5
+ title: string;
6
+ subtitle?: string | null;
7
+ imageUrl?: string;
8
+ variantId: string;
9
+ quantity: number;
10
+ price: number;
11
+ totalPrice: number;
12
+ variantImage?: {
13
+ url: string;
14
+ altText?: string;
15
+ } | null;
16
+ variantAvailableForSale?: boolean;
17
+ subscriptionId: string;
18
+ subscriptionLineId: string;
19
+ productId?: string;
20
+ parentProductId?: string | null;
21
+ parentLineId?: string | null;
22
+ isVirtual?: boolean;
23
+ isUpsell?: boolean;
24
+ recurringCycleLimit?: number | null;
25
+ customAttributes?: {
26
+ key: string;
27
+ value: string;
28
+ }[];
29
+ sellingPlanId?: string | null;
30
+ sellingPlanName?: string | null;
31
+ nextBillingDate?: string | null;
32
+ billingPolicy?: {
33
+ interval: "DAY" | "MONTH" | "WEEK" | "YEAR";
34
+ intervalCount: number;
35
+ } | null;
36
+ subscriptionStatus?: string | null;
37
+ subscriptionIsEditable?: boolean | null;
38
+ requiredBillingCyclesLeft?: number | null;
39
+ }
40
+ export interface ScheduleOrderDiscount {
41
+ id: string;
42
+ title?: string;
43
+ type: "percentage" | "fixed_amount";
44
+ value: number;
45
+ }
46
+ export interface ScheduleAdjustment {
47
+ id: string;
48
+ subscriptionId: string;
49
+ type: "skip" | "date_change";
50
+ cycle?: number;
51
+ newDate?: string;
52
+ }
53
+ export interface ScheduleOrder {
54
+ id: string;
55
+ customerId: string;
56
+ subscriptionId: string;
57
+ date: string;
58
+ skipped: boolean;
59
+ currencyCode: string;
60
+ subtotal: number;
61
+ deliveryPrice: number;
62
+ cycleIndex: number;
63
+ deliveryDate: string;
64
+ status: "scheduled" | "processing" | "delivered" | "skipped";
65
+ items: ScheduleOrderItem[];
66
+ discounts: ScheduleOrderDiscount[];
67
+ }
68
+ export interface SchedulesService {
69
+ /** Reactive signal — shared upcoming orders for multi-block access. `null` until first loaded. */
70
+ current: Signal<ScheduleOrder[] | null>;
71
+ currentLoading: Signal<boolean>;
72
+ /** Sourced from SubscriptionService — guards billing-sensitive actions */
73
+ hasPendingBilling: Signal<boolean>;
74
+ /** Read-only projection. */
75
+ getUpcomingOrder(): Promise<Result<ScheduleOrder | null>>;
76
+ getUpcomingOrders(count: number): Promise<Result<ScheduleOrder[]>>;
77
+ getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
78
+ /** Adjustment. */
79
+ skipOrder(params: {
80
+ subscriptionId: string;
81
+ cycle?: number;
82
+ date?: string;
83
+ }): Promise<Result>;
84
+ changeDateAdjustment(params: {
85
+ subscriptionId: string;
86
+ newDate: string;
87
+ currentDate?: string;
88
+ }): Promise<Result>;
89
+ removeAdjustment(params: {
90
+ adjustmentId: string;
91
+ }): Promise<Result>;
92
+ /**
93
+ * Refresh `current` for the given subscription.
94
+ *
95
+ * Useful after a mutation (e.g. skip) when the subscription `id` is unchanged
96
+ * but the upcoming-order state has shifted — the host's id-based watcher
97
+ * does not fire in that case.
98
+ */
99
+ reloadCurrent(subscriptionId: string): Promise<void>;
100
+ }
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { createSettingsService, SettingsServiceContext, } from './settingsService';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ContextType } from '../../context';
2
+ import { Settings, SettingsService } from './types';
3
+ export declare const SettingsServiceContext: {
4
+ __context__: SettingsService;
5
+ };
6
+ export declare function createSettingsService(initial?: Settings): ContextType<typeof SettingsServiceContext>;
7
+ //# sourceMappingURL=settingsService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsService.d.ts","sourceRoot":"","sources":["../../../src/services/settings/settingsService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,sBAAsB;;CACkB,CAAC;AAEtD,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,QAAa,GACrB,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAQ5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=settingsService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsService.test.d.ts","sourceRoot":"","sources":["../../../src/services/settings/settingsService.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ /**
3
+ * Slice covering RenewalSummary visibility flags.
4
+ * Future blocks widen this interface as they migrate.
5
+ *
6
+ * Convention: `undefined` means "default visible". Hosts should leave keys
7
+ * unset rather than seed `true` for visible-by-default actions, so consumers
8
+ * can render the default UX without the host having to know every flag.
9
+ */
10
+ export interface RenewalSummarySettings {
11
+ renewNow?: boolean;
12
+ skip?: boolean;
13
+ reactivate?: boolean;
14
+ reactivateFailed?: boolean;
15
+ pause?: boolean;
16
+ resume?: boolean;
17
+ cancel?: boolean;
18
+ changeFrequency?: boolean;
19
+ changeRenewalDate?: boolean;
20
+ customDeliveryEnabled?: boolean;
21
+ customChangePlanMessage?: string;
22
+ }
23
+ export interface Settings extends RenewalSummarySettings {
24
+ editQuantity?: boolean;
25
+ editVariant?: boolean;
26
+ swap?: boolean;
27
+ removeLine?: boolean;
28
+ addLine?: boolean;
29
+ redeemDiscount?: boolean;
30
+ }
31
+ export interface SettingsService {
32
+ current: Signal<Settings>;
33
+ get<K extends keyof Settings>(key: K): Settings[K] | undefined;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/settings/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,QAAS,SAAQ,sBAAsB;IAGtD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1B,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAChE"}
@@ -0,0 +1,3 @@
1
+ export { type ShopService } from './types';
2
+ export { createShopService, ShopServiceContext } from './shopService';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/shop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ContextType } from '../../context';
2
+ import { ShopService } from './types';
3
+ type CreateShopServiceOptions = {
4
+ /** Called once at creation; hosts update `contactEmail` in a `watchEffect`. */
5
+ getContactEmail: () => string;
6
+ };
7
+ export declare function createShopService(options: CreateShopServiceOptions): ContextType<typeof ShopServiceContext>;
8
+ export declare const ShopServiceContext: {
9
+ __context__: ShopService;
10
+ };
11
+ export {};
12
+ //# sourceMappingURL=shopService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopService.d.ts","sourceRoot":"","sources":["../../../src/services/shop/shopService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,wBAAwB,GAAG;IAC9B,+EAA+E;IAC/E,eAAe,EAAE,MAAM,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAIxC;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shopService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopService.test.d.ts","sourceRoot":"","sources":["../../../src/services/shop/shopService.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ /** Minimal shop-level data needed by blocks. Widen as blocks adopt it. */
3
+ export interface ShopService {
4
+ /** Storefront contact email, e.g. for the SEPA early-payment overlay. */
5
+ contactEmail: Signal<string>;
6
+ }
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/shop/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CAC9B"}
@@ -1,13 +1,26 @@
1
- import { Subscription, SellingPlan, SearchOptions, PostableSubscriptionItem } from './types';
1
+ import { ApiFetcher, PaginatedList, Result } from '../../utils';
2
+ import { Subscription, SellingPlan, SellingPlanInterval, SearchOptions, PostableSubscriptionItem, UpdateSubscriptionItem, UpdateBoxItem, LastOrder, RenewNowResult, UpsellProduct } from './types';
2
3
  import { ApplyDiscountError, DiscountRejectionReason, RemoveDiscountError } from './discountErrors';
3
- import { Result, PaginatedList } from '../../utils';
4
+ import { ProductAdapter } from '../product/adapter';
4
5
  /**
5
6
  * Adapter interface for subscription.
6
7
  * Implementations should handle API calls, error handling, and data transformation.
7
8
  */
8
9
  export interface SubscriptionAdapter {
9
10
  search(options?: SearchOptions): Promise<Result<PaginatedList<Subscription>>>;
11
+ /**
12
+ * Returns the full list of the customer's subscriptions for cross-subscription
13
+ * views (the "other subscriptions" list and the product strip), ordered with
14
+ * active/paused first. Unlike `search` (a single v1 page sorted createdAt:asc),
15
+ * this is sourced from the richer legacy list endpoint so active subscriptions
16
+ * are never paginated out behind older canceled ones. Optional: when an adapter
17
+ * does not implement it, the service falls back to `search`.
18
+ */
19
+ listAll?(): Promise<Result<Subscription[]>>;
10
20
  getById(id: string): Promise<Result<Subscription | null>>;
21
+ getLastOrder(params: {
22
+ subscriptionId: string;
23
+ }): Promise<Result<LastOrder | null>>;
11
24
  addItem(params: {
12
25
  subscriptionId: string;
13
26
  item: PostableSubscriptionItem;
@@ -16,6 +29,22 @@ export interface SubscriptionAdapter {
16
29
  subscriptionId: string;
17
30
  itemId: string;
18
31
  }): Promise<Result>;
32
+ updateItem(params: {
33
+ subscriptionId: string;
34
+ lineId: string;
35
+ update: UpdateSubscriptionItem;
36
+ }): Promise<Result>;
37
+ skipLineItem(params: {
38
+ subscriptionId: string;
39
+ lineId: string;
40
+ nextBillingDate: string;
41
+ }): Promise<Result>;
42
+ updateBoxItems(params: {
43
+ subscriptionId: string;
44
+ parentId: string;
45
+ items: UpdateBoxItem[];
46
+ shippingMethodHandle?: string;
47
+ }): Promise<Result>;
19
48
  addDiscount(params: {
20
49
  subscriptionId: string;
21
50
  code: string;
@@ -41,10 +70,28 @@ export interface SubscriptionAdapter {
41
70
  subscriptionId: string;
42
71
  reason?: string;
43
72
  }): Promise<Result<Subscription>>;
73
+ renewNow(params: {
74
+ subscriptionId: string;
75
+ renewalId?: string;
76
+ retry?: boolean;
77
+ }): Promise<Result<RenewNowResult>>;
78
+ changeFrequency(params: {
79
+ subscriptionId: string;
80
+ plan: string | SellingPlanInterval;
81
+ }): Promise<Result<Subscription>>;
44
82
  getAvailablePlans(params: {
45
83
  subscriptionId: string;
46
84
  }): Promise<Result<SellingPlan[]>>;
47
85
  getDefaultSubscriptionId(): Promise<Result<string | null>>;
86
+ getUpsellProducts?(params: {
87
+ subscriptionId: string;
88
+ }): Promise<Result<UpsellProduct[]>>;
89
+ addUpsellProduct?(params: {
90
+ subscriptionId: string;
91
+ variantId: string;
92
+ quantity: number;
93
+ oneTime?: boolean;
94
+ }): Promise<Result>;
48
95
  }
49
96
  export interface MockSubscriptionAdapterOptions {
50
97
  addDiscountBehavior?: {
@@ -62,6 +109,15 @@ export interface MockSubscriptionAdapterOptions {
62
109
  kind: "error";
63
110
  error: "NETWORK" | "UNKNOWN" | "SUBSCRIPTION_NOT_FOUND" | "DISCOUNT_NOT_FOUND";
64
111
  };
112
+ /**
113
+ * Optional product source used by `addItem` to resolve a real title/price for
114
+ * an added line. Without it, added lines fall back to a placeholder title and
115
+ * a 0.00 price (the two mock stores are otherwise independent). Pass the same
116
+ * `createMockProductAdapter()` instance that backs the ProductService so the
117
+ * added line matches what the product picker showed.
118
+ */
119
+ productAdapter?: Pick<ProductAdapter, "getByVariantId" | "getById">;
65
120
  }
66
121
  export declare function createMockSubscriptionAdapter(options?: MockSubscriptionAdapterOptions): SubscriptionAdapter;
122
+ export declare function createApiSubscriptionAdapter(fetcher: ApiFetcher): SubscriptionAdapter;
67
123
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/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/subscription/adapter.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  export type { SubscriptionAdapter, MockSubscriptionAdapterOptions } from './adapter';
2
- export { createMockSubscriptionAdapter } from './adapter';
2
+ export { createMockSubscriptionAdapter, createApiSubscriptionAdapter } from './adapter';
3
3
  export { createSubscriptionService, SubscriptionServiceContext } from './subscriptionService';
4
4
  export * from './types';
5
5
  export * from './discountErrors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE9F,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAExF,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE9F,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
@@ -1,12 +1,7 @@
1
- import { ContextType } from '../../context';
2
1
  import { SubscriptionAdapter } from './adapter';
3
2
  import { SubscriptionService } from './types';
4
3
  export declare const SubscriptionServiceContext: {
5
4
  __context__: SubscriptionService;
6
5
  };
7
- /**
8
- * Creates a subscription service that uses the provided adapter for data operations.
9
- * The adapter pattern decouples the service from specific SDK implementations.
10
- */
11
- export declare function createSubscriptionService(adapter: SubscriptionAdapter): ContextType<typeof SubscriptionServiceContext>;
6
+ export declare function createSubscriptionService(adapter: SubscriptionAdapter): SubscriptionService;
12
7
  //# sourceMappingURL=subscriptionService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptionService.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/subscriptionService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,0BAA0B;;CACsB,CAAC;AAqC9D;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAmGhD"}
1
+ {"version":3,"file":"subscriptionService.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/subscriptionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAMV,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,0BAA0B;;CACsB,CAAC;AA2B9D,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAmKrB"}