@ikas/bp-storefront 1.4.0-beta.14 → 1.4.0-beta.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/functions/models/image/index.d.ts +65 -20
  2. package/dist/functions/models/image/index.js +1 -1
  3. package/dist/functions/models/product/variant/index.d.ts +96 -6
  4. package/dist/functions/models/product/variant/index.js +1 -1
  5. package/dist/functions/models/product-list/index.js +1 -1
  6. package/dist/functions/models/validator/address/index.d.ts +70 -2
  7. package/dist/functions/stores/cart/index.js +1 -1
  8. package/dist/functions/stores/customer/index.d.ts +29 -23
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.js +1 -1
  11. package/dist/packages/storefront-config/src/index.js +1 -1
  12. package/dist/packages/storefront-config/src/theme-globals.js +1 -0
  13. package/dist/storefront-config/src/index.d.ts +4 -0
  14. package/dist/storefront-config/src/theme-globals.d.ts +305 -0
  15. package/dist/storefront-models/src/index.d.ts +1 -0
  16. package/dist/storefront-models/src/models/blueprint/prop-value/color.d.ts +2 -0
  17. package/dist/storefront-models/src/models/product/campaign/data/index.d.ts +2 -0
  18. package/dist/storefront-models/src/models/product/campaign/filter/index.d.ts +1 -1
  19. package/dist/storefront-models/src/models/product/campaign/product-tiered-discount/index.d.ts +13 -0
  20. package/dist/storefront-models/src/models/product/variant/index.d.ts +17 -0
  21. package/dist/theme/settings/index.d.ts +48 -0
  22. package/dist/theme/settings/index.js +1 -0
  23. package/dist/utils/component-renderer.js +1 -1
  24. package/dist/utils/pay-with-ikas.d.ts +552 -0
  25. package/dist/utils/pay-with-ikas.js +1 -0
  26. package/dist/utils/svg.d.ts +15 -0
  27. package/dist/utils/svg.js +1 -0
  28. package/package.json +1 -1
