@juo/blocks 1.14.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 (144) hide show
  1. package/dist/{ExtensionRoot-CRJx0Dtr.js → ExtensionRoot-C3lVJEBl.js} +9 -2
  2. package/dist/{block-VhmfGB3N.js → block-dVP4Rqgz.js} +9 -0
  3. package/dist/block.d.ts.map +1 -1
  4. package/dist/block.devtools.test.d.ts +2 -0
  5. package/dist/block.devtools.test.d.ts.map +1 -0
  6. package/dist/{bridge-D838SWmN.js → bridge-xiKEzCGR.js} +30 -30
  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 +2390 -465
  11. package/dist/{css-runtime-DWytAzZ5.js → css-runtime-ClH0MEYr.js} +151 -113
  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 +40 -0
  15. package/dist/devtools/hook.d.ts.map +1 -0
  16. package/dist/devtools/index.d.ts +5 -0
  17. package/dist/devtools/index.d.ts.map +1 -0
  18. package/dist/devtools/instrumentation.d.ts +47 -0
  19. package/dist/devtools/instrumentation.d.ts.map +1 -0
  20. package/dist/devtools/protocol.d.ts +77 -0
  21. package/dist/devtools/protocol.d.ts.map +1 -0
  22. package/dist/devtools.js +11 -0
  23. package/dist/editor/components.d.ts.map +1 -1
  24. package/dist/editor/layout-command-emitter.d.ts +6 -0
  25. package/dist/editor/layout-command-emitter.d.ts.map +1 -1
  26. package/dist/editor/main.d.ts.map +1 -1
  27. package/dist/editor/messages.d.ts +6 -0
  28. package/dist/editor/messages.d.ts.map +1 -1
  29. package/dist/editor.js +74 -67
  30. package/dist/{gridstack-adapter-DreG3XnB.js → gridstack-adapter-CDWbSpbt.js} +15 -16
  31. package/dist/index-JSv6UH_o.js +169 -0
  32. package/dist/layout/index.d.ts +1 -0
  33. package/dist/layout/index.d.ts.map +1 -1
  34. package/dist/layout/insert.d.ts +14 -11
  35. package/dist/layout/insert.d.ts.map +1 -1
  36. package/dist/layout/override.d.ts +10 -0
  37. package/dist/layout/override.d.ts.map +1 -0
  38. package/dist/layout/override.test.d.ts +2 -0
  39. package/dist/layout/override.test.d.ts.map +1 -0
  40. package/dist/layout/project-css.d.ts.map +1 -1
  41. package/dist/layout/reconcile.d.ts +4 -3
  42. package/dist/layout/reconcile.d.ts.map +1 -1
  43. package/dist/{morph-Dj-xvrwt.js → morph-n4LMxOYo.js} +1 -1
  44. package/dist/preact/block.d.ts.map +1 -1
  45. package/dist/preact.js +16 -12
  46. package/dist/{project-gridstack-DYLMKSH1.js → project-gridstack-CM783oKI.js} +1 -1
  47. package/dist/react/block.d.ts.map +1 -1
  48. package/dist/react.js +15 -11
  49. package/dist/registry.devtools.test.d.ts +2 -0
  50. package/dist/registry.devtools.test.d.ts.map +1 -0
  51. package/dist/services/customer/adapter.d.ts +8 -0
  52. package/dist/services/customer/adapter.d.ts.map +1 -0
  53. package/dist/services/customer/customerService.d.ts +3 -2
  54. package/dist/services/customer/customerService.d.ts.map +1 -1
  55. package/dist/services/customer/index.d.ts +1 -0
  56. package/dist/services/customer/index.d.ts.map +1 -1
  57. package/dist/services/customer/types.d.ts +4 -1
  58. package/dist/services/customer/types.d.ts.map +1 -1
  59. package/dist/services/index.d.ts +3 -0
  60. package/dist/services/index.d.ts.map +1 -1
  61. package/dist/services/login/adapter.d.ts +33 -0
  62. package/dist/services/login/adapter.d.ts.map +1 -0
  63. package/dist/services/login/index.d.ts +3 -1
  64. package/dist/services/login/index.d.ts.map +1 -1
  65. package/dist/services/login/loginService.d.ts +6 -2
  66. package/dist/services/login/loginService.d.ts.map +1 -1
  67. package/dist/services/order/adapter.d.ts +9 -0
  68. package/dist/services/order/adapter.d.ts.map +1 -0
  69. package/dist/services/order/index.d.ts +5 -0
  70. package/dist/services/order/index.d.ts.map +1 -0
  71. package/dist/services/order/orderService.d.ts +7 -0
  72. package/dist/services/order/orderService.d.ts.map +1 -0
  73. package/dist/services/order/types.d.ts +21 -0
  74. package/dist/services/order/types.d.ts.map +1 -0
  75. package/dist/services/orders/adapter.d.ts +2 -0
  76. package/dist/services/orders/adapter.d.ts.map +1 -1
  77. package/dist/services/orders/index.d.ts +1 -1
  78. package/dist/services/orders/index.d.ts.map +1 -1
  79. package/dist/services/product/adapter.d.ts +27 -2
  80. package/dist/services/product/adapter.d.ts.map +1 -1
  81. package/dist/services/product/adapter.test.d.ts +2 -0
  82. package/dist/services/product/adapter.test.d.ts.map +1 -0
  83. package/dist/services/product/index.d.ts +1 -1
  84. package/dist/services/product/index.d.ts.map +1 -1
  85. package/dist/services/product/productService.d.ts.map +1 -1
  86. package/dist/services/product/types.d.ts +68 -0
  87. package/dist/services/product/types.d.ts.map +1 -1
  88. package/dist/services/schedules/adapter.d.ts +94 -0
  89. package/dist/services/schedules/adapter.d.ts.map +1 -0
  90. package/dist/services/schedules/adapter.test.d.ts +2 -0
  91. package/dist/services/schedules/adapter.test.d.ts.map +1 -0
  92. package/dist/services/schedules/apiSchedulesAdapter.test.d.ts +2 -0
  93. package/dist/services/schedules/apiSchedulesAdapter.test.d.ts.map +1 -0
  94. package/dist/services/schedules/index.d.ts +5 -0
  95. package/dist/services/schedules/index.d.ts.map +1 -0
  96. package/dist/services/schedules/schedulesService.d.ts +11 -0
  97. package/dist/services/schedules/schedulesService.d.ts.map +1 -0
  98. package/dist/services/schedules/schedulesService.test.d.ts +2 -0
  99. package/dist/services/schedules/schedulesService.test.d.ts.map +1 -0
  100. package/dist/services/schedules/types.d.ts +290 -0
  101. package/dist/services/schedules/types.d.ts.map +1 -0
  102. package/dist/services/settings/index.d.ts +3 -0
  103. package/dist/services/settings/index.d.ts.map +1 -0
  104. package/dist/services/settings/settingsService.d.ts +7 -0
  105. package/dist/services/settings/settingsService.d.ts.map +1 -0
  106. package/dist/services/settings/settingsService.test.d.ts +2 -0
  107. package/dist/services/settings/settingsService.test.d.ts.map +1 -0
  108. package/dist/services/settings/types.d.ts +35 -0
  109. package/dist/services/settings/types.d.ts.map +1 -0
  110. package/dist/services/shop/index.d.ts +3 -0
  111. package/dist/services/shop/index.d.ts.map +1 -0
  112. package/dist/services/shop/shopService.d.ts +12 -0
  113. package/dist/services/shop/shopService.d.ts.map +1 -0
  114. package/dist/services/shop/shopService.test.d.ts +2 -0
  115. package/dist/services/shop/shopService.test.d.ts.map +1 -0
  116. package/dist/services/shop/types.d.ts +7 -0
  117. package/dist/services/shop/types.d.ts.map +1 -0
  118. package/dist/services/subscription/adapter.d.ts +77 -2
  119. package/dist/services/subscription/adapter.d.ts.map +1 -1
  120. package/dist/services/subscription/adapter.test.d.ts +2 -0
  121. package/dist/services/subscription/adapter.test.d.ts.map +1 -0
  122. package/dist/services/subscription/index.d.ts +1 -1
  123. package/dist/services/subscription/index.d.ts.map +1 -1
  124. package/dist/services/subscription/subscriptionService.d.ts +1 -6
  125. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  126. package/dist/services/subscription/types.d.ts +220 -9
  127. package/dist/services/subscription/types.d.ts.map +1 -1
  128. package/dist/services/subscription/types.test.d.ts +2 -0
  129. package/dist/services/subscription/types.test.d.ts.map +1 -0
  130. package/dist/shared/context.d.ts.map +1 -1
  131. package/dist/utils/index.d.ts +6 -0
  132. package/dist/utils/index.d.ts.map +1 -1
  133. package/dist/vue/block.d.ts.map +1 -1
  134. package/dist/vue/context.d.ts +1 -0
  135. package/dist/vue/context.d.ts.map +1 -1
  136. package/dist/vue.js +34 -6
  137. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  138. package/dist/web-components/editor/editor-layout-controller.d.ts.map +1 -1
  139. package/dist/web-components/editor/gridstack-adapter.d.ts.map +1 -1
  140. package/dist/web-components/layout-mode-adapter.d.ts +6 -0
  141. package/dist/web-components/layout-mode-adapter.d.ts.map +1 -1
  142. package/dist/web-components-editor.js +11 -6
  143. package/dist/web-components-runtime.js +2 -2
  144. package/package.json +5 -1
