@shopify/ui-extensions 2026.10.0-rc.4 → 2026.10.0-rc.6

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.
@@ -21,7 +21,8 @@ const POS_EVENT_NAMES = {
21
21
  * @private
22
22
  */
23
23
  const POS_INTERCEPT_NAMES = {
24
- BEFORE_CHECKOUT: 'beforecheckout'
24
+ CART_VALIDATIONS: 'cartvalidations',
25
+ PAYMENT_VALIDATIONS: 'paymentvalidations'
25
26
  };
26
27
 
27
28
  /**
@@ -47,6 +48,73 @@ const POS_INTERCEPT_NAMES = {
47
48
  * @private
48
49
  */
49
50
 
51
+ /**
52
+ * The kind of payment method being attempted.
53
+ *
54
+ * @private
55
+ */
56
+
57
+ /**
58
+ * Identifies the payment method being attempted.
59
+ *
60
+ * `type` alone identifies singleton methods (for example `cash`). `identifier`
61
+ * disambiguates method types a shop can have several of (for example custom
62
+ * payment methods) as they become interceptable.
63
+ *
64
+ * @private
65
+ */
66
+
67
+ /**
68
+ * Dispatched when a tender is confirmed but not yet committed — after the
69
+ * amount is entered, before the payment is recorded. One event per tender
70
+ * attempt; split payments dispatch one event per tender, each carrying its
71
+ * own amount.
72
+ *
73
+ * @private
74
+ */
75
+
76
+ /**
77
+ * Targets the whole cart rather than a specific line item.
78
+ *
79
+ * @private
80
+ */
81
+
82
+ /**
83
+ * Targets one cart line item by its `uuid` from this event's `cart` snapshot,
84
+ * for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
85
+ *
86
+ * @private
87
+ */
88
+
89
+ /** @private */
90
+
91
+ /**
92
+ * Targets the payment attempt being intercepted.
93
+ *
94
+ * @private
95
+ */
96
+
97
+ /** @private */
98
+
99
+ /**
100
+ * Where a validation applies, as an enumerated token. Targets are matched
101
+ * as exact strings, never evaluated as JSON paths.
102
+ *
103
+ * @private
104
+ */
105
+
106
+ /**
107
+ * Maps POS interceptable workflow names to their valid validation targets.
108
+ *
109
+ * @private
110
+ */
111
+
112
+ /**
113
+ * The validation targets valid for a given intercepted event.
114
+ *
115
+ * @private
116
+ */
117
+
50
118
  /** @private */
51
119
 
52
120
  /**
@@ -17,7 +17,8 @@ const POS_EVENT_NAMES = {
17
17
  * @private
18
18
  */
19
19
  const POS_INTERCEPT_NAMES = {
20
- BEFORE_CHECKOUT: 'beforecheckout'
20
+ CART_VALIDATIONS: 'cartvalidations',
21
+ PAYMENT_VALIDATIONS: 'paymentvalidations'
21
22
  };
22
23
 
23
24
  /**
@@ -43,6 +44,73 @@ const POS_INTERCEPT_NAMES = {
43
44
  * @private
44
45
  */
45
46
 
47
+ /**
48
+ * The kind of payment method being attempted.
49
+ *
50
+ * @private
51
+ */
52
+
53
+ /**
54
+ * Identifies the payment method being attempted.
55
+ *
56
+ * `type` alone identifies singleton methods (for example `cash`). `identifier`
57
+ * disambiguates method types a shop can have several of (for example custom
58
+ * payment methods) as they become interceptable.
59
+ *
60
+ * @private
61
+ */
62
+
63
+ /**
64
+ * Dispatched when a tender is confirmed but not yet committed — after the
65
+ * amount is entered, before the payment is recorded. One event per tender
66
+ * attempt; split payments dispatch one event per tender, each carrying its
67
+ * own amount.
68
+ *
69
+ * @private
70
+ */
71
+
72
+ /**
73
+ * Targets the whole cart rather than a specific line item.
74
+ *
75
+ * @private
76
+ */
77
+
78
+ /**
79
+ * Targets one cart line item by its `uuid` from this event's `cart` snapshot,
80
+ * for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
81
+ *
82
+ * @private
83
+ */
84
+
85
+ /** @private */
86
+
87
+ /**
88
+ * Targets the payment attempt being intercepted.
89
+ *
90
+ * @private
91
+ */
92
+
93
+ /** @private */
94
+
95
+ /**
96
+ * Where a validation applies, as an enumerated token. Targets are matched
97
+ * as exact strings, never evaluated as JSON paths.
98
+ *
99
+ * @private
100
+ */
101
+
102
+ /**
103
+ * Maps POS interceptable workflow names to their valid validation targets.
104
+ *
105
+ * @private
106
+ */
107
+
108
+ /**
109
+ * The validation targets valid for a given intercepted event.
110
+ *
111
+ * @private
112
+ */
113
+
46
114
  /** @private */
47
115
 
48
116
  /**
@@ -17,7 +17,8 @@ const POS_EVENT_NAMES = {
17
17
  * @private
18
18
  */
19
19
  const POS_INTERCEPT_NAMES = {
20
- BEFORE_CHECKOUT: 'beforecheckout'
20
+ CART_VALIDATIONS: 'cartvalidations',
21
+ PAYMENT_VALIDATIONS: 'paymentvalidations'
21
22
  };
22
23
 
23
24
  /**
@@ -43,6 +44,73 @@ const POS_INTERCEPT_NAMES = {
43
44
  * @private
44
45
  */
45
46
 
47
+ /**
48
+ * The kind of payment method being attempted.
49
+ *
50
+ * @private
51
+ */
52
+
53
+ /**
54
+ * Identifies the payment method being attempted.
55
+ *
56
+ * `type` alone identifies singleton methods (for example `cash`). `identifier`
57
+ * disambiguates method types a shop can have several of (for example custom
58
+ * payment methods) as they become interceptable.
59
+ *
60
+ * @private
61
+ */
62
+
63
+ /**
64
+ * Dispatched when a tender is confirmed but not yet committed — after the
65
+ * amount is entered, before the payment is recorded. One event per tender
66
+ * attempt; split payments dispatch one event per tender, each carrying its
67
+ * own amount.
68
+ *
69
+ * @private
70
+ */
71
+
72
+ /**
73
+ * Targets the whole cart rather than a specific line item.
74
+ *
75
+ * @private
76
+ */
77
+
78
+ /**
79
+ * Targets one cart line item by its `uuid` from this event's `cart` snapshot,
80
+ * for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
81
+ *
82
+ * @private
83
+ */
84
+
85
+ /** @private */
86
+
87
+ /**
88
+ * Targets the payment attempt being intercepted.
89
+ *
90
+ * @private
91
+ */
92
+
93
+ /** @private */
94
+
95
+ /**
96
+ * Where a validation applies, as an enumerated token. Targets are matched
97
+ * as exact strings, never evaluated as JSON paths.
98
+ *
99
+ * @private
100
+ */
101
+
102
+ /**
103
+ * Maps POS interceptable workflow names to their valid validation targets.
104
+ *
105
+ * @private
106
+ */
107
+
108
+ /**
109
+ * The validation targets valid for a given intercepted event.
110
+ *
111
+ * @private
112
+ */
113
+
46
114
  /** @private */
47
115
 
48
116
  /**
@@ -116,12 +116,13 @@ export interface ButtonJSXProps
116
116
  >;
117
117
  /**
118
118
  * Changes the visual appearance of the button.
119
+ * - `auto`: Automatically determines the button variant based on its context.
119
120
  * - `primary`: Creates a prominent call-to-action button with high visual emphasis for the most important action on a screen.
120
121
  * - `secondary`: Provides a less prominent button appearance for supporting actions and secondary interactions.
121
122
  *
122
- * @default 'auto' - the variant is automatically determined by the button's context
123
+ * @default 'auto'
123
124
  */
124
- variant?: Extract<ButtonProps['variant'], 'primary' | 'secondary'>;
125
+ variant?: Extract<ButtonProps['variant'], 'auto' | 'primary' | 'secondary'>;
125
126
  /**
126
127
  * An event that's called when the button is activated.
127
128
  */
@@ -1438,7 +1438,7 @@ export interface ButtonProps extends GlobalProps, BaseClickableProps {
1438
1438
  /**
1439
1439
  * Changes the visual appearance of the button.
1440
1440
  *
1441
- * @default 'auto' - the variant is automatically determined by the button's context
1441
+ * @default 'auto'
1442
1442
  */
1443
1443
  variant?: 'auto' | 'primary' | 'secondary' | 'tertiary';
1444
1444
  /**
@@ -1,6 +1,7 @@
1
1
  import type { TransactionCompleteEvent } from './events/transaction-complete-event';
2
2
  import type { CashTrackingSessionStartEvent, CashTrackingSessionCompleteEvent } from './events/cash-tracking-session-events';
3
3
  import type { Cart } from './types/cart';
4
+ import type { MoneyV2 } from './types/money';
4
5
  /**
5
6
  * Canonical event-name constants for POS host events. Prefer these over string
6
7
  * literals when calling `shopify.addEventListener` / `removeEventListener`.
@@ -19,7 +20,8 @@ export declare const POS_EVENT_NAMES: {
19
20
  * @private
20
21
  */
21
22
  export declare const POS_INTERCEPT_NAMES: {
22
- readonly BEFORE_CHECKOUT: "beforecheckout";
23
+ readonly CART_VALIDATIONS: "cartvalidations";
24
+ readonly PAYMENT_VALIDATIONS: "paymentvalidations";
23
25
  };
24
26
  /**
25
27
  * Maps Shopify POS event names to their corresponding payload types.
@@ -48,36 +50,117 @@ export interface ShopifyEventMap {
48
50
  * @private
49
51
  */
50
52
  export interface ShopifyInterceptMap {
51
- [POS_INTERCEPT_NAMES.BEFORE_CHECKOUT]: BeforeCheckoutEvent;
53
+ [POS_INTERCEPT_NAMES.CART_VALIDATIONS]: CartValidationsEvent;
54
+ [POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS]: PaymentValidationsEvent;
52
55
  }
53
56
  /**
54
57
  * Dispatched when staff attempts to leave the active cart for checkout.
55
58
  *
56
59
  * @private
57
60
  */
58
- export interface BeforeCheckoutEvent extends Event {
59
- readonly type: typeof POS_INTERCEPT_NAMES.BEFORE_CHECKOUT;
61
+ export interface CartValidationsEvent extends Event {
62
+ readonly type: typeof POS_INTERCEPT_NAMES.CART_VALIDATIONS;
60
63
  /** The POS cart at the point checkout was requested. */
61
64
  readonly cart: Cart;
62
65
  }
66
+ /**
67
+ * The kind of payment method being attempted.
68
+ *
69
+ * @private
70
+ */
71
+ export type InterceptedPaymentMethodType = 'cash';
72
+ /**
73
+ * Identifies the payment method being attempted.
74
+ *
75
+ * `type` alone identifies singleton methods (for example `cash`). `identifier`
76
+ * disambiguates method types a shop can have several of (for example custom
77
+ * payment methods) as they become interceptable.
78
+ *
79
+ * @private
80
+ */
81
+ export interface InterceptedPaymentMethod {
82
+ readonly type: InterceptedPaymentMethodType;
83
+ /** Present when `type` alone is ambiguous. Matching is exact on the pair. */
84
+ readonly identifier?: string;
85
+ }
86
+ /**
87
+ * Dispatched when a tender is confirmed but not yet committed — after the
88
+ * amount is entered, before the payment is recorded. One event per tender
89
+ * attempt; split payments dispatch one event per tender, each carrying its
90
+ * own amount.
91
+ *
92
+ * @private
93
+ */
94
+ export interface PaymentValidationsEvent extends Event {
95
+ readonly type: typeof POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS;
96
+ /** The payment method staff selected. */
97
+ readonly paymentMethod: InterceptedPaymentMethod;
98
+ /** The amount this tender would charge, in presentment currency. */
99
+ readonly amount: MoneyV2;
100
+ }
101
+ /**
102
+ * Targets the whole cart rather than a specific line item.
103
+ *
104
+ * @private
105
+ */
106
+ export type CartTarget = '$.cart';
107
+ /**
108
+ * Targets one cart line item by its `uuid` from this event's `cart` snapshot,
109
+ * for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
110
+ *
111
+ * @private
112
+ */
113
+ export type CartLineItemTarget = `$.cart.lineItems['${string}']`;
63
114
  /** @private */
64
- export type ShopifyInterceptor<TEvent extends Event> = (event: TEvent) => InterceptResult;
115
+ export type CartValidationTarget = CartTarget | CartLineItemTarget;
116
+ /**
117
+ * Targets the payment attempt being intercepted.
118
+ *
119
+ * @private
120
+ */
121
+ export type PaymentTarget = '$.payment';
122
+ /** @private */
123
+ export type PaymentValidationTarget = PaymentTarget;
124
+ /**
125
+ * Where a validation applies, as an enumerated token. Targets are matched
126
+ * as exact strings, never evaluated as JSON paths.
127
+ *
128
+ * @private
129
+ */
130
+ export type ValidationTarget = CartValidationTarget | PaymentValidationTarget;
131
+ /**
132
+ * Maps POS interceptable workflow names to their valid validation targets.
133
+ *
134
+ * @private
135
+ */
136
+ interface ValidationTargetMap {
137
+ [POS_INTERCEPT_NAMES.CART_VALIDATIONS]: CartValidationTarget;
138
+ [POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS]: PaymentValidationTarget;
139
+ }
140
+ /**
141
+ * The validation targets valid for a given intercepted event.
142
+ *
143
+ * @private
144
+ */
145
+ export type ValidationTargetFor<TEvent extends Event> = TEvent['type'] extends keyof ValidationTargetMap ? ValidationTargetMap[TEvent['type']] : ValidationTarget;
146
+ /** @private */
147
+ export type ShopifyInterceptor<TEvent extends Event> = (event: TEvent) => InterceptResult<ValidationTargetFor<TEvent>>;
65
148
  /**
66
149
  * The result an interceptor returns. An empty `operations` list allows the
67
150
  * workflow; an `ERROR` validation blocks it.
68
151
  *
69
152
  * @private
70
153
  */
71
- export interface InterceptResult {
72
- operations: Operation[];
154
+ export interface InterceptResult<TTarget extends ValidationTarget = ValidationTarget> {
155
+ operations: Operation<TTarget>[];
73
156
  }
74
157
  /**
75
158
  * A single host operation produced by an interceptor.
76
159
  *
77
160
  * @private
78
161
  */
79
- export interface Operation {
80
- validationAdd?: ValidationAdd;
162
+ export interface Operation<TTarget extends ValidationTarget = ValidationTarget> {
163
+ validationAdd?: ValidationAdd<TTarget>;
81
164
  }
82
165
  /** @private */
83
166
  export type ValidationLevel = 'WARNING' | 'ERROR';
@@ -86,13 +169,27 @@ export type ValidationLevel = 'WARNING' | 'ERROR';
86
169
  *
87
170
  * @private
88
171
  */
89
- export interface ValidationAdd {
172
+ export interface ValidationAdd<TTarget extends ValidationTarget = ValidationTarget> {
90
173
  /** `ERROR` blocks the workflow. `WARNING` does not. */
91
174
  level: ValidationLevel;
92
- /** Stable identifier for this validation. */
175
+ /**
176
+ * Stable identifier for this validation. Handles are namespaced per
177
+ * extension and may repeat across targets: the same handle on two line
178
+ * items is two validations.
179
+ */
93
180
  handle: string;
94
- /** JSON-path locator for where the validation applies. */
95
- target?: string;
181
+ /**
182
+ * Locates the data the validation applies to; the host decides where it
183
+ * renders. Omitted or unrecognized targets fall back to the event's root
184
+ * scope (`$.cart` / `$.payment`) — the validation still applies, rendered
185
+ * less specifically.
186
+ *
187
+ * Line item uuids are only valid within the event that delivered them:
188
+ * use `lineItems[n].uuid` from this event's cart snapshot, don't cache
189
+ * uuids across events. Bundle components are not addressable; target
190
+ * their parent line.
191
+ */
192
+ target?: TTarget;
96
193
  }
97
194
  export type { TransactionCompleteEvent, CashTrackingSessionStartEvent, CashTrackingSessionCompleteEvent, };
98
195
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EACV,6BAA6B,EAC7B,gCAAgC,EACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;CAEtB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IACjE,qDAAqD;IACrD,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE,6BAA6B,CAAC;IAC7E,2EAA2E;IAC3E,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAAE,gCAAgC,CAAC;CACpF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CAC5D;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC,eAAe,CAAC;IAC1D,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,eAAe;AACf,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,KAAK,IAAI,CACrD,KAAK,EAAE,MAAM,KACV,eAAe,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,eAAe;AACf,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,KAAK,EAAE,eAAe,CAAC;IAEvB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,GACjC,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EACV,6BAA6B,EAC7B,gCAAgC,EACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IACjE,qDAAqD;IACrD,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE,6BAA6B,CAAC;IAC7E,2EAA2E;IAC3E,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAAE,gCAAgC,CAAC;CACpF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAC7D,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC,gBAAgB,CAAC;IAC3D,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAE5C,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAwB,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC,mBAAmB,CAAC;IAE9D,yCAAyC;IACzC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IAEjD,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,MAAM,IAAI,CAAC;AAEjE,eAAe;AACf,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,eAAe;AACf,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAE9E;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAC7D,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,KAAK,IAClD,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,mBAAmB,GAC5C,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GACnC,gBAAgB,CAAC;AAEvB,eAAe;AACf,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,KAAK,IAAI,CACrD,KAAK,EAAE,MAAM,KACV,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAEnD,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS,CACxB,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAEnD,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,eAAe;AACf,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAEnD,uDAAuD;IACvD,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,GACjC,CAAC"}
@@ -181,9 +181,9 @@ export interface RenderExtensionTargets {
181
181
  /**
182
182
  * Renders a full-screen modal interface launched from cart line item menu items. Use this target for complex line item workflows that require forms, multi-step processes, or detailed information displays beyond what a simple button can provide.
183
183
  *
184
- * Extensions at this target have access to detailed line item data through the Cart Line Item API and support workflows with multiple screens, navigation, and interactive components.
184
+ * Extensions at this target have access to detailed line item data through the Cart Line Item API and support workflows with multiple screens, navigation, and interactive components. Action render targets are themselves the modal destination, so the Action API (`shopify.action.presentModal()`) is not available here; use the Navigation API for in-workflow navigation.
185
185
  */
186
- 'pos.cart.line-item-details.action.render': RenderExtension<ActionTargetApi<'pos.cart.line-item-details.action.render'> & ActionApi & CartApi & CartLineItemApi, BasicComponents>;
186
+ 'pos.cart.line-item-details.action.render': RenderExtension<ActionTargetApi<'pos.cart.line-item-details.action.render'> & CartApi & CartLineItemApi, BasicComponents>;
187
187
  /**
188
188
  * Renders a custom section in the footer of printed receipts. Use this target for adding contact details, return policies, social media links, or customer engagement elements like survey links or marketing campaigns at the bottom of receipts.
189
189
  *
@@ -1 +1 @@
1
- {"version":3,"file":"extension-targets.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/extension-targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-targets.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/extension-targets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EACP,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACd,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAC;AAC5F,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,0CAA0C,CAAC;AAClF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAC,kCAAkC,EAAC,MAAM,cAAc,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,oBAAoB,EAAE,iBAAiB,CACrC,aAAa,CAAC,oBAAoB,CAAC,EACnC,SAAS,CACV,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,sBAAsB,EAAE,eAAe,CACrC,WAAW,CAAC,sBAAsB,CAAC,GAAG,SAAS,GAAG,OAAO,EACzD,mBAAmB,CACpB,CAAC;IACF;;;;OAIG;IACH,uBAAuB,EAAE,eAAe,CACtC,eAAe,CAAC,uBAAuB,CAAC,GAAG,OAAO,EAClD,eAAe,CAChB,CAAC;IACF;;;;;;OAMG;IACH,yCAAyC,EAAE,eAAe,CACxD,WAAW,CAAC,yCAAyC,CAAC,GACpD,SAAS,GACT,QAAQ,EACV,yBAAyB,CAC1B,CAAC;IACF;;;;;;OAMG;IACH,+BAA+B,EAAE,eAAe,CAC9C,eAAe,CAAC,+BAA+B,CAAC,GAAG,QAAQ,EAC3D,eAAe,CAChB,CAAC;IACF;;;;;;OAMG;IACH,8BAA8B,EAAE,eAAe,CAC7C,WAAW,CAAC,8BAA8B,CAAC,GAAG,QAAQ,GAAG,SAAS,EAClE,wBAAwB,CACzB,CAAC;IACF;;;;;;OAMG;IACH,2CAA2C,EAAE,eAAe,CAC1D,WAAW,CAAC,2CAA2C,CAAC,GACtD,SAAS,GACT,QAAQ,EACV,yBAAyB,CAC1B,CAAC;IACF;;;;;;OAMG;IACH,iCAAiC,EAAE,eAAe,CAChD,eAAe,CAAC,iCAAiC,CAAC,GAAG,QAAQ,EAC7D,eAAe,CAChB,CAAC;IACF;;;;;;OAMG;IACH,gCAAgC,EAAE,eAAe,CAC/C,WAAW,CAAC,gCAAgC,CAAC,GAAG,QAAQ,GAAG,SAAS,EACpE,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,2CAA2C,EAAE,eAAe,CAC1D,WAAW,CAAC,2CAA2C,CAAC,GACtD,SAAS,GACT,QAAQ,EACV,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,iCAAiC,EAAE,eAAe,CAChD,eAAe,CAAC,iCAAiC,CAAC,GAAG,QAAQ,EAC7D,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,gCAAgC,EAAE,eAAe,CAC/C,WAAW,CAAC,gCAAgC,CAAC,GAAG,QAAQ,GAAG,SAAS,EACpE,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,6CAA6C,EAAE,eAAe,CAC5D,WAAW,CAAC,6CAA6C,CAAC,GACxD,SAAS,GACT,OAAO,GACP,UAAU,EACZ,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,mCAAmC,EAAE,eAAe,CAClD,eAAe,CAAC,mCAAmC,CAAC,GAAG,OAAO,GAAG,UAAU,EAC3E,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,kCAAkC,EAAE,eAAe,CACjD,WAAW,CAAC,kCAAkC,CAAC,GAC7C,OAAO,GACP,UAAU,GACV,SAAS,EACX,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,2CAA2C,EAAE,eAAe,CAC1D,WAAW,CAAC,2CAA2C,CAAC,GACtD,SAAS,GACT,OAAO,GACP,QAAQ,EACV,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,iCAAiC,EAAE,eAAe,CAChD,eAAe,CAAC,iCAAiC,CAAC,GAAG,OAAO,GAAG,QAAQ,EACvE,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,gCAAgC,EAAE,eAAe,CAC/C,WAAW,CAAC,gCAAgC,CAAC,GAC3C,OAAO,GACP,QAAQ,GACR,SAAS,EACX,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,iDAAiD,EAAE,eAAe,CAChE,WAAW,CAAC,iDAAiD,CAAC,GAC5D,SAAS,GACT,OAAO,GACP,aAAa,EACf,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,uCAAuC,EAAE,eAAe,CACtD,eAAe,CAAC,uCAAuC,CAAC,GACtD,aAAa,GACb,OAAO,EACT,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,sCAAsC,EAAE,eAAe,CACrD,WAAW,CAAC,sCAAsC,CAAC,GACjD,SAAS,GACT,OAAO,GACP,aAAa,EACf,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,8CAA8C,EAAE,eAAe,CAC7D,WAAW,CAAC,8CAA8C,CAAC,GACzD,SAAS,GACT,OAAO,GACP,WAAW,EACb,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,oCAAoC,EAAE,eAAe,CACnD,eAAe,CAAC,oCAAoC,CAAC,GACnD,OAAO,GACP,WAAW,EACb,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,mCAAmC,EAAE,eAAe,CAClD,WAAW,CAAC,mCAAmC,CAAC,GAC9C,OAAO,GACP,WAAW,GACX,SAAS,EACX,wBAAwB,CACzB,CAAC;IACF;;;;OAIG;IACH,oDAAoD,EAAE,eAAe,CACnE,WAAW,CAAC,oDAAoD,CAAC,GAC/D,SAAS,GACT,OAAO,GACP,eAAe,EACjB,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,0CAA0C,EAAE,eAAe,CACzD,eAAe,CAAC,0CAA0C,CAAC,GACzD,OAAO,GACP,eAAe,EACjB,eAAe,CAChB,CAAC;IACF;;;;;;OAMG;IACH,iCAAiC,EAAE,eAAe,CAChD;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAG,UAAU,GAAG,kCAAkC,EACtE,iBAAiB,CAClB,CAAC;IACF;;;;;;OAMG;IACH,iCAAiC,EAAE,eAAe,CAChD;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAG,UAAU,GAAG,kCAAkC,EACtE,iBAAiB,CAClB,CAAC;IACF;;;;OAIG;IACH,8CAA8C,EAAE,eAAe,CAC7D,WAAW,CAAC,8CAA8C,CAAC,GACzD,SAAS,GACT,aAAa,EACf,yBAAyB,CAC1B,CAAC;IACF;;;;OAIG;IACH,oCAAoC,EAAE,eAAe,CACnD,eAAe,CAAC,oCAAoC,CAAC,GAAG,aAAa,EACrE,eAAe,CAChB,CAAC;IACF;;;;OAIG;IACH,mCAAmC,EAAE,eAAe,CAClD,WAAW,CAAC,mCAAmC,CAAC,GAC9C,SAAS,GACT,aAAa,EACf,wBAAwB,CACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBACf,SAAQ,sBAAsB,EAC5B,oBAAoB;CAAG;AAE3B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,sBAAsB,CAAC;AACjE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AAC7D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC"}