@@ -0,0 +1,552 @@
1
+ import { IkasProduct } from "../storefront-models/src";
2
+ import { type CSSProperties } from "preact";
3
+ interface PayWithIkasProps {
4
+ /** The product the "Pay with ikas" widget checks out. */
5
+ product: IkasProduct;
6
+ /** Quantity forwarded to the pay-with-ikas session when the buy button is clicked. */
7
+ quantity?: number;
8
+ /** Optional CSS class applied to the iframe. */
9
+ className?: string;
10
+ /** Optional inline styles applied to the iframe. */
11
+ style?: CSSProperties;
12
+ }
13
+ /**
14
+ * "Pay with ikas" (Hızlı Öde) fast-checkout button for the product detail page.
15
+ * Drop-in Preact component that renders the pay-with-ikas checkout iframe and
16
+ * wires up its whole message protocol, so a theme gets the one-click "Hızlı Öde"
17
+ * flow without owning any of the plumbing. Use it next to the add-to-cart button
18
+ * on the product detail page.
19
+ *
20
+ * The pay-with-ikas URL is read from `IkasStorefrontConfig.getPayWithIkasUrl()`;
21
+ * when the merchant has not enabled Pay with ikas the component renders nothing.
22
+ * The add-to-cart-enabled state is tracked reactively via mobx `autorun`, so the
23
+ * iframe stays in sync as the product's availability changes (e.g. variant
24
+ * selection). Clicking "Hızlı Öde" creates a temporary cart via
25
+ * `createPayWithIkasSession` and redirects to the returned pay URL.
26
+ *
27
+ * @ai-category ProductDetail, Checkout
28
+ * @ai-related createPayWithIkasSession, isAddToCartEnabled
29
+ *
30
+ * @param product - The product to fast-checkout via Pay with ikas
31
+ * @param quantity - Quantity to purchase (defaults to 1)
32
+ * @param className - Optional CSS class applied to the iframe
33
+ * @param style - Optional inline styles applied to the iframe
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { PayWithIkas } from "@ikas/bp-storefront";
38
+ *
39
+ * // On the product detail page, alongside the add-to-cart button:
40
+ * <PayWithIkas product={product} quantity={quantity} />
41
+ * ```
42
+ */
43
+ export declare function PayWithIkas({ product, quantity, className, style }: PayWithIkasProps): import("preact").VNode<import("preact").ClassAttributes<HTMLIFrameElement> & {
44
+ ref: import("preact/hooks").MutableRef<HTMLIFrameElement | null>;
45
+ title: string;
46
+ src: string;
47
+ width: string;
48
+ height: string;
49
+ className: string | undefined;
50
+ style: {
51
+ cssText?: string | null;
52
+ clipPath?: string | number | null | undefined;
53
+ filter?: string | number | null | undefined;
54
+ marker?: string | number | null | undefined;
55
+ mask?: string | number | null | undefined;
56
+ width?: string | number | null | undefined;
57
+ height?: string | number | null | undefined;
58
+ border: string | number | null;
59
+ accentColor?: string | number | null | undefined;
60
+ alignContent?: string | number | null | undefined;
61
+ alignItems?: string | number | null | undefined;
62
+ alignSelf?: string | number | null | undefined;
63
+ alignmentBaseline?: string | number | null | undefined;
64
+ all?: string | number | null | undefined;
65
+ animation?: string | number | null | undefined;
66
+ animationComposition?: string | number | null | undefined;
67
+ animationDelay?: string | number | null | undefined;
68
+ animationDirection?: string | number | null | undefined;
69
+ animationDuration?: string | number | null | undefined;
70
+ animationFillMode?: string | number | null | undefined;
71
+ animationIterationCount?: string | number | null | undefined;
72
+ animationName?: string | number | null | undefined;
73
+ animationPlayState?: string | number | null | undefined;
74
+ animationTimingFunction?: string | number | null | undefined;
75
+ appearance?: string | number | null | undefined;
76
+ aspectRatio?: string | number | null | undefined;
77
+ backdropFilter?: string | number | null | undefined;
78
+ backfaceVisibility?: string | number | null | undefined;
79
+ background?: string | number | null | undefined;
80
+ backgroundAttachment?: string | number | null | undefined;
81
+ backgroundBlendMode?: string | number | null | undefined;
82
+ backgroundClip?: string | number | null | undefined;
83
+ backgroundColor?: string | number | null | undefined;
84
+ backgroundImage?: string | number | null | undefined;
85
+ backgroundOrigin?: string | number | null | undefined;
86
+ backgroundPosition?: string | number | null | undefined;
87
+ backgroundPositionX?: string | number | null | undefined;
88
+ backgroundPositionY?: string | number | null | undefined;
89
+ backgroundRepeat?: string | number | null | undefined;
90
+ backgroundSize?: string | number | null | undefined;
91
+ baselineShift?: string | number | null | undefined;
92
+ baselineSource?: string | number | null | undefined;
93
+ blockSize?: string | number | null | undefined;
94
+ borderBlock?: string | number | null | undefined;
95
+ borderBlockColor?: string | number | null | undefined;
96
+ borderBlockEnd?: string | number | null | undefined;
97
+ borderBlockEndColor?: string | number | null | undefined;
98
+ borderBlockEndStyle?: string | number | null | undefined;
99
+ borderBlockEndWidth?: string | number | null | undefined;
100
+ borderBlockStart?: string | number | null | undefined;
101
+ borderBlockStartColor?: string | number | null | undefined;
102
+ borderBlockStartStyle?: string | number | null | undefined;
103
+ borderBlockStartWidth?: string | number | null | undefined;
104
+ borderBlockStyle?: string | number | null | undefined;
105
+ borderBlockWidth?: string | number | null | undefined;
106
+ borderBottom?: string | number | null | undefined;
107
+ borderBottomColor?: string | number | null | undefined;
108
+ borderBottomLeftRadius?: string | number | null | undefined;
109
+ borderBottomRightRadius?: string | number | null | undefined;
110
+ borderBottomStyle?: string | number | null | undefined;
111
+ borderBottomWidth?: string | number | null | undefined;
112
+ borderCollapse?: string | number | null | undefined;
113
+ borderColor?: string | number | null | undefined;
114
+ borderEndEndRadius?: string | number | null | undefined;
115
+ borderEndStartRadius?: string | number | null | undefined;
116
+ borderImage?: string | number | null | undefined;
117
+ borderImageOutset?: string | number | null | undefined;
118
+ borderImageRepeat?: string | number | null | undefined;
119
+ borderImageSlice?: string | number | null | undefined;
120
+ borderImageSource?: string | number | null | undefined;
121
+ borderImageWidth?: string | number | null | undefined;
122
+ borderInline?: string | number | null | undefined;
123
+ borderInlineColor?: string | number | null | undefined;
124
+ borderInlineEnd?: string | number | null | undefined;
125
+ borderInlineEndColor?: string | number | null | undefined;
126
+ borderInlineEndStyle?: string | number | null | undefined;
127
+ borderInlineEndWidth?: string | number | null | undefined;
128
+ borderInlineStart?: string | number | null | undefined;
129
+ borderInlineStartColor?: string | number | null | undefined;
130
+ borderInlineStartStyle?: string | number | null | undefined;
131
+ borderInlineStartWidth?: string | number | null | undefined;
132
+ borderInlineStyle?: string | number | null | undefined;
133
+ borderInlineWidth?: string | number | null | undefined;
134
+ borderLeft?: string | number | null | undefined;
135
+ borderLeftColor?: string | number | null | undefined;
136
+ borderLeftStyle?: string | number | null | undefined;
137
+ borderLeftWidth?: string | number | null | undefined;
138
+ borderRadius?: string | number | null | undefined;
139
+ borderRight?: string | number | null | undefined;
140
+ borderRightColor?: string | number | null | undefined;
141
+ borderRightStyle?: string | number | null | undefined;
142
+ borderRightWidth?: string | number | null | undefined;
143
+ borderSpacing?: string | number | null | undefined;
144
+ borderStartEndRadius?: string | number | null | undefined;
145
+ borderStartStartRadius?: string | number | null | undefined;
146
+ borderStyle?: string | number | null | undefined;
147
+ borderTop?: string | number | null | undefined;
148
+ borderTopColor?: string | number | null | undefined;
149
+ borderTopLeftRadius?: string | number | null | undefined;
150
+ borderTopRightRadius?: string | number | null | undefined;
151
+ borderTopStyle?: string | number | null | undefined;
152
+ borderTopWidth?: string | number | null | undefined;
153
+ borderWidth?: string | number | null | undefined;
154
+ bottom?: string | number | null | undefined;
155
+ boxShadow?: string | number | null | undefined;
156
+ boxSizing?: string | number | null | undefined;
157
+ breakAfter?: string | number | null | undefined;
158
+ breakBefore?: string | number | null | undefined;
159
+ breakInside?: string | number | null | undefined;
160
+ captionSide?: string | number | null | undefined;
161
+ caretColor?: string | number | null | undefined;
162
+ clear?: string | number | null | undefined;
163
+ clip?: string | number | null | undefined;
164
+ clipRule?: string | number | null | undefined;
165
+ color?: string | number | null | undefined;
166
+ colorInterpolation?: string | number | null | undefined;
167
+ colorInterpolationFilters?: string | number | null | undefined;
168
+ colorScheme?: string | number | null | undefined;
169
+ columnCount?: string | number | null | undefined;
170
+ columnFill?: string | number | null | undefined;
171
+ columnGap?: string | number | null | undefined;
172
+ columnRule?: string | number | null | undefined;
173
+ columnRuleColor?: string | number | null | undefined;
174
+ columnRuleStyle?: string | number | null | undefined;
175
+ columnRuleWidth?: string | number | null | undefined;
176
+ columnSpan?: string | number | null | undefined;
177
+ columnWidth?: string | number | null | undefined;
178
+ columns?: string | number | null | undefined;
179
+ contain?: string | number | null | undefined;
180
+ containIntrinsicBlockSize?: string | number | null | undefined;
181
+ containIntrinsicHeight?: string | number | null | undefined;
182
+ containIntrinsicInlineSize?: string | number | null | undefined;
183
+ containIntrinsicSize?: string | number | null | undefined;
184
+ containIntrinsicWidth?: string | number | null | undefined;
185
+ container?: string | number | null | undefined;
186
+ containerName?: string | number | null | undefined;
187
+ containerType?: string | number | null | undefined;
188
+ content?: string | number | null | undefined;
189
+ contentVisibility?: string | number | null | undefined;
190
+ counterIncrement?: string | number | null | undefined;
191
+ counterReset?: string | number | null | undefined;
192
+ counterSet?: string | number | null | undefined;
193
+ cssFloat?: string | number | null | undefined;
194
+ cursor?: string | number | null | undefined;
195
+ cx?: string | number | null | undefined;
196
+ cy?: string | number | null | undefined;
197
+ d?: string | number | null | undefined;
198
+ direction?: string | number | null | undefined;
199
+ display?: string | number | null | undefined;
200
+ dominantBaseline?: string | number | null | undefined;
201
+ emptyCells?: string | number | null | undefined;
202
+ fill?: string | number | null | undefined;
203
+ fillOpacity?: string | number | null | undefined;
204
+ fillRule?: string | number | null | undefined;
205
+ flex?: string | number | null | undefined;
206
+ flexBasis?: string | number | null | undefined;
207
+ flexDirection?: string | number | null | undefined;
208
+ flexFlow?: string | number | null | undefined;
209
+ flexGrow?: string | number | null | undefined;
210
+ flexShrink?: string | number | null | undefined;
211
+ flexWrap?: string | number | null | undefined;
212
+ float?: string | number | null | undefined;
213
+ floodColor?: string | number | null | undefined;
214
+ floodOpacity?: string | number | null | undefined;
215
+ font?: string | number | null | undefined;
216
+ fontFamily?: string | number | null | undefined;
217
+ fontFeatureSettings?: string | number | null | undefined;
218
+ fontKerning?: string | number | null | undefined;
219
+ fontOpticalSizing?: string | number | null | undefined;
220
+ fontPalette?: string | number | null | undefined;
221
+ fontSize?: string | number | null | undefined;
222
+ fontSizeAdjust?: string | number | null | undefined;
223
+ fontStretch?: string | number | null | undefined;
224
+ fontStyle?: string | number | null | undefined;
225
+ fontSynthesis?: string | number | null | undefined;
226
+ fontSynthesisSmallCaps?: string | number | null | undefined;
227
+ fontSynthesisStyle?: string | number | null | undefined;
228
+ fontSynthesisWeight?: string | number | null | undefined;
229
+ fontVariant?: string | number | null | undefined;
230
+ fontVariantAlternates?: string | number | null | undefined;
231
+ fontVariantCaps?: string | number | null | undefined;
232
+ fontVariantEastAsian?: string | number | null | undefined;
233
+ fontVariantLigatures?: string | number | null | undefined;
234
+ fontVariantNumeric?: string | number | null | undefined;
235
+ fontVariantPosition?: string | number | null | undefined;
236
+ fontVariationSettings?: string | number | null | undefined;
237
+ fontWeight?: string | number | null | undefined;
238
+ forcedColorAdjust?: string | number | null | undefined;
239
+ gap?: string | number | null | undefined;
240
+ grid?: string | number | null | undefined;
241
+ gridArea?: string | number | null | undefined;
242
+ gridAutoColumns?: string | number | null | undefined;
243
+ gridAutoFlow?: string | number | null | undefined;
244
+ gridAutoRows?: string | number | null | undefined;
245
+ gridColumn?: string | number | null | undefined;
246
+ gridColumnEnd?: string | number | null | undefined;
247
+ gridColumnGap?: string | number | null | undefined;
248
+ gridColumnStart?: string | number | null | undefined;
249
+ gridGap?: string | number | null | undefined;
250
+ gridRow?: string | number | null | undefined;
251
+ gridRowEnd?: string | number | null | undefined;
252
+ gridRowGap?: string | number | null | undefined;
253
+ gridRowStart?: string | number | null | undefined;
254
+ gridTemplate?: string | number | null | undefined;
255
+ gridTemplateAreas?: string | number | null | undefined;
256
+ gridTemplateColumns?: string | number | null | undefined;
257
+ gridTemplateRows?: string | number | null | undefined;
258
+ hyphenateCharacter?: string | number | null | undefined;
259
+ hyphens?: string | number | null | undefined;
260
+ imageOrientation?: string | number | null | undefined;
261
+ imageRendering?: string | number | null | undefined;
262
+ inlineSize?: string | number | null | undefined;
263
+ inset?: string | number | null | undefined;
264
+ insetBlock?: string | number | null | undefined;
265
+ insetBlockEnd?: string | number | null | undefined;
266
+ insetBlockStart?: string | number | null | undefined;
267
+ insetInline?: string | number | null | undefined;
268
+ insetInlineEnd?: string | number | null | undefined;
269
+ insetInlineStart?: string | number | null | undefined;
270
+ isolation?: string | number | null | undefined;
271
+ justifyContent?: string | number | null | undefined;
272
+ justifyItems?: string | number | null | undefined;
273
+ justifySelf?: string | number | null | undefined;
274
+ left?: string | number | null | undefined;
275
+ length?: string | number | null | undefined;
276
+ letterSpacing?: string | number | null | undefined;
277
+ lightingColor?: string | number | null | undefined;
278
+ lineBreak?: string | number | null | undefined;
279
+ lineHeight?: string | number | null | undefined;
280
+ listStyle?: string | number | null | undefined;
281
+ listStyleImage?: string | number | null | undefined;
282
+ listStylePosition?: string | number | null | undefined;
283
+ listStyleType?: string | number | null | undefined;
284
+ margin?: string | number | null | undefined;
285
+ marginBlock?: string | number | null | undefined;
286
+ marginBlockEnd?: string | number | null | undefined;
287
+ marginBlockStart?: string | number | null | undefined;
288
+ marginBottom?: string | number | null | undefined;
289
+ marginInline?: string | number | null | undefined;
290
+ marginInlineEnd?: string | number | null | undefined;
291
+ marginInlineStart?: string | number | null | undefined;
292
+ marginLeft?: string | number | null | undefined;
293
+ marginRight?: string | number | null | undefined;
294
+ marginTop?: string | number | null | undefined;
295
+ markerEnd?: string | number | null | undefined;
296
+ markerMid?: string | number | null | undefined;
297
+ markerStart?: string | number | null | undefined;
298
+ maskClip?: string | number | null | undefined;
299
+ maskComposite?: string | number | null | undefined;
300
+ maskImage?: string | number | null | undefined;
301
+ maskMode?: string | number | null | undefined;
302
+ maskOrigin?: string | number | null | undefined;
303
+ maskPosition?: string | number | null | undefined;
304
+ maskRepeat?: string | number | null | undefined;
305
+ maskSize?: string | number | null | undefined;
306
+ maskType?: string | number | null | undefined;
307
+ mathDepth?: string | number | null | undefined;
308
+ mathStyle?: string | number | null | undefined;
309
+ maxBlockSize?: string | number | null | undefined;
310
+ maxHeight?: string | number | null | undefined;
311
+ maxInlineSize?: string | number | null | undefined;
312
+ maxWidth?: string | number | null | undefined;
313
+ minBlockSize?: string | number | null | undefined;
314
+ minHeight?: string | number | null | undefined;
315
+ minInlineSize?: string | number | null | undefined;
316
+ minWidth?: string | number | null | undefined;
317
+ mixBlendMode?: string | number | null | undefined;
318
+ objectFit?: string | number | null | undefined;
319
+ objectPosition?: string | number | null | undefined;
320
+ offset?: string | number | null | undefined;
321
+ offsetAnchor?: string | number | null | undefined;
322
+ offsetDistance?: string | number | null | undefined;
323
+ offsetPath?: string | number | null | undefined;
324
+ offsetPosition?: string | number | null | undefined;
325
+ offsetRotate?: string | number | null | undefined;
326
+ opacity?: string | number | null | undefined;
327
+ order?: string | number | null | undefined;
328
+ orphans?: string | number | null | undefined;
329
+ outline?: string | number | null | undefined;
330
+ outlineColor?: string | number | null | undefined;
331
+ outlineOffset?: string | number | null | undefined;
332
+ outlineStyle?: string | number | null | undefined;
333
+ outlineWidth?: string | number | null | undefined;
334
+ overflow?: string | number | null | undefined;
335
+ overflowAnchor?: string | number | null | undefined;
336
+ overflowClipMargin?: string | number | null | undefined;
337
+ overflowWrap?: string | number | null | undefined;
338
+ overflowX?: string | number | null | undefined;
339
+ overflowY?: string | number | null | undefined;
340
+ overscrollBehavior?: string | number | null | undefined;
341
+ overscrollBehaviorBlock?: string | number | null | undefined;
342
+ overscrollBehaviorInline?: string | number | null | undefined;
343
+ overscrollBehaviorX?: string | number | null | undefined;
344
+ overscrollBehaviorY?: string | number | null | undefined;
345
+ padding?: string | number | null | undefined;
346
+ paddingBlock?: string | number | null | undefined;
347
+ paddingBlockEnd?: string | number | null | undefined;
348
+ paddingBlockStart?: string | number | null | undefined;
349
+ paddingBottom?: string | number | null | undefined;
350
+ paddingInline?: string | number | null | undefined;
351
+ paddingInlineEnd?: string | number | null | undefined;
352
+ paddingInlineStart?: string | number | null | undefined;
353
+ paddingLeft?: string | number | null | undefined;
354
+ paddingRight?: string | number | null | undefined;
355
+ paddingTop?: string | number | null | undefined;
356
+ page?: string | number | null | undefined;
357
+ pageBreakAfter?: string | number | null | undefined;
358
+ pageBreakBefore?: string | number | null | undefined;
359
+ pageBreakInside?: string | number | null | undefined;
360
+ paintOrder?: string | number | null | undefined;
361
+ parentRule?: string | number | null | undefined;
362
+ perspective?: string | number | null | undefined;
363
+ perspectiveOrigin?: string | number | null | undefined;
364
+ placeContent?: string | number | null | undefined;
365
+ placeItems?: string | number | null | undefined;
366
+ placeSelf?: string | number | null | undefined;
367
+ pointerEvents?: string | number | null | undefined;
368
+ position?: string | number | null | undefined;
369
+ printColorAdjust?: string | number | null | undefined;
370
+ quotes?: string | number | null | undefined;
371
+ r?: string | number | null | undefined;
372
+ resize?: string | number | null | undefined;
373
+ right?: string | number | null | undefined;
374
+ rotate?: string | number | null | undefined;
375
+ rowGap?: string | number | null | undefined;
376
+ rubyPosition?: string | number | null | undefined;
377
+ rx?: string | number | null | undefined;
378
+ ry?: string | number | null | undefined;
379
+ scale?: string | number | null | undefined;
380
+ scrollBehavior?: string | number | null | undefined;
381
+ scrollMargin?: string | number | null | undefined;
382
+ scrollMarginBlock?: string | number | null | undefined;
383
+ scrollMarginBlockEnd?: string | number | null | undefined;
384
+ scrollMarginBlockStart?: string | number | null | undefined;
385
+ scrollMarginBottom?: string | number | null | undefined;
386
+ scrollMarginInline?: string | number | null | undefined;
387
+ scrollMarginInlineEnd?: string | number | null | undefined;
388
+ scrollMarginInlineStart?: string | number | null | undefined;
389
+ scrollMarginLeft?: string | number | null | undefined;
390
+ scrollMarginRight?: string | number | null | undefined;
391
+ scrollMarginTop?: string | number | null | undefined;
392
+ scrollPadding?: string | number | null | undefined;
393
+ scrollPaddingBlock?: string | number | null | undefined;
394
+ scrollPaddingBlockEnd?: string | number | null | undefined;
395
+ scrollPaddingBlockStart?: string | number | null | undefined;
396
+ scrollPaddingBottom?: string | number | null | undefined;
397
+ scrollPaddingInline?: string | number | null | undefined;
398
+ scrollPaddingInlineEnd?: string | number | null | undefined;
399
+ scrollPaddingInlineStart?: string | number | null | undefined;
400
+ scrollPaddingLeft?: string | number | null | undefined;
401
+ scrollPaddingRight?: string | number | null | undefined;
402
+ scrollPaddingTop?: string | number | null | undefined;
403
+ scrollSnapAlign?: string | number | null | undefined;
404
+ scrollSnapStop?: string | number | null | undefined;
405
+ scrollSnapType?: string | number | null | undefined;
406
+ scrollbarColor?: string | number | null | undefined;
407
+ scrollbarGutter?: string | number | null | undefined;
408
+ scrollbarWidth?: string | number | null | undefined;
409
+ shapeImageThreshold?: string | number | null | undefined;
410
+ shapeMargin?: string | number | null | undefined;
411
+ shapeOutside?: string | number | null | undefined;
412
+ shapeRendering?: string | number | null | undefined;
413
+ stopColor?: string | number | null | undefined;
414
+ stopOpacity?: string | number | null | undefined;
415
+ stroke?: string | number | null | undefined;
416
+ strokeDasharray?: string | number | null | undefined;
417
+ strokeDashoffset?: string | number | null | undefined;
418
+ strokeLinecap?: string | number | null | undefined;
419
+ strokeLinejoin?: string | number | null | undefined;
420
+ strokeMiterlimit?: string | number | null | undefined;
421
+ strokeOpacity?: string | number | null | undefined;
422
+ strokeWidth?: string | number | null | undefined;
423
+ tabSize?: string | number | null | undefined;
424
+ tableLayout?: string | number | null | undefined;
425
+ textAlign?: string | number | null | undefined;
426
+ textAlignLast?: string | number | null | undefined;
427
+ textAnchor?: string | number | null | undefined;
428
+ textCombineUpright?: string | number | null | undefined;
429
+ textDecoration?: string | number | null | undefined;
430
+ textDecorationColor?: string | number | null | undefined;
431
+ textDecorationLine?: string | number | null | undefined;
432
+ textDecorationSkipInk?: string | number | null | undefined;
433
+ textDecorationStyle?: string | number | null | undefined;
434
+ textDecorationThickness?: string | number | null | undefined;
435
+ textEmphasis?: string | number | null | undefined;
436
+ textEmphasisColor?: string | number | null | undefined;
437
+ textEmphasisPosition?: string | number | null | undefined;
438
+ textEmphasisStyle?: string | number | null | undefined;
439
+ textIndent?: string | number | null | undefined;
440
+ textOrientation?: string | number | null | undefined;
441
+ textOverflow?: string | number | null | undefined;
442
+ textRendering?: string | number | null | undefined;
443
+ textShadow?: string | number | null | undefined;
444
+ textTransform?: string | number | null | undefined;
445
+ textUnderlineOffset?: string | number | null | undefined;
446
+ textUnderlinePosition?: string | number | null | undefined;
447
+ textWrap?: string | number | null | undefined;
448
+ textWrapMode?: string | number | null | undefined;
449
+ textWrapStyle?: string | number | null | undefined;
450
+ top?: string | number | null | undefined;
451
+ touchAction?: string | number | null | undefined;
452
+ transform?: string | number | null | undefined;
453
+ transformBox?: string | number | null | undefined;
454
+ transformOrigin?: string | number | null | undefined;
455
+ transformStyle?: string | number | null | undefined;
456
+ transition?: string | number | null | undefined;
457
+ transitionBehavior?: string | number | null | undefined;
458
+ transitionDelay?: string | number | null | undefined;
459
+ transitionDuration?: string | number | null | undefined;
460
+ transitionProperty?: string | number | null | undefined;
461
+ transitionTimingFunction?: string | number | null | undefined;
462
+ translate?: string | number | null | undefined;
463
+ unicodeBidi?: string | number | null | undefined;
464
+ userSelect?: string | number | null | undefined;
465
+ vectorEffect?: string | number | null | undefined;
466
+ verticalAlign?: string | number | null | undefined;
467
+ visibility?: string | number | null | undefined;
468
+ webkitAlignContent?: string | number | null | undefined;
469
+ webkitAlignItems?: string | number | null | undefined;
470
+ webkitAlignSelf?: string | number | null | undefined;
471
+ webkitAnimation?: string | number | null | undefined;
472
+ webkitAnimationDelay?: string | number | null | undefined;
473
+ webkitAnimationDirection?: string | number | null | undefined;
474
+ webkitAnimationDuration?: string | number | null | undefined;
475
+ webkitAnimationFillMode?: string | number | null | undefined;
476
+ webkitAnimationIterationCount?: string | number | null | undefined;
477
+ webkitAnimationName?: string | number | null | undefined;
478
+ webkitAnimationPlayState?: string | number | null | undefined;
479
+ webkitAnimationTimingFunction?: string | number | null | undefined;
480
+ webkitAppearance?: string | number | null | undefined;
481
+ webkitBackfaceVisibility?: string | number | null | undefined;
482
+ webkitBackgroundClip?: string | number | null | undefined;
483
+ webkitBackgroundOrigin?: string | number | null | undefined;
484
+ webkitBackgroundSize?: string | number | null | undefined;
485
+ webkitBorderBottomLeftRadius?: string | number | null | undefined;
486
+ webkitBorderBottomRightRadius?: string | number | null | undefined;
487
+ webkitBorderRadius?: string | number | null | undefined;
488
+ webkitBorderTopLeftRadius?: string | number | null | undefined;
489
+ webkitBorderTopRightRadius?: string | number | null | undefined;
490
+ webkitBoxAlign?: string | number | null | undefined;
491
+ webkitBoxFlex?: string | number | null | undefined;
492
+ webkitBoxOrdinalGroup?: string | number | null | undefined;
493
+ webkitBoxOrient?: string | number | null | undefined;
494
+ webkitBoxPack?: string | number | null | undefined;
495
+ webkitBoxShadow?: string | number | null | undefined;
496
+ webkitBoxSizing?: string | number | null | undefined;
497
+ webkitFilter?: string | number | null | undefined;
498
+ webkitFlex?: string | number | null | undefined;
499
+ webkitFlexBasis?: string | number | null | undefined;
500
+ webkitFlexDirection?: string | number | null | undefined;
501
+ webkitFlexFlow?: string | number | null | undefined;
502
+ webkitFlexGrow?: string | number | null | undefined;
503
+ webkitFlexShrink?: string | number | null | undefined;
504
+ webkitFlexWrap?: string | number | null | undefined;
505
+ webkitJustifyContent?: string | number | null | undefined;
506
+ webkitLineClamp?: string | number | null | undefined;
507
+ webkitMask?: string | number | null | undefined;
508
+ webkitMaskBoxImage?: string | number | null | undefined;
509
+ webkitMaskBoxImageOutset?: string | number | null | undefined;
510
+ webkitMaskBoxImageRepeat?: string | number | null | undefined;
511
+ webkitMaskBoxImageSlice?: string | number | null | undefined;
512
+ webkitMaskBoxImageSource?: string | number | null | undefined;
513
+ webkitMaskBoxImageWidth?: string | number | null | undefined;
514
+ webkitMaskClip?: string | number | null | undefined;
515
+ webkitMaskComposite?: string | number | null | undefined;
516
+ webkitMaskImage?: string | number | null | undefined;
517
+ webkitMaskOrigin?: string | number | null | undefined;
518
+ webkitMaskPosition?: string | number | null | undefined;
519
+ webkitMaskRepeat?: string | number | null | undefined;
520
+ webkitMaskSize?: string | number | null | undefined;
521
+ webkitOrder?: string | number | null | undefined;
522
+ webkitPerspective?: string | number | null | undefined;
523
+ webkitPerspectiveOrigin?: string | number | null | undefined;
524
+ webkitTextFillColor?: string | number | null | undefined;
525
+ webkitTextSizeAdjust?: string | number | null | undefined;
526
+ webkitTextStroke?: string | number | null | undefined;
527
+ webkitTextStrokeColor?: string | number | null | undefined;
528
+ webkitTextStrokeWidth?: string | number | null | undefined;
529
+ webkitTransform?: string | number | null | undefined;
530
+ webkitTransformOrigin?: string | number | null | undefined;
531
+ webkitTransformStyle?: string | number | null | undefined;
532
+ webkitTransition?: string | number | null | undefined;
533
+ webkitTransitionDelay?: string | number | null | undefined;
534
+ webkitTransitionDuration?: string | number | null | undefined;
535
+ webkitTransitionProperty?: string | number | null | undefined;
536
+ webkitTransitionTimingFunction?: string | number | null | undefined;
537
+ webkitUserSelect?: string | number | null | undefined;
538
+ whiteSpace?: string | number | null | undefined;
539
+ whiteSpaceCollapse?: string | number | null | undefined;
540
+ widows?: string | number | null | undefined;
541
+ willChange?: string | number | null | undefined;
542
+ wordBreak?: string | number | null | undefined;
543
+ wordSpacing?: string | number | null | undefined;
544
+ wordWrap?: string | number | null | undefined;
545
+ writingMode?: string | number | null | undefined;
546
+ x?: string | number | null | undefined;
547
+ y?: string | number | null | undefined;
548
+ zIndex?: string | number | null | undefined;
549
+ zoom?: string | number | null | undefined;
550
+ };
551
+ }> | null;
552
+ export {};
@@ -0,0 +1 @@
1
+ import{__assign as e,__awaiter as r,__generator as t}from'./../ext/tslib/tslib.es6.mjs.js';import{IkasStorefrontConfig as s}from"../packages/storefront-config/src/index.js";import{autorun as i}from'./../ext/mobx/dist/mobx.esm.js';import{createElement as n}from'./../ext/preact/dist/preact.mjs.js';import{useRef as o,useMemo as a,useEffect as c}from'./../ext/preact/hooks/dist/hooks.mjs.js';import{isAddToCartEnabled as u}from"../functions/models/product/index.js";import{createPayWithIkasSession as d}from"../functions/stores/cart/index.js";import{cartStore as m}from"../stores/cart/index.js";function l(l){var f=this,p=l.product,g=l.quantity,h=void 0===g?1:g,y=l.className,w=l.style,v=o(null),b=o(h);b.current=h;var k=s.getPayWithIkasUrl(),j=a(function(){if(!k)return{iframeSrc:"",iframeHeight:"56px",targetOrigin:"*"};var e=new URL(k),r="true"===e.searchParams.get("subtextOption")?"90px":"56px";return e.searchParams.set("isAddToCartEnabled",u(p).toString()),{iframeSrc:e.toString(),iframeHeight:r,targetOrigin:e.origin}},[k,p]),x=j.iframeSrc,E=j.iframeHeight,P=j.targetOrigin;return c(function(){var e=v.current;if(e&&k){var s,n=!1,o=function(o){return r(f,void 0,void 0,function(){var r,a,c;return t(this,function(t){switch(t.label){case 0:if(e.contentWindow!==o.source)return[2];if("ikas-widget-ready"===o.data.type)return null==s||s(),s=i(function(){var r;null===(r=e.contentWindow)||void 0===r||r.postMessage({type:"ikas-buy-enabled-state-change",isAddToCartEnabled:u(p)},P)}),[2];if("ikas-buy-click"!==o.data.type)return[3,5];if(n)return[2];n=!0,t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,d(m,p,b.current)];case 2:return r=t.sent(),null===(c=e.contentWindow)||void 0===c||c.postMessage({type:"ikas-buy-loading-stop"},P),r.success&&r.payUrl?(window.location.href=r.payUrl,[3,5]):(console.error("Pay with ikas error:",r.error),[2]);case 3:return a=t.sent(),console.error("Pay with ikas error:",a),[3,5];case 4:return n=!1,[7];case 5:return[2]}})})};return window.addEventListener("message",o),function(){null==s||s(),window.removeEventListener("message",o)}}},[p,P,k]),k?n("iframe",{ref:v,title:"Pay with ikas",src:x,width:"100%",height:E,className:y,style:e({border:"none"},w)}):null}export{l as PayWithIkas};
@@ -0,0 +1,15 @@
1
+ export type NormalizeSvgOptions = {
2
+ /** Deterministic, instance-unique prefix (element id, or prop key + list index). */
3
+ idPrefix: string;
4
+ /** Rewrite ids and their references. Default: true. */
5
+ scopeIds?: boolean;
6
+ /** Normalize fill/stroke to this color. Opt-in. */
7
+ color?: "currentColor";
8
+ /** Strip fixed width/height and ensure a viewBox. Default: true. */
9
+ size?: boolean;
10
+ };
11
+ /**
12
+ * Isomorphic, DOM-free normalization of a raw SVG markup string for render.
13
+ * Safe to call in SSR, browser, and node — pure string transforms only.
14
+ */
15
+ export declare function normalizeSvg(svg: string, options: NormalizeSvgOptions): string;
@@ -0,0 +1 @@
1
+ var r=/\swidth\s*=\s*["']([^"']*)["']/i,n=/\sheight\s*=\s*["']([^"']*)["']/i,t=function(r,n){var t;return null===(t=r.match(n))||void 0===t?void 0:t[1]},c=function(r){var n=null==r?void 0:r.trim().match(/^(-?\d*\.?\d+)(px)?$/i);return n?parseFloat(n[1]):NaN},e=/(\sfill\s*=\s*["'])([^"']*)(["'])/gi,i=/(\sstroke\s*=\s*["'])([^"']*)(["'])/gi,s=/(fill\s*:\s*)([^;"']+)/gi,o=/(stroke\s*:\s*)([^;"']+)/gi;function a(a,u){var l=u.idPrefix,f=u.scopeIds,v=void 0===f||f,p=u.color,h=u.size,d=void 0===h||h,g=v?function(r,n){var t=new Set(Array.from(r.matchAll(/\sid\s*=\s*["']([^"']+)["']/g)).map(function(r){return r[1]}));if(0===t.size)return r;var c=function(r){return"".concat(n,"-").concat(r)};return r.replace(/(\sid\s*=\s*["'])([^"']+)(["'])/g,function(r,n,e,i){return t.has(e)?"".concat(n).concat(c(e)).concat(i):r}).replace(/url\(\s*["']?#([^"')\s]+)["']?\s*\)/g,function(r,n){return t.has(n)?"url(#".concat(c(n),")"):r}).replace(/((?:xlink:)?href\s*=\s*["'])#([^"']+)(["'])/g,function(r,n,e,i){return t.has(e)?"".concat(n,"#").concat(c(e)).concat(i):r})}(a,l):a,m="currentColor"===p?function(r){var n=function(r){var n=r.trim();return"none"===n||n.startsWith("url(")},t=function(r,t,c,e){return n(c)?r:"".concat(t,"currentColor").concat(e)},c=function(r,t,c){return n(c)?r:"".concat(t,"currentColor")};return r.replace(e,t).replace(i,t).replace(s,c).replace(o,c)}(g):g;return d?function(e){return e.replace(/<svg\b[^>]*>/i,function(e){var i=/\sviewBox\s*=/i.test(e),s=c(t(e,r)),o=c(t(e,n)),a=!i&&!Number.isNaN(s)&&!Number.isNaN(o);return i||a?(a?e.replace(/<svg\b/i,'<svg viewBox="0 0 '.concat(s," ").concat(o,'"')):e).replace(/\swidth\s*=\s*["'][^"']*["']/i,"").replace(/\sheight\s*=\s*["'][^"']*["']/i,""):e})}(m):m}export{a as normalizeSvg};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/bp-storefront",
3
- "version": "1.4.0-beta.14",
3
+ "version": "1.4.0-beta.140",
4
4
  "description": "A framework for the ikas blueprint storefronts.",
5
5
  "author": "ikas",
6
6
  "license": "ISC",