@juo/blocks 1.20.0 → 2.0.0-alpha.10

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 (152) hide show
  1. package/dist/{ExtensionRoot-DfpvN94s.js → ExtensionRoot-CG9dH98z.js} +24 -6
  2. package/dist/block-BjJztStr.js +993 -0
  3. package/dist/{block-dVP4Rqgz.js → block-DnhzyZ1H.js} +29 -3
  4. package/dist/block.d.ts +56 -0
  5. package/dist/block.d.ts.map +1 -1
  6. package/dist/{bridge-4Eq-G73Z.js → bridge-Bss7Xq3D.js} +39 -31
  7. package/dist/core.js +1620 -333
  8. package/dist/css-runtime-CjZl0K48.js +755 -0
  9. package/dist/devtools/hook.d.ts +0 -5
  10. package/dist/devtools/hook.d.ts.map +1 -1
  11. package/dist/devtools/index.d.ts +0 -1
  12. package/dist/devtools/index.d.ts.map +1 -1
  13. package/dist/devtools/protocol.d.ts +15 -1
  14. package/dist/devtools/protocol.d.ts.map +1 -1
  15. package/dist/devtools.js +42 -9
  16. package/dist/editor/bridge.d.ts +7 -7
  17. package/dist/editor/bridge.d.ts.map +1 -1
  18. package/dist/editor/components.d.ts.map +1 -1
  19. package/dist/editor/main.d.ts +2 -1
  20. package/dist/editor/main.d.ts.map +1 -1
  21. package/dist/editor/messages.d.ts +13 -2
  22. package/dist/editor/messages.d.ts.map +1 -1
  23. package/dist/editor/overlays.d.ts +14 -0
  24. package/dist/editor/overlays.d.ts.map +1 -0
  25. package/dist/editor/overlays.test.d.ts +2 -0
  26. package/dist/editor/overlays.test.d.ts.map +1 -0
  27. package/dist/editor.js +47 -33
  28. package/dist/{gridstack-adapter-BZWybRw1.js → gridstack-adapter-C1Q8gbsH.js} +2 -2
  29. package/dist/main.d.ts +3 -1
  30. package/dist/main.d.ts.map +1 -1
  31. package/dist/{morph-DHn3ol8M.js → morph-LwttdRML.js} +1 -1
  32. package/dist/overlay-wrapper.d.ts +69 -0
  33. package/dist/overlay-wrapper.d.ts.map +1 -0
  34. package/dist/overlay-wrapper.test.d.ts +2 -0
  35. package/dist/overlay-wrapper.test.d.ts.map +1 -0
  36. package/dist/overlays/OverlayService.d.ts +34 -0
  37. package/dist/overlays/OverlayService.d.ts.map +1 -0
  38. package/dist/overlays/OverlayService.test.d.ts +2 -0
  39. package/dist/overlays/OverlayService.test.d.ts.map +1 -0
  40. package/dist/preact/block.d.ts.map +1 -1
  41. package/dist/preact/context.d.ts.map +1 -1
  42. package/dist/preact/context.test.d.ts +2 -0
  43. package/dist/preact/context.test.d.ts.map +1 -0
  44. package/dist/preact/signals.d.ts +19 -0
  45. package/dist/preact/signals.d.ts.map +1 -1
  46. package/dist/preact/useContextSubscription.test.d.ts +2 -0
  47. package/dist/preact/useContextSubscription.test.d.ts.map +1 -0
  48. package/dist/preact.js +33 -7
  49. package/dist/{project-gridstack-C2cSYRMx.js → project-gridstack-CRZ_7HoT.js} +1 -1
  50. package/dist/react/block.d.ts.map +1 -1
  51. package/dist/react/context.d.ts.map +1 -1
  52. package/dist/react/context.test.d.ts +2 -0
  53. package/dist/react/context.test.d.ts.map +1 -0
  54. package/dist/react/signals.d.ts +19 -0
  55. package/dist/react/signals.d.ts.map +1 -1
  56. package/dist/react/useContextSubscription.test.d.ts +2 -0
  57. package/dist/react/useContextSubscription.test.d.ts.map +1 -0
  58. package/dist/react.js +40 -8
  59. package/dist/services/customer/adapter.d.ts +14 -1
  60. package/dist/services/customer/adapter.d.ts.map +1 -1
  61. package/dist/services/customer/adapter.test.d.ts +2 -0
  62. package/dist/services/customer/adapter.test.d.ts.map +1 -0
  63. package/dist/services/customer/customerService.d.ts.map +1 -1
  64. package/dist/services/customer/customerService.test.d.ts +2 -0
  65. package/dist/services/customer/customerService.test.d.ts.map +1 -0
  66. package/dist/services/customer/index.d.ts +2 -2
  67. package/dist/services/customer/index.d.ts.map +1 -1
  68. package/dist/services/customer/types.d.ts +29 -0
  69. package/dist/services/customer/types.d.ts.map +1 -1
  70. package/dist/services/index.d.ts +1 -1
  71. package/dist/services/index.d.ts.map +1 -1
  72. package/dist/services/login/adapter.d.ts +0 -10
  73. package/dist/services/login/adapter.d.ts.map +1 -1
  74. package/dist/services/login/index.d.ts +3 -3
  75. package/dist/services/login/index.d.ts.map +1 -1
  76. package/dist/services/login/loginService.d.ts +13 -1
  77. package/dist/services/login/loginService.d.ts.map +1 -1
  78. package/dist/services/login/refreshLock.d.ts +28 -0
  79. package/dist/services/login/refreshLock.d.ts.map +1 -0
  80. package/dist/services/login/refreshLock.test.d.ts +2 -0
  81. package/dist/services/login/refreshLock.test.d.ts.map +1 -0
  82. package/dist/services/order/adapter.d.ts +17 -6
  83. package/dist/services/order/adapter.d.ts.map +1 -1
  84. package/dist/services/order/adapter.test.d.ts +2 -0
  85. package/dist/services/order/adapter.test.d.ts.map +1 -0
  86. package/dist/services/order/index.d.ts +3 -4
  87. package/dist/services/order/index.d.ts.map +1 -1
  88. package/dist/services/order/orderService.d.ts +2 -3
  89. package/dist/services/order/orderService.d.ts.map +1 -1
  90. package/dist/services/order/orderService.test.d.ts +2 -0
  91. package/dist/services/order/orderService.test.d.ts.map +1 -0
  92. package/dist/services/order/types.d.ts +103 -14
  93. package/dist/services/order/types.d.ts.map +1 -1
  94. package/dist/services/product/adapter.d.ts +42 -0
  95. package/dist/services/product/adapter.d.ts.map +1 -1
  96. package/dist/services/product/index.d.ts +1 -1
  97. package/dist/services/product/index.d.ts.map +1 -1
  98. package/dist/services/settings/types.d.ts +15 -0
  99. package/dist/services/settings/types.d.ts.map +1 -1
  100. package/dist/services/subscription/adapter.d.ts +48 -7
  101. package/dist/services/subscription/adapter.d.ts.map +1 -1
  102. package/dist/services/subscription/index.d.ts +3 -1
  103. package/dist/services/subscription/index.d.ts.map +1 -1
  104. package/dist/services/subscription/instantOrderErrors.d.ts +11 -0
  105. package/dist/services/subscription/instantOrderErrors.d.ts.map +1 -1
  106. package/dist/services/subscription/lineRemoval.d.ts +56 -0
  107. package/dist/services/subscription/lineRemoval.d.ts.map +1 -0
  108. package/dist/services/subscription/lineRemoval.test.d.ts +2 -0
  109. package/dist/services/subscription/lineRemoval.test.d.ts.map +1 -0
  110. package/dist/services/subscription/paymentInstrument.d.ts +119 -0
  111. package/dist/services/subscription/paymentInstrument.d.ts.map +1 -0
  112. package/dist/services/subscription/paymentInstrument.test.d.ts +2 -0
  113. package/dist/services/subscription/paymentInstrument.test.d.ts.map +1 -0
  114. package/dist/services/subscription/store.d.ts.map +1 -1
  115. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  116. package/dist/services/subscription/types.d.ts +265 -34
  117. package/dist/services/subscription/types.d.ts.map +1 -1
  118. package/dist/shared/context.d.ts +10 -3
  119. package/dist/shared/context.d.ts.map +1 -1
  120. package/dist/shared/touchSignals.d.ts +17 -0
  121. package/dist/shared/touchSignals.d.ts.map +1 -0
  122. package/dist/shared/touchSignals.test.d.ts +2 -0
  123. package/dist/shared/touchSignals.test.d.ts.map +1 -0
  124. package/dist/theme-state.d.ts +2 -1
  125. package/dist/theme-state.d.ts.map +1 -1
  126. package/dist/theme-state.params.test.d.ts +2 -0
  127. package/dist/theme-state.params.test.d.ts.map +1 -0
  128. package/dist/theme-state.translations.test.d.ts +2 -0
  129. package/dist/theme-state.translations.test.d.ts.map +1 -0
  130. package/dist/vue/block.d.ts.map +1 -1
  131. package/dist/vue.js +16 -13
  132. package/dist/web-components/ExtensionRoot.d.ts +1 -0
  133. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  134. package/dist/web-components-editor.js +6 -5
  135. package/dist/web-components-runtime.js +3 -2
  136. package/package.json +1 -1
  137. package/dist/css-runtime-DTiXcYSs.js +0 -1576
  138. package/dist/devtools/instrumentation.d.ts +0 -47
  139. package/dist/devtools/instrumentation.d.ts.map +0 -1
  140. package/dist/index-JSv6UH_o.js +0 -169
  141. package/dist/services/login/errors.d.ts +0 -21
  142. package/dist/services/login/errors.d.ts.map +0 -1
  143. package/dist/services/orders/adapter.d.ts +0 -10
  144. package/dist/services/orders/adapter.d.ts.map +0 -1
  145. package/dist/services/orders/index.d.ts +0 -4
  146. package/dist/services/orders/index.d.ts.map +0 -1
  147. package/dist/services/orders/ordersService.d.ts +0 -6
  148. package/dist/services/orders/ordersService.d.ts.map +0 -1
  149. package/dist/services/orders/ordersService.test.d.ts +0 -2
  150. package/dist/services/orders/ordersService.test.d.ts.map +0 -1
  151. package/dist/services/orders/types.d.ts +0 -60
  152. package/dist/services/orders/types.d.ts.map +0 -1
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Payment-instrument model + display helpers.
3
+ *
4
+ * ## Why a union, and why underscore tags
5
+ *
6
+ * The backend exposes payment instruments in two shapes:
7
+ *
8
+ * - the **legacy** subscription endpoints (`/customer/subscriptions`, and its
9
+ * list form) via `processInstrument` — underscore tags (`credit_card`), and
10
+ * the only shape carrying `active` / `isRecurring` / `provider` and the BLIK
11
+ * `label`. This is the authoritative source.
12
+ * - the **v1** `?expand=paymentMethod` shape via `serializePaymentMethod` —
13
+ * hyphen tags (`credit-card`), adds `cardholderName` / shop-pay expiry /
14
+ * `lastDigits`, but cannot express `active`, `isRecurring`, `provider`, or
15
+ * the BLIK `label` at all. Adapters normalise it into this union and treat
16
+ * the missing fields as unknown.
17
+ *
18
+ * Underscore is the canonical tag here because the shared icon map
19
+ * (`paymentMethodIcons` in `@juo/customer-ui`) is keyed that way.
20
+ */
21
+ /** Instrument types, in the canonical underscore form. */
22
+ export declare const PAYMENT_INSTRUMENT_TYPES: readonly ["credit_card", "paypal", "shop_pay", "sepa_direct_debit", "blik", "mbway", "bacs", "manual"];
23
+ export type PaymentInstrumentType = (typeof PAYMENT_INSTRUMENT_TYPES)[number];
24
+ /**
25
+ * A payment instrument. Fields are required only where BOTH backend shapes
26
+ * guarantee them; anything either source may omit is optional.
27
+ */
28
+ export type SubscriptionPaymentInstrument = {
29
+ type: "credit_card";
30
+ brand: string;
31
+ maskedNumber: string;
32
+ expiryMonth?: number;
33
+ expiryYear?: number;
34
+ /** v1 only — the legacy shape drops the cardholder name. */
35
+ cardholderName?: string;
36
+ } | {
37
+ type: "paypal";
38
+ paypalAccountEmail?: string | null;
39
+ } | {
40
+ type: "shop_pay";
41
+ maskedNumber: string;
42
+ /** v1 only. */
43
+ expiryMonth?: number;
44
+ /** v1 only. */
45
+ expiryYear?: number;
46
+ /** v1 only. */
47
+ cardholderName?: string;
48
+ } | {
49
+ type: "sepa_direct_debit";
50
+ /** Account holder. Optional: the legacy contract does not guarantee it. */
51
+ consumerName?: string;
52
+ consumerBic?: string | null;
53
+ /** Masked IBAN. v1 calls this `maskedConsumerAccount` on the wire. */
54
+ consumerAccount: string;
55
+ } | {
56
+ type: "blik";
57
+ /**
58
+ * Alias label. Legacy only — omitted for an inactive alias, and the v1
59
+ * shape never carries it.
60
+ */
61
+ label?: string;
62
+ } | {
63
+ type: "mbway";
64
+ phone?: string;
65
+ } | {
66
+ type: "bacs";
67
+ maskedNumber: string;
68
+ }
69
+ /**
70
+ * No vaulted instrument: the customer pays each renewal through Shopify
71
+ * Checkout. Carries no identifying data, so it renders name-only.
72
+ */
73
+ | {
74
+ type: "manual";
75
+ };
76
+ /**
77
+ * Human-readable instrument name: the card brand for cards (which is the
78
+ * meaningful identifier there), the scheme name otherwise.
79
+ */
80
+ export declare function getPaymentInstrumentName(instrument: SubscriptionPaymentInstrument): string;
81
+ /**
82
+ * Last four identifying digits, for instruments that have a number to mask.
83
+ * `null` when the instrument is not identified by digits (PayPal, BLIK, MB WAY)
84
+ * — use `getPaymentInstrumentDetail` for those.
85
+ */
86
+ export declare function getPaymentInstrumentDigits(instrument: SubscriptionPaymentInstrument): string | null;
87
+ /**
88
+ * Secondary identifying detail, for instruments where digits are not the
89
+ * identifier: the PayPal account, the SEPA account holder, the BLIK alias
90
+ * label, the MB WAY phone. `null` when there is nothing extra to show.
91
+ */
92
+ export declare function getPaymentInstrumentDetail(instrument: SubscriptionPaymentInstrument): string | null;
93
+ export interface PaymentInstrumentExpiry {
94
+ month: number;
95
+ year: number;
96
+ /** True once the expiry month has fully passed. */
97
+ isExpired: boolean;
98
+ /** True during the expiry month itself — the last chance to update. */
99
+ expiresThisMonth: boolean;
100
+ }
101
+ /**
102
+ * Card expiry, for "your card is expiring" prompts. `null` when the instrument
103
+ * has no expiry or the source did not supply one (the legacy shape omits
104
+ * shop-pay expiry, so absence is not proof the card has none).
105
+ *
106
+ * A card is valid through the END of its expiry month, which is why this
107
+ * compares month boundaries rather than exact dates.
108
+ */
109
+ export declare function getPaymentInstrumentExpiry(instrument: SubscriptionPaymentInstrument, now?: Date): PaymentInstrumentExpiry | null;
110
+ /**
111
+ * Maps a v1 payment-instrument wire shape (hyphen tags, `maskedConsumerAccount`)
112
+ * to the canonical `SubscriptionPaymentInstrument` union.
113
+ *
114
+ * Input is `unknown` because blocks/core must not depend on SDK types; the
115
+ * function narrows internally by tag. Returns `null` for unrecognised or
116
+ * absent instruments.
117
+ */
118
+ export declare function serializeV1PaymentInstrument(raw: unknown): SubscriptionPaymentInstrument | null;
119
+ //# sourceMappingURL=paymentInstrument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentInstrument.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/paymentInstrument.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,wBAAwB,wGAS3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GACrC;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AACxC;;;GAGG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAcvB;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,6BAA6B,GACxC,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,6BAA6B,GACxC,MAAM,GAAG,IAAI,CAWf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,6BAA6B,GACxC,MAAM,GAAG,IAAI,CAaf;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,6BAA6B,EACzC,GAAG,GAAE,IAAiB,GACrB,uBAAuB,GAAG,IAAI,CAahC;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,OAAO,GACX,6BAA6B,GAAG,IAAI,CA0CtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=paymentInstrument.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentInstrument.test.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/paymentInstrument.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACrD,OAAO,CACL,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GACjC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,GAC3B,iBAAiB,CA0FnB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/services/subscription/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACrD,OAAO,CACL,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GACjC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,GAC3B,iBAAiB,CA0GnB"}
@@ -1 +1 @@
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,EAEpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,0BAA0B;;CACsB,CAAC;AA2B9D,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAyOrB"}
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,EAIpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,0BAA0B;;CACsB,CAAC;AAiE9D,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAoRrB"}
@@ -1,7 +1,9 @@
1
1
  import { ReadonlySignal, Signal } from '@preact/signals-core';
