@juo/blocks 1.11.0 → 1.12.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 (115) hide show
  1. package/dist/{ExtensionRoot-9XfhG8YM.js → ExtensionRoot-Z2DlF9X6.js} +14 -3
  2. package/dist/block-Bh3z0B3y.js +971 -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/context.d.ts.map +1 -1
  8. package/dist/context.devtools.test.d.ts +2 -0
  9. package/dist/context.devtools.test.d.ts.map +1 -0
  10. package/dist/core.js +1677 -330
  11. package/dist/editor/components.d.ts.map +1 -1
  12. package/dist/editor/main.d.ts +4 -0
  13. package/dist/editor/main.d.ts.map +1 -1
  14. package/dist/editor/main.test.d.ts +2 -0
  15. package/dist/editor/main.test.d.ts.map +1 -0
  16. package/dist/editor.js +19 -2
  17. package/dist/{juo-workflow-CkyZRq60.js → juo-workflow-D3c29mxb.js} +52 -871
  18. package/dist/main.d.ts +2 -1
  19. package/dist/main.d.ts.map +1 -1
  20. package/dist/overlay-wrapper.d.ts +68 -0
  21. package/dist/overlay-wrapper.d.ts.map +1 -0
  22. package/dist/registry.devtools.test.d.ts +2 -0
  23. package/dist/registry.devtools.test.d.ts.map +1 -0
  24. package/dist/services/customer/adapter.d.ts +8 -0
  25. package/dist/services/customer/adapter.d.ts.map +1 -0
  26. package/dist/services/customer/customerService.d.ts +3 -2
  27. package/dist/services/customer/customerService.d.ts.map +1 -1
  28. package/dist/services/customer/index.d.ts +1 -0
  29. package/dist/services/customer/index.d.ts.map +1 -1
  30. package/dist/services/customer/types.d.ts +4 -1
  31. package/dist/services/customer/types.d.ts.map +1 -1
  32. package/dist/services/index.d.ts +3 -0
  33. package/dist/services/index.d.ts.map +1 -1
  34. package/dist/services/login/adapter.d.ts +32 -0
  35. package/dist/services/login/adapter.d.ts.map +1 -0
  36. package/dist/services/login/index.d.ts +3 -1
  37. package/dist/services/login/index.d.ts.map +1 -1
  38. package/dist/services/login/loginService.d.ts +6 -2
  39. package/dist/services/login/loginService.d.ts.map +1 -1
  40. package/dist/services/order/adapter.d.ts +9 -0
  41. package/dist/services/order/adapter.d.ts.map +1 -0
  42. package/dist/services/order/index.d.ts +5 -0
  43. package/dist/services/order/index.d.ts.map +1 -0
  44. package/dist/services/order/orderService.d.ts +7 -0
  45. package/dist/services/order/orderService.d.ts.map +1 -0
  46. package/dist/services/order/types.d.ts +21 -0
  47. package/dist/services/order/types.d.ts.map +1 -0
  48. package/dist/services/orders/adapter.d.ts +2 -1
  49. package/dist/services/orders/adapter.d.ts.map +1 -1
  50. package/dist/services/orders/types.d.ts +8 -0
  51. package/dist/services/orders/types.d.ts.map +1 -1
  52. package/dist/services/product/adapter.d.ts +27 -2
  53. package/dist/services/product/adapter.d.ts.map +1 -1
  54. package/dist/services/product/adapter.test.d.ts +2 -0
  55. package/dist/services/product/adapter.test.d.ts.map +1 -0
  56. package/dist/services/product/index.d.ts +1 -1
  57. package/dist/services/product/index.d.ts.map +1 -1
  58. package/dist/services/product/productService.d.ts.map +1 -1
  59. package/dist/services/product/types.d.ts +68 -0
  60. package/dist/services/product/types.d.ts.map +1 -1
  61. package/dist/services/schedules/adapter.d.ts +25 -0
  62. package/dist/services/schedules/adapter.d.ts.map +1 -0
  63. package/dist/services/schedules/adapter.test.d.ts +2 -0
  64. package/dist/services/schedules/adapter.test.d.ts.map +1 -0
  65. package/dist/services/schedules/index.d.ts +5 -0
  66. package/dist/services/schedules/index.d.ts.map +1 -0
  67. package/dist/services/schedules/schedulesService.d.ts +11 -0
  68. package/dist/services/schedules/schedulesService.d.ts.map +1 -0
  69. package/dist/services/schedules/schedulesService.test.d.ts +2 -0
  70. package/dist/services/schedules/schedulesService.test.d.ts.map +1 -0
  71. package/dist/services/schedules/types.d.ts +101 -0
  72. package/dist/services/schedules/types.d.ts.map +1 -0
  73. package/dist/services/settings/index.d.ts +3 -0
  74. package/dist/services/settings/index.d.ts.map +1 -0
  75. package/dist/services/settings/settingsService.d.ts +7 -0
  76. package/dist/services/settings/settingsService.d.ts.map +1 -0
  77. package/dist/services/settings/settingsService.test.d.ts +2 -0
  78. package/dist/services/settings/settingsService.test.d.ts.map +1 -0
  79. package/dist/services/settings/types.d.ts +35 -0
  80. package/dist/services/settings/types.d.ts.map +1 -0
  81. package/dist/services/shop/index.d.ts +3 -0
  82. package/dist/services/shop/index.d.ts.map +1 -0
  83. package/dist/services/shop/shopService.d.ts +12 -0
  84. package/dist/services/shop/shopService.d.ts.map +1 -0
  85. package/dist/services/shop/shopService.test.d.ts +2 -0
  86. package/dist/services/shop/shopService.test.d.ts.map +1 -0
  87. package/dist/services/shop/types.d.ts +7 -0
  88. package/dist/services/shop/types.d.ts.map +1 -0
  89. package/dist/services/subscription/adapter.d.ts +40 -2
  90. package/dist/services/subscription/adapter.d.ts.map +1 -1
  91. package/dist/services/subscription/adapter.test.d.ts +2 -0
  92. package/dist/services/subscription/adapter.test.d.ts.map +1 -0
  93. package/dist/services/subscription/index.d.ts +1 -1
  94. package/dist/services/subscription/index.d.ts.map +1 -1
  95. package/dist/services/subscription/subscriptionService.d.ts +1 -6
  96. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  97. package/dist/services/subscription/types.d.ts +186 -9
  98. package/dist/services/subscription/types.d.ts.map +1 -1
  99. package/dist/services/subscription/types.test.d.ts +2 -0
  100. package/dist/services/subscription/types.test.d.ts.map +1 -0
  101. package/dist/theme-state.d.ts +2 -1
  102. package/dist/theme-state.d.ts.map +1 -1
  103. package/dist/theme-state.params.test.d.ts +2 -0
  104. package/dist/theme-state.params.test.d.ts.map +1 -0
  105. package/dist/theme-state.translations.test.d.ts +2 -0
  106. package/dist/theme-state.translations.test.d.ts.map +1 -0
  107. package/dist/utils/index.d.ts +6 -0
  108. package/dist/utils/index.d.ts.map +1 -1
  109. package/dist/vue/block.d.ts.map +1 -1
  110. package/dist/vue.js +23 -3
  111. package/dist/web-components/ExtensionRoot.d.ts +1 -0
  112. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  113. package/dist/web-components-editor.js +3 -2
  114. package/dist/web-components-runtime.js +3 -2
  115. package/package.json +3 -2