@@ -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,31 @@ 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>;
48
+ updateItemAttributes(params: {
49
+ subscriptionId: string;
50
+ lineId: string;
51
+ customAttributes: Record<string, string>;
52
+ }): Promise<Result>;
53
+ updateAttributes(params: {
54
+ subscriptionId: string;
55
+ customAttributes: Record<string, string>;
56
+ }): Promise<Result>;
19
57
  addDiscount(params: {
20
58
  subscriptionId: string;
21
59
  code: string;
@@ -28,6 +66,16 @@ export interface SubscriptionAdapter {
28
66
  subscriptionId: string;
29
67
  newDate: string;
30
68
  }): Promise<Result<Subscription>>;
69
+ /**
70
+ * Replace the customer-visible custom attributes on a subscription. `customAttributes`
71
+ * is the complete desired set of customer-editable keys — keys omitted are removed.
72
+ * Internal (`_`-prefixed) / reserved keys are always preserved server-side and must
73
+ * not be sent (the API rejects them with 400).
74
+ */
75
+ updateCustomAttributes(params: {
76
+ subscriptionId: string;
77
+ customAttributes: Record<string, string>;
78
+ }): Promise<Result<Subscription>>;
31
79
  resume(params: {
32
80
  subscriptionId: string;
33
81
  }): Promise<Result<Subscription>>;
@@ -41,10 +89,28 @@ export interface SubscriptionAdapter {
41
89
  subscriptionId: string;
42
90
  reason?: string;
43
91
  }): Promise<Result<Subscription>>;