2
2
  import { Image, PaginatedList, PriceWithCurrency, Result } from '../../utils';
3
3
  import { ApplyDiscountError, RemoveDiscountError } from './discountErrors';
4
+ import { SubscriptionPaymentInstrument } from './paymentInstrument';
4
5
  import { InstantOrderProductsError, PlaceInstantOrderError } from './instantOrderErrors';
6
+ export type { SubscriptionPaymentInstrument };
5
7
  export interface SubscriptionItem {
6
8
  id: string;
7
9
  productId: string;
@@ -38,12 +40,51 @@ export interface SubscriptionItem {
38
40
  export interface PostableSubscriptionItem {
39
41
  variantId: string;
40
42
  quantity: number;
43
+ /**
44
+ * Per-line billing frequency for the added line. Omit (or pass null) to
45
+ * inherit the plan's frequency. Note there is no `deliveryPolicy`
46
+ * counterpart — no add-line endpoint accepts one; delivery follows billing.
47
+ *
48
+ * Nullable so a `SubscriptionItem` read off an existing subscription can be
49
+ * passed straight back in (see `SubscriptionStore.addItem`).
50
+ */
51
+ billingPolicy?: SellingPlanInterval | null;
52
+ /**
53
+ * Removes the line after this many billing cycles. Maps to `renewalLimit` on
54
+ * the wire. Null/omitted means no limit.
55
+ */
56
+ recurringCycleLimit?: number | null;
57
+ /**
58
+ * Shipping method to reconcile onto the subscription after the line is added.
59
+ * The add-line endpoint validates shipping and answers 409 when the current
60
+ * delivery method stops being available for the new line set.
61
+ */
62
+ shippingMethodHandle?: string;
63
+ /**
64
+ * Customer-editable custom attributes for the new line. Sent to the add-line
65
+ * endpoint as a `{key, value}` array. Entries with an empty key or an empty
66
+ * value are dropped — the endpoint declares both with minLength 1 and would
67
+ * reject the whole add with a 400.
68
+ * Internal (`_`-prefixed) / reserved keys must not be included: the add-line
69
+ * endpoint does not validate them, so they would land as real attributes.
70
+ * Max 50 keys.
71
+ */
72
+ customAttributes?: Record<string, string>;
41
73
  }
42
74
  export interface UpdateSubscriptionItem {
43
75
  variantId?: string;
44
76
  quantity?: number;
45
77
  billingPolicy?: SellingPlanInterval;
46
78
  shippingMethodHandle?: string;
79
+ /**
80
+ * The complete desired set of customer-visible custom attributes for the line.
81
+ * REPLACES the current set: keys present are set, customer-visible keys omitted
82
+ * are removed. Internal (`_`-prefixed) / reserved keys are preserved
83
+ * server-side and must not be sent (the endpoint answers 400). Send `{}` to
84
+ * clear. Same semantics as `updateItemAttributes`, which stays available for
85
+ * attribute-only edits.
86
+ */
87
+ customAttributes?: Record<string, string>;
47
88
  }
48
89
  export interface UpdateBoxItem {
49
90
  variantId: string;
@@ -60,6 +101,13 @@ export interface ShippingMethodOption {
60
101
  handle: string;
61
102
  title: string;
62
103
  price?: PriceWithCurrency;
104
+ /**
105
+ * True for the method the subscription is CURRENTLY on — not "selectable".
106
+ * Every option returned is available; this one marks the current selection,
107
+ * so do not filter on it. Absent when the source cannot say (the
108
+ * `DeliveryMethodConflict` payload does not carry it).
109
+ */
110
+ isActive?: boolean;
63
111
  }
64
112
  export interface DeliveryMethodConflict {
65
113
  code: "DELIVERY_METHOD_CONFLICT";
@@ -95,17 +143,60 @@ export interface SubscriptionDeliveryAnchor {
95
143
  export interface SubscriptionDeliveryPolicy extends SellingPlanInterval {
96
144
  anchors?: SubscriptionDeliveryAnchor[];
97
145
  }
98
- export interface SubscriptionPaymentInstrument {
99
- type: string;
100
- brand?: string;
101
- maskedNumber?: string;
102
- }
103
146
  export interface SubscriptionPaymentMethod {
104
147
  id: string;
105
148
  instrument?: SubscriptionPaymentInstrument | null;
149
+ /**
150
+ * False once the payment method has been revoked. Legacy-sourced only — the
151
+ * v1 `expand=paymentMethod` shape cannot express it, so `undefined` means
152
+ * "unknown", NOT "inactive". Treat undefined as active.
153
+ */
106
154
  active?: boolean;
155
+ /**
156
+ * False for a BLIK alias that is not authorized for recurring charges, which
157
+ * gates the re-authorization prompt (see RenewalSummary). Legacy-sourced only
158
+ * — `undefined` means "unknown", so do not treat it as "not recurring".
159
+ */
107
160
  isRecurring?: boolean;
161
+ /**
162
+ * Billing address for the payment method.
163
+ *
164
+ * v1-ONLY: `expand=paymentMethod` is the single customer-facing source. The
165
+ * legacy subscription and payment-method routes compute it server-side but
166
+ * their response schemas do not declare it, so Fastify strips it before it
167
+ * reaches the client. Consequently a host that overrides the whole payment
168
+ * method with legacy data (as the customer portal's enrichment adapter does)
169
+ * will not see it — see the note on that adapter.
170
+ */
171
+ billingAddress?: SubscriptionBillingAddress | null;
172
+ }
173
+ /**
174
+ * A payment method's billing address. Separate from `SubscriptionDeliveryAddress`
175
+ * because the v1 address resource carries more fields (company, phone, and both
176
+ * resolved display names and codes for country/province) and sends `null` rather
177
+ * than omitting empty values.
178
+ */
179
+ export interface SubscriptionBillingAddress {
180
+ firstName?: string | null;
181
+ lastName?: string | null;
182
+ address1?: string | null;
183
+ address2?: string | null;
184
+ zip?: string | null;
185
+ city?: string | null;
186
+ /** Resolved display name, e.g. "Germany" — v1 resolves this server-side. */
187
+ country?: string | null;
188
+ countryCode?: string | null;
189
+ /** Resolved display name, e.g. "Bavaria". */
190
+ province?: string | null;
191
+ provinceCode?: string | null;
192
+ phone?: string | null;
193
+ company?: string | null;
108
194
  }
195
+ /**
196
+ * A subscription's delivery address. Fields are optional and never null: both
197
+ * sources may omit any of them, and the adapters normalise a null to absent so
198
+ * consumers can test one field rather than each key.
199
+ */
109
200
  export interface SubscriptionDeliveryAddress {
110
201
  firstName?: string;
111
202
  lastName?: string;
@@ -113,18 +204,123 @@ export interface SubscriptionDeliveryAddress {
113
204
  address2?: string;
114
205
  zip?: string;
115
206
  city?: string;
207
+ /** Resolved display name, e.g. "Germany". v1-sourced only. */
208
+ country?: string;
116
209
  countryCode?: string;
210
+ /** Resolved display name, e.g. "Bavaria". */
117
211
  province?: string;
212
+ /** v1-sourced only — the legacy address has no province code. */
213
+ provinceCode?: string;
214
+ phone?: string;
215
+ company?: string;
118
216
  }
217
+ /**
218
+ * The write shape for a subscription's delivery address.
219
+ *
220
+ * Deliberately NOT `SubscriptionDeliveryAddress` — reads and writes are not
221
+ * symmetric here:
222
+ * - The write is a full replacement, so `firstName`, `lastName`, `address1`,
223
+ * `zip` and `city` are required; an omitted optional field is CLEARED, not
224
+ * left alone.
225
+ * - There is no `countryCode`: the endpoint rejects it and derives the country
226
+ * from the contract, so the country cannot be changed on this path.
227
+ * - `province` is the display NAME (e.g. "Bavaria"); the server resolves it to
228
+ * a code. There is no `provinceCode`, and no `country`.
229
+ *
230
+ * Callers must BUILD this object field by field. Handing over a
231
+ * `SubscriptionDeliveryAddress` with `countryCode` stripped would carry
232
+ * `country` / `provinceCode` along, and the endpoint forwards unknown keys
233
+ * verbatim into Shopify's address input, which declares neither.
234
+ */
235
+ export interface UpdateDeliveryAddress {
236
+ firstName: string;
237
+ lastName: string;
238
+ address1: string;
239
+ zip: string;
240
+ city: string;
241
+ address2?: string;
242
+ /** Province/state display name, e.g. "Bavaria" — the server resolves the code. */
243
+ province?: string;
244
+ phone?: string;
245
+ company?: string;
246
+ }
247
+ /** Failure modes of `updateDeliveryAddress`. */
248
+ export type UpdateDeliveryAddressError =
249
+ /**
250
+ * The merchant has customer address editing switched off. A block should
251
+ * hide or disable its control rather than surface this as an error.
252
+ */
253
+ {
254
+ kind: "NOT_ALLOWED";
255
+ }
256
+ /**
257
+ * Rejected either by the subscription's state (no delivery method at all, or
258
+ * a pickup method that cannot carry an address) or by Shopify's address
259
+ * validation. `message` is the endpoint's human-readable text, safe to show.
260
+ */
261
+ | {
262
+ kind: "INVALID_ADDRESS";
263
+ message?: string;
264
+ }
265
+ /**
266
+ * The subscription changed since it was read, so the write was refused
267
+ * (optimistic concurrency). Only possible when the host's fetcher sends an
268
+ * `X-Last-Updated-At` header, as the customer portal's does. Reload and let
269
+ * the customer retry rather than showing this as an address problem.
270
+ */
271
+ | {
272
+ kind: "STALE";
273
+ } | {
274
+ kind: "SUBSCRIPTION_NOT_FOUND";
275
+ } | {
276
+ kind: "NETWORK";
277
+ message?: string;
278
+ } | {
279
+ kind: "UNKNOWN";
280
+ message?: string;
281
+ };
282
+ /** Failure modes of `updateDeliveryMethod`. */
283
+ export type UpdateDeliveryMethodError =
284
+ /**
285
+ * Refused: either the merchant has customer delivery-method editing switched
286
+ * off, or the subscription contains a membership product. The endpoint
287
+ * answers both the same way, so they cannot be told apart here.
288
+ */
289
+ {
290
+ kind: "NOT_ALLOWED";
291
+ }
292
+ /** See the note on `UpdateDeliveryAddressError`'s `STALE`. */
293
+ | {
294
+ kind: "STALE";
295
+ } | {
296
+ kind: "SUBSCRIPTION_NOT_FOUND";
297
+ } | {
298
+ kind: "NETWORK";
299
+ message?: string;
300
+ } | {
301
+ kind: "UNKNOWN";
302
+ message?: string;
303
+ };
119
304
  export interface SubscriptionDeliveryOption {
120
305
  title?: string;
306
+ /**
307
+ * Customer-facing title where it differs from the internal one. Legacy-sourced
308
+ * only — v1 carries a single `title`, so consumers must read
309
+ * `presentmentTitle ?? title`.
310
+ */
121
311
  presentmentTitle?: string;
122
312
  description?: string;
123
313
  }
124
314
  /**
125
- * Delivery method for a subscription. Populated by the real adapter from the
126
- * legacy list endpoint (v1 does not return it). Used by ContractSelect to show
127
- * the delivery address and method.
315
+ * Delivery method for a subscription: the address plus whichever of the three
316
+ * option slots applies (exactly one — shipping, pickup, or local delivery).
317
+ *
318
+ * The real adapter maps this from the v1 subscription resource's `deliveryAddress`
319
+ * and `deliveryMethod`, both returned by default (no `expand` needed), so it is
320
+ * populated by every read — `search` and `getById` alike. `null` means the
321
+ * subscription genuinely has no delivery method; `undefined` means the host's
322
+ * adapter does not supply one. Used by ContractSelect to show the delivery
323
+ * address and method.
128
324
  */
129
325
  export interface SubscriptionDeliveryMethod {
130
326
  address?: SubscriptionDeliveryAddress | null;
@@ -178,8 +374,9 @@ export interface Subscription {
178
374
  */
179
375
  serial?: string;
180
376
  /**
181
- * Delivery address + shipping/pickup option. Populated by the real adapter from
182
- * the legacy list endpoint (v1 does not return it). Used by ContractSelect.
377
+ * Delivery address + shipping/pickup/local-delivery option. Populated by the
378
+ * real adapter from the v1 subscription resource (`deliveryAddress` +
379
+ * `deliveryMethod`). Used by ContractSelect.
183
380
  */
184
381
  deliveryMethod?: SubscriptionDeliveryMethod | null;
185
382
  }
@@ -280,27 +477,10 @@ export interface InstantOrderProducts {
280
477
  */
281
478
  available: boolean;
282
479
  requiresCheckout: boolean;
283
- /**
284
- * Saved cards the instant order may be charged to. Empty when none can be
285
- * charged directly — then `requiresCheckout` is what the customer sees.
286
- */
287
- paymentMethods: InstantOrderPaymentMethod[];
288
480
  products: InstantOrderProduct[];
289
481
  hasNextPage: boolean;
290
482
  endCursor: string | null;
291
483
  }
292
- /** A saved card the customer may pick for an instant order. */
293
- export interface InstantOrderPaymentMethod {
294
- /** Shopify CustomerPaymentMethod numeric id — what `placeInstantOrder` takes. */
295
- id: string;
296
- type: "credit_card" | "shop_pay";
297
- brand?: string;
298
- lastDigits?: string;
299
- expiryMonth?: number;
300
- expiryYear?: number;
301
- /** The card the subscription itself renews on — preselected by consumers. */
302
- isSubscriptionDefault: boolean;
303
- }
304
484
  /** Page/search parameters for {@link SubscriptionService.getInstantOrderProducts}. */
305
485
  export interface InstantOrderProductsQuery {
306
486
  /** Free-text product-title search, applied server-side. */
@@ -309,6 +489,39 @@ export interface InstantOrderProductsQuery {
309
489
  after?: string;
310
490
  limit?: number;
311
491
  }
492
+ /** Options for {@link SubscriptionService.placeInstantOrder}. */
493
+ export interface PlaceInstantOrderOptions {
494
+ /**
495
+ * Shipping rate the customer picked for this purchase, by the `title` of an
496
+ * option from {@link SubscriptionService.getAvailableShippingMethods}. The
497
+ * rate is re-quoted against the instant basket and its price replaces the
498
+ * subscription's delivery price for this order only. Omit to ship on the
499
+ * subscription's own delivery method.
500
+ *
501
+ * A title, because that is what the endpoint's body takes — and titles are
502
+ * not unique. Two available rates can share one, and the endpoint would apply
503
+ * whichever its own quote returned first, at that rate's price. So
504
+ * `placeInstantOrder` refuses a title it finds on more than one available
505
+ * option, with `AMBIGUOUS_SHIPPING_METHOD`, rather than sending something
506
+ * that cannot identify a rate. Pick from `getAvailableShippingMethods` and
507
+ * surface `handle` in your own UI to tell same-titled rates apart.
508
+ *
509
+ * That check is best-effort by construction and does not close the gap:
510
+ * it reads the rates quoted for the subscription's next delivery, while the
511
+ * endpoint re-quotes for the instant basket, so a duplicate title can exist
512
+ * there and not here. It also passes when the list cannot be read at all.
513
+ * Only the endpoint taking a `handle` would remove the ambiguity.
514
+ *
515
+ * A title the shop does not offer for this basket is refused server-side as
516
+ * `INVALID_REQUEST` — indistinguishable from a bad item list, since both
517
+ * arrive as 400 (see instantOrderErrors.ts), so copy for `INVALID_REQUEST`
518
+ * has to fit either cause. The order is never placed on a fallback rate.
519
+ *
520
+ * No stock block sets this — the instant-order overlay ships on the
521
+ * subscription's own method. It exists for hosts and custom blocks.
522
+ */
523
+ shippingMethodTitle?: string;
524
+ }
312
525
  /** Outcome of placing an instant order — `status` is what the caller acts on. */
313
526
  export interface InstantOrderPlacement {
314
527
  orderId: string;
@@ -382,6 +595,30 @@ export type SubscriptionService = {
382
595
  * reserved keys are preserved server-side and must not be included.
383
596
  */
384
597
  updateCustomAttributes(subscriptionId: string, customAttributes: Record<string, string>): Promise<Result<Subscription>>;
598
+ /**
599
+ * Replace the subscription's delivery address. A full replacement — see
600
+ * `UpdateDeliveryAddress` for why the write shape is not the read shape and
601
+ * why the country cannot be changed here. Refreshes `current` on success.
602
+ */
603
+ updateDeliveryAddress(subscriptionId: string, address: UpdateDeliveryAddress): Promise<Result<void, UpdateDeliveryAddressError>>;
604
+ /**
605
+ * Shipping methods the subscription can move to, including the one it is
606
+ * already on (flagged `isActive`). Also the way to recover from a
607
+ * `DeliveryMethodConflict` when its payload is not enough.
608
+ */
609
+ getAvailableShippingMethods(subscriptionId: string): Promise<Result<ShippingMethodOption[]>>;
610
+ /**
611
+ * Switch the subscription to `shippingMethodHandle`, one of the handles from
612
+ * `getAvailableShippingMethods`. Refreshes `current` on success.
613
+ *
614
+ * PICKUP POINTS ARE OUT OF SCOPE: no parcel-locker selection is sent, which
615
+ * the endpoint reads as "leave the existing pickup-point attributes alone".
616
+ * Switching a subscription off a parcel-locker method therefore leaves its
617
+ * locker attributes in place — deliberately, since clearing data this service
618
+ * cannot set back would be worse. Hosts that manage pickup points (the
619
+ * customer portal, via its own widgets) must keep doing so themselves.
620
+ */
621
+ updateDeliveryMethod(subscriptionId: string, shippingMethodHandle: string): Promise<Result<void, UpdateDeliveryMethodError>>;
385
622
  resume(subscriptionId: string): Promise<Result<Subscription>>;
386
623
  pause(subscriptionId: string): Promise<Result<Subscription>>;
387
624
  reactivate(subscriptionId: string): Promise<Result<Subscription>>;
@@ -412,13 +649,7 @@ export type SubscriptionService = {
412
649
  * across retries of one attempt, so a double-submit resolves to the order the
413
650
  * first request created instead of charging twice.
414
651
  */
415
- placeInstantOrder(subscriptionId: string, requestKey: string, items: PostableSubscriptionItem[], paymentMethodId?: string): Promise<Result<InstantOrderPlacement, PlaceInstantOrderError>>;
416
- /**
417
- * Current state of an instant order. Used to follow a `processing` placement
418
- * until the asynchronous charge settles as `paid`, `failed` or
419
- * `awaiting_payment`.
420
- */
421
- getInstantOrder(subscriptionId: string, orderId: string): Promise<Result<InstantOrderPlacement, PlaceInstantOrderError>>;
652
+ placeInstantOrder(subscriptionId: string, requestKey: string, items: PostableSubscriptionItem[], options?: PlaceInstantOrderOptions): Promise<Result<InstantOrderPlacement, PlaceInstantOrderError>>;
422
653
  /** Re-fetch `current` and `lastOrder` from the most recent in-focus subscription. */
423
654
  reload(): Promise<void>;
424
655
  };
@@ -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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"}
@@ -6,11 +6,18 @@ export type Wrap<T> = T extends Signal<infer V> ? [V, (value: V) => void] : T ex
6
6
  [K in keyof T]: Wrap<T[K]>;
7
7
  } : T;
8
8
  /**
9
- * Wraps a context value, converting signals to framework state tuples
9
+ * Wraps a context value, converting signal props to plain `[value, setter]`
10
+ * state tuples.
11
+ *
12
+ * The proxy is fully synchronous and hook-free. Reactivity is provided
13
+ * separately: `useContext` (react/preact) installs one coarse-grained
14
+ * subscription per context via `useContextSubscription`, which rerenders the
15
+ * component when any signal in the context changes — covering both tuple
16
+ * reads and method-internal signal reads. Keeping hooks out of the proxy
17
+ * makes double reads, conditional reads, and event-handler reads all legal.
10
18
  *
11
19
  * @param obj - The context value to wrap
12
- * @param toState - Function to convert a signal to framework state tuple
13
20
  * @returns The wrapped context value
14
21
  */
15
- export declare function wrapContext<T>(obj: T, toState: <V extends object>(signal: Signal<V>) => [V, (value: V) => void]): Wrap<T>;
22
+ export declare function wrapContext<T>(obj: T): Wrap<T>;
16
23
  //# sourceMappingURL=context.d.ts.map
@@ -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,CAoCT"}
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;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CA4C9C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared signal-graph walker for framework integrations
3
+ */
4
+ /**
5
+ * Reads `.value` of every signal reachable from `obj` — own enumerable
6
+ * props, recursing into plain nested objects. Calling this inside a
7
+ * signals `effect()` subscribes that effect to every signal in the
8
+ * context object graph; this is the coarse-grained subscription behind
9
+ * the react/preact `useContextSubscription` hooks.
10
+ *
11
+ * Skips functions and arrays (parity with the reach of the Vue `wrap()`
12
+ * recursion) and does not recurse into a signal's current value —
13
+ * services replace signal values immutably, so the signal itself is the
14
+ * unit of change. A WeakSet guards against cycles.
15
+ */
16
+ export declare function touchSignals(obj: unknown): void;
17
+ //# sourceMappingURL=touchSignals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchSignals.d.ts","sourceRoot":"","sources":["../../src/shared/touchSignals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAE/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=touchSignals.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchSignals.test.d.ts","sourceRoot":"","sources":["../../src/shared/touchSignals.test.ts"],"names":[],"mappings":""}