@shopify/ui-extensions 2026.10.0-rc.4 → 2026.10.0-rc.7
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.
- package/build/cjs/surfaces/point-of-sale/events.js +81 -2
- package/build/esm/surfaces/point-of-sale/events.mjs +81 -2
- package/build/esnext/surfaces/point-of-sale/events.esnext +81 -2
- package/build/ts/surfaces/point-of-sale/api/resolution-api/resolution-api.d.ts +23 -0
- package/build/ts/surfaces/point-of-sale/api/resolution-api/resolution-api.d.ts.map +1 -0
- package/build/ts/surfaces/point-of-sale/api.d.ts +1 -0
- package/build/ts/surfaces/point-of-sale/api.d.ts.map +1 -1
- package/build/ts/surfaces/point-of-sale/components/Button.d.ts +3 -2
- package/build/ts/surfaces/point-of-sale/components/Image.d.ts +26 -1
- package/build/ts/surfaces/point-of-sale/components/components-shared.d.ts +1 -1
- package/build/ts/surfaces/point-of-sale/components/targets/ResolutionComponents.d.ts +10 -0
- package/build/ts/surfaces/point-of-sale/components/targets/ResolutionComponents.d.ts.map +1 -0
- package/build/ts/surfaces/point-of-sale/events.d.ts +125 -15
- package/build/ts/surfaces/point-of-sale/events.d.ts.map +1 -1
- package/build/ts/surfaces/point-of-sale/extension-targets.d.ts +17 -3
- package/build/ts/surfaces/point-of-sale/extension-targets.d.ts.map +1 -1
- package/build/ts/surfaces/point-of-sale/globals.d.ts +1 -1
- package/build/ts/surfaces/point-of-sale/globals.d.ts.map +1 -1
- package/build/ts/surfaces/point-of-sale/targets/pos.cart.validations.resolution.render.d.ts +44 -0
- package/build/ts/surfaces/point-of-sale/targets/pos.payment.validations.resolution.render.d.ts +44 -0
- package/build/ts/surfaces/point-of-sale/types/storage.d.ts +1 -1
- package/build/ts/surfaces/point-of-sale/types/storage.d.ts.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/surfaces/point-of-sale/api/resolution-api/resolution-api.ts +24 -0
- package/src/surfaces/point-of-sale/api.ts +4 -0
- package/src/surfaces/point-of-sale/components/Button.d.ts +3 -2
- package/src/surfaces/point-of-sale/components/Image.d.ts +26 -1
- package/src/surfaces/point-of-sale/components/components-shared.d.ts +1 -1
- package/src/surfaces/point-of-sale/components/targets/ResolutionComponents.ts +13 -0
- package/src/surfaces/point-of-sale/components.d.ts +43 -5
- package/src/surfaces/point-of-sale/events.ts +147 -17
- package/src/surfaces/point-of-sale/extension-targets.ts +33 -2
- package/src/surfaces/point-of-sale/globals.ts +1 -1
- package/src/surfaces/point-of-sale/types/storage.ts +1 -1
|
@@ -21,7 +21,8 @@ const POS_EVENT_NAMES = {
|
|
|
21
21
|
* @private
|
|
22
22
|
*/
|
|
23
23
|
const POS_INTERCEPT_NAMES = {
|
|
24
|
-
|
|
24
|
+
CART_VALIDATIONS: 'cartvalidations',
|
|
25
|
+
PAYMENT_VALIDATIONS: 'paymentvalidations'
|
|
25
26
|
};
|
|
26
27
|
|
|
27
28
|
/**
|
|
@@ -42,13 +43,91 @@ const POS_INTERCEPT_NAMES = {
|
|
|
42
43
|
*/
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
|
-
*
|
|
46
|
+
* The data carried by a `cartvalidations` event.
|
|
47
|
+
*
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The event a `cartvalidations` interceptor receives. Carries a snapshot of
|
|
53
|
+
* the POS cart taken when the event was produced.
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The kind of payment method being attempted.
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Identifies the payment method being attempted.
|
|
66
|
+
*
|
|
67
|
+
* `type` alone identifies singleton methods (for example `cash`). `identifier`
|
|
68
|
+
* disambiguates method types a shop can have several of (for example custom
|
|
69
|
+
* payment methods) as they become interceptable.
|
|
70
|
+
*
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The event a `paymentvalidations` interceptor receives. Carries the tender
|
|
76
|
+
* attempt's payment method and amount; split payments produce one event per
|
|
77
|
+
* tender, each with its own amount.
|
|
78
|
+
*
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* The data carried by a `paymentvalidations` event.
|
|
84
|
+
*
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Targets the whole cart rather than a specific line item.
|
|
90
|
+
*
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Targets one cart line item by its `uuid` from this event's `cart` snapshot,
|
|
96
|
+
* for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
|
|
46
97
|
*
|
|
47
98
|
* @private
|
|
48
99
|
*/
|
|
49
100
|
|
|
50
101
|
/** @private */
|
|
51
102
|
|
|
103
|
+
/**
|
|
104
|
+
* Targets the payment attempt being intercepted.
|
|
105
|
+
*
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
/** @private */
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Where a validation applies, as an enumerated token. Targets are matched
|
|
113
|
+
* as exact strings, never evaluated as JSON paths.
|
|
114
|
+
*
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Maps POS interceptable workflow names to their valid validation targets.
|
|
120
|
+
*
|
|
121
|
+
* @private
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* The interceptor callback for a POS interceptable workflow, keyed by the
|
|
126
|
+
* workflow name so the event and its valid validation targets stay paired.
|
|
127
|
+
*
|
|
128
|
+
* @private
|
|
129
|
+
*/
|
|
130
|
+
|
|
52
131
|
/**
|
|
53
132
|
* The result an interceptor returns. An empty `operations` list allows the
|
|
54
133
|
* workflow; an `ERROR` validation blocks it.
|
|
@@ -17,7 +17,8 @@ const POS_EVENT_NAMES = {
|
|
|
17
17
|
* @private
|
|
18
18
|
*/
|
|
19
19
|
const POS_INTERCEPT_NAMES = {
|
|
20
|
-
|
|
20
|
+
CART_VALIDATIONS: 'cartvalidations',
|
|
21
|
+
PAYMENT_VALIDATIONS: 'paymentvalidations'
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -38,13 +39,91 @@ const POS_INTERCEPT_NAMES = {
|
|
|
38
39
|
*/
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
|
-
*
|
|
42
|
+
* The data carried by a `cartvalidations` event.
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The event a `cartvalidations` interceptor receives. Carries a snapshot of
|
|
49
|
+
* the POS cart taken when the event was produced.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The kind of payment method being attempted.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Identifies the payment method being attempted.
|
|
62
|
+
*
|
|
63
|
+
* `type` alone identifies singleton methods (for example `cash`). `identifier`
|
|
64
|
+
* disambiguates method types a shop can have several of (for example custom
|
|
65
|
+
* payment methods) as they become interceptable.
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The event a `paymentvalidations` interceptor receives. Carries the tender
|
|
72
|
+
* attempt's payment method and amount; split payments produce one event per
|
|
73
|
+
* tender, each with its own amount.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The data carried by a `paymentvalidations` event.
|
|
80
|
+
*
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Targets the whole cart rather than a specific line item.
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Targets one cart line item by its `uuid` from this event's `cart` snapshot,
|
|
92
|
+
* for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
|
|
42
93
|
*
|
|
43
94
|
* @private
|
|
44
95
|
*/
|
|
45
96
|
|
|
46
97
|
/** @private */
|
|
47
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Targets the payment attempt being intercepted.
|
|
101
|
+
*
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/** @private */
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Where a validation applies, as an enumerated token. Targets are matched
|
|
109
|
+
* as exact strings, never evaluated as JSON paths.
|
|
110
|
+
*
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Maps POS interceptable workflow names to their valid validation targets.
|
|
116
|
+
*
|
|
117
|
+
* @private
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The interceptor callback for a POS interceptable workflow, keyed by the
|
|
122
|
+
* workflow name so the event and its valid validation targets stay paired.
|
|
123
|
+
*
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
|
|
48
127
|
/**
|
|
49
128
|
* The result an interceptor returns. An empty `operations` list allows the
|
|
50
129
|
* workflow; an `ERROR` validation blocks it.
|
|
@@ -17,7 +17,8 @@ const POS_EVENT_NAMES = {
|
|
|
17
17
|
* @private
|
|
18
18
|
*/
|
|
19
19
|
const POS_INTERCEPT_NAMES = {
|
|
20
|
-
|
|
20
|
+
CART_VALIDATIONS: 'cartvalidations',
|
|
21
|
+
PAYMENT_VALIDATIONS: 'paymentvalidations'
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -38,13 +39,91 @@ const POS_INTERCEPT_NAMES = {
|
|
|
38
39
|
*/
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
|
-
*
|
|
42
|
+
* The data carried by a `cartvalidations` event.
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The event a `cartvalidations` interceptor receives. Carries a snapshot of
|
|
49
|
+
* the POS cart taken when the event was produced.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The kind of payment method being attempted.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Identifies the payment method being attempted.
|
|
62
|
+
*
|
|
63
|
+
* `type` alone identifies singleton methods (for example `cash`). `identifier`
|
|
64
|
+
* disambiguates method types a shop can have several of (for example custom
|
|
65
|
+
* payment methods) as they become interceptable.
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The event a `paymentvalidations` interceptor receives. Carries the tender
|
|
72
|
+
* attempt's payment method and amount; split payments produce one event per
|
|
73
|
+
* tender, each with its own amount.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The data carried by a `paymentvalidations` event.
|
|
80
|
+
*
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Targets the whole cart rather than a specific line item.
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Targets one cart line item by its `uuid` from this event's `cart` snapshot,
|
|
92
|
+
* for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
|
|
42
93
|
*
|
|
43
94
|
* @private
|
|
44
95
|
*/
|
|
45
96
|
|
|
46
97
|
/** @private */
|
|
47
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Targets the payment attempt being intercepted.
|
|
101
|
+
*
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/** @private */
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Where a validation applies, as an enumerated token. Targets are matched
|
|
109
|
+
* as exact strings, never evaluated as JSON paths.
|
|
110
|
+
*
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Maps POS interceptable workflow names to their valid validation targets.
|
|
116
|
+
*
|
|
117
|
+
* @private
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The interceptor callback for a POS interceptable workflow, keyed by the
|
|
122
|
+
* workflow name so the event and its valid validation targets stay paired.
|
|
123
|
+
*
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
|
|
48
127
|
/**
|
|
49
128
|
* The result an interceptor returns. An empty `operations` list allows the
|
|
50
129
|
* workflow; an `ERROR` validation blocks it.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ReadonlySignalLike } from '../../../../shared';
|
|
2
|
+
/**
|
|
3
|
+
* The `ResolutionApi` object gives a validation resolution target access to
|
|
4
|
+
* the data of the intercepted event it was opened to resolve. Access it
|
|
5
|
+
* through `shopify.resolution`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export interface ResolutionApi<TEventData> {
|
|
10
|
+
resolution: ResolutionApiContent<TEventData>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
export interface ResolutionApiContent<TEventData> {
|
|
16
|
+
/**
|
|
17
|
+
* The data of the intercepted event this resolution target was opened for.
|
|
18
|
+
* The `value` property provides the current data, and `subscribe` allows
|
|
19
|
+
* listening for host-owned revalidation updates.
|
|
20
|
+
*/
|
|
21
|
+
event: ReadonlySignalLike<TEventData>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=resolution-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution-api.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/point-of-sale/api/resolution-api/resolution-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,UAAU;IACvC,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,UAAU;IAC9C;;;;OAIG;IACH,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CACvC"}
|
|
@@ -6,6 +6,7 @@ export type { StandardApi } from './api/standard/standard-api';
|
|
|
6
6
|
export type { ExtensionApi, ExtensionApiContent, } from './api/extension-api/extension-api';
|
|
7
7
|
export type { ActionTargetApi } from './api/action-target-api/action-target-api';
|
|
8
8
|
export type { DataTargetApi } from './api/data-target-api/data-target-api';
|
|
9
|
+
export type { ResolutionApi, ResolutionApiContent, } from './api/resolution-api/resolution-api';
|
|
9
10
|
export type { TransactionCompleteEvent, CashTrackingSessionStartEvent, CashTrackingSessionCompleteEvent, ShopifyEventMap, } from './events';
|
|
10
11
|
export type { CameraApi, CameraApiContent, CameraMediaOptions, CameraMediaResponse, } from './api/camera-api/camera-api';
|
|
11
12
|
export type { ConnectivityStateSeverity, ConnectivityState, ConnectivityApiContent, ConnectivityApi, } from './api/connectivity-api/connectivity-api';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -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'
|
|
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
|
*/
|
|
@@ -8,7 +8,13 @@
|
|
|
8
8
|
/* eslint-disable import-x/namespace */
|
|
9
9
|
// eslint-disable-next-line @typescript-eslint/triple-slash-reference, spaced-comment
|
|
10
10
|
/// <reference lib="DOM" />
|
|
11
|
-
import type {
|
|
11
|
+
import type {
|
|
12
|
+
BorderRadiusKeyword,
|
|
13
|
+
ImageProps,
|
|
14
|
+
Key,
|
|
15
|
+
MaybeAllValuesShorthandProperty,
|
|
16
|
+
Ref,
|
|
17
|
+
} from './components-shared.d.ts';
|
|
12
18
|
|
|
13
19
|
/** @publicDocs */
|
|
14
20
|
export type ComponentChildren = any;
|
|
@@ -60,6 +66,25 @@ export interface ImageJSXProps extends Pick<ImageProps, 'id' | 'objectFit'> {
|
|
|
60
66
|
* The image source URL (remote URL or local file resource). When loading or no src is provided, a placeholder is rendered. Ensure URLs are properly formatted and properly formatted.
|
|
61
67
|
*/
|
|
62
68
|
src?: ImageProps['src'];
|
|
69
|
+
/**
|
|
70
|
+
* Border radius for the image corners.
|
|
71
|
+
*
|
|
72
|
+
* [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) is
|
|
73
|
+
* supported. Note that, contrary to CSS, it uses flow-relative values and the order is:
|
|
74
|
+
*
|
|
75
|
+
* - 4 values: `start-start start-end end-end end-start`
|
|
76
|
+
* - 3 values: `start-start (start-end & end-start) end-end`
|
|
77
|
+
* - 2 values: `(start-start & end-end) (start-end & end-start)`
|
|
78
|
+
*
|
|
79
|
+
* For example:
|
|
80
|
+
* - `base` means all corners have `base` radius
|
|
81
|
+
* - `base none` means start-start and end-end corners are `base`, start-end and end-start corners are `none`
|
|
82
|
+
* - `base none large` means start-start is `base`, start-end and end-start are `none`, end-end is `large`
|
|
83
|
+
* - `base none large small` means start-start is `base`, start-end is `none`, end-end is `large`, end-start is `small`
|
|
84
|
+
*
|
|
85
|
+
* @default 'none'
|
|
86
|
+
*/
|
|
87
|
+
borderRadius?: MaybeAllValuesShorthandProperty<BorderRadiusKeyword>;
|
|
63
88
|
}
|
|
64
89
|
declare global {
|
|
65
90
|
interface HTMLElementTagNameMap {
|
|
@@ -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'
|
|
1441
|
+
* @default 'auto'
|
|
1442
1442
|
*/
|
|
1443
1443
|
variant?: 'auto' | 'primary' | 'secondary' | 'tertiary';
|
|
1444
1444
|
/**
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StandardComponents } from './StandardComponents';
|
|
2
|
+
/**
|
|
3
|
+
* Components available on validation resolution targets. Resolution UI renders
|
|
4
|
+
* inside a POS-owned flow step, so page-level and block-level containers are
|
|
5
|
+
* excluded, along with the smart-grid-only `Tile`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export type ResolutionComponents = Exclude<StandardComponents, 'Page' | 'POSBlock' | 'PosBlock' | 'Tile'>;
|
|
10
|
+
//# sourceMappingURL=ResolutionComponents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionComponents.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/point-of-sale/components/targets/ResolutionComponents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,kBAAkB,EAClB,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAC1C,CAAC"}
|
|
@@ -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
|
|
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,130 @@ export interface ShopifyEventMap {
|
|
|
48
50
|
* @private
|
|
49
51
|
*/
|
|
50
52
|
export interface ShopifyInterceptMap {
|
|
51
|
-
[POS_INTERCEPT_NAMES.
|
|
53
|
+
[POS_INTERCEPT_NAMES.CART_VALIDATIONS]: CartValidationsEvent;
|
|
54
|
+
[POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS]: PaymentValidationsEvent;
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
|
-
*
|
|
57
|
+
* The data carried by a `cartvalidations` event.
|
|
55
58
|
*
|
|
56
59
|
* @private
|
|
57
60
|
*/
|
|
58
|
-
export interface
|
|
59
|
-
|
|
60
|
-
/** The POS cart at the point checkout was requested. */
|
|
61
|
+
export interface CartValidationsEventData {
|
|
62
|
+
/** A snapshot of the POS cart taken when the event was produced. */
|
|
61
63
|
readonly cart: Cart;
|
|
62
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* The event a `cartvalidations` interceptor receives. Carries a snapshot of
|
|
67
|
+
* the POS cart taken when the event was produced.
|
|
68
|
+
*
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
export interface CartValidationsEvent extends CartValidationsEventData {
|
|
72
|
+
readonly type: typeof POS_INTERCEPT_NAMES.CART_VALIDATIONS;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The kind of payment method being attempted.
|
|
76
|
+
*
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
export type InterceptedPaymentMethodType = 'cash';
|
|
80
|
+
/**
|
|
81
|
+
* Identifies the payment method being attempted.
|
|
82
|
+
*
|
|
83
|
+
* `type` alone identifies singleton methods (for example `cash`). `identifier`
|
|
84
|
+
* disambiguates method types a shop can have several of (for example custom
|
|
85
|
+
* payment methods) as they become interceptable.
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
export interface InterceptedPaymentMethod {
|
|
90
|
+
readonly type: InterceptedPaymentMethodType;
|
|
91
|
+
/** Present when `type` alone is ambiguous. Matching is exact on the pair. */
|
|
92
|
+
readonly identifier?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The event a `paymentvalidations` interceptor receives. Carries the tender
|
|
96
|
+
* attempt's payment method and amount; split payments produce one event per
|
|
97
|
+
* tender, each with its own amount.
|
|
98
|
+
*
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
export interface PaymentValidationsEvent extends PaymentValidationsEventData {
|
|
102
|
+
readonly type: typeof POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The data carried by a `paymentvalidations` event.
|
|
106
|
+
*
|
|
107
|
+
* @private
|
|
108
|
+
*/
|
|
109
|
+
export interface PaymentValidationsEventData {
|
|
110
|
+
/** The payment method staff selected. */
|
|
111
|
+
readonly paymentMethod: InterceptedPaymentMethod;
|
|
112
|
+
/** The amount this tender would charge, in presentment currency. */
|
|
113
|
+
readonly amount: MoneyV2;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Targets the whole cart rather than a specific line item.
|
|
117
|
+
*
|
|
118
|
+
* @private
|
|
119
|
+
*/
|
|
120
|
+
export type CartTarget = '$.cart';
|
|
121
|
+
/**
|
|
122
|
+
* Targets one cart line item by its `uuid` from this event's `cart` snapshot,
|
|
123
|
+
* for example `$.cart.lineItems['adfd6b06-4a24-4f5f-9f4b-ea21f4432dd4']`.
|
|
124
|
+
*
|
|
125
|
+
* @private
|
|
126
|
+
*/
|
|
127
|
+
export type CartLineItemTarget = `$.cart.lineItems['${string}']`;
|
|
128
|
+
/** @private */
|
|
129
|
+
export type CartValidationTarget = CartTarget | CartLineItemTarget;
|
|
130
|
+
/**
|
|
131
|
+
* Targets the payment attempt being intercepted.
|
|
132
|
+
*
|
|
133
|
+
* @private
|
|
134
|
+
*/
|
|
135
|
+
export type PaymentTarget = '$.payment';
|
|
63
136
|
/** @private */
|
|
64
|
-
export type
|
|
137
|
+
export type PaymentValidationTarget = PaymentTarget;
|
|
138
|
+
/**
|
|
139
|
+
* Where a validation applies, as an enumerated token. Targets are matched
|
|
140
|
+
* as exact strings, never evaluated as JSON paths.
|
|
141
|
+
*
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
export type ValidationTarget = CartValidationTarget | PaymentValidationTarget;
|
|
145
|
+
/**
|
|
146
|
+
* Maps POS interceptable workflow names to their valid validation targets.
|
|
147
|
+
*
|
|
148
|
+
* @private
|
|
149
|
+
*/
|
|
150
|
+
interface ValidationTargetMap {
|
|
151
|
+
[POS_INTERCEPT_NAMES.CART_VALIDATIONS]: CartValidationTarget;
|
|
152
|
+
[POS_INTERCEPT_NAMES.PAYMENT_VALIDATIONS]: PaymentValidationTarget;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The interceptor callback for a POS interceptable workflow, keyed by the
|
|
156
|
+
* workflow name so the event and its valid validation targets stay paired.
|
|
157
|
+
*
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
export type ShopifyInterceptor<K extends keyof ShopifyInterceptMap> = (event: ShopifyInterceptMap[K]) => InterceptResult<ValidationTargetMap[K]>;
|
|
65
161
|
/**
|
|
66
162
|
* The result an interceptor returns. An empty `operations` list allows the
|
|
67
163
|
* workflow; an `ERROR` validation blocks it.
|
|
68
164
|
*
|
|
69
165
|
* @private
|
|
70
166
|
*/
|
|
71
|
-
export interface InterceptResult {
|
|
72
|
-
operations: Operation[];
|
|
167
|
+
export interface InterceptResult<TTarget extends ValidationTarget = ValidationTarget> {
|
|
168
|
+
operations: Operation<TTarget>[];
|
|
73
169
|
}
|
|
74
170
|
/**
|
|
75
171
|
* A single host operation produced by an interceptor.
|
|
76
172
|
*
|
|
77
173
|
* @private
|
|
78
174
|
*/
|
|
79
|
-
export interface Operation {
|
|
80
|
-
validationAdd?: ValidationAdd
|
|
175
|
+
export interface Operation<TTarget extends ValidationTarget = ValidationTarget> {
|
|
176
|
+
validationAdd?: ValidationAdd<TTarget>;
|
|
81
177
|
}
|
|
82
178
|
/** @private */
|
|
83
179
|
export type ValidationLevel = 'WARNING' | 'ERROR';
|
|
@@ -86,13 +182,27 @@ export type ValidationLevel = 'WARNING' | 'ERROR';
|
|
|
86
182
|
*
|
|
87
183
|
* @private
|
|
88
184
|
*/
|
|
89
|
-
export interface ValidationAdd {
|
|
185
|
+
export interface ValidationAdd<TTarget extends ValidationTarget = ValidationTarget> {
|
|
90
186
|
/** `ERROR` blocks the workflow. `WARNING` does not. */
|
|
91
187
|
level: ValidationLevel;
|
|
92
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Stable identifier for this validation. Handles are namespaced per
|
|
190
|
+
* extension and may repeat across targets: the same handle on two line
|
|
191
|
+
* items is two validations.
|
|
192
|
+
*/
|
|
93
193
|
handle: string;
|
|
94
|
-
/**
|
|
95
|
-
|
|
194
|
+
/**
|
|
195
|
+
* Locates the data the validation applies to; the host decides where it
|
|
196
|
+
* renders. Omitted or unrecognized targets fall back to the event's root
|
|
197
|
+
* scope (`$.cart` / `$.payment`) — the validation still applies, rendered
|
|
198
|
+
* less specifically.
|
|
199
|
+
*
|
|
200
|
+
* Line item uuids are only valid within the event that delivered them:
|
|
201
|
+
* use `lineItems[n].uuid` from this event's cart snapshot, don't cache
|
|
202
|
+
* uuids across events. Bundle components are not addressable; target
|
|
203
|
+
* their parent line.
|
|
204
|
+
*/
|
|
205
|
+
target?: TTarget;
|
|
96
206
|
}
|
|
97
207
|
export type { TransactionCompleteEvent, CashTrackingSessionStartEvent, CashTrackingSessionCompleteEvent, };
|
|
98
208
|
//# 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;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/point-of-sale/events.ts"],"names":[],"mappings":"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"}
|