@ikas/code-components-mcp 1.4.0-beta.2 → 1.4.0-beta.200
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/data/framework.json +208 -78
- package/data/migration.json +196 -25
- package/data/section-templates/account-info-section/children/AccountFavorites/ikas-config-snippet.json +16 -3
- package/data/section-templates/account-info-section/children/AccountOrders/index.tsx +1 -1
- package/data/section-templates/account-info-section/ikas-config-snippet.json +24 -5
- package/data/section-templates/add-to-cart/ikas-config-snippet.json +17 -0
- package/data/section-templates/add-to-cart/index.tsx +16 -2
- package/data/section-templates/add-to-cart/sub-components/QuantitySelector/index.tsx +11 -3
- package/data/section-templates/add-to-cart/utils/cartLimits.ts +24 -0
- package/data/section-templates/blog-home-section/ikas-config-snippet.json +2 -0
- package/data/section-templates/blog-home-section/index.tsx +2 -1
- package/data/section-templates/blog-post-section/ikas-config-snippet.json +2 -0
- package/data/section-templates/blog-post-section/index.tsx +3 -2
- package/data/section-templates/bundle-products/hooks/useBundleProducts.ts +7 -6
- package/data/section-templates/bundle-products/ikas-config-snippet.json +20 -0
- package/data/section-templates/cart-section/components/EmptyState/index.tsx +1 -1
- package/data/section-templates/cart-section/sub-components/CartItem/index.tsx +66 -24
- package/data/section-templates/cart-section/sub-components/CartItem/styles.css +14 -0
- package/data/section-templates/cart-section/sub-components/QuantitySelector/index.tsx +11 -3
- package/data/section-templates/cart-section/utils/cartLimits.ts +24 -0
- package/data/section-templates/cart-section/utils/cartLineLimits.ts +100 -0
- package/data/section-templates/category-images-section/children/CategoryImageItem/ikas-config-snippet.json +4 -0
- package/data/section-templates/category-images-section/ikas-config-snippet.json +16 -1
- package/data/section-templates/category-list-section/children/CardProductName/ikas-config-snippet.json +2 -1
- package/data/section-templates/category-list-section/ikas-config-snippet.json +24 -3
- package/data/section-templates/category-list-section/index.tsx +2 -1
- package/data/section-templates/component-renderer/additional/ProductDetail/index.tsx +5 -1
- package/data/section-templates/component-renderer/ikas-config-snippet.json +16 -3
- package/data/section-templates/favorites/ikas-config-snippet.json +18 -1
- package/data/section-templates/features-section/ikas-config-snippet.json +14 -1
- package/data/section-templates/footer-section/ikas-config-snippet.json +16 -1
- package/data/section-templates/forgot-password-section/components/ForgotPasswordForm/index.tsx +1 -1
- package/data/section-templates/header-section/children/Announcements/ikas-config-snippet.json +8 -1
- package/data/section-templates/header-section/children/CookieBar/ikas-config-snippet.json +3 -0
- package/data/section-templates/header-section/children/Navbar/components/CartSidebar/index.tsx +2 -1
- package/data/section-templates/header-section/children/Navbar/components/SearchModal/index.tsx +2 -1
- package/data/section-templates/header-section/children/Navbar/ikas-config-snippet.json +30 -3
- package/data/section-templates/header-section/children/Navbar/index.tsx +6 -5
- package/data/section-templates/header-section/ikas-config-snippet.json +16 -3
- package/data/section-templates/header-section/sub-components/CartItem/index.tsx +66 -24
- package/data/section-templates/header-section/sub-components/CartItem/styles.css +14 -0
- package/data/section-templates/header-section/sub-components/QuantitySelector/index.tsx +11 -3
- package/data/section-templates/header-section/utils/cartLimits.ts +24 -0
- package/data/section-templates/header-section/utils/cartLineLimits.ts +100 -0
- package/data/section-templates/hero-slider-section/children/HeroSliderItem/ikas-config-snippet.json +18 -0
- package/data/section-templates/hero-slider-section/children/HeroSliderItem/index.tsx +12 -7
- package/data/section-templates/hero-slider-section/ikas-config-snippet.json +14 -1
- package/data/section-templates/image-handling/ikas-config-snippet.json +66 -13
- package/data/section-templates/image-handling/index.tsx +5 -1
- package/data/section-templates/login-section/ikas-config-snippet.json +2 -0
- package/data/section-templates/navigation/components/CartSidebar/index.tsx +2 -1
- package/data/section-templates/navigation/components/SearchModal/index.tsx +2 -1
- package/data/section-templates/navigation/ikas-config-snippet.json +30 -3
- package/data/section-templates/navigation/index.tsx +6 -5
- package/data/section-templates/navigation/sub-components/CartItem/index.tsx +66 -24
- package/data/section-templates/navigation/sub-components/CartItem/styles.css +14 -0
- package/data/section-templates/navigation/sub-components/QuantitySelector/index.tsx +11 -3
- package/data/section-templates/navigation/utils/cartLimits.ts +24 -0
- package/data/section-templates/navigation/utils/cartLineLimits.ts +100 -0
- package/data/section-templates/product-detail-section/children/ProductDetailAddToCart/ikas-config-snippet.json +17 -0
- package/data/section-templates/product-detail-section/children/ProductDetailAddToCart/index.tsx +16 -2
- package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/components/BackInStockForm/index.tsx +92 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/ikas-config-snippet.json +175 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/index.tsx +141 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/styles.css +47 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/types.ts +25 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBundleFurniture/ikas-config-snippet.json +18 -0
- package/data/section-templates/product-detail-section/children/ProductDetailBundleProduct/ikas-config-snippet.json +20 -0
- package/data/section-templates/product-detail-section/children/ProductDetailDescription/ikas-config-snippet.json +28 -1
- package/data/section-templates/product-detail-section/children/ProductDetailFeatures/ikas-config-snippet.json +30 -1
- package/data/section-templates/product-detail-section/children/ProductDetailNameFavorite/ikas-config-snippet.json +18 -1
- package/data/section-templates/product-detail-section/children/ProductDetailOffer/ikas-config-snippet.json +20 -0
- package/data/section-templates/product-detail-section/children/ProductDetailOptionSet/ikas-config-snippet.json +16 -0
- package/data/section-templates/product-detail-section/children/ProductDetailPrices/ikas-config-snippet.json +16 -0
- package/data/section-templates/product-detail-section/children/ProductDetailProductGroup/ikas-config-snippet.json +16 -0
- package/data/section-templates/product-detail-section/children/ProductDetailSku/ikas-config-snippet.json +16 -0
- package/data/section-templates/product-detail-section/children/ProductDetailVariant/ikas-config-snippet.json +17 -0
- package/data/section-templates/product-detail-section/hooks/useBundleProducts.ts +7 -6
- package/data/section-templates/product-detail-section/ikas-config-snippet.json +66 -13
- package/data/section-templates/product-detail-section/index.tsx +5 -1
- package/data/section-templates/product-detail-section/sub-components/Modal/index.tsx +120 -0
- package/data/section-templates/product-detail-section/sub-components/Modal/styles.css +70 -0
- package/data/section-templates/product-detail-section/sub-components/QuantitySelector/index.tsx +11 -3
- package/data/section-templates/product-detail-section/utils/cartLimits.ts +24 -0
- package/data/section-templates/product-pricing/ikas-config-snippet.json +16 -0
- package/data/section-templates/product-slider-section/children/CardProductName/ikas-config-snippet.json +2 -1
- package/data/section-templates/product-slider-section/ikas-config-snippet.json +20 -3
- package/data/section-templates/register-section/ikas-config-snippet.json +2 -0
- package/data/section-templates/variant-selection/ikas-config-snippet.json +17 -0
- package/data/storefront-api.json +819 -1443
- package/data/storefront-types.json +9644 -6132
- package/dist/index.js +2978 -347
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/data/storefront-api.json
CHANGED
|
@@ -1,1287 +1,187 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-
|
|
2
|
+
"generatedAt": "2026-09-29T10:59:49.208Z",
|
|
3
3
|
"functions": [
|
|
4
|
-
{
|
|
5
|
-
"name": "fbp_initAdvancedMatching",
|
|
6
|
-
"signature": "function fbp_initAdvancedMatching(userData: {\n em?: string | null;\n fn?: string | null;\n ln?: string | null;\n ph?: string | null;\n external_id?: string | null;\n ct?: string | null;\n st?: string | null;\n zp?: string | null;\n country?: string | null;\n}): void",
|
|
7
|
-
"description": "",
|
|
8
|
-
"params": [],
|
|
9
|
-
"returnType": "void",
|
|
10
|
-
"categories": [],
|
|
11
|
-
"related": [],
|
|
12
|
-
"isAsync": false,
|
|
13
|
-
"isClass": false
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"name": "apiListBlog",
|
|
17
|
-
"signature": "async function apiListBlog(params: ListBlogQueryParams): Promise<APIResponse<{ data: IkasBlog[]; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
18
|
-
"description": "",
|
|
19
|
-
"params": [],
|
|
20
|
-
"returnType": "Promise<APIResponse<{ data: IkasBlog[]; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
21
|
-
"categories": [],
|
|
22
|
-
"related": [],
|
|
23
|
-
"isAsync": true,
|
|
24
|
-
"isClass": false,
|
|
25
|
-
"parameterTypes": [
|
|
26
|
-
"IkasBlog"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"name": "apiListBlogMetaData",
|
|
31
|
-
"signature": "async function apiListBlogMetaData(params: ListBlogMetadataQueryParams): Promise<APIResponse<{ data: IkasBlogMetaData[] | null; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
32
|
-
"description": "",
|
|
33
|
-
"params": [],
|
|
34
|
-
"returnType": "Promise<APIResponse<{ data: IkasBlogMetaData[] | null; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
35
|
-
"categories": [],
|
|
36
|
-
"related": [],
|
|
37
|
-
"isAsync": true,
|
|
38
|
-
"isClass": false,
|
|
39
|
-
"parameterTypes": [
|
|
40
|
-
"IkasBlogMetaData"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"name": "apiListBlogCategory",
|
|
45
|
-
"signature": "async function apiListBlogCategory(params: ListBlogCategoryQueryParams): Promise<APIResponse<{ data: IkasBlogCategory[] | null; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
46
|
-
"description": "",
|
|
47
|
-
"params": [],
|
|
48
|
-
"returnType": "Promise<APIResponse<{ data: IkasBlogCategory[] | null; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
49
|
-
"categories": [],
|
|
50
|
-
"related": [],
|
|
51
|
-
"isAsync": true,
|
|
52
|
-
"isClass": false,
|
|
53
|
-
"parameterTypes": [
|
|
54
|
-
"IkasBlogCategory"
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
4
|
{
|
|
58
5
|
"name": "apiListProductBrand",
|
|
59
|
-
"signature": "async function apiListProductBrand(params: ListProductBrandQueryParams): Promise<APIResponse<{ data: IkasBrand[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
60
|
-
"description": "",
|
|
61
|
-
"params": [],
|
|
62
|
-
"returnType": "Promise<APIResponse<{ data: IkasBrand[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
63
|
-
"categories": [],
|
|
64
|
-
"related": [],
|
|
65
|
-
"isAsync": true,
|
|
66
|
-
"isClass": false,
|
|
67
|
-
"parameterTypes": [
|
|
68
|
-
"IkasBrand"
|
|
69
|
-
]
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"name": "apiGetCartById",
|
|
73
|
-
"signature": "async function apiGetCartById(params: GetCartByIdQueryParams): Promise<APIResponse<IkasCart | null>>",
|
|
74
|
-
"description": "",
|
|
75
|
-
"params": [],
|
|
76
|
-
"returnType": "Promise<APIResponse<IkasCart | null>>",
|
|
77
|
-
"categories": [],
|
|
78
|
-
"related": [],
|
|
79
|
-
"isAsync": true,
|
|
80
|
-
"isClass": false,
|
|
81
|
-
"parameterTypes": [
|
|
82
|
-
"IkasCart"
|
|
83
|
-
]
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"name": "apiSaveCart",
|
|
87
|
-
"signature": "async function apiSaveCart(params: SaveCartQueryParams): Promise<APIResponse<IkasCart | null>>",
|
|
88
|
-
"description": "",
|
|
89
|
-
"params": [],
|
|
90
|
-
"returnType": "Promise<APIResponse<IkasCart | null>>",
|
|
91
|
-
"categories": [],
|
|
92
|
-
"related": [],
|
|
93
|
-
"isAsync": true,
|
|
94
|
-
"isClass": false,
|
|
95
|
-
"parameterTypes": [
|
|
96
|
-
"IkasCart"
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"name": "apiCreatePayWithIkasSessionUrl",
|
|
101
|
-
"signature": "async function apiCreatePayWithIkasSessionUrl(params: CreatePayWithIkasSessionUrlQueryParams): Promise<APIResponse<CreatePayWithIkasSessionUrlResponse>>",
|
|
102
|
-
"description": "",
|
|
103
|
-
"params": [],
|
|
104
|
-
"returnType": "Promise<APIResponse<CreatePayWithIkasSessionUrlResponse>>",
|
|
105
|
-
"categories": [],
|
|
106
|
-
"related": [],
|
|
107
|
-
"isAsync": true,
|
|
108
|
-
"isClass": false,
|
|
109
|
-
"parameterTypes": [
|
|
110
|
-
"IkasSessionUrl",
|
|
111
|
-
"IkasSessionUrlQueryParams",
|
|
112
|
-
"IkasSessionUrlResponse"
|
|
113
|
-
]
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"name": "apiSaveCartCouponCode",
|
|
117
|
-
"signature": "async function apiSaveCartCouponCode(params: SaveCartCouponCodeQueryParams): Promise<APIResponse<IkasCart | null>>",
|
|
118
|
-
"description": "",
|
|
119
|
-
"params": [],
|
|
120
|
-
"returnType": "Promise<APIResponse<IkasCart | null>>",
|
|
121
|
-
"categories": [],
|
|
122
|
-
"related": [],
|
|
123
|
-
"isAsync": true,
|
|
124
|
-
"isClass": false,
|
|
125
|
-
"parameterTypes": [
|
|
126
|
-
"IkasCart"
|
|
127
|
-
]
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"name": "apiAddItemToCart",
|
|
131
|
-
"signature": "async function apiAddItemToCart(params: AddItemToCartQueryParams): Promise<APIResponse<IkasCart | null>>",
|
|
132
|
-
"description": "",
|
|
133
|
-
"params": [],
|
|
134
|
-
"returnType": "Promise<APIResponse<IkasCart | null>>",
|
|
135
|
-
"categories": [],
|
|
136
|
-
"related": [],
|
|
137
|
-
"isAsync": true,
|
|
138
|
-
"isClass": false,
|
|
139
|
-
"parameterTypes": [
|
|
140
|
-
"IkasCart"
|
|
141
|
-
]
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"name": "apiUpdateCartCampaignOffer",
|
|
145
|
-
"signature": "async function apiUpdateCartCampaignOffer(params: UpdateCartCampaignOfferQueryParams): Promise<APIResponse<IkasCart | null>>",
|
|
146
|
-
"description": "",
|
|
147
|
-
"params": [],
|
|
148
|
-
"returnType": "Promise<APIResponse<IkasCart | null>>",
|
|
149
|
-
"categories": [],
|
|
150
|
-
"related": [],
|
|
151
|
-
"isAsync": true,
|
|
152
|
-
"isClass": false,
|
|
153
|
-
"parameterTypes": [
|
|
154
|
-
"IkasCart"
|
|
155
|
-
]
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"name": "apiListCategory",
|
|
159
|
-
"signature": "async function apiListCategory(params: ListCategoryQueryParams, excludedFieldsCategory?: string[] | null): Promise<APIResponse<{ data: IkasCategory[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
160
|
-
"description": "",
|
|
161
|
-
"params": [],
|
|
162
|
-
"returnType": "Promise<APIResponse<{ data: IkasCategory[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
163
|
-
"categories": [],
|
|
164
|
-
"related": [],
|
|
165
|
-
"isAsync": true,
|
|
166
|
-
"isClass": false,
|
|
167
|
-
"parameterTypes": [
|
|
168
|
-
"IkasCategory"
|
|
169
|
-
]
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"name": "apiCreateSaleTransactionWithCart",
|
|
173
|
-
"signature": "async function apiCreateSaleTransactionWithCart(params: CreateSaleTransactionWithCartQueryParams): Promise<APIResponse<undefined> | APIResponse<TransactionResponse>>",
|
|
174
|
-
"description": "",
|
|
175
|
-
"params": [],
|
|
176
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<TransactionResponse>>",
|
|
177
|
-
"categories": [],
|
|
178
|
-
"related": [],
|
|
179
|
-
"isAsync": true,
|
|
180
|
-
"isClass": false
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
"name": "apiListPaymentGateway",
|
|
184
|
-
"signature": "async function apiListPaymentGateway(params: ListPaymentGatewayQueryParams): Promise<APIResponse<IkasPaymentGateway[]>>",
|
|
185
|
-
"description": "",
|
|
186
|
-
"params": [],
|
|
187
|
-
"returnType": "Promise<APIResponse<IkasPaymentGateway[]>>",
|
|
188
|
-
"categories": [],
|
|
189
|
-
"related": [],
|
|
190
|
-
"isAsync": true,
|
|
191
|
-
"isClass": false,
|
|
192
|
-
"parameterTypes": [
|
|
193
|
-
"IkasPaymentGateway"
|
|
194
|
-
]
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
"name": "apiListProductFile",
|
|
198
|
-
"signature": "async function apiListProductFile(params: ListProductFileQueryParams): Promise<APIResponse<undefined> | APIResponse<ProductFile[]>>",
|
|
199
|
-
"description": "",
|
|
200
|
-
"params": [],
|
|
201
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<ProductFile[]>>",
|
|
202
|
-
"categories": [],
|
|
203
|
-
"related": [],
|
|
204
|
-
"isAsync": true,
|
|
205
|
-
"isClass": false
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"name": "apiRetrieveInstallmentInfo",
|
|
209
|
-
"signature": "async function apiRetrieveInstallmentInfo(params: RetrieveInstallmentInfoQueryParams): Promise<APIResponse<undefined> | APIResponse<RetrieveInstallmentInfoResponse>>",
|
|
210
|
-
"description": "",
|
|
211
|
-
"params": [],
|
|
212
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<RetrieveInstallmentInfoResponse>>",
|
|
213
|
-
"categories": [],
|
|
214
|
-
"related": [],
|
|
215
|
-
"isAsync": true,
|
|
216
|
-
"isClass": false
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"name": "apiCheckStocks",
|
|
220
|
-
"signature": "async function apiCheckStocks(params: CheckStocksQueryParams): Promise<APIResponse<undefined> | APIResponse<CheckStocksResponse>>",
|
|
221
|
-
"description": "",
|
|
222
|
-
"params": [],
|
|
223
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<CheckStocksResponse>>",
|
|
224
|
-
"categories": [],
|
|
225
|
-
"related": [],
|
|
226
|
-
"isAsync": true,
|
|
227
|
-
"isClass": false
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"name": "apiCheckCartStocks",
|
|
231
|
-
"signature": "async function apiCheckCartStocks(params: CheckCartStocksQueryParams): Promise<APIResponse<undefined> | APIResponse<CheckStocksResponse>>",
|
|
232
|
-
"description": "",
|
|
233
|
-
"params": [],
|
|
234
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<CheckStocksResponse>>",
|
|
235
|
-
"categories": [],
|
|
236
|
-
"related": [],
|
|
237
|
-
"isAsync": true,
|
|
238
|
-
"isClass": false
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
"name": "apiListCheckoutSettings",
|
|
242
|
-
"signature": "async function apiListCheckoutSettings(params: ListCheckoutSettingsQueryParams): Promise<APIResponse<IkasCheckoutSettings[]>>",
|
|
243
|
-
"description": "",
|
|
244
|
-
"params": [],
|
|
245
|
-
"returnType": "Promise<APIResponse<IkasCheckoutSettings[]>>",
|
|
246
|
-
"categories": [],
|
|
247
|
-
"related": [],
|
|
248
|
-
"isAsync": true,
|
|
249
|
-
"isClass": false,
|
|
250
|
-
"parameterTypes": [
|
|
251
|
-
"IkasCheckoutSettings"
|
|
252
|
-
]
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"name": "apiGetAvailableShippingCountries",
|
|
256
|
-
"signature": "async function apiGetAvailableShippingCountries(params: GetAvailableShippingCountriesQueryParams): Promise<APIResponse<undefined> | APIResponse<string[]>>",
|
|
257
|
-
"description": "",
|
|
258
|
-
"params": [],
|
|
259
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string[]>>",
|
|
260
|
-
"categories": [],
|
|
261
|
-
"related": [],
|
|
262
|
-
"isAsync": true,
|
|
263
|
-
"isClass": false
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
"name": "apiListStockLocations",
|
|
267
|
-
"signature": "async function apiListStockLocations(params: ListStockLocationQueryParams): Promise<APIResponse<IkasStockLocation[]>>",
|
|
268
|
-
"description": "",
|
|
269
|
-
"params": [],
|
|
270
|
-
"returnType": "Promise<APIResponse<IkasStockLocation[]>>",
|
|
271
|
-
"categories": [],
|
|
272
|
-
"related": [],
|
|
273
|
-
"isAsync": true,
|
|
274
|
-
"isClass": false,
|
|
275
|
-
"parameterTypes": [
|
|
276
|
-
"IkasStockLocation"
|
|
277
|
-
]
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
"name": "apiGetAvailableStockLocations",
|
|
281
|
-
"signature": "async function apiGetAvailableStockLocations(params: GetAvailableStockLocationsQueryParams): Promise<APIResponse<IkasAvailableStockLocation[]>>",
|
|
282
|
-
"description": "",
|
|
283
|
-
"params": [],
|
|
284
|
-
"returnType": "Promise<APIResponse<IkasAvailableStockLocation[]>>",
|
|
285
|
-
"categories": [],
|
|
286
|
-
"related": [],
|
|
287
|
-
"isAsync": true,
|
|
288
|
-
"isClass": false,
|
|
289
|
-
"parameterTypes": [
|
|
290
|
-
"IkasAvailableStockLocation"
|
|
291
|
-
]
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
"name": "apiCreateStripePaymentIntent",
|
|
295
|
-
"signature": "async function apiCreateStripePaymentIntent(params: CreateStripePaymentIntentQueryParams): Promise<APIResponse<CreateStripePaymentIntentResponse>>",
|
|
296
|
-
"description": "",
|
|
297
|
-
"params": [],
|
|
298
|
-
"returnType": "Promise<APIResponse<CreateStripePaymentIntentResponse>>",
|
|
299
|
-
"categories": [],
|
|
300
|
-
"related": [],
|
|
301
|
-
"isAsync": true,
|
|
302
|
-
"isClass": false
|
|
303
|
-
},
|
|
304
|
-
{
|
|
305
|
-
"name": "apiCreateKlarnaClientToken",
|
|
306
|
-
"signature": "async function apiCreateKlarnaClientToken(params: CreateKlarnaClientTokenQueryParams): Promise<APIResponse<CreateKlarnaTokenResponse>>",
|
|
307
|
-
"description": "",
|
|
308
|
-
"params": [],
|
|
309
|
-
"returnType": "Promise<APIResponse<CreateKlarnaTokenResponse>>",
|
|
310
|
-
"categories": [],
|
|
311
|
-
"related": [],
|
|
312
|
-
"isAsync": true,
|
|
313
|
-
"isClass": false
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
"name": "apiCreateAdyenBalancePlatformPaymentSession",
|
|
317
|
-
"signature": "async function apiCreateAdyenBalancePlatformPaymentSession(params: CreateAdyenBalancePlatformPaymentSessionQueryParams): Promise<APIResponse<CreateAdyenPlatformSessionResponse>>",
|
|
318
|
-
"description": "",
|
|
319
|
-
"params": [],
|
|
320
|
-
"returnType": "Promise<APIResponse<CreateAdyenPlatformSessionResponse>>",
|
|
321
|
-
"categories": [],
|
|
322
|
-
"related": [],
|
|
323
|
-
"isAsync": true,
|
|
324
|
-
"isClass": false
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"name": "apiGetPayPalClientId",
|
|
328
|
-
"signature": "async function apiGetPayPalClientId(params: GetPaypalClientIdQueryParams): Promise<APIResponse<GetPaypalClientIdResponse>>",
|
|
329
|
-
"description": "",
|
|
330
|
-
"params": [],
|
|
331
|
-
"returnType": "Promise<APIResponse<GetPaypalClientIdResponse>>",
|
|
332
|
-
"categories": [],
|
|
333
|
-
"related": [],
|
|
334
|
-
"isAsync": true,
|
|
335
|
-
"isClass": false
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
"name": "apiCreatePayPalOrder",
|
|
339
|
-
"signature": "async function apiCreatePayPalOrder(params: CreatePaypalOrderQueryParams): Promise<APIResponse<CreatePaypalOrderResponse>>",
|
|
340
|
-
"description": "",
|
|
341
|
-
"params": [],
|
|
342
|
-
"returnType": "Promise<APIResponse<CreatePaypalOrderResponse>>",
|
|
343
|
-
"categories": [],
|
|
344
|
-
"related": [],
|
|
345
|
-
"isAsync": true,
|
|
346
|
-
"isClass": false
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
"name": "apiLogin",
|
|
350
|
-
"signature": "async function apiLogin(params: CustomerLoginQueryParams): Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
351
|
-
"description": "",
|
|
352
|
-
"params": [],
|
|
353
|
-
"returnType": "Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
354
|
-
"categories": [],
|
|
355
|
-
"related": [],
|
|
356
|
-
"isAsync": true,
|
|
357
|
-
"isClass": false,
|
|
358
|
-
"parameterTypes": [
|
|
359
|
-
"IkasCustomer"
|
|
360
|
-
]
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
"name": "apiSocialLogin",
|
|
364
|
-
"signature": "async function apiSocialLogin(params: CustomerSocialLoginQueryParams): Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
365
|
-
"description": "",
|
|
366
|
-
"params": [],
|
|
367
|
-
"returnType": "Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
368
|
-
"categories": [],
|
|
369
|
-
"related": [],
|
|
370
|
-
"isAsync": true,
|
|
371
|
-
"isClass": false,
|
|
372
|
-
"parameterTypes": [
|
|
373
|
-
"IkasCustomer"
|
|
374
|
-
]
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"name": "apiRegister",
|
|
378
|
-
"signature": "async function apiRegister(params: RegisterCustomerQueryParams): Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
379
|
-
"description": "",
|
|
380
|
-
"params": [],
|
|
381
|
-
"returnType": "Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
382
|
-
"categories": [],
|
|
383
|
-
"related": [],
|
|
384
|
-
"isAsync": true,
|
|
385
|
-
"isClass": false,
|
|
386
|
-
"parameterTypes": [
|
|
387
|
-
"IkasCustomer"
|
|
388
|
-
]
|
|
389
|
-
},
|
|
390
|
-
{
|
|
391
|
-
"name": "apiRefreshToken",
|
|
392
|
-
"signature": "async function apiRefreshToken(params: CustomerRefreshTokenQueryParams): Promise<APIResponse<undefined> | APIResponse<CustomerRefreshTokenResponse>>",
|
|
393
|
-
"description": "",
|
|
394
|
-
"params": [],
|
|
395
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<CustomerRefreshTokenResponse>>",
|
|
396
|
-
"categories": [],
|
|
397
|
-
"related": [],
|
|
398
|
-
"isAsync": true,
|
|
399
|
-
"isClass": false
|
|
400
|
-
},
|
|
401
|
-
{
|
|
402
|
-
"name": "apiForgotPassword",
|
|
403
|
-
"signature": "async function apiForgotPassword(params: CustomerForgotPasswordQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
404
|
-
"description": "",
|
|
405
|
-
"params": [],
|
|
406
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
407
|
-
"categories": [],
|
|
408
|
-
"related": [],
|
|
409
|
-
"isAsync": true,
|
|
410
|
-
"isClass": false
|
|
411
|
-
},
|
|
412
|
-
{
|
|
413
|
-
"name": "apiRecoverPassword",
|
|
414
|
-
"signature": "async function apiRecoverPassword(params: CustomerRecoverPasswordQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
415
|
-
"description": "",
|
|
416
|
-
"params": [],
|
|
417
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
418
|
-
"categories": [],
|
|
419
|
-
"related": [],
|
|
420
|
-
"isAsync": true,
|
|
421
|
-
"isClass": false
|
|
422
|
-
},
|
|
423
|
-
{
|
|
424
|
-
"name": "apiCheckEmail",
|
|
425
|
-
"signature": "async function apiCheckEmail(params: CheckCustomerEmailQueryParams): Promise<APIResponse<undefined> | APIResponse<CustomerCheckResponse>>",
|
|
426
|
-
"description": "",
|
|
427
|
-
"params": [],
|
|
428
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<CustomerCheckResponse>>",
|
|
429
|
-
"categories": [],
|
|
430
|
-
"related": [],
|
|
431
|
-
"isAsync": true,
|
|
432
|
-
"isClass": false
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"name": "apiGetCustomer",
|
|
436
|
-
"signature": "async function apiGetCustomer(): Promise<APIResponse<IkasCustomer | null>>",
|
|
437
|
-
"description": "",
|
|
438
|
-
"params": [],
|
|
439
|
-
"returnType": "Promise<APIResponse<IkasCustomer | null>>",
|
|
440
|
-
"categories": [],
|
|
441
|
-
"related": [],
|
|
442
|
-
"isAsync": true,
|
|
443
|
-
"isClass": false,
|
|
444
|
-
"parameterTypes": [
|
|
445
|
-
"IkasCustomer"
|
|
446
|
-
]
|
|
447
|
-
},
|
|
448
|
-
{
|
|
449
|
-
"name": "apiSaveCustomer",
|
|
450
|
-
"signature": "async function apiSaveCustomer(params: SaveMyCustomerQueryParams): Promise<APIResponse<IkasCustomer | null>>",
|
|
451
|
-
"description": "",
|
|
452
|
-
"params": [],
|
|
453
|
-
"returnType": "Promise<APIResponse<IkasCustomer | null>>",
|
|
454
|
-
"categories": [],
|
|
455
|
-
"related": [],
|
|
456
|
-
"isAsync": true,
|
|
457
|
-
"isClass": false,
|
|
458
|
-
"parameterTypes": [
|
|
459
|
-
"IkasCustomer"
|
|
460
|
-
]
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
"name": "apiSaveCustomerFormData",
|
|
464
|
-
"signature": "async function apiSaveCustomerFormData(params: SaveCustomerFormDataQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
465
|
-
"description": "",
|
|
466
|
-
"params": [],
|
|
467
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
468
|
-
"categories": [],
|
|
469
|
-
"related": [],
|
|
470
|
-
"isAsync": true,
|
|
471
|
-
"isClass": false
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
"name": "apiGetOrders",
|
|
475
|
-
"signature": "async function apiGetOrders(params: GetCustomerOrdersQueryParams): Promise<APIResponse<IkasOrder[]>>",
|
|
476
|
-
"description": "",
|
|
477
|
-
"params": [],
|
|
478
|
-
"returnType": "Promise<APIResponse<IkasOrder[]>>",
|
|
479
|
-
"categories": [],
|
|
480
|
-
"related": [],
|
|
481
|
-
"isAsync": true,
|
|
482
|
-
"isClass": false,
|
|
483
|
-
"parameterTypes": [
|
|
484
|
-
"IkasOrder"
|
|
485
|
-
]
|
|
486
|
-
},
|
|
487
|
-
{
|
|
488
|
-
"name": "apiGetOrderByEmail",
|
|
489
|
-
"signature": "async function apiGetOrderByEmail(params: GetOrderByEmailQueryParams): Promise<APIResponse<IkasOrder>>",
|
|
490
|
-
"description": "",
|
|
491
|
-
"params": [],
|
|
492
|
-
"returnType": "Promise<APIResponse<IkasOrder>>",
|
|
493
|
-
"categories": [],
|
|
494
|
-
"related": [],
|
|
495
|
-
"isAsync": true,
|
|
496
|
-
"isClass": false,
|
|
497
|
-
"parameterTypes": [
|
|
498
|
-
"IkasOrder"
|
|
499
|
-
]
|
|
500
|
-
},
|
|
501
|
-
{
|
|
502
|
-
"name": "apiListOrderTransactions",
|
|
503
|
-
"signature": "async function apiListOrderTransactions(params: ListOrderTransactionsQueryParams): Promise<APIResponse<IkasOrderTransaction[]>>",
|
|
504
|
-
"description": "",
|
|
505
|
-
"params": [],
|
|
506
|
-
"returnType": "Promise<APIResponse<IkasOrderTransaction[]>>",
|
|
507
|
-
"categories": [],
|
|
508
|
-
"related": [],
|
|
509
|
-
"isAsync": true,
|
|
510
|
-
"isClass": false,
|
|
511
|
-
"parameterTypes": [
|
|
512
|
-
"IkasOrderTransaction"
|
|
513
|
-
]
|
|
514
|
-
},
|
|
515
|
-
{
|
|
516
|
-
"name": "apiCreateOrderRefundRequest",
|
|
517
|
-
"signature": "async function apiCreateOrderRefundRequest(params: CreateOrderRefundRequestQueryParams): Promise<APIResponse<IkasOrder>>",
|
|
518
|
-
"description": "",
|
|
519
|
-
"params": [],
|
|
520
|
-
"returnType": "Promise<APIResponse<IkasOrder>>",
|
|
521
|
-
"categories": [],
|
|
522
|
-
"related": [],
|
|
523
|
-
"isAsync": true,
|
|
524
|
-
"isClass": false,
|
|
525
|
-
"parameterTypes": [
|
|
526
|
-
"IkasOrder"
|
|
527
|
-
]
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
"name": "apiSubscribeToMarketingNotifications",
|
|
531
|
-
"signature": "async function apiSubscribeToMarketingNotifications(params: SubscribeToMarketingNotificationsQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
532
|
-
"description": "",
|
|
533
|
-
"params": [],
|
|
534
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
535
|
-
"categories": [],
|
|
536
|
-
"related": [],
|
|
537
|
-
"isAsync": true,
|
|
538
|
-
"isClass": false
|
|
539
|
-
},
|
|
540
|
-
{
|
|
541
|
-
"name": "apiGetLastViewedProducts",
|
|
542
|
-
"signature": "async function apiGetLastViewedProducts(params: GetLastViewedProductsQueryParams): Promise<APIResponse<IkasLastViewedProduct[]>>",
|
|
543
|
-
"description": "",
|
|
544
|
-
"params": [],
|
|
545
|
-
"returnType": "Promise<APIResponse<IkasLastViewedProduct[]>>",
|
|
546
|
-
"categories": [],
|
|
547
|
-
"related": [],
|
|
548
|
-
"isAsync": true,
|
|
549
|
-
"isClass": false,
|
|
550
|
-
"parameterTypes": [
|
|
551
|
-
"IkasLastViewedProduct"
|
|
552
|
-
]
|
|
553
|
-
},
|
|
554
|
-
{
|
|
555
|
-
"name": "apiSaveLastViewedProducts",
|
|
556
|
-
"signature": "async function apiSaveLastViewedProducts(params: SaveLastViewedProductsQueryParams): Promise<APIResponse<undefined> | APIResponse<ProductLastViewed>>",
|
|
557
|
-
"description": "",
|
|
558
|
-
"params": [],
|
|
559
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<ProductLastViewed>>",
|
|
560
|
-
"categories": [],
|
|
561
|
-
"related": [],
|
|
562
|
-
"isAsync": true,
|
|
563
|
-
"isClass": false
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
"name": "apiListOrderRefundSettings",
|
|
567
|
-
"signature": "async function apiListOrderRefundSettings(params: ListOrderRefundSettingsQueryParams): Promise<APIResponse<IkasOrderRefundSettings[] | null>>",
|
|
568
|
-
"description": "",
|
|
569
|
-
"params": [],
|
|
570
|
-
"returnType": "Promise<APIResponse<IkasOrderRefundSettings[] | null>>",
|
|
571
|
-
"categories": [],
|
|
572
|
-
"related": [],
|
|
573
|
-
"isAsync": true,
|
|
574
|
-
"isClass": false,
|
|
575
|
-
"parameterTypes": [
|
|
576
|
-
"IkasOrderRefundSettings"
|
|
577
|
-
]
|
|
578
|
-
},
|
|
579
|
-
{
|
|
580
|
-
"name": "apiSendContactFormToMerchant",
|
|
581
|
-
"signature": "async function apiSendContactFormToMerchant(params: SendContactFormToMerchantQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
582
|
-
"description": "",
|
|
583
|
-
"params": [],
|
|
584
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
585
|
-
"categories": [],
|
|
586
|
-
"related": [],
|
|
587
|
-
"isAsync": true,
|
|
588
|
-
"isClass": false
|
|
589
|
-
},
|
|
590
|
-
{
|
|
591
|
-
"name": "apiListFavoriteProducts",
|
|
592
|
-
"signature": "async function apiListFavoriteProducts(): Promise<APIResponse<IkasFavoriteProduct[] | null>>",
|
|
593
|
-
"description": "",
|
|
594
|
-
"params": [],
|
|
595
|
-
"returnType": "Promise<APIResponse<IkasFavoriteProduct[] | null>>",
|
|
596
|
-
"categories": [],
|
|
597
|
-
"related": [],
|
|
598
|
-
"isAsync": true,
|
|
599
|
-
"isClass": false,
|
|
600
|
-
"parameterTypes": [
|
|
601
|
-
"IkasFavoriteProduct"
|
|
602
|
-
]
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
"name": "apiSaveFavoriteProduct",
|
|
606
|
-
"signature": "async function apiSaveFavoriteProduct(params: SaveFavoriteProductQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
607
|
-
"description": "",
|
|
608
|
-
"params": [],
|
|
609
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
610
|
-
"categories": [],
|
|
611
|
-
"related": [],
|
|
612
|
-
"isAsync": true,
|
|
613
|
-
"isClass": false
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
"name": "apiIsFavoriteProduct",
|
|
617
|
-
"signature": "async function apiIsFavoriteProduct(params: IsFavoriteProductQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
618
|
-
"description": "",
|
|
619
|
-
"params": [],
|
|
620
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
621
|
-
"categories": [],
|
|
622
|
-
"related": [],
|
|
623
|
-
"isAsync": true,
|
|
624
|
-
"isClass": false
|
|
625
|
-
},
|
|
626
|
-
{
|
|
627
|
-
"name": "apiCreateCustomerReview",
|
|
628
|
-
"signature": "async function apiCreateCustomerReview(params: CreateCustomerReviewQueryParams): Promise<APIResponse<IkasCustomerReview>>",
|
|
629
|
-
"description": "",
|
|
630
|
-
"params": [],
|
|
631
|
-
"returnType": "Promise<APIResponse<IkasCustomerReview>>",
|
|
632
|
-
"categories": [],
|
|
633
|
-
"related": [],
|
|
634
|
-
"isAsync": true,
|
|
635
|
-
"isClass": false,
|
|
636
|
-
"parameterTypes": [
|
|
637
|
-
"IkasCustomerReview"
|
|
638
|
-
]
|
|
639
|
-
},
|
|
640
|
-
{
|
|
641
|
-
"name": "apiListCustomerReviews",
|
|
642
|
-
"signature": "async function apiListCustomerReviews(params: ListCustomerReviewsQueryParams): Promise<APIResponse<{ data: IkasCustomerReview[]; count: number; hasNext: boolean; limit: number; page: number; } | null>>",
|
|
643
|
-
"description": "",
|
|
644
|
-
"params": [],
|
|
645
|
-
"returnType": "Promise<APIResponse<{ data: IkasCustomerReview[]; count: number; hasNext: boolean; limit: number; page: number; } | null>>",
|
|
646
|
-
"categories": [],
|
|
647
|
-
"related": [],
|
|
648
|
-
"isAsync": true,
|
|
649
|
-
"isClass": false,
|
|
650
|
-
"parameterTypes": [
|
|
651
|
-
"IkasCustomerReview"
|
|
652
|
-
]
|
|
653
|
-
},
|
|
654
|
-
{
|
|
655
|
-
"name": "apiListCustomerReviewSummary",
|
|
656
|
-
"signature": "async function apiListCustomerReviewSummary(params: ListCustomerReviewSummaryQueryParams): Promise<APIResponse<{ data: IkasCustomerReviewSummary[]; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
657
|
-
"description": "",
|
|
658
|
-
"params": [],
|
|
659
|
-
"returnType": "Promise<APIResponse<{ data: IkasCustomerReviewSummary[]; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
660
|
-
"categories": [],
|
|
661
|
-
"related": [],
|
|
662
|
-
"isAsync": true,
|
|
663
|
-
"isClass": false,
|
|
664
|
-
"parameterTypes": [
|
|
665
|
-
"IkasCustomerReviewSummary"
|
|
666
|
-
]
|
|
667
|
-
},
|
|
668
|
-
{
|
|
669
|
-
"name": "apiListCustomerAttribute",
|
|
670
|
-
"signature": "async function apiListCustomerAttribute(): Promise<APIResponse<IkasCustomerAttribute[]>>",
|
|
671
|
-
"description": "",
|
|
672
|
-
"params": [],
|
|
673
|
-
"returnType": "Promise<APIResponse<IkasCustomerAttribute[]>>",
|
|
674
|
-
"categories": [],
|
|
675
|
-
"related": [],
|
|
676
|
-
"isAsync": true,
|
|
677
|
-
"isClass": false,
|
|
678
|
-
"parameterTypes": [
|
|
679
|
-
"IkasCustomerAttribute"
|
|
680
|
-
]
|
|
681
|
-
},
|
|
682
|
-
{
|
|
683
|
-
"name": "apiListCustomerSettings",
|
|
684
|
-
"signature": "async function apiListCustomerSettings(params: ListCustomerSettingsQueryParams): Promise<APIResponse<{ data: IkasCustomerSettings[]; length?: number | undefined; toString?: (() => string) | undefined; toLocaleString?: { (): string; (locales: string | string[], options?: (NumberFormatOptions & DateTimeFormatOptions) | undefined): string; } | undefined; ... 31 more ...; at?: ((index: number) => Cu...",
|
|
685
|
-
"description": "",
|
|
686
|
-
"params": [],
|
|
687
|
-
"returnType": "Promise<APIResponse<{ data: IkasCustomerSettings[]; length?: number | undefined; toString?: (() => string) | undefined; toLocaleString?: { (): string; (locales: string | string[], options?: (NumberFormatOptions & DateTimeFormatOptions) | undefined): string; } | undefined; ... 31 more ...; at?: ((index: number) => Cu...",
|
|
688
|
-
"categories": [],
|
|
689
|
-
"related": [],
|
|
690
|
-
"isAsync": true,
|
|
691
|
-
"isClass": false,
|
|
692
|
-
"parameterTypes": [
|
|
693
|
-
"IkasCustomerSettings"
|
|
694
|
-
]
|
|
695
|
-
},
|
|
696
|
-
{
|
|
697
|
-
"name": "apiActivateCustomer",
|
|
698
|
-
"signature": "async function apiActivateCustomer(params: ActivateCustomerQueryParams): Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
699
|
-
"description": "",
|
|
700
|
-
"params": [],
|
|
701
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
702
|
-
"categories": [],
|
|
703
|
-
"related": [],
|
|
704
|
-
"isAsync": true,
|
|
705
|
-
"isClass": false
|
|
706
|
-
},
|
|
707
|
-
{
|
|
708
|
-
"name": "apiResendCustomerActivationMail",
|
|
709
|
-
"signature": "async function apiResendCustomerActivationMail(params: ResendCustomerActivationMailQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
710
|
-
"description": "",
|
|
711
|
-
"params": [],
|
|
712
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
713
|
-
"categories": [],
|
|
714
|
-
"related": [],
|
|
715
|
-
"isAsync": true,
|
|
716
|
-
"isClass": false
|
|
717
|
-
},
|
|
718
|
-
{
|
|
719
|
-
"name": "apiResendCustomerPhoneVerificationCode",
|
|
720
|
-
"signature": "async function apiResendCustomerPhoneVerificationCode(): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
721
|
-
"description": "",
|
|
722
|
-
"params": [],
|
|
723
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
724
|
-
"categories": [],
|
|
725
|
-
"related": [],
|
|
726
|
-
"isAsync": true,
|
|
727
|
-
"isClass": false
|
|
728
|
-
},
|
|
729
|
-
{
|
|
730
|
-
"name": "apiValidateCustomerPhoneVerificationCode",
|
|
731
|
-
"signature": "async function apiValidateCustomerPhoneVerificationCode(params: ValidateCustomerPhoneVerificationCodeQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
732
|
-
"description": "",
|
|
733
|
-
"params": [],
|
|
734
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
735
|
-
"categories": [],
|
|
736
|
-
"related": [],
|
|
737
|
-
"isAsync": true,
|
|
738
|
-
"isClass": false
|
|
739
|
-
},
|
|
740
|
-
{
|
|
741
|
-
"name": "apiValidateOTPCode",
|
|
742
|
-
"signature": "async function apiValidateOTPCode(params: ValidateOTPCodeQueryParams): Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
743
|
-
"description": "",
|
|
744
|
-
"params": [],
|
|
745
|
-
"returnType": "Promise<APIResponse<{ customer: IkasCustomer | null; flowId: string | null; otpSend: boolean | null; token: string; tokenExpiry: number; } | null>>",
|
|
746
|
-
"categories": [],
|
|
747
|
-
"related": [],
|
|
748
|
-
"isAsync": true,
|
|
749
|
-
"isClass": false,
|
|
750
|
-
"parameterTypes": [
|
|
751
|
-
"IkasCustomer"
|
|
752
|
-
]
|
|
753
|
-
},
|
|
754
|
-
{
|
|
755
|
-
"name": "apiDeactivateCustomer",
|
|
756
|
-
"signature": "async function apiDeactivateCustomer(params: CustomerDeactivateQueryParams): Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
757
|
-
"description": "",
|
|
758
|
-
"params": [],
|
|
759
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<boolean>>",
|
|
760
|
-
"categories": [],
|
|
761
|
-
"related": [],
|
|
762
|
-
"isAsync": true,
|
|
763
|
-
"isClass": false
|
|
764
|
-
},
|
|
765
|
-
{
|
|
766
|
-
"name": "apiExportCustomerPersonalData",
|
|
767
|
-
"signature": "async function apiExportCustomerPersonalData(): Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
768
|
-
"description": "",
|
|
769
|
-
"params": [],
|
|
770
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
771
|
-
"categories": [],
|
|
772
|
-
"related": [],
|
|
773
|
-
"isAsync": true,
|
|
774
|
-
"isClass": false
|
|
775
|
-
},
|
|
776
|
-
{
|
|
777
|
-
"name": "apiGetDigitalProductFileDownloadUrl",
|
|
778
|
-
"signature": "async function apiGetDigitalProductFileDownloadUrl(orderId: string, orderLineItemId: string): Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
779
|
-
"description": "",
|
|
780
|
-
"params": [],
|
|
781
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
782
|
-
"categories": [],
|
|
783
|
-
"related": [],
|
|
784
|
-
"isAsync": true,
|
|
785
|
-
"isClass": false
|
|
786
|
-
},
|
|
787
|
-
{
|
|
788
|
-
"name": "apiGetProductOptionFileUrl",
|
|
789
|
-
"signature": "async function apiGetProductOptionFileUrl(params: GetProductOptionFileUrlQueryParams, file: File): Promise<APIResponse<{ file: File; fields: any; optionUrl: string; url: string; } | null>>",
|
|
790
|
-
"description": "",
|
|
791
|
-
"params": [],
|
|
792
|
-
"returnType": "Promise<APIResponse<{ file: File; fields: any; optionUrl: string; url: string; } | null>>",
|
|
793
|
-
"categories": [],
|
|
794
|
-
"related": [],
|
|
795
|
-
"isAsync": true,
|
|
796
|
-
"isClass": false
|
|
797
|
-
},
|
|
798
|
-
{
|
|
799
|
-
"name": "apiUploadFile",
|
|
800
|
-
"signature": "async function apiUploadFile(params: IkasProductOptionFileUrl, file: File): Promise<boolean>",
|
|
801
|
-
"description": "",
|
|
802
|
-
"params": [],
|
|
803
|
-
"returnType": "Promise<boolean>",
|
|
804
|
-
"categories": [],
|
|
805
|
-
"related": [],
|
|
806
|
-
"isAsync": true,
|
|
807
|
-
"isClass": false,
|
|
808
|
-
"parameterTypes": [
|
|
809
|
-
"IkasProductOptionFileUrl"
|
|
810
|
-
]
|
|
811
|
-
},
|
|
812
|
-
{
|
|
813
|
-
"name": "apiListHTMLMetaData",
|
|
814
|
-
"signature": "async function apiListHTMLMetaData(params: ListHTMLMetaDataQueryParams): Promise<APIResponse<IkasHTMLMetaData[]>>",
|
|
815
|
-
"description": "",
|
|
816
|
-
"params": [],
|
|
817
|
-
"returnType": "Promise<APIResponse<IkasHTMLMetaData[]>>",
|
|
818
|
-
"categories": [],
|
|
819
|
-
"related": [],
|
|
820
|
-
"isAsync": true,
|
|
821
|
-
"isClass": false,
|
|
822
|
-
"parameterTypes": [
|
|
823
|
-
"IkasHTMLMetaData"
|
|
824
|
-
]
|
|
825
|
-
},
|
|
826
|
-
{
|
|
827
|
-
"name": "apiGetMyCountry",
|
|
828
|
-
"signature": "async function apiGetMyCountry(): Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
829
|
-
"description": "",
|
|
830
|
-
"params": [],
|
|
831
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
832
|
-
"categories": [],
|
|
833
|
-
"related": [],
|
|
834
|
-
"isAsync": true,
|
|
835
|
-
"isClass": false
|
|
836
|
-
},
|
|
837
|
-
{
|
|
838
|
-
"name": "apiListCountry",
|
|
839
|
-
"signature": "async function apiListCountry(params: ListCountryQueryParams): Promise<APIResponse<IkasCountry[]>>",
|
|
840
|
-
"description": "",
|
|
841
|
-
"params": [],
|
|
842
|
-
"returnType": "Promise<APIResponse<IkasCountry[]>>",
|
|
843
|
-
"categories": [],
|
|
844
|
-
"related": [],
|
|
845
|
-
"isAsync": true,
|
|
846
|
-
"isClass": false,
|
|
847
|
-
"parameterTypes": [
|
|
848
|
-
"IkasCountry"
|
|
849
|
-
]
|
|
850
|
-
},
|
|
851
|
-
{
|
|
852
|
-
"name": "apiListCity",
|
|
853
|
-
"signature": "async function apiListCity(params: ListCityQueryParams): Promise<APIResponse<IkasCity[]>>",
|
|
854
|
-
"description": "",
|
|
855
|
-
"params": [],
|
|
856
|
-
"returnType": "Promise<APIResponse<IkasCity[]>>",
|
|
857
|
-
"categories": [],
|
|
858
|
-
"related": [],
|
|
859
|
-
"isAsync": true,
|
|
860
|
-
"isClass": false,
|
|
861
|
-
"parameterTypes": [
|
|
862
|
-
"IkasCity"
|
|
863
|
-
]
|
|
864
|
-
},
|
|
865
|
-
{
|
|
866
|
-
"name": "apiListDistrict",
|
|
867
|
-
"signature": "async function apiListDistrict(params: ListDistrictQueryParams): Promise<APIResponse<IkasDistrict[]>>",
|
|
868
|
-
"description": "",
|
|
869
|
-
"params": [],
|
|
870
|
-
"returnType": "Promise<APIResponse<IkasDistrict[]>>",
|
|
871
|
-
"categories": [],
|
|
872
|
-
"related": [],
|
|
873
|
-
"isAsync": true,
|
|
874
|
-
"isClass": false,
|
|
875
|
-
"parameterTypes": [
|
|
876
|
-
"IkasDistrict"
|
|
877
|
-
]
|
|
878
|
-
},
|
|
879
|
-
{
|
|
880
|
-
"name": "apiListState",
|
|
881
|
-
"signature": "async function apiListState(params: ListStateQueryParams): Promise<APIResponse<IkasState[]>>",
|
|
882
|
-
"description": "",
|
|
883
|
-
"params": [],
|
|
884
|
-
"returnType": "Promise<APIResponse<IkasState[]>>",
|
|
885
|
-
"categories": [],
|
|
886
|
-
"related": [],
|
|
887
|
-
"isAsync": true,
|
|
888
|
-
"isClass": false,
|
|
889
|
-
"parameterTypes": [
|
|
890
|
-
"IkasState"
|
|
891
|
-
]
|
|
892
|
-
},
|
|
893
|
-
{
|
|
894
|
-
"name": "apiGetAvailableShippingZones",
|
|
895
|
-
"signature": "async function apiGetAvailableShippingZones(params: GetAvailableShippingZonesQueryParams): Promise<APIResponse<IkasShippingZone[]>>",
|
|
896
|
-
"description": "",
|
|
897
|
-
"params": [],
|
|
898
|
-
"returnType": "Promise<APIResponse<IkasShippingZone[]>>",
|
|
899
|
-
"categories": [],
|
|
900
|
-
"related": [],
|
|
901
|
-
"isAsync": true,
|
|
902
|
-
"isClass": false,
|
|
903
|
-
"parameterTypes": [
|
|
904
|
-
"IkasShippingZone"
|
|
905
|
-
]
|
|
906
|
-
},
|
|
907
|
-
{
|
|
908
|
-
"name": "apiGetStorefrontWidgetSettings",
|
|
909
|
-
"signature": "async function apiGetStorefrontWidgetSettings(): Promise<APIResponse<IkasStorefrontWidgetSettings>>",
|
|
910
|
-
"description": "",
|
|
911
|
-
"params": [],
|
|
912
|
-
"returnType": "Promise<APIResponse<IkasStorefrontWidgetSettings>>",
|
|
913
|
-
"categories": [],
|
|
914
|
-
"related": [],
|
|
915
|
-
"isAsync": true,
|
|
916
|
-
"isClass": false,
|
|
917
|
-
"parameterTypes": [
|
|
918
|
-
"IkasStorefrontWidgetSettings"
|
|
919
|
-
]
|
|
920
|
-
},
|
|
921
|
-
{
|
|
922
|
-
"name": "apiListEarningMethods",
|
|
923
|
-
"signature": "async function apiListEarningMethods(): Promise<APIResponse<IkasLoyaltyProgramEarningMethod[]>>",
|
|
924
|
-
"description": "",
|
|
925
|
-
"params": [],
|
|
926
|
-
"returnType": "Promise<APIResponse<IkasLoyaltyProgramEarningMethod[]>>",
|
|
927
|
-
"categories": [],
|
|
928
|
-
"related": [],
|
|
929
|
-
"isAsync": true,
|
|
930
|
-
"isClass": false,
|
|
931
|
-
"parameterTypes": [
|
|
932
|
-
"IkasLoyaltyProgramEarningMethod"
|
|
933
|
-
]
|
|
934
|
-
},
|
|
935
|
-
{
|
|
936
|
-
"name": "apiListLoyaltyProgramTiers",
|
|
937
|
-
"signature": "async function apiListLoyaltyProgramTiers(): Promise<APIResponse<IkasLoyaltyProgramTier[]>>",
|
|
938
|
-
"description": "",
|
|
939
|
-
"params": [],
|
|
940
|
-
"returnType": "Promise<APIResponse<IkasLoyaltyProgramTier[]>>",
|
|
941
|
-
"categories": [],
|
|
942
|
-
"related": [],
|
|
943
|
-
"isAsync": true,
|
|
944
|
-
"isClass": false,
|
|
945
|
-
"parameterTypes": [
|
|
946
|
-
"IkasLoyaltyProgramTier"
|
|
947
|
-
]
|
|
948
|
-
},
|
|
949
|
-
{
|
|
950
|
-
"name": "apiListSpendingMethodsByCartId",
|
|
951
|
-
"signature": "async function apiListSpendingMethodsByCartId(params: ListSpendingMethodsByCartIdQueryParams): Promise<APIResponse<IkasLoyaltyProgramSpendingMethod[]>>",
|
|
952
|
-
"description": "",
|
|
953
|
-
"params": [],
|
|
954
|
-
"returnType": "Promise<APIResponse<IkasLoyaltyProgramSpendingMethod[]>>",
|
|
955
|
-
"categories": [],
|
|
956
|
-
"related": [],
|
|
957
|
-
"isAsync": true,
|
|
958
|
-
"isClass": false,
|
|
959
|
-
"parameterTypes": [
|
|
960
|
-
"IkasLoyaltyProgramSpendingMethod"
|
|
961
|
-
]
|
|
962
|
-
},
|
|
963
|
-
{
|
|
964
|
-
"name": "apiGetLoyaltyCustomerInfo",
|
|
965
|
-
"signature": "async function apiGetLoyaltyCustomerInfo(params: GetLoyaltyCustomerInfoQueryParams): Promise<APIResponse<IkasLoyaltyCustomerInfo>>",
|
|
966
|
-
"description": "",
|
|
967
|
-
"params": [],
|
|
968
|
-
"returnType": "Promise<APIResponse<IkasLoyaltyCustomerInfo>>",
|
|
969
|
-
"categories": [],
|
|
970
|
-
"related": [],
|
|
971
|
-
"isAsync": true,
|
|
972
|
-
"isClass": false,
|
|
973
|
-
"parameterTypes": [
|
|
974
|
-
"IkasLoyaltyCustomerInfo"
|
|
975
|
-
]
|
|
976
|
-
},
|
|
977
|
-
{
|
|
978
|
-
"name": "apiListLoyaltyProgramPointHistory",
|
|
979
|
-
"signature": "async function apiListLoyaltyProgramPointHistory(params: ListLoyaltyProgramPointHistoryQueryParams): Promise<APIResponse<IkasLoyaltyProgramPointHistory[]>>",
|
|
980
|
-
"description": "",
|
|
981
|
-
"params": [],
|
|
982
|
-
"returnType": "Promise<APIResponse<IkasLoyaltyProgramPointHistory[]>>",
|
|
983
|
-
"categories": [],
|
|
984
|
-
"related": [],
|
|
985
|
-
"isAsync": true,
|
|
986
|
-
"isClass": false,
|
|
987
|
-
"parameterTypes": [
|
|
988
|
-
"IkasLoyaltyProgramPointHistory"
|
|
989
|
-
]
|
|
990
|
-
},
|
|
991
|
-
{
|
|
992
|
-
"name": "apiUseLoyaltyPoints",
|
|
993
|
-
"signature": "async function apiUseLoyaltyPoints(params: UseLoyaltyPointsQueryParams): Promise<APIResponse<CartV2>>",
|
|
994
|
-
"description": "",
|
|
995
|
-
"params": [],
|
|
996
|
-
"returnType": "Promise<APIResponse<CartV2>>",
|
|
997
|
-
"categories": [],
|
|
998
|
-
"related": [],
|
|
999
|
-
"isAsync": true,
|
|
1000
|
-
"isClass": false
|
|
1001
|
-
},
|
|
1002
|
-
{
|
|
1003
|
-
"name": "apiRemoveLoyaltyPointsFromCart",
|
|
1004
|
-
"signature": "async function apiRemoveLoyaltyPointsFromCart(params: RemoveLoyaltyPointsFromCartQueryParams): Promise<APIResponse<CartV2>>",
|
|
1005
|
-
"description": "",
|
|
1006
|
-
"params": [],
|
|
1007
|
-
"returnType": "Promise<APIResponse<CartV2>>",
|
|
1008
|
-
"categories": [],
|
|
1009
|
-
"related": [],
|
|
1010
|
-
"isAsync": true,
|
|
1011
|
-
"isClass": false
|
|
1012
|
-
},
|
|
1013
|
-
{
|
|
1014
|
-
"name": "apiGetMasterPassRequestToken",
|
|
1015
|
-
"signature": "async function apiGetMasterPassRequestToken(data: GetMasterPassRequestTokenQueryParams): Promise<APIResponse<undefined> | APIResponse<MasterPassTokenResponse>>",
|
|
1016
|
-
"description": "",
|
|
1017
|
-
"params": [],
|
|
1018
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<MasterPassTokenResponse>>",
|
|
1019
|
-
"categories": [],
|
|
1020
|
-
"related": [],
|
|
1021
|
-
"isAsync": true,
|
|
1022
|
-
"isClass": false
|
|
1023
|
-
},
|
|
1024
|
-
{
|
|
1025
|
-
"name": "apiListMerchantSettings",
|
|
1026
|
-
"signature": "async function apiListMerchantSettings(params: ListMerchantSettingsQueryParams): Promise<APIResponse<IkasMerchantSettings | null>>",
|
|
1027
|
-
"description": "",
|
|
1028
|
-
"params": [],
|
|
1029
|
-
"returnType": "Promise<APIResponse<IkasMerchantSettings | null>>",
|
|
1030
|
-
"categories": [],
|
|
1031
|
-
"related": [],
|
|
1032
|
-
"isAsync": true,
|
|
1033
|
-
"isClass": false,
|
|
1034
|
-
"parameterTypes": [
|
|
1035
|
-
"IkasMerchantSettings"
|
|
1036
|
-
]
|
|
1037
|
-
},
|
|
1038
|
-
{
|
|
1039
|
-
"name": "apiListStorefrontPopup",
|
|
1040
|
-
"signature": "async function apiListStorefrontPopup(params: ListStorefrontPopupQueryParams): Promise<APIResponse<IkasStorefrontPopup[]>>",
|
|
1041
|
-
"description": "",
|
|
1042
|
-
"params": [],
|
|
1043
|
-
"returnType": "Promise<APIResponse<IkasStorefrontPopup[]>>",
|
|
1044
|
-
"categories": [],
|
|
1045
|
-
"related": [],
|
|
1046
|
-
"isAsync": true,
|
|
1047
|
-
"isClass": false,
|
|
1048
|
-
"parameterTypes": [
|
|
1049
|
-
"IkasStorefrontPopup"
|
|
1050
|
-
]
|
|
1051
|
-
},
|
|
1052
|
-
{
|
|
1053
|
-
"name": "apiListProductBackInStockRemind",
|
|
1054
|
-
"signature": "async function apiListProductBackInStockRemind(params: ListProductBackInStockRemindQueryParams): Promise<APIResponse<undefined> | APIResponse<ProductBackInStockRemind[]>>",
|
|
1055
|
-
"description": "",
|
|
1056
|
-
"params": [],
|
|
1057
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<ProductBackInStockRemind[]>>",
|
|
1058
|
-
"categories": [],
|
|
1059
|
-
"related": [],
|
|
1060
|
-
"isAsync": true,
|
|
1061
|
-
"isClass": false
|
|
1062
|
-
},
|
|
1063
|
-
{
|
|
1064
|
-
"name": "apiSaveProductBackInStockRemind",
|
|
1065
|
-
"signature": "async function apiSaveProductBackInStockRemind(params: SaveProductBackInStockRemindQueryParams): Promise<APIResponse<undefined> | APIResponse<ProductBackInStockRemind>>",
|
|
1066
|
-
"description": "",
|
|
1067
|
-
"params": [],
|
|
1068
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<ProductBackInStockRemind>>",
|
|
1069
|
-
"categories": [],
|
|
1070
|
-
"related": [],
|
|
1071
|
-
"isAsync": true,
|
|
1072
|
-
"isClass": false
|
|
1073
|
-
},
|
|
1074
|
-
{
|
|
1075
|
-
"name": "apiListCampaignOffer",
|
|
1076
|
-
"signature": "async function apiListCampaignOffer(params: ListCampaignOfferQueryParams): Promise<APIResponse<CampaignOffer[] | null>>",
|
|
1077
|
-
"description": "",
|
|
1078
|
-
"params": [],
|
|
1079
|
-
"returnType": "Promise<APIResponse<CampaignOffer[] | null>>",
|
|
1080
|
-
"categories": [],
|
|
1081
|
-
"related": [],
|
|
1082
|
-
"isAsync": true,
|
|
1083
|
-
"isClass": false
|
|
1084
|
-
},
|
|
1085
|
-
{
|
|
1086
|
-
"name": "apiSearchProducts",
|
|
1087
|
-
"signature": "async function apiSearchProducts(params: SearchProductsQueryParams, excludedFields?: string[]): Promise<APIResponse<{ data: IkasProduct[] | undefined; catalogResults: SearchCatalog[] | null; count: number; facets: ProductFacetCount[] | null; ... 4 more ...; totalCount: number; } | null>>",
|
|
6
|
+
"signature": "async function apiListProductBrand(params: ListProductBrandQueryParams): Promise<APIResponse<{ data: IkasBrand[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
1088
7
|
"description": "",
|
|
1089
8
|
"params": [],
|
|
1090
|
-
"returnType": "Promise<APIResponse<{ data:
|
|
9
|
+
"returnType": "Promise<APIResponse<{ data: IkasBrand[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
1091
10
|
"categories": [],
|
|
1092
11
|
"related": [],
|
|
1093
12
|
"isAsync": true,
|
|
1094
13
|
"isClass": false,
|
|
1095
14
|
"parameterTypes": [
|
|
1096
|
-
"
|
|
15
|
+
"IkasBrand"
|
|
1097
16
|
]
|
|
1098
17
|
},
|
|
1099
18
|
{
|
|
1100
|
-
"name": "
|
|
1101
|
-
"signature": "async function
|
|
19
|
+
"name": "apiListCategory",
|
|
20
|
+
"signature": "async function apiListCategory(params: ListCategoryQueryParams, excludedFieldsCategory?: string[] | null): Promise<APIResponse<{ data: IkasCategory[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
1102
21
|
"description": "",
|
|
1103
22
|
"params": [],
|
|
1104
|
-
"returnType": "Promise<APIResponse<{
|
|
23
|
+
"returnType": "Promise<APIResponse<{ data: IkasCategory[] | undefined; count?: number | undefined; hasNext?: boolean | undefined; limit?: number | undefined; page?: number | undefined; }>>",
|
|
1105
24
|
"categories": [],
|
|
1106
25
|
"related": [],
|
|
1107
26
|
"isAsync": true,
|
|
1108
27
|
"isClass": false,
|
|
1109
28
|
"parameterTypes": [
|
|
1110
|
-
"
|
|
1111
|
-
"IkasFilterCategory"
|
|
29
|
+
"IkasCategory"
|
|
1112
30
|
]
|
|
1113
31
|
},
|
|
1114
32
|
{
|
|
1115
|
-
"name": "
|
|
1116
|
-
"signature": "async function
|
|
33
|
+
"name": "apiGetStorefrontWidgetSettings",
|
|
34
|
+
"signature": "async function apiGetStorefrontWidgetSettings(): Promise<APIResponse<IkasStorefrontWidgetSettings>>",
|
|
1117
35
|
"description": "",
|
|
1118
36
|
"params": [],
|
|
1119
|
-
"returnType": "Promise<APIResponse<
|
|
37
|
+
"returnType": "Promise<APIResponse<IkasStorefrontWidgetSettings>>",
|
|
1120
38
|
"categories": [],
|
|
1121
39
|
"related": [],
|
|
1122
40
|
"isAsync": true,
|
|
1123
41
|
"isClass": false,
|
|
1124
42
|
"parameterTypes": [
|
|
1125
|
-
"
|
|
43
|
+
"IkasStorefrontWidgetSettings"
|
|
1126
44
|
]
|
|
1127
45
|
},
|
|
1128
46
|
{
|
|
1129
|
-
"name": "
|
|
1130
|
-
"signature": "async function
|
|
47
|
+
"name": "apiGetLoyaltyProgram",
|
|
48
|
+
"signature": "async function apiGetLoyaltyProgram(): Promise<APIResponse<IkasLoyaltyProgram>>",
|
|
1131
49
|
"description": "",
|
|
1132
50
|
"params": [],
|
|
1133
|
-
"returnType": "Promise<APIResponse<
|
|
51
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyProgram>>",
|
|
1134
52
|
"categories": [],
|
|
1135
53
|
"related": [],
|
|
1136
54
|
"isAsync": true,
|
|
1137
55
|
"isClass": false,
|
|
1138
56
|
"parameterTypes": [
|
|
1139
|
-
"
|
|
57
|
+
"IkasLoyaltyProgram"
|
|
1140
58
|
]
|
|
1141
59
|
},
|
|
1142
60
|
{
|
|
1143
|
-
"name": "
|
|
1144
|
-
"signature": "async function
|
|
61
|
+
"name": "apiListEarningMethods",
|
|
62
|
+
"signature": "async function apiListEarningMethods(): Promise<APIResponse<IkasLoyaltyProgramEarningMethod[]>>",
|
|
1145
63
|
"description": "",
|
|
1146
64
|
"params": [],
|
|
1147
|
-
"returnType": "Promise<APIResponse<
|
|
65
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyProgramEarningMethod[]>>",
|
|
1148
66
|
"categories": [],
|
|
1149
67
|
"related": [],
|
|
1150
68
|
"isAsync": true,
|
|
1151
69
|
"isClass": false,
|
|
1152
70
|
"parameterTypes": [
|
|
1153
|
-
"
|
|
71
|
+
"IkasLoyaltyProgramEarningMethod"
|
|
1154
72
|
]
|
|
1155
73
|
},
|
|
1156
74
|
{
|
|
1157
|
-
"name": "
|
|
1158
|
-
"signature": "async function
|
|
75
|
+
"name": "apiListLoyaltyProgramTiers",
|
|
76
|
+
"signature": "async function apiListLoyaltyProgramTiers(): Promise<APIResponse<IkasLoyaltyProgramTier[]>>",
|
|
1159
77
|
"description": "",
|
|
1160
78
|
"params": [],
|
|
1161
|
-
"returnType": "Promise<APIResponse<
|
|
79
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyProgramTier[]>>",
|
|
1162
80
|
"categories": [],
|
|
1163
81
|
"related": [],
|
|
1164
82
|
"isAsync": true,
|
|
1165
83
|
"isClass": false,
|
|
1166
84
|
"parameterTypes": [
|
|
1167
|
-
"
|
|
85
|
+
"IkasLoyaltyProgramTier"
|
|
1168
86
|
]
|
|
1169
87
|
},
|
|
1170
88
|
{
|
|
1171
|
-
"name": "
|
|
1172
|
-
"signature": "async function
|
|
89
|
+
"name": "apiListSpendingMethodsByCartId",
|
|
90
|
+
"signature": "async function apiListSpendingMethodsByCartId(params: ListSpendingMethodsByCartIdQueryParams): Promise<APIResponse<IkasLoyaltyProgramSpendingMethod[]>>",
|
|
1173
91
|
"description": "",
|
|
1174
92
|
"params": [],
|
|
1175
|
-
"returnType": "Promise<APIResponse<
|
|
93
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyProgramSpendingMethod[]>>",
|
|
1176
94
|
"categories": [],
|
|
1177
95
|
"related": [],
|
|
1178
96
|
"isAsync": true,
|
|
1179
97
|
"isClass": false,
|
|
1180
98
|
"parameterTypes": [
|
|
1181
|
-
"
|
|
99
|
+
"IkasLoyaltyProgramSpendingMethod"
|
|
1182
100
|
]
|
|
1183
101
|
},
|
|
1184
102
|
{
|
|
1185
|
-
"name": "
|
|
1186
|
-
"signature": "async function
|
|
1187
|
-
"description": "",
|
|
1188
|
-
"params": [],
|
|
1189
|
-
"returnType": "Promise<APIResponse<undefined> | APIResponse<string>>",
|
|
1190
|
-
"categories": [],
|
|
1191
|
-
"related": [],
|
|
1192
|
-
"isAsync": true,
|
|
1193
|
-
"isClass": false
|
|
1194
|
-
},
|
|
1195
|
-
{
|
|
1196
|
-
"name": "apiListProductOptionSet",
|
|
1197
|
-
"signature": "async function apiListProductOptionSet(params: ListProductOptionSetQueryParams, product: IkasProduct): Promise<APIResponse<IkasProductOptionSet[]>>",
|
|
103
|
+
"name": "apiGetLoyaltyCustomerInfo",
|
|
104
|
+
"signature": "async function apiGetLoyaltyCustomerInfo(params: GetLoyaltyCustomerInfoQueryParams): Promise<APIResponse<IkasLoyaltyCustomerInfo>>",
|
|
1198
105
|
"description": "",
|
|
1199
106
|
"params": [],
|
|
1200
|
-
"returnType": "Promise<APIResponse<
|
|
107
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyCustomerInfo>>",
|
|
1201
108
|
"categories": [],
|
|
1202
109
|
"related": [],
|
|
1203
110
|
"isAsync": true,
|
|
1204
111
|
"isClass": false,
|
|
1205
112
|
"parameterTypes": [
|
|
1206
|
-
"
|
|
1207
|
-
"IkasProductOptionSet"
|
|
113
|
+
"IkasLoyaltyCustomerInfo"
|
|
1208
114
|
]
|
|
1209
115
|
},
|
|
1210
116
|
{
|
|
1211
|
-
"name": "
|
|
1212
|
-
"signature": "async function
|
|
117
|
+
"name": "apiListLoyaltyProgramPointHistory",
|
|
118
|
+
"signature": "async function apiListLoyaltyProgramPointHistory(params: ListLoyaltyProgramPointHistoryQueryParams): Promise<APIResponse<IkasLoyaltyProgramPointHistory[]>>",
|
|
1213
119
|
"description": "",
|
|
1214
120
|
"params": [],
|
|
1215
|
-
"returnType": "Promise<APIResponse<
|
|
121
|
+
"returnType": "Promise<APIResponse<IkasLoyaltyProgramPointHistory[]>>",
|
|
1216
122
|
"categories": [],
|
|
1217
123
|
"related": [],
|
|
1218
124
|
"isAsync": true,
|
|
1219
125
|
"isClass": false,
|
|
1220
126
|
"parameterTypes": [
|
|
1221
|
-
"
|
|
127
|
+
"IkasLoyaltyProgramPointHistory"
|
|
1222
128
|
]
|
|
1223
129
|
},
|
|
1224
130
|
{
|
|
1225
|
-
"name": "
|
|
1226
|
-
"signature": "async function
|
|
131
|
+
"name": "apiUseLoyaltyPoints",
|
|
132
|
+
"signature": "async function apiUseLoyaltyPoints(params: UseLoyaltyPointsQueryParams): Promise<APIResponse<CartV2>>",
|
|
1227
133
|
"description": "",
|
|
1228
134
|
"params": [],
|
|
1229
|
-
"returnType": "Promise<APIResponse<
|
|
135
|
+
"returnType": "Promise<APIResponse<CartV2>>",
|
|
1230
136
|
"categories": [],
|
|
1231
137
|
"related": [],
|
|
1232
138
|
"isAsync": true,
|
|
1233
|
-
"isClass": false
|
|
1234
|
-
"parameterTypes": [
|
|
1235
|
-
"IkasRaffleParticipant"
|
|
1236
|
-
]
|
|
139
|
+
"isClass": false
|
|
1237
140
|
},
|
|
1238
141
|
{
|
|
1239
|
-
"name": "
|
|
1240
|
-
"signature": "async function
|
|
142
|
+
"name": "apiRemoveLoyaltyPointsFromCart",
|
|
143
|
+
"signature": "async function apiRemoveLoyaltyPointsFromCart(params: RemoveLoyaltyPointsFromCartQueryParams): Promise<APIResponse<CartV2>>",
|
|
1241
144
|
"description": "",
|
|
1242
145
|
"params": [],
|
|
1243
|
-
"returnType": "Promise<APIResponse<
|
|
146
|
+
"returnType": "Promise<APIResponse<CartV2>>",
|
|
1244
147
|
"categories": [],
|
|
1245
148
|
"related": [],
|
|
1246
149
|
"isAsync": true,
|
|
1247
|
-
"isClass": false
|
|
1248
|
-
"parameterTypes": [
|
|
1249
|
-
"IkasRaffleMetaData"
|
|
1250
|
-
]
|
|
150
|
+
"isClass": false
|
|
1251
151
|
},
|
|
1252
152
|
{
|
|
1253
|
-
"name": "
|
|
1254
|
-
"signature": "async function
|
|
153
|
+
"name": "apiListStorefrontPopup",
|
|
154
|
+
"signature": "async function apiListStorefrontPopup(params: ListStorefrontPopupQueryParams): Promise<APIResponse<IkasStorefrontPopup[]>>",
|
|
1255
155
|
"description": "",
|
|
1256
156
|
"params": [],
|
|
1257
|
-
"returnType": "Promise<APIResponse<
|
|
157
|
+
"returnType": "Promise<APIResponse<IkasStorefrontPopup[]>>",
|
|
1258
158
|
"categories": [],
|
|
1259
159
|
"related": [],
|
|
1260
160
|
"isAsync": true,
|
|
1261
161
|
"isClass": false,
|
|
1262
162
|
"parameterTypes": [
|
|
1263
|
-
"
|
|
163
|
+
"IkasStorefrontPopup"
|
|
1264
164
|
]
|
|
1265
165
|
},
|
|
1266
166
|
{
|
|
1267
|
-
"name": "
|
|
1268
|
-
"signature": "async function
|
|
167
|
+
"name": "apiSearchProducts",
|
|
168
|
+
"signature": "async function apiSearchProducts(params: SearchProductsQueryParams, excludedFields?: string[]): Promise<APIResponse<{ data: IkasProduct[] | undefined; catalogResults: SearchCatalog[] | null; count: number; facets: ProductFacetCount[] | null; ... 4 more ...; totalCount: number; } | null>>",
|
|
1269
169
|
"description": "",
|
|
1270
170
|
"params": [],
|
|
1271
|
-
"returnType": "Promise<APIResponse<
|
|
171
|
+
"returnType": "Promise<APIResponse<{ data: IkasProduct[] | undefined; catalogResults: SearchCatalog[] | null; count: number; facets: ProductFacetCount[] | null; ... 4 more ...; totalCount: number; } | null>>",
|
|
1272
172
|
"categories": [],
|
|
1273
173
|
"related": [],
|
|
1274
174
|
"isAsync": true,
|
|
1275
175
|
"isClass": false,
|
|
1276
176
|
"parameterTypes": [
|
|
1277
|
-
"
|
|
177
|
+
"IkasProduct"
|
|
1278
178
|
]
|
|
1279
179
|
},
|
|
1280
180
|
{
|
|
1281
181
|
"name": "getAttributeDetailValues",
|
|
1282
182
|
"displayName": "getValues",
|
|
1283
183
|
"signature": "function getAttributeDetailValues(attributeDetail: IkasProductAttributeDetail): IkasProductAttributeValue[]",
|
|
1284
|
-
"description": "Retrieves the attribute values for a product attribute detail, merging variant and product-level attributes.",
|
|
184
|
+
"description": "Retrieves the attribute values for a product attribute detail, merging variant and product-level attributes.\nThis is how a PRODUCT_ATTRIBUTE code-component prop is consumed: that prop hands you the\nIkasProductAttributeDetail wrapper ({ product, attributePropValue }), never the attribute value itself, so\nreading `prop.value` silently yields nothing — call this function instead.",
|
|
1285
185
|
"params": [
|
|
1286
186
|
{
|
|
1287
187
|
"name": "attributeDetail",
|
|
@@ -1309,7 +209,7 @@
|
|
|
1309
209
|
"name": "getAttributeListValues",
|
|
1310
210
|
"displayName": "getValues",
|
|
1311
211
|
"signature": "function getAttributeListValues(list: IkasProductAttributeList): IkasProductAttributeMap[]",
|
|
1312
|
-
"description": "Retrieves grouped attribute values for a product attribute list, combining variant and product-level attributes.",
|
|
212
|
+
"description": "Retrieves grouped attribute values for a product attribute list, combining variant and product-level attributes.\nThis is how a PRODUCT_ATTRIBUTE_LIST code-component prop is consumed: that prop hands you a single\nIkasProductAttributeList wrapper ({ product, attributeListPropValue }) — never an array — so mapping over the\nprop is a runtime error; call this function and iterate the returned { attribute, values } maps instead.",
|
|
1313
213
|
"params": [
|
|
1314
214
|
{
|
|
1315
215
|
"name": "list",
|
|
@@ -3875,16 +2775,16 @@
|
|
|
3875
2775
|
{
|
|
3876
2776
|
"name": "getDefaultSrc",
|
|
3877
2777
|
"signature": "function getDefaultSrc(image: IkasImage): string",
|
|
3878
|
-
"description": "Returns the default source URL for an image at 1080px resolution.",
|
|
2778
|
+
"description": "Returns the default source URL for an image OR video at 1080px resolution.\n\nProduct media items (IkasProductImage) can be videos. ALWAYS check `item.isVideo`\nand render a `<video src={getDefaultSrc(item)}>` instead of an `<img>` when it is true.\nNever assume every media item is an image.",
|
|
3879
2779
|
"params": [
|
|
3880
2780
|
{
|
|
3881
2781
|
"name": "image",
|
|
3882
2782
|
"description": "- The image object to generate the default source URL for."
|
|
3883
2783
|
}
|
|
3884
2784
|
],
|
|
3885
|
-
"returns": "The CDN URL string for the image at 1080px size.",
|
|
2785
|
+
"returns": "The CDN URL string for the image or video at 1080px size.",
|
|
3886
2786
|
"returnType": "string",
|
|
3887
|
-
"example": "```typescript\nimport { getDefaultSrc } from \"@ikas/bp-storefront\";\n\
|
|
2787
|
+
"example": "```typescript\nimport { getDefaultSrc, createMediaSrcset } from \"@ikas/bp-storefront\";\n\n// Product images can be videos — ALWAYS branch on isVideo when mapping media:\n{product.images.map((item, i) =>\n item.isVideo ? (\n <video key={i} src={getDefaultSrc(item)} muted playsInline preload=\"metadata\">\n <track kind=\"captions\" />\n </video>\n ) : (\n <img key={i} src={getDefaultSrc(item)} srcSet={createMediaSrcset(item)} alt={`Product ${i + 1}`} />\n )\n)}\n```",
|
|
3888
2788
|
"categories": [
|
|
3889
2789
|
"Image"
|
|
3890
2790
|
],
|
|
@@ -3902,16 +2802,16 @@
|
|
|
3902
2802
|
{
|
|
3903
2803
|
"name": "getThumbnailSrc",
|
|
3904
2804
|
"signature": "function getThumbnailSrc(image: IkasImage): string",
|
|
3905
|
-
"description": "Returns the thumbnail source URL for an
|
|
2805
|
+
"description": "Returns the thumbnail source URL for an IMAGE at 180px resolution.\n\nVIDEOS HAVE NO 180px THUMBNAIL and no poster URL. When `image.isVideo === true` the size is\nIGNORED and this returns the same full-size .mp4 as `getDefaultSrc(image)` — so using it in a\nthumbnail-sized box (swatch, cart line, order line) downloads the whole video instead of a\n180px webp. Nothing looks broken, which makes it a silent performance regression.\n\nBranch on `item.isVideo` first and only pass images here. For the video branch in a small,\nstatic context render `<video src={getDefaultSrc(item)} preload=\"metadata\" muted playsInline>`\nwith no `autoPlay`: the browser fetches only the first frame and holds it as a stand-in poster.",
|
|
3906
2806
|
"params": [
|
|
3907
2807
|
{
|
|
3908
2808
|
"name": "image",
|
|
3909
|
-
"description": "- The image object to generate the thumbnail source URL for."
|
|
2809
|
+
"description": "- The image object to generate the thumbnail source URL for. Videos ignore the size."
|
|
3910
2810
|
}
|
|
3911
2811
|
],
|
|
3912
|
-
"returns": "The CDN URL string
|
|
2812
|
+
"returns": "The CDN URL string: a 180px image, or — for `isVideo` items — the original .mp4.",
|
|
3913
2813
|
"returnType": "string",
|
|
3914
|
-
"example": "```typescript\nimport { getThumbnailSrc } from \"@ikas/bp-storefront\";\n\
|
|
2814
|
+
"example": "```typescript\nimport { getThumbnailSrc, getDefaultSrc } from \"@ikas/bp-storefront\";\n\n// Thumbnail rail — branch on isVideo per item (no autoPlay: first frame acts as the poster):\n{product.images.map((item, i) =>\n item.isVideo ? (\n <video key={i} src={getDefaultSrc(item)} muted playsInline preload=\"metadata\">\n <track kind=\"captions\" />\n </video>\n ) : (\n <img key={i} src={getThumbnailSrc(item)} sizes=\"112px\" alt={`Thumb ${i + 1}`} />\n )\n)}\n```",
|
|
3915
2815
|
"categories": [
|
|
3916
2816
|
"Image"
|
|
3917
2817
|
],
|
|
@@ -3929,7 +2829,7 @@
|
|
|
3929
2829
|
{
|
|
3930
2830
|
"name": "getSrc",
|
|
3931
2831
|
"signature": "function getSrc(image: IkasImage, size: number): string",
|
|
3932
|
-
"description": "Generates the full CDN source URL for an image or video at the specified size, handling both legacy path-based and merchant-scoped ID formats.",
|
|
2832
|
+
"description": "Generates the full CDN source URL for an image or video at the specified size, handling both legacy path-based and merchant-scoped ID formats.\n\nNOTE: For videos (`image.isVideo === true`) the `size` argument is IGNORED — the original .mp4 is always returned.\nSo `getSrc(item, 240)` and `getDefaultSrc(item)` produce the identical URL for a video. PREFER `getDefaultSrc(item)`\nfor video `src` (no size param) — do NOT pass an arbitrary size like `getSrc(item, 240)`, it is misleading.",
|
|
3933
2833
|
"params": [
|
|
3934
2834
|
{
|
|
3935
2835
|
"name": "image",
|
|
@@ -3937,12 +2837,12 @@
|
|
|
3937
2837
|
},
|
|
3938
2838
|
{
|
|
3939
2839
|
"name": "size",
|
|
3940
|
-
"description": "- The desired image width in pixels for
|
|
2840
|
+
"description": "- The desired image width in pixels. Ignored for videos."
|
|
3941
2841
|
}
|
|
3942
2842
|
],
|
|
3943
2843
|
"returns": "The full CDN URL string for the image or video.",
|
|
3944
2844
|
"returnType": "string",
|
|
3945
|
-
"example": "```typescript\nimport { getSrc } from \"@ikas/bp-storefront\";\n\nconst src = getSrc(image, 640);\nconsole.log(src); // \"https://cdn.example.com/images/.../640/image.webp\"\n```",
|
|
2845
|
+
"example": "```typescript\nimport { getSrc, getDefaultSrc } from \"@ikas/bp-storefront\";\n\nconst src = getSrc(image, 640);\nconsole.log(src); // \"https://cdn.example.com/images/.../640/image.webp\"\n\n// For a video, use getDefaultSrc (size is ignored anyway):\n<video src={getDefaultSrc(item)} muted playsInline preload=\"metadata\" />\n```",
|
|
3946
2846
|
"categories": [
|
|
3947
2847
|
"Image"
|
|
3948
2848
|
],
|
|
@@ -3960,7 +2860,7 @@
|
|
|
3960
2860
|
{
|
|
3961
2861
|
"name": "createMediaSrcset",
|
|
3962
2862
|
"signature": "function createMediaSrcset(image?: IkasImage | null): string",
|
|
3963
|
-
"description": "Generates a complete responsive `srcset` string for an image across all standard sizes (180–3840px).",
|
|
2863
|
+
"description": "Generates a complete responsive `srcset` string for an image across all standard sizes (180–3840px).\n\nsrcset applies to `<img>` only — video media (`item.isVideo === true`) has no srcset\nand must be rendered with `<video src={getDefaultSrc(item)}>`. When mapping product\nimages, branch on `item.isVideo` first, then only use createMediaSrcset on the image branch.",
|
|
3964
2864
|
"params": [
|
|
3965
2865
|
{
|
|
3966
2866
|
"name": "image",
|
|
@@ -3969,7 +2869,7 @@
|
|
|
3969
2869
|
],
|
|
3970
2870
|
"returns": "A srcset string like `\"url 180w, url 360w, ...\"`, or an empty string if no image is provided.",
|
|
3971
2871
|
"returnType": "string",
|
|
3972
|
-
"example": "```typescript\nimport { createMediaSrcset, getDefaultSrc } from \"@ikas/bp-storefront\";\n\n<img\n
|
|
2872
|
+
"example": "```typescript\nimport { createMediaSrcset, getDefaultSrc } from \"@ikas/bp-storefront\";\n\n// Product images can be videos — ALWAYS branch on isVideo when mapping media:\n{product.images.map((item, i) =>\n item.isVideo ? (\n <video key={i} src={getDefaultSrc(item)} muted playsInline preload=\"metadata\">\n <track kind=\"captions\" />\n </video>\n ) : (\n <img\n key={i}\n src={getDefaultSrc(item)}\n srcSet={createMediaSrcset(item)}\n sizes=\"(max-width: 768px) 100vw, 50vw\"\n alt={`Product ${i + 1}`}\n />\n )\n)}\n```",
|
|
3973
2873
|
"categories": [
|
|
3974
2874
|
"Image"
|
|
3975
2875
|
],
|
|
@@ -4199,6 +3099,35 @@
|
|
|
4199
3099
|
"IkasOrderGiftPackageLine"
|
|
4200
3100
|
]
|
|
4201
3101
|
},
|
|
3102
|
+
{
|
|
3103
|
+
"name": "getIkasOrderGiftCardTotalPrice",
|
|
3104
|
+
"displayName": "getGiftCardTotalPrice",
|
|
3105
|
+
"signature": "function getIkasOrderGiftCardTotalPrice(order: IkasOrder): number",
|
|
3106
|
+
"description": "Returns the total amount covered by the gift cards (and store credits) applied to the order or cart.\n\nThis is a derived value, the API does not return it: it sums `amount` over `order.giftCardLines`.\nSubtract it from `order.totalFinalPrice` to get the amount still due.",
|
|
3107
|
+
"params": [
|
|
3108
|
+
{
|
|
3109
|
+
"name": "order",
|
|
3110
|
+
"description": "- The IkasOrder or IkasCart holding the gift card lines"
|
|
3111
|
+
}
|
|
3112
|
+
],
|
|
3113
|
+
"returns": "The summed gift card amount, or 0 when no gift card is applied",
|
|
3114
|
+
"returnType": "number",
|
|
3115
|
+
"example": "```typescript\nimport { getIkasOrderGiftCardTotalPrice } from \"@ikas/bp-storefront\";\n\nconst giftCardTotal = getIkasOrderGiftCardTotalPrice(cart);\nconst remainingPrice = cart.totalFinalPrice - giftCardTotal;\n```",
|
|
3116
|
+
"categories": [
|
|
3117
|
+
"Order",
|
|
3118
|
+
"Cart"
|
|
3119
|
+
],
|
|
3120
|
+
"related": [
|
|
3121
|
+
"removeGiftCardLine",
|
|
3122
|
+
"saveCouponCode"
|
|
3123
|
+
],
|
|
3124
|
+
"isAsync": false,
|
|
3125
|
+
"isClass": false,
|
|
3126
|
+
"parameterTypes": [
|
|
3127
|
+
"IkasOrderGiftCardTotalPrice",
|
|
3128
|
+
"IkasOrder"
|
|
3129
|
+
]
|
|
3130
|
+
},
|
|
4202
3131
|
{
|
|
4203
3132
|
"name": "getIkasOrderDistinctItemCount",
|
|
4204
3133
|
"displayName": "getDistinctItemCount",
|
|
@@ -5619,37 +4548,6 @@
|
|
|
5619
4548
|
"IkasOrderLineVariantVariantValue"
|
|
5620
4549
|
]
|
|
5621
4550
|
},
|
|
5622
|
-
{
|
|
5623
|
-
"name": "getOrderPackageOrderLineItems",
|
|
5624
|
-
"displayName": "getOrderLineItems",
|
|
5625
|
-
"signature": "function getOrderPackageOrderLineItems(order: IkasOrder, orderPackage: IkasOrderPackage): IkasOrderLineItem[]",
|
|
5626
|
-
"description": "Filters and returns the order line items that belong to a specific order package.",
|
|
5627
|
-
"params": [
|
|
5628
|
-
{
|
|
5629
|
-
"name": "order",
|
|
5630
|
-
"description": "- The full order containing all line items."
|
|
5631
|
-
},
|
|
5632
|
-
{
|
|
5633
|
-
"name": "orderPackage",
|
|
5634
|
-
"description": "- The order package whose associated line items to retrieve."
|
|
5635
|
-
}
|
|
5636
|
-
],
|
|
5637
|
-
"returns": "An array of order line items whose IDs are included in the package's orderLineItemIds.",
|
|
5638
|
-
"returnType": "IkasOrderLineItem[]",
|
|
5639
|
-
"example": "```typescript\nimport { getOrderPackageOrderLineItems } from \"@ikas/bp-storefront\";\n\nconst lineItems = getOrderPackageOrderLineItems(order, order.orderPackages[0]);\nlineItems.forEach(item => console.log(item.name));\n```",
|
|
5640
|
-
"categories": [
|
|
5641
|
-
"OrderPackage",
|
|
5642
|
-
"Order"
|
|
5643
|
-
],
|
|
5644
|
-
"related": [],
|
|
5645
|
-
"isAsync": false,
|
|
5646
|
-
"isClass": false,
|
|
5647
|
-
"parameterTypes": [
|
|
5648
|
-
"IkasOrder",
|
|
5649
|
-
"IkasOrderPackage",
|
|
5650
|
-
"IkasOrderLineItem"
|
|
5651
|
-
]
|
|
5652
|
-
},
|
|
5653
4551
|
{
|
|
5654
4552
|
"name": "getOrderTransactionFormattedAmount",
|
|
5655
4553
|
"displayName": "getFormattedAmount",
|
|
@@ -5773,7 +4671,7 @@
|
|
|
5773
4671
|
"name": "getIkasProductAttrributeProductIds",
|
|
5774
4672
|
"displayName": "getProductIds",
|
|
5775
4673
|
"signature": "function getIkasProductAttrributeProductIds(value: IkasProductAttributeValue): string[]",
|
|
5776
|
-
"description": "Extracts and returns the product IDs from a PRODUCT-type attribute value's JSON string.",
|
|
4674
|
+
"description": "Extracts and returns the product IDs from a PRODUCT-type attribute value's JSON string.\nNOTE: the export name really is misspelled — \"Attrribute\" with a double r. It is kept as-is because\nrenaming a published export would break every theme that imports it, so import it VERBATIM; the\ncorrectly spelled `getIkasProductAttributeProductIds` does not exist and will not compile. This is\nnot a documentation typo to report or \"fix\". In the blueprint editor the display alias is\n`getProductIds`, which hides the misspelling; only direct TypeScript imports see it.",
|
|
5777
4675
|
"params": [
|
|
5778
4676
|
{
|
|
5779
4677
|
"name": "value",
|
|
@@ -5828,31 +4726,6 @@
|
|
|
5828
4726
|
"IkasProduct"
|
|
5829
4727
|
]
|
|
5830
4728
|
},
|
|
5831
|
-
{
|
|
5832
|
-
"name": "isProductOfferAccepted",
|
|
5833
|
-
"displayName": "isAccepted",
|
|
5834
|
-
"signature": "function isProductOfferAccepted(offer: IkasProductOffer): boolean",
|
|
5835
|
-
"description": "Checks whether a product campaign offer has been accepted in the current cart by matching offer and product IDs with a PRODUCT target page type and ACCEPTED status.",
|
|
5836
|
-
"params": [
|
|
5837
|
-
{
|
|
5838
|
-
"name": "offer",
|
|
5839
|
-
"description": "- The product offer to check acceptance status for."
|
|
5840
|
-
}
|
|
5841
|
-
],
|
|
5842
|
-
"returns": "True if the offer is found in the cart with an ACCEPTED status targeting product pages, false otherwise.",
|
|
5843
|
-
"returnType": "boolean",
|
|
5844
|
-
"example": "```typescript\nimport { isProductOfferAccepted } from \"@ikas/bp-storefront\";\nif (isProductOfferAccepted(product.offers[0])) {\n console.log(\"Campaign offer has been accepted\");\n}\n```",
|
|
5845
|
-
"categories": [
|
|
5846
|
-
"CampaignOffer",
|
|
5847
|
-
"Product"
|
|
5848
|
-
],
|
|
5849
|
-
"related": [],
|
|
5850
|
-
"isAsync": false,
|
|
5851
|
-
"isClass": false,
|
|
5852
|
-
"parameterTypes": [
|
|
5853
|
-
"IkasProductOffer"
|
|
5854
|
-
]
|
|
5855
|
-
},
|
|
5856
4729
|
{
|
|
5857
4730
|
"name": "isCustomValueFilter",
|
|
5858
4731
|
"signature": "function isCustomValueFilter(filter: IkasProductFilter): boolean",
|
|
@@ -7622,6 +6495,32 @@
|
|
|
7622
6495
|
"IkasProductOption"
|
|
7623
6496
|
]
|
|
7624
6497
|
},
|
|
6498
|
+
{
|
|
6499
|
+
"name": "hasDisplayedOptions",
|
|
6500
|
+
"signature": "function hasDisplayedOptions(optionSet: IkasProductOptionSet): boolean",
|
|
6501
|
+
"description": "Checks whether the option set has any displayed (top-level) options.",
|
|
6502
|
+
"params": [
|
|
6503
|
+
{
|
|
6504
|
+
"name": "optionSet",
|
|
6505
|
+
"description": "- The product option set to check."
|
|
6506
|
+
}
|
|
6507
|
+
],
|
|
6508
|
+
"returns": "True if there is at least one displayed option, false otherwise.",
|
|
6509
|
+
"returnType": "boolean",
|
|
6510
|
+
"example": "```typescript\nimport { hasDisplayedOptions } from \"@ikas/bp-storefront\";\nif (hasDisplayedOptions(product.optionSet)) {\n // render option selector\n}\n```",
|
|
6511
|
+
"categories": [
|
|
6512
|
+
"ProductOptionSet"
|
|
6513
|
+
],
|
|
6514
|
+
"related": [
|
|
6515
|
+
"getDisplayedOptions",
|
|
6516
|
+
"hasValidProductOptionSetValues"
|
|
6517
|
+
],
|
|
6518
|
+
"isAsync": false,
|
|
6519
|
+
"isClass": false,
|
|
6520
|
+
"parameterTypes": [
|
|
6521
|
+
"IkasProductOptionSet"
|
|
6522
|
+
]
|
|
6523
|
+
},
|
|
7625
6524
|
{
|
|
7626
6525
|
"name": "initProductOptionSetValues",
|
|
7627
6526
|
"displayName": "initValues",
|
|
@@ -8450,45 +7349,20 @@
|
|
|
8450
7349
|
"IkasProductOption"
|
|
8451
7350
|
]
|
|
8452
7351
|
},
|
|
8453
|
-
{
|
|
8454
|
-
"name": "getStockLocationFullAddressText",
|
|
8455
|
-
"displayName": "getFullAddressText",
|
|
8456
|
-
"signature": "function getStockLocationFullAddressText(stockLocations: IkasProductStockLocations): string",
|
|
8457
|
-
"description": "Builds a comma-separated full address string from a stock location's address components including street address, postal code, district, city, state, and country.",
|
|
8458
|
-
"params": [
|
|
8459
|
-
{
|
|
8460
|
-
"name": "stockLocations",
|
|
8461
|
-
"description": "- The product stock location object containing the address to format."
|
|
8462
|
-
}
|
|
8463
|
-
],
|
|
8464
|
-
"returns": "A comma-separated address string, or an empty string if no address exists.",
|
|
8465
|
-
"returnType": "string",
|
|
8466
|
-
"example": "```typescript\nimport { getStockLocationFullAddressText } from \"@ikas/bp-storefront\";\nconst address = getStockLocationFullAddressText(variant.stockLocations[0]);\nconsole.log(address); // \"123 Main St, 34000, Kadikoy, Istanbul, Turkey\"\n```",
|
|
8467
|
-
"categories": [
|
|
8468
|
-
"StockLocation",
|
|
8469
|
-
"Product"
|
|
8470
|
-
],
|
|
8471
|
-
"related": [],
|
|
8472
|
-
"isAsync": false,
|
|
8473
|
-
"isClass": false,
|
|
8474
|
-
"parameterTypes": [
|
|
8475
|
-
"IkasProductStockLocations"
|
|
8476
|
-
]
|
|
8477
|
-
},
|
|
8478
7352
|
{
|
|
8479
7353
|
"name": "getProductVariantMainImage",
|
|
8480
7354
|
"displayName": "getMainImage",
|
|
8481
7355
|
"signature": "function getProductVariantMainImage(variant: IkasProductVariant): IkasProductImage | undefined",
|
|
8482
|
-
"description": "Get the main/primary
|
|
7356
|
+
"description": "Get the main/primary media item for a product variant.\n\nThe returned IkasProductImage may be a video (`isVideo === true`) — branch on it\nand render `<video>` instead of `<img>`.",
|
|
8483
7357
|
"params": [
|
|
8484
7358
|
{
|
|
8485
7359
|
"name": "variant",
|
|
8486
7360
|
"description": "- The product variant"
|
|
8487
7361
|
}
|
|
8488
7362
|
],
|
|
8489
|
-
"returns": "The first IkasProductImage of the variant, or undefined if no images.
|
|
7363
|
+
"returns": "The first IkasProductImage of the variant, or undefined if no images. Check `.isVideo` to decide between `<video>` and `<img>`, and access `.image` to get the IkasImage for CDN helpers.",
|
|
8490
7364
|
"returnType": "IkasProductImage | undefined",
|
|
8491
|
-
"example": "```typescript\nimport { getProductVariantMainImage, getSelectedProductVariant, getDefaultSrc } from \"@ikas/bp-storefront\";\nimport { IkasProduct } from \"@ikas/bp-storefront\";\n\nfunction ProductImage({ product }: { product: IkasProduct }) {\n const variant = getSelectedProductVariant(product);\n const productImage = getProductVariantMainImage(variant);\n const image = productImage?.image;\n\n if (!image) {\n return <div className=\"no-image\">No image available</div>;\n }\n\n return <img src={getDefaultSrc(image)} alt={product.name}
|
|
7365
|
+
"example": "```typescript\nimport { getProductVariantMainImage, getSelectedProductVariant, getDefaultSrc, createMediaSrcset } from \"@ikas/bp-storefront\";\nimport { IkasProduct } from \"@ikas/bp-storefront\";\n\nfunction ProductImage({ product }: { product: IkasProduct }) {\n const variant = getSelectedProductVariant(product);\n const productImage = getProductVariantMainImage(variant);\n const image = productImage?.image;\n\n if (!image) {\n return <div className=\"no-image\">No image available</div>;\n }\n\n // Media can be a video — branch on isVideo:\n return productImage.isVideo ? (\n <video src={getDefaultSrc(image)} muted playsInline loop>\n <track kind=\"captions\" />\n </video>\n ) : (\n <img src={getDefaultSrc(image)} srcSet={createMediaSrcset(image)} alt={product.name} />\n );\n}\n```",
|
|
8492
7366
|
"categories": [
|
|
8493
7367
|
"ProductDetail",
|
|
8494
7368
|
"ProductList"
|
|
@@ -8766,14 +7640,14 @@
|
|
|
8766
7640
|
"name": "getProductVariantAppliedCampaignAmount",
|
|
8767
7641
|
"displayName": "getAppliedCampaignAmount",
|
|
8768
7642
|
"signature": "function getProductVariantAppliedCampaignAmount(variant: IkasProductVariant): IkasAppliedCampaignAmount | null",
|
|
8769
|
-
"description": "Get the applied campaign discount amount details for a product variant, including type and formatted value.",
|
|
7643
|
+
"description": "Get the applied campaign discount amount details for a product variant, including type and formatted value.\n\nHow the discount value is interpreted depends on `campaign.type`:\n- `\"FIXED_AMOUNT\"` → the value is an absolute money amount, returned in `formattedPrice` (e.g. \"$10.00\"); `discountPercentage` stays null.\n- `\"RATIO\"` → the value is a percentage, returned in `discountPercentage` (e.g. \"10\" for 10% off); `formattedPrice` stays null.\n\nBoth fixed and tiered campaigns are supported. For a tiered-discount campaign\n(`campaign.fixedDiscount` is null and the discount lives in `campaign.tieredDiscount.rules`),\nthe first tier's amount (`campaign.tieredDiscount.rules[0].amount`) is used, matching the storefront runtime.",
|
|
8770
7644
|
"params": [
|
|
8771
7645
|
{
|
|
8772
7646
|
"name": "variant",
|
|
8773
7647
|
"description": "- The product variant to check for applied campaigns"
|
|
8774
7648
|
}
|
|
8775
7649
|
],
|
|
8776
|
-
"returns": "An object
|
|
7650
|
+
"returns": "An object `{ type, formattedPrice, discountPercentage }` — `formattedPrice` is set for FIXED_AMOUNT campaigns, `discountPercentage` for RATIO campaigns (fixed and tiered alike); the other field stays null. Returns null if no campaign is applied.",
|
|
8777
7651
|
"returnType": "IkasAppliedCampaignAmount | null",
|
|
8778
7652
|
"example": "```typescript\nimport { getProductVariantAppliedCampaignAmount, getSelectedProductVariant } from \"@ikas/bp-storefront\";\nimport { IkasProduct } from \"@ikas/bp-storefront\";\n\nfunction CampaignInfo({ product }: { product: IkasProduct }) {\n const variant = getSelectedProductVariant(product);\n const campaignAmount = getProductVariantAppliedCampaignAmount(variant);\n\n if (!campaignAmount) return null;\n\n return (\n <div>\n {campaignAmount.type === \"RATIO\"\n ? `${campaignAmount.discountPercentage}% off`\n : `${campaignAmount.formattedPrice} off`}\n </div>\n );\n}\n```",
|
|
8779
7653
|
"categories": [
|
|
@@ -9168,6 +8042,36 @@
|
|
|
9168
8042
|
"IkasProductVariant"
|
|
9169
8043
|
]
|
|
9170
8044
|
},
|
|
8045
|
+
{
|
|
8046
|
+
"name": "getProductVariantTieredDiscountProducts",
|
|
8047
|
+
"displayName": "getTieredDiscountProducts",
|
|
8048
|
+
"signature": "function getProductVariantTieredDiscountProducts(variant: IkasProductVariant): IkasTieredDiscountProduct[]",
|
|
8049
|
+
"description": "Get the tiered-discount breakdown for a product variant, one entry per discount tier.\n\nA tiered discount defines multiple quantity tiers (`campaign.tieredDiscount.rules`), each with its own\namount and quantity range. This resolves every tier against the variant's price and returns the\nper-tier sell/final prices (both raw numbers and formatted strings), matching the storefront runtime.\nThe raw rules are `IkasProductTieredDiscountRule` (ranges may be null); this function returns the\nresolved `IkasTieredDiscountProduct` with normalized `{ min, max }` — use the resolved shape, not the raw rule.\n\n`sellPrice`/`finalPrice` (and their `formatted*` variants) are PER UNIT; the `*WithQuantity` fields are the\ntier total for buying the minimum quantity. A `\"FIXED_AMOUNT\"` discount is applied only to that total, so\nper-unit `finalPrice` equals `sellPrice` and the saving shows only in `finalPriceWithQuantity`.\n\nThe discount `amount` is interpreted by `campaign.type`: `\"RATIO\"` treats it as a percentage,\n`\"FIXED_AMOUNT\"` as an absolute money amount subtracted from the tier total. `amount`/`type` are\ninformational — the discount is already applied in the resolved `*Price` fields, so prefer those over\nrecomputing it yourself.\n\n`lineItemQuantityRange.min`/`max` are normalized numbers where `0` means \"unbounded\". In particular\n`max === 0` marks an open-ended top tier (e.g. \"6+\" with no upper limit) — render it as \"min+\" rather\nthan \"min–max\", and never treat `max` as a real quantity when it is `0`.\n\nEach tier's `salesChannelIds` lists the channels it targets (empty/null = all channels). Filter tiers\nagainst `IkasStorefrontConfig.salesChannelId` so only those valid for the current storefront are shown.\n\nReturns an empty array when the variant has no tiered-discount campaign, when a\n`PRODUCT_AND_VARIANT` filter excludes this variant, or when no tier defines a quantity range.",
|
|
8050
|
+
"params": [
|
|
8051
|
+
{
|
|
8052
|
+
"name": "variant",
|
|
8053
|
+
"description": "- The product variant to resolve tiered discounts for"
|
|
8054
|
+
}
|
|
8055
|
+
],
|
|
8056
|
+
"returns": "An array of tier objects (`amount`, `lineItemQuantityRange`, `type`, sell/final prices with their formatted variants, `salesChannelIds`), or an empty array if no tiered discount applies",
|
|
8057
|
+
"returnType": "IkasTieredDiscountProduct[]",
|
|
8058
|
+
"example": "```typescript\nimport {\n getProductVariantTieredDiscountProducts,\n getSelectedProductVariant,\n IkasStorefrontConfig,\n} from \"@ikas/bp-storefront\";\nimport { IkasProduct } from \"@ikas/bp-storefront\";\n\nfunction TieredDiscountTable({ product }: { product: IkasProduct }) {\n const variant = getSelectedProductVariant(product);\n const tiers = getProductVariantTieredDiscountProducts(variant);\n const salesChannelId = IkasStorefrontConfig.salesChannelId;\n\n if (!tiers.length) return null;\n\n return (\n <ul>\n {tiers.map((tier, i) => {\n // A tier applies when it targets no channels or includes the current one\n const scoped =\n !tier.salesChannelIds?.length ||\n (!!salesChannelId && tier.salesChannelIds.includes(salesChannelId));\n if (!scoped) return null;\n\n return (\n <li key={i}>\n Buy {tier.lineItemQuantityRange.min}+ → {tier.formattedFinalPriceWithQuantity}{\" \"}\n <s>{tier.formattedSellPriceWithQuantity}</s>\n </li>\n );\n })}\n </ul>\n );\n}\n```",
|
|
8059
|
+
"categories": [
|
|
8060
|
+
"Pricing",
|
|
8061
|
+
"ProductVariant"
|
|
8062
|
+
],
|
|
8063
|
+
"related": [
|
|
8064
|
+
"getProductVariantAppliedCampaignAmount",
|
|
8065
|
+
"getProductVariantCampaignOffersDiscountPercentage",
|
|
8066
|
+
"getProductVariantFinalPrice"
|
|
8067
|
+
],
|
|
8068
|
+
"isAsync": false,
|
|
8069
|
+
"isClass": false,
|
|
8070
|
+
"parameterTypes": [
|
|
8071
|
+
"IkasProductVariant",
|
|
8072
|
+
"IkasTieredDiscountProduct"
|
|
8073
|
+
]
|
|
8074
|
+
},
|
|
9171
8075
|
{
|
|
9172
8076
|
"name": "getProductVariantIsBackInStockEnabled",
|
|
9173
8077
|
"displayName": "isBackInStockEnabled",
|
|
@@ -10725,7 +9629,7 @@
|
|
|
10725
9629
|
"name": "initAddressForm",
|
|
10726
9630
|
"displayName": "init",
|
|
10727
9631
|
"signature": "async function initAddressForm(addressForm: AddressForm, address?: IkasCustomerAddress): Promise<void>",
|
|
10728
|
-
"description": "Initializes an address form with default or existing address values, loads location data, and configures field settings.",
|
|
9632
|
+
"description": "Initializes an address form with default or existing address values, loads location data, and configures field settings.\n\nAlso resolves `addressForm.addressFormat` for the selected country. That is an\n`AddressFormItem[][]` describing which fields the country uses and how they group into rows\n(outer array = rows, inner array = fields sharing a row), and it is the only correct source\nfor laying out an address form -- a hardcoded field list will be wrong for most countries.\nIt is empty until this promise resolves, and `setAddressFormCountry` re-resolves it, so\nrender from it rather than copying it into local state.",
|
|
10729
9633
|
"params": [
|
|
10730
9634
|
{
|
|
10731
9635
|
"name": "addressForm",
|
|
@@ -10738,7 +9642,7 @@
|
|
|
10738
9642
|
],
|
|
10739
9643
|
"returns": "A promise that resolves once the form is fully initialized, including country/state/city lists, field settings, checkout settings, and shipping zones.",
|
|
10740
9644
|
"returnType": "Promise<void>",
|
|
10741
|
-
"example": "```
|
|
9645
|
+
"example": "```tsx\nimport { useEffect, useState } from \"preact/hooks\";\nimport {\n type AddressForm,\n type AddressFormItem,\n initAddressForm,\n setAddressFormFirstName,\n setAddressFormLastName,\n setAddressFormIdentityNumber,\n setAddressFormAddressLine1,\n setAddressFormAddressLine2,\n setAddressFormPostalCode,\n setAddressFormPhone,\n} from \"@ikas/bp-storefront\";\n\n// Initialize an empty address form\nawait initAddressForm(addressForm);\n\n// Initialize with an existing customer address for editing\nawait initAddressForm(addressForm, existingAddress);\n\n// addressFormat is empty until init resolves, so gate the render on it.\nconst [isLoading, setIsLoading] = useState(true);\nuseEffect(() => {\n initAddressForm(addressForm, address).then(() => setIsLoading(false));\n}, []);\n\n// Every addressFormat key has a matching setter, each taking (addressForm, value).\n// The location keys (country, state, city, district, region) are omitted here: they\n// render as selects fed by addressForm.countryOptions / stateOptions / cityOptions /\n// districtOptions / regionOptions, and must fall back to a text input when the field\n// isFreeText or has no options.\nconst SETTERS: Partial<Record<AddressFormItem, (form: AddressForm, value: string) => void>> = {\n firstName: setAddressFormFirstName,\n lastName: setAddressFormLastName,\n identityNumber: setAddressFormIdentityNumber,\n addressLine1: setAddressFormAddressLine1,\n addressLine2: setAddressFormAddressLine2,\n postalCode: setAddressFormPostalCode,\n phone: setAddressFormPhone,\n};\n\n// Render the country's own layout: outer array = rows, inner array = fields in that row.\n(addressForm.addressFormat ?? []).map((row) => {\n // A field the country does not use is absent from the form object entirely.\n const keys = row.filter((key) => addressForm[key] != null);\n if (!keys.length) return null;\n\n return (\n <div className=\"address-row\" key={keys.join(\"-\")}>\n {keys.map((key) => {\n // Each entry is an IkasFormItem: value, label, placeholder, hasError, message.\n const field = addressForm[key];\n if (!field) return null; // already guaranteed by the filter above; narrows the type\n return (\n <label key={key}>\n {field.label}\n <input\n value={field.value ?? \"\"}\n placeholder={field.placeholder}\n onInput={(e) => SETTERS[key]?.(addressForm, e.currentTarget.value)}\n />\n {field.hasError && <small>{field.message}</small>}\n </label>\n );\n })}\n </div>\n );\n})\n```",
|
|
10742
9646
|
"categories": [
|
|
10743
9647
|
"Address",
|
|
10744
9648
|
"Form",
|
|
@@ -11842,45 +10746,127 @@
|
|
|
11842
10746
|
],
|
|
11843
10747
|
"returns": "void",
|
|
11844
10748
|
"returnType": "void",
|
|
11845
|
-
"example": "```typescript\nimport { setCustomerReviewFormStar } from \"@ikas/bp-storefront\";\nsetCustomerReviewFormStar(customerReviewForm, \"5\");\n```",
|
|
10749
|
+
"example": "```typescript\nimport { setCustomerReviewFormStar } from \"@ikas/bp-storefront\";\nsetCustomerReviewFormStar(customerReviewForm, \"5\");\n```",
|
|
10750
|
+
"categories": [
|
|
10751
|
+
"Validation",
|
|
10752
|
+
"CustomerReview",
|
|
10753
|
+
"Form"
|
|
10754
|
+
],
|
|
10755
|
+
"related": [
|
|
10756
|
+
"initCustomerReviewForm",
|
|
10757
|
+
"setCustomerReviewFormTitle",
|
|
10758
|
+
"setCustomerReviewFormComment",
|
|
10759
|
+
"submitCustomerReviewForm"
|
|
10760
|
+
],
|
|
10761
|
+
"isAsync": false,
|
|
10762
|
+
"isClass": false
|
|
10763
|
+
},
|
|
10764
|
+
{
|
|
10765
|
+
"name": "submitCustomerReviewForm",
|
|
10766
|
+
"displayName": "submit",
|
|
10767
|
+
"signature": "async function submitCustomerReviewForm(customerReviewForm: CustomerReviewForm): Promise<boolean>",
|
|
10768
|
+
"description": "Validates and submits the customer review form, sending the review (title, comment, star rating) for the associated product.",
|
|
10769
|
+
"params": [
|
|
10770
|
+
{
|
|
10771
|
+
"name": "customerReviewForm",
|
|
10772
|
+
"description": "- The customer review form model to submit"
|
|
10773
|
+
}
|
|
10774
|
+
],
|
|
10775
|
+
"returns": "A promise that resolves to true if the review was submitted successfully, or false on validation error or API failure",
|
|
10776
|
+
"returnType": "Promise<boolean>",
|
|
10777
|
+
"example": "```typescript\nimport { submitCustomerReviewForm } from \"@ikas/bp-storefront\";\nconst success = await submitCustomerReviewForm(customerReviewForm);\nif (success) {\n console.log(\"Review submitted!\");\n}\n```",
|
|
10778
|
+
"categories": [
|
|
10779
|
+
"Validation",
|
|
10780
|
+
"CustomerReview",
|
|
10781
|
+
"Form"
|
|
10782
|
+
],
|
|
10783
|
+
"related": [
|
|
10784
|
+
"initCustomerReviewForm",
|
|
10785
|
+
"setCustomerReviewFormTitle",
|
|
10786
|
+
"setCustomerReviewFormComment",
|
|
10787
|
+
"setCustomerReviewFormStar"
|
|
10788
|
+
],
|
|
10789
|
+
"isAsync": true,
|
|
10790
|
+
"isClass": false
|
|
10791
|
+
},
|
|
10792
|
+
{
|
|
10793
|
+
"name": "initDeactivateCustomerForm",
|
|
10794
|
+
"displayName": "init",
|
|
10795
|
+
"signature": "function initDeactivateCustomerForm(deactivateCustomerForm: DeactivateCustomerForm): void",
|
|
10796
|
+
"description": "Initializes the deactivate customer form with default password field values, labels, and placeholders.",
|
|
10797
|
+
"params": [
|
|
10798
|
+
{
|
|
10799
|
+
"name": "deactivateCustomerForm",
|
|
10800
|
+
"description": "- The deactivate customer form model to initialize"
|
|
10801
|
+
}
|
|
10802
|
+
],
|
|
10803
|
+
"returns": "void",
|
|
10804
|
+
"returnType": "void",
|
|
10805
|
+
"example": "```typescript\nimport { initDeactivateCustomerForm } from \"@ikas/bp-storefront\";\ninitDeactivateCustomerForm(deactivateCustomerForm);\n```",
|
|
10806
|
+
"categories": [
|
|
10807
|
+
"Validation",
|
|
10808
|
+
"DeactivateCustomer",
|
|
10809
|
+
"Form"
|
|
10810
|
+
],
|
|
10811
|
+
"related": [
|
|
10812
|
+
"setDeactivateCustomerFormPassword",
|
|
10813
|
+
"submitDeactivateCustomerForm"
|
|
10814
|
+
],
|
|
10815
|
+
"isAsync": false,
|
|
10816
|
+
"isClass": false
|
|
10817
|
+
},
|
|
10818
|
+
{
|
|
10819
|
+
"name": "setDeactivateCustomerFormPassword",
|
|
10820
|
+
"displayName": "setPassword",
|
|
10821
|
+
"signature": "function setDeactivateCustomerFormPassword(deactivateCustomerForm: DeactivateCustomerForm, value: string): void",
|
|
10822
|
+
"description": "Sets the password value on the deactivate customer form and re-validates if the form has already been submitted.",
|
|
10823
|
+
"params": [
|
|
10824
|
+
{
|
|
10825
|
+
"name": "deactivateCustomerForm",
|
|
10826
|
+
"description": "- The deactivate customer form model to update"
|
|
10827
|
+
},
|
|
10828
|
+
{
|
|
10829
|
+
"name": "value",
|
|
10830
|
+
"description": "- The new password string to set"
|
|
10831
|
+
}
|
|
10832
|
+
],
|
|
10833
|
+
"returns": "void",
|
|
10834
|
+
"returnType": "void",
|
|
10835
|
+
"example": "```typescript\nimport { setDeactivateCustomerFormPassword } from \"@ikas/bp-storefront\";\nsetDeactivateCustomerFormPassword(deactivateCustomerForm, \"mySecurePassword123\");\n```",
|
|
11846
10836
|
"categories": [
|
|
11847
10837
|
"Validation",
|
|
11848
|
-
"
|
|
10838
|
+
"DeactivateCustomer",
|
|
11849
10839
|
"Form"
|
|
11850
10840
|
],
|
|
11851
10841
|
"related": [
|
|
11852
|
-
"
|
|
11853
|
-
"
|
|
11854
|
-
"setCustomerReviewFormComment",
|
|
11855
|
-
"submitCustomerReviewForm"
|
|
10842
|
+
"initDeactivateCustomerForm",
|
|
10843
|
+
"submitDeactivateCustomerForm"
|
|
11856
10844
|
],
|
|
11857
10845
|
"isAsync": false,
|
|
11858
10846
|
"isClass": false
|
|
11859
10847
|
},
|
|
11860
10848
|
{
|
|
11861
|
-
"name": "
|
|
10849
|
+
"name": "submitDeactivateCustomerForm",
|
|
11862
10850
|
"displayName": "submit",
|
|
11863
|
-
"signature": "async function
|
|
11864
|
-
"description": "Validates and submits the customer
|
|
10851
|
+
"signature": "async function submitDeactivateCustomerForm(deactivateCustomerForm: DeactivateCustomerForm): Promise<boolean>",
|
|
10852
|
+
"description": "Validates and submits the deactivate customer form, deleting the current customer's account after password verification.\nThe customer session is not cleared automatically, call `logout` after a successful submission.",
|
|
11865
10853
|
"params": [
|
|
11866
10854
|
{
|
|
11867
|
-
"name": "
|
|
11868
|
-
"description": "- The customer
|
|
10855
|
+
"name": "deactivateCustomerForm",
|
|
10856
|
+
"description": "- The deactivate customer form model to submit"
|
|
11869
10857
|
}
|
|
11870
10858
|
],
|
|
11871
|
-
"returns": "A promise that resolves to true if the
|
|
10859
|
+
"returns": "A promise that resolves to true if the account was deactivated successfully, or false on validation error or API failure",
|
|
11872
10860
|
"returnType": "Promise<boolean>",
|
|
11873
|
-
"example": "```typescript\nimport {
|
|
10861
|
+
"example": "```typescript\nimport { customerStore, logout, submitDeactivateCustomerForm } from \"@ikas/bp-storefront\";\nconst success = await submitDeactivateCustomerForm(deactivateCustomerForm);\nif (success) {\n await logout(customerStore);\n}\n```",
|
|
11874
10862
|
"categories": [
|
|
11875
10863
|
"Validation",
|
|
11876
|
-
"
|
|
10864
|
+
"DeactivateCustomer",
|
|
11877
10865
|
"Form"
|
|
11878
10866
|
],
|
|
11879
10867
|
"related": [
|
|
11880
|
-
"
|
|
11881
|
-
"
|
|
11882
|
-
"setCustomerReviewFormComment",
|
|
11883
|
-
"setCustomerReviewFormStar"
|
|
10868
|
+
"initDeactivateCustomerForm",
|
|
10869
|
+
"setDeactivateCustomerFormPassword"
|
|
11884
10870
|
],
|
|
11885
10871
|
"isAsync": true,
|
|
11886
10872
|
"isClass": false
|
|
@@ -13668,15 +12654,87 @@
|
|
|
13668
12654
|
"isAsync": false,
|
|
13669
12655
|
"isClass": false
|
|
13670
12656
|
},
|
|
12657
|
+
{
|
|
12658
|
+
"name": "setLocalization",
|
|
12659
|
+
"signature": "function setLocalization(baseStore: BaseStore, localeOption: IkasLocaleOption): void",
|
|
12660
|
+
"description": "Switches the storefront to the routing associated with `localeOption` and redirects the browser\nto the equivalent URL under that routing.\n\nReads the routing directly from `localeOption.routing`, then performs a full-page redirect via\n`window.location.replace`. For CATEGORY/BRAND/PRODUCT pages, the localized slug from the page's\nmetadata translations is used when available; otherwise the visitor stays on the current path\n(with the current routing prefix swapped for the new one). Query string and hash are preserved.",
|
|
12661
|
+
"params": [
|
|
12662
|
+
{
|
|
12663
|
+
"name": "baseStore",
|
|
12664
|
+
"description": "- The base store instance (used to read the current page type for slug\nresolution on detail pages)."
|
|
12665
|
+
},
|
|
12666
|
+
{
|
|
12667
|
+
"name": "localeOption",
|
|
12668
|
+
"description": "- The locale option the visitor selected. Render `baseStore.localeOptions`\nas a list (e.g. a country/region picker) and pass the chosen entry directly to this function."
|
|
12669
|
+
}
|
|
12670
|
+
],
|
|
12671
|
+
"returns": "void.",
|
|
12672
|
+
"returnType": "void",
|
|
12673
|
+
"example": "```tsx\nimport { setLocalization, baseStore } from \"@ikas/bp-storefront\";\n\nfunction LocalizationSwitcher() {\n return (\n <ul>\n {baseStore.localeOptions.map(option => (\n <li key={option.id}>\n <button onClick={() => setLocalization(baseStore, option)}>\n {option.countryName}\n </button>\n </li>\n ))}\n </ul>\n );\n}\n```",
|
|
12674
|
+
"categories": [
|
|
12675
|
+
"BaseStore",
|
|
12676
|
+
"Store"
|
|
12677
|
+
],
|
|
12678
|
+
"related": [],
|
|
12679
|
+
"isAsync": false,
|
|
12680
|
+
"isClass": false,
|
|
12681
|
+
"parameterTypes": [
|
|
12682
|
+
"IkasLocaleOption"
|
|
12683
|
+
]
|
|
12684
|
+
},
|
|
12685
|
+
{
|
|
12686
|
+
"name": "setLanguage",
|
|
12687
|
+
"signature": "function setLanguage(baseStore: BaseStore, language: IkasLanguageOption): void",
|
|
12688
|
+
"description": "Switches the storefront to the routing identified by `language` and redirects the browser to\nthe equivalent URL under that routing.\n\nLooks up the routing by `language.id`, then performs a full-page redirect via\n`window.location.replace`. For CATEGORY/BRAND/PRODUCT pages, the localized slug from the\npage's metadata translations is used when available; otherwise the visitor stays on the\ncurrent path (with the current routing prefix swapped for the new one). Query string and\nhash are preserved.",
|
|
12689
|
+
"params": [
|
|
12690
|
+
{
|
|
12691
|
+
"name": "baseStore",
|
|
12692
|
+
"description": "- The base store instance (used to read the current page type for slug\nresolution on detail pages)."
|
|
12693
|
+
},
|
|
12694
|
+
{
|
|
12695
|
+
"name": "language",
|
|
12696
|
+
"description": "- The language option the visitor selected. Render `baseStore.languageOptions`\nas a list (e.g. a dropdown) and pass the chosen entry directly to this function."
|
|
12697
|
+
}
|
|
12698
|
+
],
|
|
12699
|
+
"returns": "void. No-op if no routing matches `language.id`.",
|
|
12700
|
+
"returnType": "void",
|
|
12701
|
+
"example": "```tsx\nimport { setLanguage, baseStore } from \"@ikas/bp-storefront\";\n\nfunction LanguageSwitcher() {\n return (\n <ul>\n {baseStore.languageOptions.map(option => (\n <li key={option.id}>\n <button onClick={() => setLanguage(baseStore, option)}>\n {option.language}\n </button>\n </li>\n ))}\n </ul>\n );\n}\n```",
|
|
12702
|
+
"categories": [
|
|
12703
|
+
"BaseStore",
|
|
12704
|
+
"Store"
|
|
12705
|
+
],
|
|
12706
|
+
"related": [],
|
|
12707
|
+
"isAsync": false,
|
|
12708
|
+
"isClass": false,
|
|
12709
|
+
"parameterTypes": [
|
|
12710
|
+
"IkasLanguageOption"
|
|
12711
|
+
]
|
|
12712
|
+
},
|
|
13671
12713
|
{
|
|
13672
12714
|
"name": "bs_searchProductById",
|
|
13673
12715
|
"displayName": "searchProductById",
|
|
13674
12716
|
"signature": "async function bs_searchProductById(baseStore: BaseStore, params: { productId: string }): Promise<{\n isSuccess: boolean;\n product: IkasProduct | null;\n}>",
|
|
13675
|
-
"description": "",
|
|
13676
|
-
"params": [
|
|
12717
|
+
"description": "Fetches a single product by id and returns it as a full `IkasProduct`.\n\nUse this when a lightweight reference (e.g. a cart line's `IkasOrderLineVariant`, which carries\nneither `salesChannels` nor `stock`) needs product-level data: the returned product includes\n`salesChannels` filtered to the active sales channel (with `minQuantityPerCart` /\n`maxQuantityPerCart`) and per-variant `stock` (summed over the sales channel's configured\nstock locations). `selectedVariantValues` is seeded from the first active variant (or the\nfirst variant when none is active). For multiple ids, prefer `bs_searchProductsById` — one\nbatched request.",
|
|
12718
|
+
"params": [
|
|
12719
|
+
{
|
|
12720
|
+
"name": "baseStore",
|
|
12721
|
+
"description": "- The base store instance"
|
|
12722
|
+
},
|
|
12723
|
+
{
|
|
12724
|
+
"name": "params",
|
|
12725
|
+
"description": "- `{ productId }` — id of the product to fetch"
|
|
12726
|
+
}
|
|
12727
|
+
],
|
|
12728
|
+
"returns": "`{ isSuccess, product }` — `product` is null when not found or on failure",
|
|
13677
12729
|
"returnType": "Promise<{\n isSuccess: boolean;\n product: IkasProduct | null;\n}>",
|
|
13678
|
-
"
|
|
13679
|
-
"
|
|
12730
|
+
"example": "```tsx\nimport { baseStore, bs_searchProductById, IkasStorefrontConfig } from \"@ikas/bp-storefront\";\n\nconst { isSuccess, product } = await bs_searchProductById(baseStore, { productId });\nif (isSuccess && product) {\n const channel = product.salesChannels?.find(sc => sc.id === IkasStorefrontConfig.salesChannelId);\n console.log(channel?.maxQuantityPerCart);\n}\n```",
|
|
12731
|
+
"categories": [
|
|
12732
|
+
"Product",
|
|
12733
|
+
"Search"
|
|
12734
|
+
],
|
|
12735
|
+
"related": [
|
|
12736
|
+
"bs_searchProductsById"
|
|
12737
|
+
],
|
|
13680
12738
|
"isAsync": true,
|
|
13681
12739
|
"isClass": false,
|
|
13682
12740
|
"parameterTypes": [
|
|
@@ -13687,11 +12745,29 @@
|
|
|
13687
12745
|
"name": "bs_searchProductsById",
|
|
13688
12746
|
"displayName": "searchProductsById",
|
|
13689
12747
|
"signature": "async function bs_searchProductsById(baseStore: BaseStore, params: { productIds: string[] }): Promise<{\n isSuccess: boolean;\n products: IkasProduct[] | null;\n}>",
|
|
13690
|
-
"description": "",
|
|
13691
|
-
"params": [
|
|
12748
|
+
"description": "Batch-fetches products by id in a single request and returns them as full `IkasProduct` objects.\n\nThe go-to function when cart lines (or any lightweight reference) need product-level data they\ndo not carry: `IkasOrderLineVariant` has neither `salesChannels` nor `stock`, while the products\nreturned here include `salesChannels` filtered to the active sales channel (with\n`minQuantityPerCart` / `maxQuantityPerCart`) and per-variant `stock` (summed over the sales\nchannel's configured stock locations). Collect the distinct `productId`s of the lines and\nfetch them in ONE call instead of one request per line. Called with an empty `productIds`,\nit returns `{ isSuccess: true, products: [] }` without a network request.",
|
|
12749
|
+
"params": [
|
|
12750
|
+
{
|
|
12751
|
+
"name": "baseStore",
|
|
12752
|
+
"description": "- The base store instance"
|
|
12753
|
+
},
|
|
12754
|
+
{
|
|
12755
|
+
"name": "params",
|
|
12756
|
+
"description": "- `{ productIds }` — product ids to fetch (deduplicate before calling)"
|
|
12757
|
+
}
|
|
12758
|
+
],
|
|
12759
|
+
"returns": "`{ isSuccess, products }` — `products` is null on failure",
|
|
13692
12760
|
"returnType": "Promise<{\n isSuccess: boolean;\n products: IkasProduct[] | null;\n}>",
|
|
13693
|
-
"
|
|
13694
|
-
"
|
|
12761
|
+
"example": "```tsx\nimport { baseStore, bs_searchProductsById, cartStore, IkasStorefrontConfig } from \"@ikas/bp-storefront\";\n\n// Enforce per-cart quantity limits on cart lines:\nconst productIds = [\n ...new Set(\n (cartStore.cart?.orderLineItems ?? [])\n .map(item => item.variant.productId)\n .filter((id): id is string => !!id)\n ),\n];\nconst { products } = await bs_searchProductsById(baseStore, { productIds });\nconst maxByProductId = new Map<string, number | null>();\nfor (const p of products ?? []) {\n const channel = p.salesChannels?.find(sc => sc.id === IkasStorefrontConfig.salesChannelId);\n maxByProductId.set(p.id, channel?.maxQuantityPerCart ?? null);\n}\n```",
|
|
12762
|
+
"categories": [
|
|
12763
|
+
"Product",
|
|
12764
|
+
"Cart",
|
|
12765
|
+
"Search"
|
|
12766
|
+
],
|
|
12767
|
+
"related": [
|
|
12768
|
+
"bs_searchProductById",
|
|
12769
|
+
"changeItemQuantity"
|
|
12770
|
+
],
|
|
13695
12771
|
"isAsync": true,
|
|
13696
12772
|
"isClass": false,
|
|
13697
12773
|
"parameterTypes": [
|
|
@@ -13729,7 +12805,7 @@
|
|
|
13729
12805
|
"name": "addItemToCart",
|
|
13730
12806
|
"displayName": "addVariantToCart",
|
|
13731
12807
|
"signature": "async function addItemToCart(variant: IkasProductVariant, product: IkasProduct, initialQuantity: number = 1, options?: AddItemOptions): Promise<IkasCartOperationResult>",
|
|
13732
|
-
"description": "Add a product variant to the shopping cart.",
|
|
12808
|
+
"description": "Add a product variant to the shopping cart.\n\nClamps the quantity to the sales channel's `minQuantityPerCart`/`maxQuantityPerCart` only\nwhen it creates a new cart line. When the variant already has a line in the cart, the add\nis delegated to `changeItemQuantity` (existing quantity + `initialQuantity`) with no\nclient-side clamp — a quantity past `maxQuantityPerCart` is then rejected by the API with\nthe `MAX_QUANTITY_PER_CART_LIMIT_REACHED` code in `result.response.errorCodes`, never as a\n`validationError`. See `changeItemQuantity` for the handling pattern.",
|
|
13733
12809
|
"params": [
|
|
13734
12810
|
{
|
|
13735
12811
|
"name": "variant",
|
|
@@ -13805,7 +12881,7 @@
|
|
|
13805
12881
|
"name": "changeItemQuantity",
|
|
13806
12882
|
"displayName": "changeQuantityOnCart",
|
|
13807
12883
|
"signature": "async function changeItemQuantity(item: IkasOrderLineItem, quantity: number, offers?: IkasProductOffer[], product?: IkasProduct): Promise<IkasCartOperationResult>",
|
|
13808
|
-
"description": "Change the quantity of an item in the cart.\nUse quantity=0 to remove the item.",
|
|
12884
|
+
"description": "Change the quantity of an item in the cart.\nUse quantity=0 to remove the item.\n\nPerforms no client-side clamping or validation: a quantity above the sales channel's\n`maxQuantityPerCart` is rejected by the API with the `MAX_QUANTITY_PER_CART_LIMIT_REACHED`\ncode in `result.response.errorCodes` (never as a `validationError`). Prevent violations in\nthe stepper and treat the error code as the fallback.",
|
|
13809
12885
|
"params": [
|
|
13810
12886
|
{
|
|
13811
12887
|
"name": "item",
|
|
@@ -13826,7 +12902,7 @@
|
|
|
13826
12902
|
],
|
|
13827
12903
|
"returns": "Result with success flag",
|
|
13828
12904
|
"returnType": "Promise<IkasCartOperationResult>",
|
|
13829
|
-
"example": "```typescript\nimport { cartStore, changeItemQuantity } from \"@ikas/bp-storefront\";\n\n// Increment quantity\nasync function handleIncrement(itemId: string) {\n const item = cartStore.cart?.orderLineItems.find(i => i.id === itemId);\n if (item) {\n const result = await changeItemQuantity(item, item.quantity + 1);\n if (!result.success) {\n showToast(\"Failed to update quantity\");\n }\n }\n}\n\n// Decrement quantity\nasync function handleDecrement(itemId: string) {\n const item = cartStore.cart?.orderLineItems.find(i => i.id === itemId);\n if (item && item.quantity > 1) {\n await changeItemQuantity(item, item.quantity - 1);\n }\n}\n```",
|
|
12905
|
+
"example": "```typescript\nimport { APIErrorCode, cartStore, changeItemQuantity } from \"@ikas/bp-storefront\";\n\n// Increment quantity\nasync function handleIncrement(itemId: string) {\n const item = cartStore.cart?.orderLineItems.find(i => i.id === itemId);\n if (item) {\n const result = await changeItemQuantity(item, item.quantity + 1);\n if (!result.success) {\n const limitHit = result.response?.errorCodes?.includes(\n APIErrorCode.MAX_QUANTITY_PER_CART_LIMIT_REACHED\n );\n showToast(limitHit ? \"Per-cart quantity limit reached\" : \"Failed to update quantity\");\n }\n }\n}\n\n// Decrement quantity\nasync function handleDecrement(itemId: string) {\n const item = cartStore.cart?.orderLineItems.find(i => i.id === itemId);\n if (item && item.quantity > 1) {\n await changeItemQuantity(item, item.quantity - 1);\n }\n}\n```",
|
|
13830
12906
|
"categories": [
|
|
13831
12907
|
"Cart"
|
|
13832
12908
|
],
|
|
@@ -14135,6 +13211,37 @@
|
|
|
14135
13211
|
"IkasCartOperationResult"
|
|
14136
13212
|
]
|
|
14137
13213
|
},
|
|
13214
|
+
{
|
|
13215
|
+
"name": "removeGiftCardLine",
|
|
13216
|
+
"signature": "async function removeGiftCardLine(cart: IkasCart, giftCardId?: string | null): Promise<IkasCartOperationResult>",
|
|
13217
|
+
"description": "Remove a gift card (or store credit) line from the cart.\n\nGift cards are applied through `saveCouponCode` with the gift card code, and the applied\ncards are listed on `cart.giftCardLines`. Pass the `giftCardId` of the line to remove; when\nomitted, every gift card line is removed from the cart.",
|
|
13218
|
+
"params": [
|
|
13219
|
+
{
|
|
13220
|
+
"name": "cart",
|
|
13221
|
+
"description": "- The cart object"
|
|
13222
|
+
},
|
|
13223
|
+
{
|
|
13224
|
+
"name": "giftCardId",
|
|
13225
|
+
"description": "- The gift card to remove, or null/undefined to remove all of them"
|
|
13226
|
+
}
|
|
13227
|
+
],
|
|
13228
|
+
"returns": "Result with success flag",
|
|
13229
|
+
"returnType": "Promise<IkasCartOperationResult>",
|
|
13230
|
+
"example": "```typescript\nimport { cartStore, removeGiftCardLine } from \"@ikas/bp-storefront\";\n\nasync function handleRemoveGiftCard(giftCardId: string) {\n if (!cartStore.cart) return;\n\n const result = await removeGiftCardLine(cartStore.cart, giftCardId);\n if (result.success) {\n showToast(\"Gift card removed\");\n }\n}\n```",
|
|
13231
|
+
"categories": [
|
|
13232
|
+
"Cart"
|
|
13233
|
+
],
|
|
13234
|
+
"related": [
|
|
13235
|
+
"saveCouponCode",
|
|
13236
|
+
"getIkasOrderGiftCardTotalPrice"
|
|
13237
|
+
],
|
|
13238
|
+
"isAsync": true,
|
|
13239
|
+
"isClass": false,
|
|
13240
|
+
"parameterTypes": [
|
|
13241
|
+
"IkasCart",
|
|
13242
|
+
"IkasCartOperationResult"
|
|
13243
|
+
]
|
|
13244
|
+
},
|
|
14138
13245
|
{
|
|
14139
13246
|
"name": "getCart",
|
|
14140
13247
|
"signature": "async function getCart(): Promise<void>",
|
|
@@ -14299,54 +13406,225 @@
|
|
|
14299
13406
|
]
|
|
14300
13407
|
},
|
|
14301
13408
|
{
|
|
14302
|
-
"name": "canCustomerCreateEmailSubscription",
|
|
14303
|
-
"signature": "function canCustomerCreateEmailSubscription(customerStore: IkasCustomerStore): boolean",
|
|
14304
|
-
"description": "Check whether a customer is eligible to create an email subscription.",
|
|
13409
|
+
"name": "canCustomerCreateEmailSubscription",
|
|
13410
|
+
"signature": "function canCustomerCreateEmailSubscription(customerStore: IkasCustomerStore): boolean",
|
|
13411
|
+
"description": "Check whether a customer is eligible to create an email subscription.",
|
|
13412
|
+
"params": [
|
|
13413
|
+
{
|
|
13414
|
+
"name": "customerStore",
|
|
13415
|
+
"description": "- The customer store instance"
|
|
13416
|
+
}
|
|
13417
|
+
],
|
|
13418
|
+
"returns": "True if the customer can create an email subscription, false otherwise",
|
|
13419
|
+
"returnType": "boolean",
|
|
13420
|
+
"example": "```typescript\nimport { customerStore, canCustomerCreateEmailSubscription } from \"@ikas/bp-storefront\";\n\nfunction NewsletterBanner() {\n const canSubscribe = canCustomerCreateEmailSubscription(customerStore);\n if (!canSubscribe) return null;\n\n return <div>Subscribe to our newsletter!</div>;\n}\n```",
|
|
13421
|
+
"categories": [
|
|
13422
|
+
"Customer",
|
|
13423
|
+
"Registration"
|
|
13424
|
+
],
|
|
13425
|
+
"related": [
|
|
13426
|
+
"createEmailSubscription",
|
|
13427
|
+
"getNewsletterSubscriptionForm"
|
|
13428
|
+
],
|
|
13429
|
+
"isAsync": false,
|
|
13430
|
+
"isClass": false,
|
|
13431
|
+
"parameterTypes": [
|
|
13432
|
+
"IkasCustomerStore"
|
|
13433
|
+
]
|
|
13434
|
+
},
|
|
13435
|
+
{
|
|
13436
|
+
"name": "socialLogin",
|
|
13437
|
+
"signature": "async function socialLogin(customerStore: IkasCustomerStore, provider: SocialLoginProvider): Promise<void>",
|
|
13438
|
+
"description": "Initiate social login (OAuth) with a provider.\nRedirects user to the provider's login page.",
|
|
13439
|
+
"params": [
|
|
13440
|
+
{
|
|
13441
|
+
"name": "customerStore",
|
|
13442
|
+
"description": "- The customer store instance"
|
|
13443
|
+
},
|
|
13444
|
+
{
|
|
13445
|
+
"name": "provider",
|
|
13446
|
+
"description": "- The social login provider (\"facebook\", \"google\", or \"twitch\")"
|
|
13447
|
+
}
|
|
13448
|
+
],
|
|
13449
|
+
"returnType": "Promise<void>",
|
|
13450
|
+
"example": "```typescript\nimport { customerStore, socialLogin } from \"@ikas/bp-storefront\";\n\nfunction SocialLoginButtons() {\n return (\n <div>\n <button onClick={() => socialLogin(customerStore, \"google\")}>\n Login with Google\n </button>\n <button onClick={() => socialLogin(customerStore, \"facebook\")}>\n Login with Facebook\n </button>\n </div>\n );\n}\n```",
|
|
13451
|
+
"categories": [
|
|
13452
|
+
"Customer"
|
|
13453
|
+
],
|
|
13454
|
+
"related": [
|
|
13455
|
+
"handleSocialLogin",
|
|
13456
|
+
"customerLogin"
|
|
13457
|
+
],
|
|
13458
|
+
"isAsync": true,
|
|
13459
|
+
"isClass": false,
|
|
13460
|
+
"parameterTypes": [
|
|
13461
|
+
"IkasCustomerStore"
|
|
13462
|
+
]
|
|
13463
|
+
},
|
|
13464
|
+
{
|
|
13465
|
+
"name": "handleSocialLogin",
|
|
13466
|
+
"signature": "async function handleSocialLogin(customerStore: IkasCustomerStore): Promise<HandleSocialLoginReturnType>",
|
|
13467
|
+
"description": "Handle the social login callback after OAuth redirect.\nCall this on your login page to complete social authentication.",
|
|
13468
|
+
"params": [
|
|
13469
|
+
{
|
|
13470
|
+
"name": "customerStore",
|
|
13471
|
+
"description": "- The customer store instance"
|
|
13472
|
+
}
|
|
13473
|
+
],
|
|
13474
|
+
"returns": "Object with status (\"success\" or \"fail\") and optional message",
|
|
13475
|
+
"returnType": "Promise<HandleSocialLoginReturnType>",
|
|
13476
|
+
"example": "```typescript\nimport { customerStore, handleSocialLogin } from \"@ikas/bp-storefront\";\nimport { useEffect, useState } from \"react\";\n\nfunction LoginPage() {\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n async function checkSocialLogin() {\n const result = await handleSocialLogin(customerStore);\n if (result.status === \"success\") {\n // Redirect to account page\n Router.navigateToPage(\"ACCOUNT\");\n } else if (result.message) {\n setError(result.message);\n }\n }\n checkSocialLogin();\n }, []);\n\n return error ? <p className=\"error\">{error}</p> : null;\n}\n```",
|
|
13477
|
+
"categories": [
|
|
13478
|
+
"Customer"
|
|
13479
|
+
],
|
|
13480
|
+
"related": [
|
|
13481
|
+
"socialLogin",
|
|
13482
|
+
"customerLogin"
|
|
13483
|
+
],
|
|
13484
|
+
"isAsync": true,
|
|
13485
|
+
"isClass": false,
|
|
13486
|
+
"parameterTypes": [
|
|
13487
|
+
"IkasCustomerStore"
|
|
13488
|
+
]
|
|
13489
|
+
},
|
|
13490
|
+
{
|
|
13491
|
+
"name": "socialLoginToken",
|
|
13492
|
+
"displayName": "socialLoginWithToken",
|
|
13493
|
+
"signature": "async function socialLoginToken(customerStore: IkasCustomerStore, token: string): Promise<boolean>",
|
|
13494
|
+
"description": "Complete social login authentication using a token received from the OAuth provider callback.",
|
|
13495
|
+
"params": [
|
|
13496
|
+
{
|
|
13497
|
+
"name": "customerStore",
|
|
13498
|
+
"description": "- The customer store instance"
|
|
13499
|
+
},
|
|
13500
|
+
{
|
|
13501
|
+
"name": "token",
|
|
13502
|
+
"description": "- The social login token from the OAuth callback"
|
|
13503
|
+
}
|
|
13504
|
+
],
|
|
13505
|
+
"returns": "True if login was successful, false otherwise",
|
|
13506
|
+
"returnType": "Promise<boolean>",
|
|
13507
|
+
"example": "```typescript\nimport { customerStore, socialLoginToken } from \"@ikas/bp-storefront\";\n\nasync function completeSocialAuth(token: string) {\n const success = await socialLoginToken(customerStore, token);\n if (success) {\n Router.navigateToPage(\"ACCOUNT\");\n } else {\n showToast(\"Social login failed\");\n }\n}\n```",
|
|
13508
|
+
"categories": [
|
|
13509
|
+
"Customer",
|
|
13510
|
+
"Authentication",
|
|
13511
|
+
"Login"
|
|
13512
|
+
],
|
|
13513
|
+
"related": [
|
|
13514
|
+
"socialLogin",
|
|
13515
|
+
"handleSocialLogin",
|
|
13516
|
+
"customerLogin"
|
|
13517
|
+
],
|
|
13518
|
+
"isAsync": true,
|
|
13519
|
+
"isClass": false,
|
|
13520
|
+
"parameterTypes": [
|
|
13521
|
+
"IkasCustomerStore"
|
|
13522
|
+
]
|
|
13523
|
+
},
|
|
13524
|
+
{
|
|
13525
|
+
"name": "milesSmilesBind",
|
|
13526
|
+
"signature": "async function milesSmilesBind(customerStore: IkasCustomerStore, redirect?: string | null): Promise<MilesSmilesBindResult>",
|
|
13527
|
+
"description": "Start the Turkish Airlines Miles&Smiles account bind flow for the logged-in customer.\nOpens the THY login page in a popup; once THY confirms, the browser is sent to the\nikas bind callback and lands back on `redirect` with `milesSmilesStatus` query params\n(see handleMilesSmilesBind). Binding is required before miles can be spent at checkout.",
|
|
13528
|
+
"params": [
|
|
13529
|
+
{
|
|
13530
|
+
"name": "customerStore",
|
|
13531
|
+
"description": "- The customer store instance (customer must be logged in)"
|
|
13532
|
+
},
|
|
13533
|
+
{
|
|
13534
|
+
"name": "redirect",
|
|
13535
|
+
"description": "- Relative store path to land on after bind, e.g. \"/account\" or \"/checkout?id=...&step=payment\""
|
|
13536
|
+
}
|
|
13537
|
+
],
|
|
13538
|
+
"returns": "`isSuccess: true` when the bind hand-off started; otherwise an `errorCode`\nsuch as \"AUTHORIZATION_REQUIRED\" or \"MILES_SMILES_LOGIN_CANCELLED_OR_FAILED\"",
|
|
13539
|
+
"returnType": "Promise<MilesSmilesBindResult>",
|
|
13540
|
+
"example": "```typescript\nimport { customerStore, milesSmilesBind } from \"@ikas/bp-storefront\";\n\nasync function onLinkClick() {\n const result = await milesSmilesBind(customerStore, \"/account\");\n if (!result.isSuccess) showToast(result.errorCode || \"UNEXPECTED_ERROR\");\n}\n```",
|
|
13541
|
+
"categories": [
|
|
13542
|
+
"Customer",
|
|
13543
|
+
"Miles&Smiles"
|
|
13544
|
+
],
|
|
13545
|
+
"related": [
|
|
13546
|
+
"handleMilesSmilesBind",
|
|
13547
|
+
"getMilesSmilesLink",
|
|
13548
|
+
"unlinkMilesSmiles",
|
|
13549
|
+
"getMilesSmilesDetails"
|
|
13550
|
+
],
|
|
13551
|
+
"isAsync": true,
|
|
13552
|
+
"isClass": false,
|
|
13553
|
+
"parameterTypes": [
|
|
13554
|
+
"IkasCustomerStore"
|
|
13555
|
+
]
|
|
13556
|
+
},
|
|
13557
|
+
{
|
|
13558
|
+
"name": "handleMilesSmilesBind",
|
|
13559
|
+
"signature": "function handleMilesSmilesBind(clear: boolean = true): HandleMilesSmilesBindReturnType | null",
|
|
13560
|
+
"description": "Read the Miles&Smiles bind result from the current URL after THY redirects back\n(`?milesSmilesStatus=success` or `?milesSmilesStatus=fail&milesSmilesError=CODE`).\nCall this on the landing page (account or checkout). The params are removed from the\nURL so a refresh does not repeat the same message.",
|
|
13561
|
+
"params": [
|
|
13562
|
+
{
|
|
13563
|
+
"name": "clear",
|
|
13564
|
+
"description": "- Remove the params from the URL with history.replaceState (default: true)"
|
|
13565
|
+
}
|
|
13566
|
+
],
|
|
13567
|
+
"returns": "The landing result, or null when the URL carries no bind result",
|
|
13568
|
+
"returnType": "HandleMilesSmilesBindReturnType | null",
|
|
13569
|
+
"example": "```typescript\nimport { handleMilesSmilesBind } from \"@ikas/bp-storefront\";\n\nuseEffect(() => {\n const result = handleMilesSmilesBind();\n if (result?.status === \"success\") showToast(\"Miles&Smiles account linked\");\n if (result?.status === \"fail\") showToast(result.errorCode || \"Bind failed\");\n}, []);\n```",
|
|
13570
|
+
"categories": [
|
|
13571
|
+
"Customer",
|
|
13572
|
+
"Miles&Smiles"
|
|
13573
|
+
],
|
|
13574
|
+
"related": [
|
|
13575
|
+
"milesSmilesBind",
|
|
13576
|
+
"getMilesSmilesLink"
|
|
13577
|
+
],
|
|
13578
|
+
"isAsync": false,
|
|
13579
|
+
"isClass": false
|
|
13580
|
+
},
|
|
13581
|
+
{
|
|
13582
|
+
"name": "getMilesSmilesLink",
|
|
13583
|
+
"signature": "async function getMilesSmilesLink(customerStore: IkasCustomerStore): Promise<APIResponse<ExternalAccountLink | null>>",
|
|
13584
|
+
"description": "Get the customer's durable Miles&Smiles link (TK membership number and link date).\nA link does not guarantee a live checkout session; when getMilesSmilesDetails returns\nMILES_SMILES_LOGIN_REQUIRED, run milesSmilesBind again.",
|
|
14305
13585
|
"params": [
|
|
14306
13586
|
{
|
|
14307
13587
|
"name": "customerStore",
|
|
14308
13588
|
"description": "- The customer store instance"
|
|
14309
13589
|
}
|
|
14310
13590
|
],
|
|
14311
|
-
"returns": "
|
|
14312
|
-
"returnType": "
|
|
14313
|
-
"example": "```typescript\nimport { customerStore,
|
|
13591
|
+
"returns": "API response whose data is the link, or null when not linked",
|
|
13592
|
+
"returnType": "Promise<APIResponse<ExternalAccountLink | null>>",
|
|
13593
|
+
"example": "```typescript\nimport { customerStore, getMilesSmilesLink } from \"@ikas/bp-storefront\";\n\nconst response = await getMilesSmilesLink(customerStore);\nconst tkNumber = response.data?.externalId;\n```",
|
|
14314
13594
|
"categories": [
|
|
14315
13595
|
"Customer",
|
|
14316
|
-
"
|
|
13596
|
+
"Miles&Smiles"
|
|
14317
13597
|
],
|
|
14318
13598
|
"related": [
|
|
14319
|
-
"
|
|
14320
|
-
"
|
|
13599
|
+
"milesSmilesBind",
|
|
13600
|
+
"unlinkMilesSmiles"
|
|
14321
13601
|
],
|
|
14322
|
-
"isAsync":
|
|
13602
|
+
"isAsync": true,
|
|
14323
13603
|
"isClass": false,
|
|
14324
13604
|
"parameterTypes": [
|
|
14325
13605
|
"IkasCustomerStore"
|
|
14326
13606
|
]
|
|
14327
13607
|
},
|
|
14328
13608
|
{
|
|
14329
|
-
"name": "
|
|
14330
|
-
"signature": "async function
|
|
14331
|
-
"description": "
|
|
13609
|
+
"name": "unlinkMilesSmiles",
|
|
13610
|
+
"signature": "async function unlinkMilesSmiles(customerStore: IkasCustomerStore): Promise<APIResponse<boolean>>",
|
|
13611
|
+
"description": "Remove the customer's Miles&Smiles link. Also clears the server-side checkout\nsession token, so miles cannot be spent until the customer binds again.",
|
|
14332
13612
|
"params": [
|
|
14333
13613
|
{
|
|
14334
13614
|
"name": "customerStore",
|
|
14335
13615
|
"description": "- The customer store instance"
|
|
14336
|
-
},
|
|
14337
|
-
{
|
|
14338
|
-
"name": "provider",
|
|
14339
|
-
"description": "- The social login provider (\"facebook\", \"google\", or \"twitch\")"
|
|
14340
13616
|
}
|
|
14341
13617
|
],
|
|
14342
|
-
"
|
|
14343
|
-
"
|
|
13618
|
+
"returns": "API response whose data is true on success",
|
|
13619
|
+
"returnType": "Promise<APIResponse<boolean>>",
|
|
13620
|
+
"example": "```typescript\nimport { customerStore, unlinkMilesSmiles } from \"@ikas/bp-storefront\";\n\nconst response = await unlinkMilesSmiles(customerStore);\nif (response.isSuccess) showToast(\"Miles&Smiles link removed\");\n```",
|
|
14344
13621
|
"categories": [
|
|
14345
|
-
"Customer"
|
|
13622
|
+
"Customer",
|
|
13623
|
+
"Miles&Smiles"
|
|
14346
13624
|
],
|
|
14347
13625
|
"related": [
|
|
14348
|
-
"
|
|
14349
|
-
"
|
|
13626
|
+
"milesSmilesBind",
|
|
13627
|
+
"getMilesSmilesLink"
|
|
14350
13628
|
],
|
|
14351
13629
|
"isAsync": true,
|
|
14352
13630
|
"isClass": false,
|
|
@@ -14355,24 +13633,25 @@
|
|
|
14355
13633
|
]
|
|
14356
13634
|
},
|
|
14357
13635
|
{
|
|
14358
|
-
"name": "
|
|
14359
|
-
"signature": "async function
|
|
14360
|
-
"description": "
|
|
13636
|
+
"name": "getMilesSmilesDetails",
|
|
13637
|
+
"signature": "async function getMilesSmilesDetails(customerStore: IkasCustomerStore): Promise<APIResponse<MilesSmilesDetailsResponse | undefined>>",
|
|
13638
|
+
"description": "Get the Miles&Smiles balance and member details for the payment step.\nRequires a recent bind; MILES_SMILES_LOGIN_REQUIRED means the short-lived session\nexpired and milesSmilesBind should be run again. MILES_SMILES_NOT_ENABLED and\nPAYMENT_GATEWAY_NOT_FOUND mean the Miles UI should be hidden.",
|
|
14361
13639
|
"params": [
|
|
14362
13640
|
{
|
|
14363
13641
|
"name": "customerStore",
|
|
14364
13642
|
"description": "- The customer store instance"
|
|
14365
13643
|
}
|
|
14366
13644
|
],
|
|
14367
|
-
"returns": "
|
|
14368
|
-
"returnType": "Promise<
|
|
14369
|
-
"example": "```typescript\nimport { customerStore,
|
|
13645
|
+
"returns": "API response whose data holds availableMiles, memberId, firstName and lastName",
|
|
13646
|
+
"returnType": "Promise<APIResponse<MilesSmilesDetailsResponse | undefined>>",
|
|
13647
|
+
"example": "```typescript\nimport { customerStore, getMilesSmilesDetails } from \"@ikas/bp-storefront\";\n\nconst response = await getMilesSmilesDetails(customerStore);\nif (response.errorCodes.includes(\"MILES_SMILES_LOGIN_REQUIRED\")) {\n await milesSmilesBind(customerStore, window.location.pathname + window.location.search);\n} else if (response.data) {\n console.log(\"Available miles:\", response.data.availableMiles);\n}\n```",
|
|
14370
13648
|
"categories": [
|
|
14371
|
-
"Customer"
|
|
13649
|
+
"Customer",
|
|
13650
|
+
"Miles&Smiles"
|
|
14372
13651
|
],
|
|
14373
13652
|
"related": [
|
|
14374
|
-
"
|
|
14375
|
-
"
|
|
13653
|
+
"milesSmilesBind",
|
|
13654
|
+
"getMilesSmilesLink"
|
|
14376
13655
|
],
|
|
14377
13656
|
"isAsync": true,
|
|
14378
13657
|
"isClass": false,
|
|
@@ -14381,37 +13660,30 @@
|
|
|
14381
13660
|
]
|
|
14382
13661
|
},
|
|
14383
13662
|
{
|
|
14384
|
-
"name": "
|
|
14385
|
-
"
|
|
14386
|
-
"
|
|
14387
|
-
"description": "Complete social login authentication using a token received from the OAuth provider callback.",
|
|
13663
|
+
"name": "isMilesSmilesTransaction",
|
|
13664
|
+
"signature": "function isMilesSmilesTransaction(transaction: IkasOrderTransaction): boolean",
|
|
13665
|
+
"description": "Check whether an order transaction is the Miles&Smiles leg of a multi-tender payment.\nSuch rows are written on the synthetic MILES_SMILES gateway and are not refundable from the storefront.",
|
|
14388
13666
|
"params": [
|
|
14389
13667
|
{
|
|
14390
|
-
"name": "
|
|
14391
|
-
"description": "- The
|
|
14392
|
-
},
|
|
14393
|
-
{
|
|
14394
|
-
"name": "token",
|
|
14395
|
-
"description": "- The social login token from the OAuth callback"
|
|
13668
|
+
"name": "transaction",
|
|
13669
|
+
"description": "- The order transaction to check"
|
|
14396
13670
|
}
|
|
14397
13671
|
],
|
|
14398
|
-
"returns": "True
|
|
14399
|
-
"returnType": "
|
|
14400
|
-
"example": "```typescript\nimport {
|
|
13672
|
+
"returns": "True when the transaction is a Miles&Smiles SALE",
|
|
13673
|
+
"returnType": "boolean",
|
|
13674
|
+
"example": "```typescript\nimport { isMilesSmilesTransaction } from \"@ikas/bp-storefront\";\n\nconst label = isMilesSmilesTransaction(tx) ? \"Miles&Smiles\" : tx.paymentGatewayName;\n```",
|
|
14401
13675
|
"categories": [
|
|
14402
13676
|
"Customer",
|
|
14403
|
-
"
|
|
14404
|
-
"
|
|
13677
|
+
"Orders",
|
|
13678
|
+
"Miles&Smiles"
|
|
14405
13679
|
],
|
|
14406
13680
|
"related": [
|
|
14407
|
-
"
|
|
14408
|
-
"handleSocialLogin",
|
|
14409
|
-
"customerLogin"
|
|
13681
|
+
"getOrderTransactions"
|
|
14410
13682
|
],
|
|
14411
|
-
"isAsync":
|
|
13683
|
+
"isAsync": false,
|
|
14412
13684
|
"isClass": false,
|
|
14413
13685
|
"parameterTypes": [
|
|
14414
|
-
"
|
|
13686
|
+
"IkasOrderTransaction"
|
|
14415
13687
|
]
|
|
14416
13688
|
},
|
|
14417
13689
|
{
|
|
@@ -15035,7 +14307,8 @@
|
|
|
15035
14307
|
],
|
|
15036
14308
|
"related": [
|
|
15037
14309
|
"hasCustomer",
|
|
15038
|
-
"logout"
|
|
14310
|
+
"logout",
|
|
14311
|
+
"getDeactivateCustomerForm"
|
|
15039
14312
|
],
|
|
15040
14313
|
"isAsync": true,
|
|
15041
14314
|
"isClass": false,
|
|
@@ -15606,6 +14879,58 @@
|
|
|
15606
14879
|
"IkasCustomerStore"
|
|
15607
14880
|
]
|
|
15608
14881
|
},
|
|
14882
|
+
{
|
|
14883
|
+
"name": "getDeactivateCustomerForm",
|
|
14884
|
+
"signature": "function getDeactivateCustomerForm(customerStore: IkasCustomerStore): DeactivateCustomerForm",
|
|
14885
|
+
"description": "Get or initialize the deactivate customer form with validation for deleting the current customer's account.",
|
|
14886
|
+
"params": [
|
|
14887
|
+
{
|
|
14888
|
+
"name": "customerStore",
|
|
14889
|
+
"description": "- The customer store instance"
|
|
14890
|
+
}
|
|
14891
|
+
],
|
|
14892
|
+
"returns": "The deactivate customer form object with validated fields",
|
|
14893
|
+
"returnType": "DeactivateCustomerForm",
|
|
14894
|
+
"example": "```typescript\nimport {\n customerStore,\n getDeactivateCustomerForm,\n setDeactivateCustomerFormPassword,\n submitDeactivateCustomerForm,\n logout,\n} from \"@ikas/bp-storefront\";\n\nfunction DeleteAccountPage() {\n const form = getDeactivateCustomerForm(customerStore);\n\n const handleSubmit = async () => {\n const isSuccess = await submitDeactivateCustomerForm(form);\n if (isSuccess) {\n await logout(customerStore);\n Router.navigateToPage(\"INDEX\");\n }\n };\n\n return (\n <form>\n <input\n type=\"password\"\n value={form.password.value}\n onChange={e => setDeactivateCustomerFormPassword(form, e.target.value)}\n />\n <button onClick={handleSubmit}>Delete Account</button>\n </form>\n );\n}\n```",
|
|
14895
|
+
"categories": [
|
|
14896
|
+
"Customer",
|
|
14897
|
+
"Account"
|
|
14898
|
+
],
|
|
14899
|
+
"related": [
|
|
14900
|
+
"clearDeactivateCustomerForm",
|
|
14901
|
+
"deactivateCustomer"
|
|
14902
|
+
],
|
|
14903
|
+
"isAsync": false,
|
|
14904
|
+
"isClass": false,
|
|
14905
|
+
"parameterTypes": [
|
|
14906
|
+
"IkasCustomerStore"
|
|
14907
|
+
]
|
|
14908
|
+
},
|
|
14909
|
+
{
|
|
14910
|
+
"name": "clearDeactivateCustomerForm",
|
|
14911
|
+
"signature": "function clearDeactivateCustomerForm(customerStore: IkasCustomerStore): void",
|
|
14912
|
+
"description": "Clear the cached deactivate customer form, forcing a fresh form on next retrieval.",
|
|
14913
|
+
"params": [
|
|
14914
|
+
{
|
|
14915
|
+
"name": "customerStore",
|
|
14916
|
+
"description": "- The customer store instance"
|
|
14917
|
+
}
|
|
14918
|
+
],
|
|
14919
|
+
"returnType": "void",
|
|
14920
|
+
"example": "```typescript\nimport { customerStore, clearDeactivateCustomerForm } from \"@ikas/bp-storefront\";\n\nfunction handleDeactivateCustomerReset() {\n clearDeactivateCustomerForm(customerStore);\n}\n```",
|
|
14921
|
+
"categories": [
|
|
14922
|
+
"Customer",
|
|
14923
|
+
"Account"
|
|
14924
|
+
],
|
|
14925
|
+
"related": [
|
|
14926
|
+
"getDeactivateCustomerForm"
|
|
14927
|
+
],
|
|
14928
|
+
"isAsync": false,
|
|
14929
|
+
"isClass": false,
|
|
14930
|
+
"parameterTypes": [
|
|
14931
|
+
"IkasCustomerStore"
|
|
14932
|
+
]
|
|
14933
|
+
},
|
|
15609
14934
|
{
|
|
15610
14935
|
"name": "getForgotPasswordForm",
|
|
15611
14936
|
"signature": "function getForgotPasswordForm(customerStore: IkasCustomerStore): ForgotPasswordForm",
|
|
@@ -15975,7 +15300,7 @@
|
|
|
15975
15300
|
{
|
|
15976
15301
|
"name": "getEmptyAddressForm",
|
|
15977
15302
|
"signature": "function getEmptyAddressForm(customerStore: IkasCustomerStore): AddressForm",
|
|
15978
|
-
"description": "Create and return a new, empty address form with validation, wrapped in MobX observability.",
|
|
15303
|
+
"description": "Create and return a new, empty address form with validation, wrapped in MobX observability.\n\nUse this to create an address; use `getIkasCustomerAddressForm(address)` to edit an existing\none. It starts `initAddressForm` internally but does not await it, so await `initAddressForm`\nyourself when you need to know that the country layout (`addressFormat`) and the country/state/\ncity lists are ready to render.",
|
|
15979
15304
|
"params": [
|
|
15980
15305
|
{
|
|
15981
15306
|
"name": "customerStore",
|
|
@@ -15984,14 +15309,16 @@
|
|
|
15984
15309
|
],
|
|
15985
15310
|
"returns": "A new observable address form object with validated fields",
|
|
15986
15311
|
"returnType": "AddressForm",
|
|
15987
|
-
"example": "```
|
|
15312
|
+
"example": "```tsx\nimport {\n customerStore,\n getEmptyAddressForm,\n initAddressForm,\n setAddressFormAddressLine1,\n submitAddressForm,\n} from \"@ikas/bp-storefront\";\n\n// Create the form once, then await init before rendering the country-driven layout.\nconst [form] = useState(() => getEmptyAddressForm(customerStore));\nconst [isLoading, setIsLoading] = useState(true);\nuseEffect(() => {\n initAddressForm(form).then(() => setIsLoading(false));\n}, []);\n\n// Always go through the setters. Assigning `form.addressLine1.value` directly skips\n// re-validation and the dependent-field resets the location setters perform.\nsetAddressFormAddressLine1(form, \"123 Main Street\");\n\n// submitAddressForm validates and saves the address onto the customer itself --\n// do not hand-build a customer object and call saveCustomer for this.\nconst ok = await submitAddressForm(form);\n```",
|
|
15988
15313
|
"categories": [
|
|
15989
15314
|
"Customer",
|
|
15990
15315
|
"Address"
|
|
15991
15316
|
],
|
|
15992
15317
|
"related": [
|
|
15993
|
-
"
|
|
15994
|
-
"
|
|
15318
|
+
"initAddressForm",
|
|
15319
|
+
"submitAddressForm",
|
|
15320
|
+
"getIkasCustomerAddressForm",
|
|
15321
|
+
"deleteCustomerAddress"
|
|
15995
15322
|
],
|
|
15996
15323
|
"isAsync": false,
|
|
15997
15324
|
"isClass": false,
|
|
@@ -16230,183 +15557,216 @@
|
|
|
16230
15557
|
"className": "Router"
|
|
16231
15558
|
},
|
|
16232
15559
|
{
|
|
16233
|
-
"name": "
|
|
16234
|
-
"signature": "function
|
|
16235
|
-
"description": "",
|
|
16236
|
-
"params": [
|
|
16237
|
-
|
|
16238
|
-
|
|
16239
|
-
|
|
15560
|
+
"name": "withRoutePrefix",
|
|
15561
|
+
"signature": "function withRoutePrefix(path: string): string",
|
|
15562
|
+
"description": "Put the visitor's storefront routing in front of a path you wrote yourself.\n\nEntity links (`getProductHref`, `getIkasOrderHref`, …) and LINK props already carry the prefix.\nA literal path in your own markup does not: `href=\"/cart\"` sends a visitor browsing `/en` to the\ndefault language. Wrap it, and a store with no extra routings gets the path back unchanged.\n\nIdempotent — a path that already starts with a supported routing segment is returned as-is.\nAnything that is not a path on this storefront — an absolute URL, `mailto:`, `tel:` — is returned\nuntouched, so a merchant-authored prop can be wrapped without checking it first.",
|
|
15563
|
+
"params": [
|
|
15564
|
+
{
|
|
15565
|
+
"name": "path",
|
|
15566
|
+
"description": "- A path on this storefront, starting with `/`"
|
|
15567
|
+
}
|
|
15568
|
+
],
|
|
15569
|
+
"returns": "The path under the current routing (e.g. `/cart` → `/en/cart`)",
|
|
15570
|
+
"returnType": "string",
|
|
15571
|
+
"example": "```tsx\nimport { Router, withRoutePrefix } from \"@ikas/bp-storefront\";\n\n// Correct href for crawlers, middle-click and open-in-new-tab...\n<a href={withRoutePrefix(\"/cart\")} onClick={e => {\n e.preventDefault();\n Router.navigateToPage(\"CART\"); // ...and this prefixes on its own.\n}}>Cart</a>\n```",
|
|
15572
|
+
"categories": [
|
|
15573
|
+
"Navigation"
|
|
15574
|
+
],
|
|
15575
|
+
"related": [
|
|
15576
|
+
"navigate",
|
|
15577
|
+
"navigateToPage"
|
|
15578
|
+
],
|
|
16240
15579
|
"isAsync": false,
|
|
16241
15580
|
"isClass": false
|
|
16242
15581
|
},
|
|
16243
15582
|
{
|
|
16244
|
-
"name": "
|
|
16245
|
-
"signature": "function
|
|
16246
|
-
"description": "",
|
|
15583
|
+
"name": "registerThemeSettingValues",
|
|
15584
|
+
"signature": "function registerThemeSettingValues(values: Record<string, any> | null): void",
|
|
15585
|
+
"description": "Register the live global-variable object (`_g_`) so `getThemeSetting`/`getThemeSettings`\nreturn actual runtime values (constants, computed getters, and in-editor edits) instead\nof the serialized design-time defaults. Called by generated code, not by component authors.",
|
|
16247
15586
|
"params": [],
|
|
16248
|
-
"returnType": "
|
|
15587
|
+
"returnType": "void",
|
|
16249
15588
|
"categories": [],
|
|
16250
15589
|
"related": [],
|
|
16251
15590
|
"isAsync": false,
|
|
16252
|
-
"isClass": false
|
|
16253
|
-
"parameterTypes": [
|
|
16254
|
-
"IkasComponentRenderer",
|
|
16255
|
-
"IkasComponentRendererProps"
|
|
16256
|
-
]
|
|
15591
|
+
"isClass": false
|
|
16257
15592
|
},
|
|
16258
15593
|
{
|
|
16259
|
-
"name": "
|
|
16260
|
-
"signature": "
|
|
16261
|
-
"description": "",
|
|
15594
|
+
"name": "getThemeSettings",
|
|
15595
|
+
"signature": "function getThemeSettings(): ThemeSetting[]",
|
|
15596
|
+
"description": "All global variables (Theme Settings) defined for the theme.",
|
|
16262
15597
|
"params": [],
|
|
16263
|
-
"returnType": "
|
|
15598
|
+
"returnType": "ThemeSetting[]",
|
|
16264
15599
|
"categories": [],
|
|
16265
15600
|
"related": [],
|
|
16266
|
-
"isAsync":
|
|
15601
|
+
"isAsync": false,
|
|
16267
15602
|
"isClass": false
|
|
16268
15603
|
},
|
|
16269
15604
|
{
|
|
16270
|
-
"name": "
|
|
16271
|
-
"signature": "
|
|
16272
|
-
"description": "",
|
|
15605
|
+
"name": "getThemeSetting",
|
|
15606
|
+
"signature": "function getThemeSetting(name: string): ThemeSetting | undefined",
|
|
15607
|
+
"description": "A single global variable by its stable key (`variableName`, e.g. `_6Q0KV7VGGM`).\nDiscover keys via (each item carries a human `displayName`).\nThe returned `value` is the live blueprint value when available, else the default.\nIts shape is discriminated by `type` (see ); note an\nIMAGE setting's value is an image REFERENCE (no `.url`) — resolve with\n`getDefaultSrc`/`getSrc`. An ENUM setting's `value` is one of its enum's option VALUES\n(or null) and the setting also carries `enumTypeId` and `options` (`{ label: value }`);\nin a code component prefer the typed `themeValue(\"_key\")` from `./global-types`, which\nnarrows the value to the enum's union.",
|
|
16273
15608
|
"params": [],
|
|
16274
|
-
"returnType": "
|
|
15609
|
+
"returnType": "ThemeSetting | undefined",
|
|
16275
15610
|
"categories": [],
|
|
16276
15611
|
"related": [],
|
|
16277
|
-
"isAsync":
|
|
15612
|
+
"isAsync": false,
|
|
16278
15613
|
"isClass": false
|
|
16279
15614
|
},
|
|
16280
15615
|
{
|
|
16281
|
-
"name": "
|
|
16282
|
-
"signature": "
|
|
16283
|
-
"description": "",
|
|
15616
|
+
"name": "getThemeSettingValue",
|
|
15617
|
+
"signature": "function getThemeSettingValue(name: string): any",
|
|
15618
|
+
"description": "Convenience: the resolved value of a global variable, or `undefined` if not found.",
|
|
16284
15619
|
"params": [],
|
|
16285
|
-
"returnType": "
|
|
15620
|
+
"returnType": "any",
|
|
16286
15621
|
"categories": [],
|
|
16287
15622
|
"related": [],
|
|
16288
|
-
"isAsync":
|
|
15623
|
+
"isAsync": false,
|
|
16289
15624
|
"isClass": false
|
|
16290
15625
|
},
|
|
16291
15626
|
{
|
|
16292
|
-
"name": "
|
|
16293
|
-
"signature": "function
|
|
16294
|
-
"description": "",
|
|
15627
|
+
"name": "getThemeColors",
|
|
15628
|
+
"signature": "function getThemeColors(): RuntimeDesignToken[]",
|
|
15629
|
+
"description": "Theme color tokens. Each carries a resolved value and a `var(--id)` CSS reference.",
|
|
16295
15630
|
"params": [],
|
|
16296
|
-
"returnType": "
|
|
15631
|
+
"returnType": "RuntimeDesignToken[]",
|
|
16297
15632
|
"categories": [],
|
|
16298
15633
|
"related": [],
|
|
16299
15634
|
"isAsync": false,
|
|
16300
15635
|
"isClass": false
|
|
16301
15636
|
},
|
|
16302
15637
|
{
|
|
16303
|
-
"name": "
|
|
16304
|
-
"signature": "function
|
|
16305
|
-
"description": "",
|
|
15638
|
+
"name": "getThemeTypography",
|
|
15639
|
+
"signature": "function getThemeTypography(): RuntimeTypographyToken[]",
|
|
15640
|
+
"description": "Theme typography tokens (text styles). Apply `className` or read `resolved` CSS values.",
|
|
16306
15641
|
"params": [],
|
|
16307
|
-
"returnType": "
|
|
15642
|
+
"returnType": "RuntimeTypographyToken[]",
|
|
16308
15643
|
"categories": [],
|
|
16309
15644
|
"related": [],
|
|
16310
15645
|
"isAsync": false,
|
|
16311
15646
|
"isClass": false
|
|
16312
15647
|
},
|
|
16313
15648
|
{
|
|
16314
|
-
"name": "
|
|
16315
|
-
"signature": "function
|
|
16316
|
-
"description": "",
|
|
15649
|
+
"name": "getThemeBreakpoints",
|
|
15650
|
+
"signature": "function getThemeBreakpoints(): RuntimeBreakpointToken[]",
|
|
15651
|
+
"description": "Theme responsive breakpoints (`{ id, width }`).",
|
|
16317
15652
|
"params": [],
|
|
16318
|
-
"returnType": "
|
|
15653
|
+
"returnType": "RuntimeBreakpointToken[]",
|
|
16319
15654
|
"categories": [],
|
|
16320
15655
|
"related": [],
|
|
16321
15656
|
"isAsync": false,
|
|
16322
15657
|
"isClass": false
|
|
16323
15658
|
},
|
|
16324
15659
|
{
|
|
16325
|
-
"name": "
|
|
16326
|
-
"signature": "function
|
|
16327
|
-
"description": "",
|
|
15660
|
+
"name": "getThemeKeyframes",
|
|
15661
|
+
"signature": "function getThemeKeyframes(): RuntimeKeyframeToken[]",
|
|
15662
|
+
"description": "Theme keyframe/transition animations. Use `ref` as the CSS animation name.",
|
|
16328
15663
|
"params": [],
|
|
16329
|
-
"returnType": "
|
|
15664
|
+
"returnType": "RuntimeKeyframeToken[]",
|
|
16330
15665
|
"categories": [],
|
|
16331
15666
|
"related": [],
|
|
16332
15667
|
"isAsync": false,
|
|
16333
15668
|
"isClass": false
|
|
16334
15669
|
},
|
|
16335
15670
|
{
|
|
16336
|
-
"name": "
|
|
16337
|
-
"signature": "function
|
|
16338
|
-
"description": "",
|
|
15671
|
+
"name": "getThemeColorSchemes",
|
|
15672
|
+
"signature": "function getThemeColorSchemes(): RuntimeThemeColorSchemes",
|
|
15673
|
+
"description": "Theme color schemes (palettes). Returns two PARALLEL lists with different jobs:\n- `schemes`: the color SLOTS as `{ id }` only — no colors and no display label live here at\n runtime. A slot's human name is authoring-only (read it via the CLI/MCP `list-theme-globals`\n or the editor); at runtime identify a slot solely by its `id`.\n- `values`: the actual palettes. A palette's colors live in its `colorsByScheme`\n map, keyed by slot id → `{ resolved, cssVar }`.\n\nTo render swatches, iterate `values[].colorsByScheme` (the source of truth for\ncolors), NOT the top-level `schemes` array — `schemes` carries slot ids only, so\niterating it renders empty:\n\n const { values } = getThemeColorSchemes();\n values.forEach(palette =>\n Object.entries(palette.colorsByScheme).forEach(([slotId, { resolved, cssVar }]) => {\n // slotId → stable slot key, cssVar → live var() ref (prefer this), resolved → hex snapshot\n })\n );",
|
|
16339
15674
|
"params": [],
|
|
16340
|
-
"returnType": "
|
|
15675
|
+
"returnType": "RuntimeThemeColorSchemes",
|
|
16341
15676
|
"categories": [],
|
|
16342
15677
|
"related": [],
|
|
16343
15678
|
"isAsync": false,
|
|
16344
15679
|
"isClass": false
|
|
16345
15680
|
},
|
|
16346
15681
|
{
|
|
16347
|
-
"name": "
|
|
16348
|
-
"signature": "function
|
|
15682
|
+
"name": "isBrowser",
|
|
15683
|
+
"signature": "function isBrowser(yes?: () => void, no?: () => void): void",
|
|
16349
15684
|
"description": "",
|
|
16350
15685
|
"params": [],
|
|
16351
|
-
"returnType": "
|
|
15686
|
+
"returnType": "void",
|
|
16352
15687
|
"categories": [],
|
|
16353
15688
|
"related": [],
|
|
16354
15689
|
"isAsync": false,
|
|
16355
15690
|
"isClass": false
|
|
16356
15691
|
},
|
|
16357
15692
|
{
|
|
16358
|
-
"name": "
|
|
16359
|
-
"signature": "function
|
|
15693
|
+
"name": "IkasComponentRenderer",
|
|
15694
|
+
"signature": "function IkasComponentRenderer({\n id: baseId,\n components,\n style,\n className,\n parentProps = EMPTY_OBJ,\n map = EMPTY_OBJ,\n}: IkasComponentRendererProps): VNode<ClassAttributes<HTMLDivElement> & { id: string; ref: MutableRef<HTMLDivElement | null>; dangerouslySetInnerHTML: { ...; }; style: { ...; }; className: string | undefined; }> | null",
|
|
16360
15695
|
"description": "",
|
|
16361
15696
|
"params": [],
|
|
16362
|
-
"returnType": "
|
|
15697
|
+
"returnType": "VNode<ClassAttributes<HTMLDivElement> & { id: string; ref: MutableRef<HTMLDivElement | null>; dangerouslySetInnerHTML: { ...; }; style: { ...; }; className: string | undefined; }> | null",
|
|
16363
15698
|
"categories": [],
|
|
16364
15699
|
"related": [],
|
|
16365
15700
|
"isAsync": false,
|
|
16366
|
-
"isClass": false
|
|
15701
|
+
"isClass": false,
|
|
15702
|
+
"parameterTypes": [
|
|
15703
|
+
"IkasComponentRenderer",
|
|
15704
|
+
"IkasComponentRendererProps"
|
|
15705
|
+
]
|
|
16367
15706
|
},
|
|
16368
15707
|
{
|
|
16369
|
-
"name": "
|
|
16370
|
-
"signature": "function
|
|
16371
|
-
"description": "",
|
|
16372
|
-
"params": [
|
|
16373
|
-
|
|
16374
|
-
|
|
16375
|
-
|
|
15708
|
+
"name": "formatCurrency",
|
|
15709
|
+
"signature": "function formatCurrency(price: number, currencyCode: string, currencySymbol: string | null): string",
|
|
15710
|
+
"description": "Format a free-standing amount with the merchant's currency format settings. Use this for\namounts that are NOT tied to a model (remaining amount to free shipping, gift wrap threshold,\nbulk discount limits, cart limit warnings). For model-bound prices, prefer the\n`get*FormattedPrice` helpers — they call this function internally.\n\nApplies the merchant's `currencyFormats` entry for the given currency code (symbol,\nsymbolPosition, thousandSeparator, decimalSeparator, omitZeroDecimal). Behavior details:\nalways two decimal places, and a space between the symbol and the number. `omitZeroDecimal`\ndrops the fraction only when it is exactly `00`.\n\nDo NOT use `Intl.NumberFormat` for currency — it falls back to the browser locale and\nproduces a format that conflicts with platform-formatted prices on the same screen.",
|
|
15711
|
+
"params": [
|
|
15712
|
+
{
|
|
15713
|
+
"name": "price",
|
|
15714
|
+
"description": "- The amount to format"
|
|
15715
|
+
},
|
|
15716
|
+
{
|
|
15717
|
+
"name": "currencyCode",
|
|
15718
|
+
"description": "- Currency code used to look up the merchant format settings (e.g. \"TRY\", \"USD\")"
|
|
15719
|
+
},
|
|
15720
|
+
{
|
|
15721
|
+
"name": "currencySymbol",
|
|
15722
|
+
"description": "- Fallback symbol used when the merchant has no format entry for the code.\nAlways pass the symbol from the model you took the amount from (e.g. `cart.currencySymbol`) —\npassing `null` can render the amount with no symbol at all."
|
|
15723
|
+
}
|
|
15724
|
+
],
|
|
15725
|
+
"returns": "The amount formatted with the merchant's currency format (e.g. \"₺ 1,950.00\")",
|
|
15726
|
+
"returnType": "string",
|
|
15727
|
+
"example": "```typescript\nimport { cartStore, formatCurrency } from \"@ikas/bp-storefront\";\n\nfunction FreeShippingBar({ threshold }: { threshold: number }) {\n const cart = cartStore.cart;\n if (!cart) return null;\n\n const remaining = threshold - cart.totalFinalPrice;\n if (remaining <= 0) return <span>Free shipping unlocked!</span>;\n\n return <span>Add {formatCurrency(remaining, cart.currencyCode, cart.currencySymbol)} more for free shipping</span>;\n}\n```",
|
|
15728
|
+
"categories": [
|
|
15729
|
+
"Pricing"
|
|
15730
|
+
],
|
|
15731
|
+
"related": [
|
|
15732
|
+
"getProductVariantFormattedFinalPrice",
|
|
15733
|
+
"getOrderLineItemFormattedFinalPrice",
|
|
15734
|
+
"getIkasOrderFormattedTotalFinalPrice"
|
|
15735
|
+
],
|
|
16376
15736
|
"isAsync": false,
|
|
16377
15737
|
"isClass": false
|
|
16378
15738
|
},
|
|
16379
15739
|
{
|
|
16380
|
-
"name": "
|
|
16381
|
-
"signature": "function
|
|
15740
|
+
"name": "httpRequest",
|
|
15741
|
+
"signature": "async function httpRequest(url: string, method: HttpMethod, body?: Record<string, any>, headers?: Record<string, string>): Promise<FetchResponse>",
|
|
16382
15742
|
"description": "",
|
|
16383
15743
|
"params": [],
|
|
16384
|
-
"returnType": "
|
|
15744
|
+
"returnType": "Promise<FetchResponse>",
|
|
16385
15745
|
"categories": [],
|
|
16386
15746
|
"related": [],
|
|
16387
|
-
"isAsync":
|
|
15747
|
+
"isAsync": true,
|
|
16388
15748
|
"isClass": false
|
|
16389
15749
|
},
|
|
16390
15750
|
{
|
|
16391
|
-
"name": "
|
|
16392
|
-
"signature": "function
|
|
15751
|
+
"name": "post",
|
|
15752
|
+
"signature": "async function post(url: string, body?: Record<string, any>, headers?: Record<string, string>): Promise<FetchResponse>",
|
|
16393
15753
|
"description": "",
|
|
16394
15754
|
"params": [],
|
|
16395
|
-
"returnType": "
|
|
15755
|
+
"returnType": "Promise<FetchResponse>",
|
|
16396
15756
|
"categories": [],
|
|
16397
15757
|
"related": [],
|
|
16398
|
-
"isAsync":
|
|
15758
|
+
"isAsync": true,
|
|
16399
15759
|
"isClass": false
|
|
16400
15760
|
},
|
|
16401
15761
|
{
|
|
16402
|
-
"name": "
|
|
16403
|
-
"signature": "function
|
|
15762
|
+
"name": "get",
|
|
15763
|
+
"signature": "async function get(url: string, headers?: Record<string, string>): Promise<FetchResponse>",
|
|
16404
15764
|
"description": "",
|
|
16405
15765
|
"params": [],
|
|
16406
|
-
"returnType": "
|
|
15766
|
+
"returnType": "Promise<FetchResponse>",
|
|
16407
15767
|
"categories": [],
|
|
16408
15768
|
"related": [],
|
|
16409
|
-
"isAsync":
|
|
15769
|
+
"isAsync": true,
|
|
16410
15770
|
"isClass": false
|
|
16411
15771
|
},
|
|
16412
15772
|
{
|
|
@@ -16421,44 +15781,60 @@
|
|
|
16421
15781
|
"isClass": false
|
|
16422
15782
|
},
|
|
16423
15783
|
{
|
|
16424
|
-
"name": "
|
|
16425
|
-
"signature": "function
|
|
16426
|
-
"description": "",
|
|
16427
|
-
"params": [],
|
|
16428
|
-
"returnType": "Record<string, T[]>",
|
|
16429
|
-
"categories": [],
|
|
16430
|
-
"related": [],
|
|
16431
|
-
"isAsync": false,
|
|
16432
|
-
"isClass": false
|
|
16433
|
-
},
|
|
16434
|
-
{
|
|
16435
|
-
"name": "sortBy",
|
|
16436
|
-
"signature": "function sortBy(array: T[], iteratees: Array<string | ((item: T) => any)>): T[]",
|
|
15784
|
+
"name": "reaction",
|
|
15785
|
+
"signature": "function reaction(condition: () => any, effect: () => void): IReactionDisposer",
|
|
16437
15786
|
"description": "",
|
|
16438
15787
|
"params": [],
|
|
16439
|
-
"returnType": "
|
|
15788
|
+
"returnType": "IReactionDisposer",
|
|
16440
15789
|
"categories": [],
|
|
16441
15790
|
"related": [],
|
|
16442
15791
|
"isAsync": false,
|
|
16443
15792
|
"isClass": false
|
|
16444
15793
|
},
|
|
16445
15794
|
{
|
|
16446
|
-
"name": "
|
|
16447
|
-
"signature": "function
|
|
16448
|
-
"description": "",
|
|
16449
|
-
"params": [
|
|
16450
|
-
|
|
16451
|
-
|
|
16452
|
-
|
|
15795
|
+
"name": "PayWithIkas",
|
|
15796
|
+
"signature": "function PayWithIkas({ product, quantity = 1, className, style }: PayWithIkasProps): VNode<ClassAttributes<HTMLIFrameElement> & { ref: MutableRef<HTMLIFrameElement | null>; title: string; ... 4 more ...; style: { ...; }; }> | null",
|
|
15797
|
+
"description": "\"Pay with ikas\" (Hızlı Öde) fast-checkout button for the product detail page.\nDrop-in Preact component that renders the pay-with-ikas checkout iframe and\nwires up its whole message protocol, so a theme gets the one-click \"Hızlı Öde\"\nflow without owning any of the plumbing. Use it next to the add-to-cart button\non the product detail page.\n\nThe pay-with-ikas URL is read from `IkasStorefrontConfig.getPayWithIkasUrl()`;\nwhen the merchant has not enabled Pay with ikas the component renders nothing.\nThe add-to-cart-enabled state is tracked reactively via mobx `autorun`, so the\niframe stays in sync as the product's availability changes (e.g. variant\nselection). Clicking \"Hızlı Öde\" creates a temporary cart via\n`createPayWithIkasSession` and redirects to the returned pay URL.",
|
|
15798
|
+
"params": [
|
|
15799
|
+
{
|
|
15800
|
+
"name": "product",
|
|
15801
|
+
"description": "- The product to fast-checkout via Pay with ikas"
|
|
15802
|
+
},
|
|
15803
|
+
{
|
|
15804
|
+
"name": "quantity",
|
|
15805
|
+
"description": "- Quantity to purchase (defaults to 1)"
|
|
15806
|
+
},
|
|
15807
|
+
{
|
|
15808
|
+
"name": "className",
|
|
15809
|
+
"description": "- Optional CSS class applied to the iframe"
|
|
15810
|
+
},
|
|
15811
|
+
{
|
|
15812
|
+
"name": "style",
|
|
15813
|
+
"description": "- Optional inline styles applied to the iframe"
|
|
15814
|
+
}
|
|
15815
|
+
],
|
|
15816
|
+
"returnType": "VNode<ClassAttributes<HTMLIFrameElement> & { ref: MutableRef<HTMLIFrameElement | null>; title: string; ... 4 more ...; style: { ...; }; }> | null",
|
|
15817
|
+
"example": "```tsx\nimport { PayWithIkas } from \"@ikas/bp-storefront\";\n\n// On the product detail page, alongside the add-to-cart button:\n<PayWithIkas product={product} quantity={quantity} />\n```",
|
|
15818
|
+
"categories": [
|
|
15819
|
+
"ProductDetail",
|
|
15820
|
+
"Checkout"
|
|
15821
|
+
],
|
|
15822
|
+
"related": [
|
|
15823
|
+
"createPayWithIkasSession",
|
|
15824
|
+
"isAddToCartEnabled"
|
|
15825
|
+
],
|
|
16453
15826
|
"isAsync": false,
|
|
16454
|
-
"isClass": false
|
|
15827
|
+
"isClass": false,
|
|
15828
|
+
"parameterTypes": [
|
|
15829
|
+
"IkasProps"
|
|
15830
|
+
]
|
|
16455
15831
|
},
|
|
16456
15832
|
{
|
|
16457
|
-
"name": "
|
|
16458
|
-
"signature": "function
|
|
16459
|
-
"description": "",
|
|
15833
|
+
"name": "normalizeSvg",
|
|
15834
|
+
"signature": "function normalizeSvg(svg: string, options: NormalizeSvgOptions): string",
|
|
15835
|
+
"description": "Isomorphic, DOM-free normalization of a raw SVG markup string for render.\nSafe to call in SSR, browser, and node — pure string transforms only.",
|
|
16460
15836
|
"params": [],
|
|
16461
|
-
"returnType": "
|
|
15837
|
+
"returnType": "string",
|
|
16462
15838
|
"categories": [],
|
|
16463
15839
|
"related": [],
|
|
16464
15840
|
"isAsync": false,
|