@@ -0,0 +1,25 @@
1
+ import { ApiFetcher, Result } from '../../utils';
2
+ import { ScheduleAdjustment, ScheduleOrder } from './types';
3
+ export interface SchedulesAdapter {
4
+ getUpcomingOrders(params: {
5
+ count: number;
6
+ subscriptionId?: string;
7
+ }): Promise<Result<ScheduleOrder[]>>;
8
+ getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
9
+ skipOrder(params: {
10
+ subscriptionId: string;
11
+ cycle?: number;
12
+ date?: string;
13
+ }): Promise<Result>;
14
+ changeDateAdjustment(params: {
15
+ subscriptionId: string;
16
+ newDate: string;
17
+ currentDate?: string;
18
+ }): Promise<Result>;
19
+ removeAdjustment(params: {
20
+ adjustmentId: string;
21
+ }): Promise<Result>;
22
+ }
23
+ export declare function createMockSchedulesAdapter(): SchedulesAdapter;
24
+ export declare function createApiSchedulesAdapter(fetcher: ApiFetcher): SchedulesAdapter;
25
+ //# 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,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,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;AAQD,wBAAgB,0BAA0B,IAAI,gBAAgB,CAiL7D;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
+ isOneTime?: boolean;
25
+ customAttributes?: {
26
+ name: 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,6 +1,6 @@
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
4
  /**
5
5
  * Adapter interface for subscription.
6
6
  * Implementations should handle API calls, error handling, and data transformation.
@@ -8,6 +8,9 @@ import { Result, PaginatedList } from '../../utils';
8
8
  export interface SubscriptionAdapter {
9
9
  search(options?: SearchOptions): Promise<Result<PaginatedList<Subscription>>>;
10
10
  getById(id: string): Promise<Result<Subscription | null>>;
11
+ getLastOrder(params: {
12
+ subscriptionId: string;
13
+ }): Promise<Result<LastOrder | null>>;
11
14
  addItem(params: {
12
15
  subscriptionId: string;
13
16
  item: PostableSubscriptionItem;
@@ -16,6 +19,22 @@ export interface SubscriptionAdapter {
16
19
  subscriptionId: string;
17
20
  itemId: string;
18
21
  }): Promise<Result>;
22
+ updateItem(params: {
23
+ subscriptionId: string;
24
+ lineId: string;
25
+ update: UpdateSubscriptionItem;
26
+ }): Promise<Result>;
27
+ skipLineItem(params: {
28
+ subscriptionId: string;
29
+ lineId: string;
30
+ nextBillingDate: string;
31
+ }): Promise<Result>;
32
+ updateBoxItems(params: {
33
+ subscriptionId: string;
34
+ parentId: string;
35
+ items: UpdateBoxItem[];
36
+ shippingMethodHandle?: string;
37
+ }): Promise<Result>;
19
38
  addDiscount(params: {
20
39
  subscriptionId: string;
21
40
  code: string;
@@ -41,10 +60,28 @@ export interface SubscriptionAdapter {
41
60
  subscriptionId: string;
42
61
  reason?: string;
43
62
  }): Promise<Result<Subscription>>;
63
+ renewNow(params: {
64
+ subscriptionId: string;
65
+ renewalId?: string;
66
+ retry?: boolean;
67
+ }): Promise<Result<RenewNowResult>>;
68
+ changeFrequency(params: {
69
+ subscriptionId: string;
70
+ plan: string | SellingPlanInterval;
71
+ }): Promise<Result<Subscription>>;
44
72
  getAvailablePlans(params: {
45
73
  subscriptionId: string;
46
74
  }): Promise<Result<SellingPlan[]>>;
47
75
  getDefaultSubscriptionId(): Promise<Result<string | null>>;
76
+ getUpsellProducts?(params: {
77
+ subscriptionId: string;
78
+ }): Promise<Result<UpsellProduct[]>>;
79
+ addUpsellProduct?(params: {
80
+ subscriptionId: string;
81
+ variantId: string;
82
+ quantity: number;
83
+ oneTime?: boolean;
84
+ }): Promise<Result>;
48
85
  }
49
86
  export interface MockSubscriptionAdapterOptions {
50
87
  addDiscountBehavior?: {
@@ -64,4 +101,5 @@ export interface MockSubscriptionAdapterOptions {
64
101
  };
65
102
  }
66
103
  export declare function createMockSubscriptionAdapter(options?: MockSubscriptionAdapterOptions): SubscriptionAdapter;
104
+ export declare function createApiSubscriptionAdapter(fetcher: ApiFetcher): SubscriptionAdapter;
67
105
  //# 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,CAyJrB"}