92
+ renewNow(params: {
93
+ subscriptionId: string;
94
+ renewalId?: string;
95
+ retry?: boolean;
96
+ }): Promise<Result<RenewNowResult>>;
97
+ changeFrequency(params: {
98
+ subscriptionId: string;
99
+ plan: string | SellingPlanInterval;
100
+ }): Promise<Result<Subscription>>;
44
101
  getAvailablePlans(params: {
45
102
  subscriptionId: string;
46
103
  }): Promise<Result<SellingPlan[]>>;
47
104
  getDefaultSubscriptionId(): Promise<Result<string | null>>;
105
+ getUpsellProducts?(params: {
106
+ subscriptionId: string;
107
+ }): Promise<Result<UpsellProduct[]>>;
108
+ addUpsellProduct?(params: {
109
+ subscriptionId: string;
110
+ variantId: string;
111
+ quantity: number;
112
+ oneTime?: boolean;
113
+ }): Promise<Result>;
48
114
  }
49
115
  export interface MockSubscriptionAdapterOptions {
50
116
  addDiscountBehavior?: {
@@ -62,6 +128,15 @@ export interface MockSubscriptionAdapterOptions {
62
128
  kind: "error";
63
129
  error: "NETWORK" | "UNKNOWN" | "SUBSCRIPTION_NOT_FOUND" | "DISCOUNT_NOT_FOUND";
64
130
  };
131
+ /**
132
+ * Optional product source used by `addItem` to resolve a real title/price for
133
+ * an added line. Without it, added lines fall back to a placeholder title and
134
+ * a 0.00 price (the two mock stores are otherwise independent). Pass the same
135
+ * `createMockProductAdapter()` instance that backs the ProductService so the
136
+ * added line matches what the product picker showed.
137
+ */
138
+ productAdapter?: Pick<ProductAdapter, "getByVariantId" | "getById">;
65
139
  }
66
140
  export declare function createMockSubscriptionAdapter(options?: MockSubscriptionAdapterOptions): SubscriptionAdapter;
141
+ export declare function createApiSubscriptionAdapter(fetcher: ApiFetcher): SubscriptionAdapter;
67
142
  //# 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,CA0LrB"}
@@ -8,6 +8,27 @@ export interface SubscriptionItem {
8
8
  quantity: number;
9
9
  price: PriceWithCurrency;
10
10
  nextDeliveryDate?: Date | null;
11
+ /** Optional fields populated when host carries the richer SDK shape (e.g. RenewalSummary). */
12
+ isUpsell?: boolean;
13
+ isVirtual?: boolean;
14
+ nextBillingDate?: string | null;
15
+ lineDiscountedPrice?: PriceWithCurrency;
16
+ currentPrice?: PriceWithCurrency;
17
+ variantAvailableForSale?: boolean;
18
+ billingPolicy?: SellingPlanInterval | null;
19
+ deliveryPolicy?: SellingPlanInterval | null;
20
+ /** Human-readable product/line title (legacy line.title). */
21
+ title?: string;
22
+ variantTitle?: string;
23
+ recurringCycleLimit?: number | null;
24
+ /** Box grouping: parent subscription LINE id (primary) and parent PRODUCT id (fallback). */
25
+ parentLineId?: string;
26
+ parentProductId?: string;
27
+ parentProductHandle?: string;
28
+ variantImage?: {
29
+ url: string;
30
+ altText?: string;
31
+ };
11
32
  customAttributes?: Array<{
12
33
  key: string;
13
34
  value: string;
@@ -17,6 +38,16 @@ export interface PostableSubscriptionItem {
17
38
  variantId: string;
18
39
  quantity: number;
19
40
  }
41
+ export interface UpdateSubscriptionItem {
42
+ variantId?: string;
43
+ quantity?: number;
44
+ billingPolicy?: SellingPlanInterval;
45
+ shippingMethodHandle?: string;
46
+ }
47
+ export interface UpdateBoxItem {
48
+ variantId: string;
49
+ quantity: number;
50
+ }
20
51
  export interface SubscriptionDiscount {
21
52
  id: string;
22
53
  type: "percentage" | "fixed_amount";
@@ -24,6 +55,15 @@ export interface SubscriptionDiscount {
24
55
  code?: string;
25
56
  description?: string;
26
57
  }
58
+ export interface ShippingMethodOption {
59
+ handle: string;
60
+ title: string;
61
+ price?: PriceWithCurrency;
62
+ }
63
+ export interface DeliveryMethodConflict {
64
+ code: "DELIVERY_METHOD_CONFLICT";
65
+ availableShippingMethods: ShippingMethodOption[];
66
+ }
27
67
  export interface Subscription {
28
68
  id: string;
29
69
  items: SubscriptionItem[];
@@ -43,12 +83,115 @@ export interface SellingPlanInterval {
43
83
  intervalCount: number;
44
84
  interval: string;
45
85
  }
86
+ export interface SubscriptionBillingPolicy extends SellingPlanInterval {
87
+ minCycles?: number;
88
+ }
89
+ export interface SubscriptionDeliveryAnchor {
90
+ day: number;
91
+ month?: number;
92
+ type: "MONTHDAY" | "WEEKDAY" | "YEARDAY";
93
+ }
94
+ export interface SubscriptionDeliveryPolicy extends SellingPlanInterval {
95
+ anchors?: SubscriptionDeliveryAnchor[];
96
+ }
97
+ export interface SubscriptionPaymentInstrument {
98
+ type: string;
99
+ brand?: string;
100
+ maskedNumber?: string;
101
+ }
102
+ export interface SubscriptionPaymentMethod {
103
+ id: string;
104
+ instrument?: SubscriptionPaymentInstrument | null;
105
+ active?: boolean;
106
+ isRecurring?: boolean;
107
+ }
108
+ export interface SubscriptionDeliveryAddress {
109
+ firstName?: string;
110
+ lastName?: string;
111
+ address1?: string;
112
+ address2?: string;
113
+ zip?: string;
114
+ city?: string;
115
+ countryCode?: string;
116
+ province?: string;
117
+ }
118
+ export interface SubscriptionDeliveryOption {
119
+ title?: string;
120
+ presentmentTitle?: string;
121
+ description?: string;
122
+ }
123
+ /**
124
+ * Delivery method for a subscription. Populated by the real adapter from the
125
+ * legacy list endpoint (v1 does not return it). Used by ContractSelect to show
126
+ * the delivery address and method.
127
+ */
128
+ export interface SubscriptionDeliveryMethod {
129
+ address?: SubscriptionDeliveryAddress | null;
130
+ shippingOption?: SubscriptionDeliveryOption | null;
131
+ pickupOption?: SubscriptionDeliveryOption | null;
132
+ localDeliveryOption?: SubscriptionDeliveryOption | null;
133
+ }
134
+ export interface SubscriptionBillingAttempt {
135
+ date: string;
136
+ attempt?: number;
137
+ ready?: boolean;
138
+ }
139
+ export interface SubscriptionRenewal {
140
+ id: string;
141
+ /** True while the renewal is actively being processed — used to disable renew-now. */
142
+ isInActiveProcessState?: boolean;
143
+ }
144
+ export interface SubscriptionPausePeriod {
145
+ start: string;
146
+ end: string;
147
+ }
148
+ export interface Subscription {
149
+ id: string;
150
+ customerId: string;
151
+ items: SubscriptionItem[];
152
+ discounts: SubscriptionDiscount[];
153
+ status: "active" | "paused" | "canceled" | "expired" | "failed";
154
+ nextDeliveryDate: Date | null;
155
+ frequency: string;
156
+ createdAt: string;
157
+ updatedAt: string;
158
+ /** Optional fields populated by hosts that carry the richer SDK shape. */
159
+ billingPolicy?: SubscriptionBillingPolicy;
160
+ deliveryPolicy?: SubscriptionDeliveryPolicy;
161
+ nextBillingDate?: string | null;
162
+ nextBillingAttempt?: SubscriptionBillingAttempt | null;
163
+ lastBillingAttempt?: SubscriptionBillingAttempt | null;
164
+ nextFulfillment?: string | null;
165
+ estimatedOrderDate?: string | null;
166
+ customerPaymentMethod?: SubscriptionPaymentMethod | null;
167
+ requiredBillingCyclesLeft?: number;
168
+ renewal?: SubscriptionRenewal | null;
169
+ pausePeriod?: SubscriptionPausePeriod | null;
170
+ lastPaymentStatus?: "succeeded" | "failed" | "pending" | string;
171
+ /** False when the subscription contains a membership product (from the legacy endpoint). Undefined = unknown → treat as editable. */
172
+ isEditable?: boolean;
173
+ /**
174
+ * Human-readable sequential reference number (e.g. "1042"). Populated by the real adapter
175
+ * from the customer v1 API `serial` field. Used by ContractSelect for the subscription
176
+ * reference display.
177
+ */
178
+ serial?: string;
179
+ /**
180
+ * Delivery address + shipping/pickup option. Populated by the real adapter from
181
+ * the legacy list endpoint (v1 does not return it). Used by ContractSelect.
182
+ */
183
+ deliveryMethod?: SubscriptionDeliveryMethod | null;
184
+ }
46
185
  export interface SellingPlan {
47
186
  id: string;
48
187
  name: string;
49
188
  billingPolicy: SellingPlanInterval;
50
189
  deliveryPolicy: SellingPlanInterval;
51
190
  }
191
+ export interface LastOrder {
192
+ id: string;
193
+ createdAt: string;
194
+ }
52
195
  export interface SubscriptionFilter {
53
196
  id?: string;
54
197
  serial?: string;
@@ -67,15 +210,33 @@ export interface SearchOptions {
67
210
  after: string;
68
211
  };
69
212
  }
70
- export type SubscriptionService = {
71
- search(options?: SearchOptions): Promise<Result<PaginatedList<Subscription>>>;
72
- getById(id: string): Promise<Result<Subscription | null>>;
73
- getCurrentSubscriptionId(): string | null;
213
+ export type RenewNowResult = {
214
+ nextActionUrl?: string;
215
+ result?: "success" | "pending" | "failure";
216
+ };
217
+ export interface UpsellProduct {
218
+ id: string;
219
+ variantId: string;
220
+ title: string;
221
+ imageUrl?: string;
222
+ price: PriceWithCurrency;
223
+ description?: string;
74
224
  /**
75
- * Subscription the host treats as in focus (e.g. detail page), or `null`. Preact `Signal`;
76
- * the service factory creates it; hosts sync route or other context by assigning `current.value`.
225
+ * True when the upsell rule is recurring (added to every renewal).
226
+ * False when it is a one-time add (renewalLimit=1 on the order).
227
+ * Populated by the real adapter from the `variants[].recurring` field in the
228
+ * `/customer/subscriptions/{id}/upsell-products` response (PreparedProductSchema).
77
229
  */
230
+ recurring?: boolean;
231
+ }
232
+ export type SubscriptionService = {
78
233
  current: Signal<Subscription | null>;
234
+ hasPendingBilling: ReadonlySignal<boolean>;
235
+ /**
236
+ * Last order placed for the host's current subscription (or `null` when none / not loaded).
237
+ * Hydrated alongside `current` by the host.
238
+ */
239
+ lastOrder: Signal<LastOrder | null>;
79
240
  /**
80
241
  * Monotonically-increasing counter that bumps after every successful
81
242
  * `addDiscount`/`removeDiscount`. Consumers (e.g. the customer portal page)
@@ -83,23 +244,73 @@ export type SubscriptionService = {
83
244
  * subscription's discounts.
84
245
  */
85
246
  discountsChangedAt: ReadonlySignal<number>;
247
+ search(options?: SearchOptions): Promise<Result<PaginatedList<Subscription>>>;
248
+ /**
249
+ * Full cross-subscription list (active/paused first) for the "other subscriptions"
250
+ * list and product strip. Sourced from the legacy list endpoint by the real adapter
251
+ * so active subscriptions are never paginated out. Falls back to `search` when the
252
+ * adapter does not implement `listAll` (e.g. the editor mock).
253
+ */
254
+ listAll(): Promise<Result<Subscription[]>>;
255
+ getById(id: string): Promise<Result<Subscription | null>>;
256
+ getCurrentSubscriptionId(): string | null;
257
+ getAvailablePlans(subscriptionId: string): Promise<Result<SellingPlan[]>>;
258
+ getDefaultSubscriptionId(): Promise<Result<string | null>>;
259
+ getUpsellProducts(params: {
260
+ subscriptionId: string;
261
+ }): Promise<Result<UpsellProduct[]>>;
86
262
  /**
87
263
  * Monotonically-increasing counter that bumps after every successful
88
- * `addItem`/`removeItem`. Consumers (e.g. the customer portal page) can watch
264
+ * `addItem`/`removeItem`/`updateItem`. Consumers (e.g. the customer portal page) can watch
89
265
  * this signal to re-fetch any non-blocks state that depends on the
90
266
  * subscription's line items.
91
267
  */
92
268
  itemsChangedAt: ReadonlySignal<number>;
93
269
  addItem(subscriptionId: string, item: PostableSubscriptionItem): Promise<Result>;
94
270
  removeItem(subscriptionId: string, itemId: string): Promise<Result>;
271
+ updateItem(subscriptionId: string, lineId: string, update: UpdateSubscriptionItem): Promise<Result>;
272
+ updateItemAttributes(subscriptionId: string, lineId: string, customAttributes: Record<string, string>): Promise<Result>;
273
+ updateAttributes(subscriptionId: string, customAttributes: Record<string, string>): Promise<Result>;
274
+ skipLineItem(subscriptionId: string, lineId: string, nextBillingDate: string): Promise<Result>;
275
+ updateBoxItems(subscriptionId: string, params: {
276
+ parentId: string;
277
+ items: UpdateBoxItem[];
278
+ shippingMethodHandle?: string;
279
+ }): Promise<Result>;
95
280
  addDiscount(code: string, subscriptionId?: string): Promise<Result<void, ApplyDiscountError>>;
96
281
  removeDiscount(discountId: string, subscriptionId?: string): Promise<Result<void, RemoveDiscountError>>;
282
+ addUpsellProduct(params: {
283
+ subscriptionId: string;
284
+ variantId: string;
285
+ quantity: number;
286
+ oneTime?: boolean;
287
+ }): Promise<Result>;
97
288
  reschedule(subscriptionId: string, newDate: string): Promise<Result<Subscription>>;
289
+ /**
290
+ * Replace the subscription's customer-visible custom attributes. `customAttributes`
291
+ * is the complete desired set — omitted keys are removed. Internal (`_`-prefixed) /
292
+ * reserved keys are preserved server-side and must not be included.
293
+ */
294
+ updateCustomAttributes(subscriptionId: string, customAttributes: Record<string, string>): Promise<Result<Subscription>>;
98
295
  resume(subscriptionId: string): Promise<Result<Subscription>>;
99
296
  pause(subscriptionId: string): Promise<Result<Subscription>>;
100
297
  reactivate(subscriptionId: string): Promise<Result<Subscription>>;
101
298
  cancel(subscriptionId: string, reason?: string): Promise<Result<Subscription>>;
102
- getAvailablePlans(subscriptionId: string): Promise<Result<SellingPlan[]>>;
103
- getDefaultSubscriptionId(): Promise<Result<string | null>>;
299
+ /**
300
+ * Renew now. Adapter shape is split by stage:
301
+ * - `retry: true` → POST /customer/subscriptions/{contractId}/retry
302
+ * - `renewalId` present, no retry → POST /customer/renewals/{renewalId}/renew
303
+ * - default → POST /customer/subscriptions/{contractId}/order-now
304
+ * Caller decides whether to chain stages based on `nextActionUrl` presence.
305
+ */
306
+ renewNow(params: {
307
+ subscriptionId: string;
308
+ renewalId?: string;
309
+ retry?: boolean;
310
+ }): Promise<Result<RenewNowResult>>;
311
+ /** Change subscription frequency: a selling plan id, or a custom delivery interval. */
312
+ changeFrequency(subscriptionId: string, plan: string | SellingPlanInterval): Promise<Result<Subscription>>;
313
+ /** Re-fetch `current` and `lastOrder` from the most recent in-focus subscription. */
314
+ reload(): Promise<void>;
104
315
  };
105
316
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/types.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/shared/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GACvB,CAAC,SAAS,QAAQ,GAClB,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC1B;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,GACD,CAAC,CAAC;AAEN;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GACxE,IAAI,CAAC,CAAC,CAAC,CAeT"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/shared/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GACvB,CAAC,SAAS,QAAQ,GAClB,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC1B;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,GACD,CAAC,CAAC;AAEN;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GACxE,IAAI,CAAC,CAAC,CAAC,CAoCT"}
@@ -29,5 +29,11 @@ export type PriceWithCurrency = {
29
29
  amount: string;
30
30
  currencyCode: string;
31
31
  };
32
+ /**
33
+ * Thin fetch wrapper provided by themes.
34
+ * Handles auth headers, base URL, and shop domain injection.
35
+ * Path should start with `/` (e.g. `/customer/v1/subscriptions`).
36
+ */
37
+ export type ApiFetcher = (path: string, init?: RequestInit) => Promise<Response>;
32
38
  export * from './editor';
33
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,IAAI;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,IAAI;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjF,cAAc,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/vue/block.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAGR,SAAS,EAUV,MAAM,KAAK,CAAC;AACb,OAAO,EAEL,aAAa,EAEb,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AA2B9B,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,WAuCZ,aAAa,iBA6D7B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,EAAE,UAAiB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,yCAoCrD"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/vue/block.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAGR,SAAS,EAUV,MAAM,KAAK,CAAC;AAEb,OAAO,EAEL,aAAa,EAEb,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AA2B9B,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,WA0CZ,aAAa,iBA+E7B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,EAAE,UAAiB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,yCAoCrD"}
@@ -20,5 +20,6 @@ type Wrap<T> = T extends Signal<infer V> ? Ref<V> : T extends Function ? T : T e
20
20
  } & {
21
21
  $: T;
22
22
  } : T;
23
+ export declare function wrap<T>(obj: T): Wrap<T>;
23
24
  export {};
24
25
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/vue/context.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAgB,GAAG,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,EACL,WAAW,EAGX,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,eAAO,MAAM,eAAe,wHAyB1B,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAE7E;AA+BD,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAI/C;AAED,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAIjD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,IAAI,CAeR;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EACjD,OAAO,EAAE,CAAC,GACT,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAOtB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EACxD,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,IAAI,CAON;AAED,KAAK,IAAI,CAAC,CAAC,IACT,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACrB,GAAG,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,QAAQ,GAChB,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACxB;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,GAAG;IAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/vue/context.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAgB,GAAG,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,EACL,WAAW,EAGX,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,eAAO,MAAM,eAAe,wHAyB1B,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAE7E;AA+BD,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAI/C;AAED,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAIjD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,IAAI,CAeR;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EACjD,OAAO,EAAE,CAAC,GACT,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAOtB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EACxD,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,IAAI,CAON;AAED,KAAK,IAAI,CAAC,CAAC,IACT,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACrB,GAAG,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,QAAQ,GAChB,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACxB;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,GAAG;IAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GACZ,CAAC,CAAC;AAEZ,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CA8CvC"}