krl-alfred 2.20.2 → 2.20.4

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 (31) hide show
  1. package/dist/components/Checkbox/Checkbox.js +12 -1
  2. package/dist/components/Checkbox/Checkbox.styled.d.ts +5 -1
  3. package/dist/components/Checkbox/Checkbox.styled.js +32 -28
  4. package/dist/components/DescriptionCard/DescriptionCard.d.ts +1 -1
  5. package/dist/components/DescriptionCard/DescriptionCard.js +19 -2
  6. package/dist/components/DescriptionCard/DescriptionCard.styled.d.ts +25 -1
  7. package/dist/components/DescriptionCard/DescriptionCard.styled.js +50 -21
  8. package/dist/components/DescriptionCard/props.d.ts +27 -0
  9. package/dist/components/DescriptionCard/props.js +8 -1
  10. package/dist/components/DescriptionCard/stories/DescriptionCard.stories.d.ts +7 -1
  11. package/dist/components/DescriptionCard/stories/DescriptionCard.stories.js +45 -2
  12. package/dist/components/Icon/iconList/Subcategory.d.ts +3 -0
  13. package/dist/components/Icon/iconList/Subcategory.js +40 -0
  14. package/dist/components/Icon/iconList/index.d.ts +5 -1
  15. package/dist/components/Icon/iconList/index.js +9 -3
  16. package/dist/components/ProductCardVertical/ProductCardVertical.d.ts +1 -1
  17. package/dist/components/ProductCardVertical/ProductCardVertical.js +4 -2
  18. package/dist/components/ProductCardVertical/ProductCardVertical.styled.js +18 -16
  19. package/dist/components/ProductCardVertical/props.d.ts +4 -0
  20. package/dist/components/ProductCardVertical/props.js +2 -0
  21. package/dist/components/ProductCardVertical/stories/ProductCardVertical.stories.d.ts +101 -1
  22. package/dist/components/ProductCardVertical/stories/ProductCardVertical.stories.js +15 -1
  23. package/dist/components/ShoppingCartProduct/ShoppingCartProduct.d.ts +1 -1
  24. package/dist/components/ShoppingCartProduct/ShoppingCartProduct.js +6 -3
  25. package/dist/components/ShoppingCartProduct/ShoppingCartProduct.styled.d.ts +9 -0
  26. package/dist/components/ShoppingCartProduct/ShoppingCartProduct.styled.js +12 -3
  27. package/dist/components/ShoppingCartProduct/props.d.ts +10 -1
  28. package/dist/components/ShoppingCartProduct/props.js +8 -0
  29. package/dist/components/ShoppingCartProduct/stories/ShoppingCartProduct.stories.d.ts +165 -0
  30. package/dist/components/ShoppingCartProduct/stories/ShoppingCartProduct.stories.js +25 -2
  31. package/package.json +1 -1
@@ -7,7 +7,7 @@ import type { ProductCardVerticalProps } from "../props";
7
7
  export declare const allProductCardArgs: ProductCardVerticalProps;
8
8
  declare const _default: {
9
9
  title: string;
10
- component: React.MemoExoticComponent<({ title, description, hasDiscount, price, oldPrice, oldPricePeriod, slug, component, period, discountRate, isResponsive, image, hasCustomBadge, customBadge, hasNewImageType, hasOutOfStock, hasBeltBadge, beltBadgeVariant, beltBadgeTitle, imageInfoText, imageInfoTextVariant, isShowOldPrice, isOldPricePeriodUnderline, hasImageOffset, hasButton, buttonOnClick, buttonText, }: import("../props").ProductCardVertical) => React.JSX.Element>;
10
+ component: React.MemoExoticComponent<({ title, description, hasDiscount, price, oldPrice, oldPricePeriod, slug, component, period, discountRate, isResponsive, image, hasCustomBadge, customBadge, hasNewImageType, hasSquareFillImage, hasOutOfStock, hasBeltBadge, beltBadgeVariant, beltBadgeTitle, imageInfoText, imageInfoTextVariant, isShowOldPrice, isOldPricePeriodUnderline, hasImageOffset, hasSingleLineDescription, hasButton, buttonOnClick, buttonText, }: import("../props").ProductCardVertical) => React.JSX.Element>;
11
11
  tags: string[];
12
12
  argTypes: {
13
13
  title: {
@@ -61,6 +61,10 @@ declare const _default: {
61
61
  hasNewImageType: {
62
62
  control: string;
63
63
  };
64
+ hasSquareFillImage: {
65
+ control: string;
66
+ description: string;
67
+ };
64
68
  hasOutOfStock: {
65
69
  control: string;
66
70
  };
@@ -90,6 +94,10 @@ declare const _default: {
90
94
  hasImageOffset: {
91
95
  control: string;
92
96
  };
97
+ hasSingleLineDescription: {
98
+ control: string;
99
+ description: string;
100
+ };
93
101
  hasButton: {
94
102
  control: string;
95
103
  };
@@ -121,6 +129,7 @@ export declare const Default: {
121
129
  image?: React.ReactNode;
122
130
  customBadge?: React.ReactNode;
123
131
  hasNewImageType?: boolean;
132
+ hasSquareFillImage?: boolean;
124
133
  hasOutOfStock?: boolean;
125
134
  hasBeltBadge?: boolean;
126
135
  isShowOldPrice?: boolean;
@@ -130,6 +139,7 @@ export declare const Default: {
130
139
  imageInfoTextVariant?: string;
131
140
  isOldPricePeriodUnderline?: boolean;
132
141
  hasImageOffset?: boolean;
142
+ hasSingleLineDescription?: boolean;
133
143
  hasButton?: boolean;
134
144
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
135
145
  buttonText?: string;
@@ -153,6 +163,7 @@ export declare const NoDiscount: {
153
163
  image?: React.ReactNode;
154
164
  customBadge?: React.ReactNode;
155
165
  hasNewImageType?: boolean;
166
+ hasSquareFillImage?: boolean;
156
167
  hasOutOfStock?: boolean;
157
168
  hasBeltBadge?: boolean;
158
169
  beltBadgeVariant?: string;
@@ -161,6 +172,7 @@ export declare const NoDiscount: {
161
172
  imageInfoTextVariant?: string;
162
173
  isOldPricePeriodUnderline?: boolean;
163
174
  hasImageOffset?: boolean;
175
+ hasSingleLineDescription?: boolean;
164
176
  hasButton?: boolean;
165
177
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
166
178
  buttonText?: string;
@@ -185,6 +197,7 @@ export declare const OutOfStock: {
185
197
  image?: React.ReactNode;
186
198
  customBadge?: React.ReactNode;
187
199
  hasNewImageType?: boolean;
200
+ hasSquareFillImage?: boolean;
188
201
  isShowOldPrice?: boolean;
189
202
  beltBadgeVariant?: string;
190
203
  beltBadgeTitle?: string;
@@ -192,6 +205,7 @@ export declare const OutOfStock: {
192
205
  imageInfoTextVariant?: string;
193
206
  isOldPricePeriodUnderline?: boolean;
194
207
  hasImageOffset?: boolean;
208
+ hasSingleLineDescription?: boolean;
195
209
  hasButton?: boolean;
196
210
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
197
211
  buttonText?: string;
@@ -215,6 +229,7 @@ export declare const WithCustomBadge: {
215
229
  isResponsive?: boolean;
216
230
  image?: React.ReactNode;
217
231
  hasNewImageType?: boolean;
232
+ hasSquareFillImage?: boolean;
218
233
  hasOutOfStock?: boolean;
219
234
  isShowOldPrice?: boolean;
220
235
  beltBadgeVariant?: string;
@@ -223,6 +238,7 @@ export declare const WithCustomBadge: {
223
238
  imageInfoTextVariant?: string;
224
239
  isOldPricePeriodUnderline?: boolean;
225
240
  hasImageOffset?: boolean;
241
+ hasSingleLineDescription?: boolean;
226
242
  hasButton?: boolean;
227
243
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
228
244
  buttonText?: string;
@@ -246,6 +262,7 @@ export declare const ResponsiveWithNewImageType: {
246
262
  discountRate?: number;
247
263
  image?: React.ReactNode;
248
264
  customBadge?: React.ReactNode;
265
+ hasSquareFillImage?: boolean;
249
266
  hasOutOfStock?: boolean;
250
267
  hasBeltBadge?: boolean;
251
268
  isShowOldPrice?: boolean;
@@ -254,6 +271,7 @@ export declare const ResponsiveWithNewImageType: {
254
271
  imageInfoText?: string;
255
272
  imageInfoTextVariant?: string;
256
273
  isOldPricePeriodUnderline?: boolean;
274
+ hasSingleLineDescription?: boolean;
257
275
  hasButton?: boolean;
258
276
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
259
277
  buttonText?: string;
@@ -278,6 +296,7 @@ export declare const DarkImageInfoText: {
278
296
  image?: React.ReactNode;
279
297
  customBadge?: React.ReactNode;
280
298
  hasNewImageType?: boolean;
299
+ hasSquareFillImage?: boolean;
281
300
  hasOutOfStock?: boolean;
282
301
  hasBeltBadge?: boolean;
283
302
  isShowOldPrice?: boolean;
@@ -285,6 +304,7 @@ export declare const DarkImageInfoText: {
285
304
  beltBadgeTitle?: string;
286
305
  isOldPricePeriodUnderline?: boolean;
287
306
  hasImageOffset?: boolean;
307
+ hasSingleLineDescription?: boolean;
288
308
  hasButton?: boolean;
289
309
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
290
310
  buttonText?: string;
@@ -308,6 +328,7 @@ export declare const WithoutBeltBadge: {
308
328
  image?: React.ReactNode;
309
329
  customBadge?: React.ReactNode;
310
330
  hasNewImageType?: boolean;
331
+ hasSquareFillImage?: boolean;
311
332
  hasOutOfStock?: boolean;
312
333
  isShowOldPrice?: boolean;
313
334
  beltBadgeVariant?: string;
@@ -316,6 +337,7 @@ export declare const WithoutBeltBadge: {
316
337
  imageInfoTextVariant?: string;
317
338
  isOldPricePeriodUnderline?: boolean;
318
339
  hasImageOffset?: boolean;
340
+ hasSingleLineDescription?: boolean;
319
341
  hasButton?: boolean;
320
342
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
321
343
  buttonText?: string;
@@ -339,6 +361,7 @@ export declare const WithoutImageInfoText: {
339
361
  image?: React.ReactNode;
340
362
  customBadge?: React.ReactNode;
341
363
  hasNewImageType?: boolean;
364
+ hasSquareFillImage?: boolean;
342
365
  hasOutOfStock?: boolean;
343
366
  hasBeltBadge?: boolean;
344
367
  isShowOldPrice?: boolean;
@@ -347,6 +370,7 @@ export declare const WithoutImageInfoText: {
347
370
  imageInfoTextVariant?: string;
348
371
  isOldPricePeriodUnderline?: boolean;
349
372
  hasImageOffset?: boolean;
373
+ hasSingleLineDescription?: boolean;
350
374
  hasButton?: boolean;
351
375
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
352
376
  buttonText?: string;
@@ -372,12 +396,14 @@ export declare const Minimal: {
372
396
  image?: React.ReactNode;
373
397
  customBadge?: React.ReactNode;
374
398
  hasNewImageType?: boolean;
399
+ hasSquareFillImage?: boolean;
375
400
  hasOutOfStock?: boolean;
376
401
  beltBadgeVariant?: string;
377
402
  beltBadgeTitle?: string;
378
403
  imageInfoTextVariant?: string;
379
404
  isOldPricePeriodUnderline?: boolean;
380
405
  hasImageOffset?: boolean;
406
+ hasSingleLineDescription?: boolean;
381
407
  hasButton?: boolean;
382
408
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
383
409
  buttonText?: string;
@@ -401,6 +427,40 @@ export declare const WithoutImageOffset: {
401
427
  image?: React.ReactNode;
402
428
  customBadge?: React.ReactNode;
403
429
  hasNewImageType?: boolean;
430
+ hasSquareFillImage?: boolean;
431
+ hasOutOfStock?: boolean;
432
+ hasBeltBadge?: boolean;
433
+ isShowOldPrice?: boolean;
434
+ beltBadgeVariant?: string;
435
+ beltBadgeTitle?: string;
436
+ imageInfoText?: string;
437
+ imageInfoTextVariant?: string;
438
+ isOldPricePeriodUnderline?: boolean;
439
+ hasSingleLineDescription?: boolean;
440
+ hasButton?: boolean;
441
+ buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
442
+ buttonText?: string;
443
+ };
444
+ };
445
+ export declare const SingleLineDescription: {
446
+ args: {
447
+ hasSingleLineDescription: boolean;
448
+ title?: string;
449
+ description?: string;
450
+ hasDiscount?: boolean;
451
+ hasCustomBadge?: boolean;
452
+ price?: string;
453
+ oldPrice?: string;
454
+ oldPricePeriod?: string;
455
+ slug?: string;
456
+ component?: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
457
+ period?: string;
458
+ discountRate?: number;
459
+ isResponsive?: boolean;
460
+ image?: React.ReactNode;
461
+ customBadge?: React.ReactNode;
462
+ hasNewImageType?: boolean;
463
+ hasSquareFillImage?: boolean;
404
464
  hasOutOfStock?: boolean;
405
465
  hasBeltBadge?: boolean;
406
466
  isShowOldPrice?: boolean;
@@ -409,6 +469,40 @@ export declare const WithoutImageOffset: {
409
469
  imageInfoText?: string;
410
470
  imageInfoTextVariant?: string;
411
471
  isOldPricePeriodUnderline?: boolean;
472
+ hasImageOffset?: boolean;
473
+ hasButton?: boolean;
474
+ buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
475
+ buttonText?: string;
476
+ };
477
+ };
478
+ export declare const SquareFillImage: {
479
+ args: {
480
+ hasSquareFillImage: boolean;
481
+ title?: string;
482
+ description?: string;
483
+ hasDiscount?: boolean;
484
+ hasCustomBadge?: boolean;
485
+ price?: string;
486
+ oldPrice?: string;
487
+ oldPricePeriod?: string;
488
+ slug?: string;
489
+ component?: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
490
+ period?: string;
491
+ discountRate?: number;
492
+ isResponsive?: boolean;
493
+ image?: React.ReactNode;
494
+ customBadge?: React.ReactNode;
495
+ hasNewImageType?: boolean;
496
+ hasOutOfStock?: boolean;
497
+ hasBeltBadge?: boolean;
498
+ isShowOldPrice?: boolean;
499
+ beltBadgeVariant?: string;
500
+ beltBadgeTitle?: string;
501
+ imageInfoText?: string;
502
+ imageInfoTextVariant?: string;
503
+ isOldPricePeriodUnderline?: boolean;
504
+ hasImageOffset?: boolean;
505
+ hasSingleLineDescription?: boolean;
412
506
  hasButton?: boolean;
413
507
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
414
508
  buttonText?: string;
@@ -432,6 +526,7 @@ export declare const WithoutOldPrice: {
432
526
  image?: React.ReactNode;
433
527
  customBadge?: React.ReactNode;
434
528
  hasNewImageType?: boolean;
529
+ hasSquareFillImage?: boolean;
435
530
  hasOutOfStock?: boolean;
436
531
  hasBeltBadge?: boolean;
437
532
  beltBadgeVariant?: string;
@@ -440,6 +535,7 @@ export declare const WithoutOldPrice: {
440
535
  imageInfoTextVariant?: string;
441
536
  isOldPricePeriodUnderline?: boolean;
442
537
  hasImageOffset?: boolean;
538
+ hasSingleLineDescription?: boolean;
443
539
  hasButton?: boolean;
444
540
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
445
541
  buttonText?: string;
@@ -463,6 +559,7 @@ export declare const WithoutOldPriceUnderline: {
463
559
  image?: React.ReactNode;
464
560
  customBadge?: React.ReactNode;
465
561
  hasNewImageType?: boolean;
562
+ hasSquareFillImage?: boolean;
466
563
  hasOutOfStock?: boolean;
467
564
  hasBeltBadge?: boolean;
468
565
  isShowOldPrice?: boolean;
@@ -471,6 +568,7 @@ export declare const WithoutOldPriceUnderline: {
471
568
  imageInfoText?: string;
472
569
  imageInfoTextVariant?: string;
473
570
  hasImageOffset?: boolean;
571
+ hasSingleLineDescription?: boolean;
474
572
  hasButton?: boolean;
475
573
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
476
574
  buttonText?: string;
@@ -499,6 +597,7 @@ export declare const WithButton: {
499
597
  image?: React.ReactNode;
500
598
  customBadge?: React.ReactNode;
501
599
  hasNewImageType?: boolean;
600
+ hasSquareFillImage?: boolean;
502
601
  hasOutOfStock?: boolean;
503
602
  hasBeltBadge?: boolean;
504
603
  isShowOldPrice?: boolean;
@@ -508,6 +607,7 @@ export declare const WithButton: {
508
607
  imageInfoTextVariant?: string;
509
608
  isOldPricePeriodUnderline?: boolean;
510
609
  hasImageOffset?: boolean;
610
+ hasSingleLineDescription?: boolean;
511
611
  buttonOnClick?(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
512
612
  };
513
613
  };
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.WithButton = exports.WithoutOldPriceUnderline = exports.WithoutOldPrice = exports.WithoutImageOffset = exports.Minimal = exports.WithoutImageInfoText = exports.WithoutBeltBadge = exports.DarkImageInfoText = exports.ResponsiveWithNewImageType = exports.WithCustomBadge = exports.OutOfStock = exports.NoDiscount = exports.Default = exports.allProductCardArgs = void 0;
17
+ exports.WithButton = exports.WithoutOldPriceUnderline = exports.WithoutOldPrice = exports.SquareFillImage = exports.SingleLineDescription = exports.WithoutImageOffset = exports.Minimal = exports.WithoutImageInfoText = exports.WithoutBeltBadge = exports.DarkImageInfoText = exports.ResponsiveWithNewImageType = exports.WithCustomBadge = exports.OutOfStock = exports.NoDiscount = exports.Default = exports.allProductCardArgs = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  var ProductCardVertical_1 = __importDefault(require("../ProductCardVertical"));
20
20
  var props_1 = require("../props");
@@ -88,6 +88,10 @@ exports.default = {
88
88
  hasCustomBadge: { control: "boolean" },
89
89
  customBadge: { control: false },
90
90
  hasNewImageType: { control: "boolean" },
91
+ hasSquareFillImage: {
92
+ control: "boolean",
93
+ description: "Görseli 1/1 oranında wrapper'ı tamamen doldurur",
94
+ },
91
95
  hasOutOfStock: { control: "boolean" },
92
96
  hasBeltBadge: { control: "boolean" },
93
97
  beltBadgeVariant: {
@@ -103,6 +107,10 @@ exports.default = {
103
107
  isShowOldPrice: { control: "boolean" },
104
108
  isOldPricePeriodUnderline: { control: "boolean" },
105
109
  hasImageOffset: { control: "boolean" },
110
+ hasSingleLineDescription: {
111
+ control: "boolean",
112
+ description: "Açıklamayı tek satırda gösterir; alt boşluk 1rem olur",
113
+ },
106
114
  hasButton: { control: "boolean" },
107
115
  buttonText: { control: "text" },
108
116
  buttonOnClick: { action: "buttonOnClick" },
@@ -140,6 +148,12 @@ exports.Minimal = {
140
148
  exports.WithoutImageOffset = {
141
149
  args: __assign(__assign({}, exports.allProductCardArgs), { hasImageOffset: false }),
142
150
  };
151
+ exports.SingleLineDescription = {
152
+ args: __assign(__assign({}, exports.allProductCardArgs), { hasSingleLineDescription: true }),
153
+ };
154
+ exports.SquareFillImage = {
155
+ args: __assign(__assign({}, exports.allProductCardArgs), { hasSquareFillImage: true }),
156
+ };
143
157
  exports.WithoutOldPrice = {
144
158
  args: __assign(__assign({}, exports.allProductCardArgs), { isShowOldPrice: false, oldPrice: null }),
145
159
  };
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { ShoppingCartProductProps } from "./props";
3
- declare const ShoppingCartProduct: ({ title, priceSm, price, period, oldPrice, oldPriceSm, oldPricePeriod, discountRate, slug, image, component, hasRemove, hasInsurance, insuranceType, insuranceText, insurancePrice, insuranceQuantity, insuranceOption1Title, insuranceOption1Description, insuranceOption1Price, insuranceOption1PricePeriod, hasInsuranceOption1PriceLoading, insuranceOption1TooltipText, insuranceOption2Title, insuranceOption2Description, selectedInsuranceOption, onInsuranceOptionSelect, deliveryText, quantity, hasLoading, deliveryDangerText, hasError, errorText, hasInsuranceActions, hasInsuranceTooltip, hasDisableActions, hasInsuranceTooltipClickAction, insuranceTooltipText, insuranceTooltipWidth, onRemove, onIncrement, onDecrement, toggleInsurance, toggleInsuranceLogo, hasInsurancePriceAdded, hasInsuranceLoading, hasDisableIncrement, insuranceOption1TooltipTitle, }: ShoppingCartProductProps) => React.JSX.Element;
3
+ declare const ShoppingCartProduct: ({ title, priceSm, price, period, oldPrice, oldPriceSm, oldPricePeriod, discountRate, slug, image, component, hasRemove, hasInsurance, insuranceType, insuranceText, insurancePrice, insuranceQuantity, insuranceOption1Title, insuranceOption1Description, insuranceOption1Price, insuranceOption1PricePeriod, hasInsuranceOption1PriceLoading, insuranceOption1TooltipText, insuranceOption2Title, insuranceOption2Description, selectedInsuranceOption, onInsuranceOptionSelect, upfrontAddonTitle, upfrontAddonChecked, onUpfrontAddonChange, upfrontAddonDiscountBadge, upfrontAddonSummaryText, upfrontAddonOldPrice, upfrontAddonPrice, hasUpfrontAddonPriceLoading, deliveryText, quantity, hasLoading, deliveryDangerText, hasError, errorText, hasInsuranceActions, hasInsuranceTooltip, hasDisableActions, hasInsuranceTooltipClickAction, insuranceTooltipText, insuranceTooltipWidth, onRemove, onIncrement, onDecrement, toggleInsurance, toggleInsuranceLogo, hasInsurancePriceAdded, hasInsuranceLoading, hasDisableIncrement, insuranceOption1TooltipTitle, }: ShoppingCartProductProps) => React.JSX.Element;
4
4
  export default ShoppingCartProduct;
@@ -23,8 +23,9 @@ var Tooltip_1 = __importDefault(require("../Tooltip"));
23
23
  var Loader_1 = __importDefault(require("../Loader"));
24
24
  var QuantitySelector_1 = __importDefault(require("../QuantitySelector"));
25
25
  var QuantitySelector_styled_1 = require("../QuantitySelector/QuantitySelector.styled");
26
+ var Badges_1 = __importDefault(require("../Badges"));
26
27
  var ShoppingCartProduct = function (_a) {
27
- var _b = _a.title, title = _b === void 0 ? props_1.ShoppingCartProductDefault.title : _b, _c = _a.priceSm, priceSm = _c === void 0 ? props_1.ShoppingCartProductDefault.priceSm : _c, _d = _a.price, price = _d === void 0 ? props_1.ShoppingCartProductDefault.price : _d, _e = _a.period, period = _e === void 0 ? props_1.ShoppingCartProductDefault.period : _e, _f = _a.oldPrice, oldPrice = _f === void 0 ? props_1.ShoppingCartProductDefault.oldPrice : _f, _g = _a.oldPriceSm, oldPriceSm = _g === void 0 ? props_1.ShoppingCartProductDefault.oldPriceSm : _g, _h = _a.oldPricePeriod, oldPricePeriod = _h === void 0 ? props_1.ShoppingCartProductDefault.oldPricePeriod : _h, _j = _a.discountRate, discountRate = _j === void 0 ? props_1.ShoppingCartProductDefault.discountRate : _j, _k = _a.slug, slug = _k === void 0 ? props_1.ShoppingCartProductDefault.slug : _k, _l = _a.image, image = _l === void 0 ? props_1.ShoppingCartProductDefault.image : _l, _m = _a.component, component = _m === void 0 ? props_1.ShoppingCartProductDefault.component : _m, _o = _a.hasRemove, hasRemove = _o === void 0 ? props_1.ShoppingCartProductDefault.hasRemove : _o, _p = _a.hasInsurance, hasInsurance = _p === void 0 ? props_1.ShoppingCartProductDefault.hasInsurance : _p, _q = _a.insuranceType, insuranceType = _q === void 0 ? props_1.ShoppingCartProductDefault.insuranceType : _q, _r = _a.insuranceText, insuranceText = _r === void 0 ? props_1.ShoppingCartProductDefault.insuranceText : _r, _s = _a.insurancePrice, insurancePrice = _s === void 0 ? props_1.ShoppingCartProductDefault.insurancePrice : _s, _t = _a.insuranceQuantity, insuranceQuantity = _t === void 0 ? props_1.ShoppingCartProductDefault.insuranceQuantity : _t, _u = _a.insuranceOption1Title, insuranceOption1Title = _u === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Title : _u, _v = _a.insuranceOption1Description, insuranceOption1Description = _v === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Description : _v, _w = _a.insuranceOption1Price, insuranceOption1Price = _w === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Price : _w, _x = _a.insuranceOption1PricePeriod, insuranceOption1PricePeriod = _x === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1PricePeriod : _x, _y = _a.hasInsuranceOption1PriceLoading, hasInsuranceOption1PriceLoading = _y === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceOption1PriceLoading : _y, _z = _a.insuranceOption1TooltipText, insuranceOption1TooltipText = _z === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1TooltipText : _z, _0 = _a.insuranceOption2Title, insuranceOption2Title = _0 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption2Title : _0, _1 = _a.insuranceOption2Description, insuranceOption2Description = _1 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption2Description : _1, _2 = _a.selectedInsuranceOption, selectedInsuranceOption = _2 === void 0 ? props_1.ShoppingCartProductDefault.selectedInsuranceOption : _2, _3 = _a.onInsuranceOptionSelect, onInsuranceOptionSelect = _3 === void 0 ? props_1.ShoppingCartProductDefault.onInsuranceOptionSelect : _3, _4 = _a.deliveryText, deliveryText = _4 === void 0 ? props_1.ShoppingCartProductDefault.deliveryText : _4, _5 = _a.quantity, quantity = _5 === void 0 ? props_1.ShoppingCartProductDefault.quantity : _5, _6 = _a.hasLoading, hasLoading = _6 === void 0 ? props_1.ShoppingCartProductDefault.hasLoading : _6, _7 = _a.deliveryDangerText, deliveryDangerText = _7 === void 0 ? props_1.ShoppingCartProductDefault.deliveryDangerText : _7, _8 = _a.hasError, hasError = _8 === void 0 ? props_1.ShoppingCartProductDefault.hasError : _8, _9 = _a.errorText, errorText = _9 === void 0 ? props_1.ShoppingCartProductDefault.errorText : _9, _10 = _a.hasInsuranceActions, hasInsuranceActions = _10 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceActions : _10, _11 = _a.hasInsuranceTooltip, hasInsuranceTooltip = _11 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceTooltip : _11, _12 = _a.hasDisableActions, hasDisableActions = _12 === void 0 ? props_1.ShoppingCartProductDefault.hasDisableActions : _12, _13 = _a.hasInsuranceTooltipClickAction, hasInsuranceTooltipClickAction = _13 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceTooltipClickAction : _13, _14 = _a.insuranceTooltipText, insuranceTooltipText = _14 === void 0 ? props_1.ShoppingCartProductDefault.insuranceTooltipText : _14, _15 = _a.insuranceTooltipWidth, insuranceTooltipWidth = _15 === void 0 ? props_1.ShoppingCartProductDefault.insuranceTooltipWidth : _15, _16 = _a.onRemove, onRemove = _16 === void 0 ? props_1.ShoppingCartProductDefault.onRemove : _16, _17 = _a.onIncrement, onIncrement = _17 === void 0 ? props_1.ShoppingCartProductDefault.onIncrement : _17, _18 = _a.onDecrement, onDecrement = _18 === void 0 ? props_1.ShoppingCartProductDefault.onDecrement : _18, _19 = _a.toggleInsurance, toggleInsurance = _19 === void 0 ? props_1.ShoppingCartProductDefault.toggleInsurance : _19, _20 = _a.toggleInsuranceLogo, toggleInsuranceLogo = _20 === void 0 ? props_1.ShoppingCartProductDefault.toggleInsuranceLogo : _20, _21 = _a.hasInsurancePriceAdded, hasInsurancePriceAdded = _21 === void 0 ? props_1.ShoppingCartProductDefault.hasInsurancePriceAdded : _21, _22 = _a.hasInsuranceLoading, hasInsuranceLoading = _22 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceLoading : _22, _23 = _a.hasDisableIncrement, hasDisableIncrement = _23 === void 0 ? props_1.ShoppingCartProductDefault.hasDisableIncrement : _23, _24 = _a.insuranceOption1TooltipTitle, insuranceOption1TooltipTitle = _24 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1TooltipTitle : _24;
28
+ var _b = _a.title, title = _b === void 0 ? props_1.ShoppingCartProductDefault.title : _b, _c = _a.priceSm, priceSm = _c === void 0 ? props_1.ShoppingCartProductDefault.priceSm : _c, _d = _a.price, price = _d === void 0 ? props_1.ShoppingCartProductDefault.price : _d, _e = _a.period, period = _e === void 0 ? props_1.ShoppingCartProductDefault.period : _e, _f = _a.oldPrice, oldPrice = _f === void 0 ? props_1.ShoppingCartProductDefault.oldPrice : _f, _g = _a.oldPriceSm, oldPriceSm = _g === void 0 ? props_1.ShoppingCartProductDefault.oldPriceSm : _g, _h = _a.oldPricePeriod, oldPricePeriod = _h === void 0 ? props_1.ShoppingCartProductDefault.oldPricePeriod : _h, _j = _a.discountRate, discountRate = _j === void 0 ? props_1.ShoppingCartProductDefault.discountRate : _j, _k = _a.slug, slug = _k === void 0 ? props_1.ShoppingCartProductDefault.slug : _k, _l = _a.image, image = _l === void 0 ? props_1.ShoppingCartProductDefault.image : _l, _m = _a.component, component = _m === void 0 ? props_1.ShoppingCartProductDefault.component : _m, _o = _a.hasRemove, hasRemove = _o === void 0 ? props_1.ShoppingCartProductDefault.hasRemove : _o, _p = _a.hasInsurance, hasInsurance = _p === void 0 ? props_1.ShoppingCartProductDefault.hasInsurance : _p, _q = _a.insuranceType, insuranceType = _q === void 0 ? props_1.ShoppingCartProductDefault.insuranceType : _q, _r = _a.insuranceText, insuranceText = _r === void 0 ? props_1.ShoppingCartProductDefault.insuranceText : _r, _s = _a.insurancePrice, insurancePrice = _s === void 0 ? props_1.ShoppingCartProductDefault.insurancePrice : _s, _t = _a.insuranceQuantity, insuranceQuantity = _t === void 0 ? props_1.ShoppingCartProductDefault.insuranceQuantity : _t, _u = _a.insuranceOption1Title, insuranceOption1Title = _u === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Title : _u, _v = _a.insuranceOption1Description, insuranceOption1Description = _v === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Description : _v, _w = _a.insuranceOption1Price, insuranceOption1Price = _w === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1Price : _w, _x = _a.insuranceOption1PricePeriod, insuranceOption1PricePeriod = _x === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1PricePeriod : _x, _y = _a.hasInsuranceOption1PriceLoading, hasInsuranceOption1PriceLoading = _y === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceOption1PriceLoading : _y, _z = _a.insuranceOption1TooltipText, insuranceOption1TooltipText = _z === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1TooltipText : _z, _0 = _a.insuranceOption2Title, insuranceOption2Title = _0 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption2Title : _0, _1 = _a.insuranceOption2Description, insuranceOption2Description = _1 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption2Description : _1, _2 = _a.selectedInsuranceOption, selectedInsuranceOption = _2 === void 0 ? props_1.ShoppingCartProductDefault.selectedInsuranceOption : _2, _3 = _a.onInsuranceOptionSelect, onInsuranceOptionSelect = _3 === void 0 ? props_1.ShoppingCartProductDefault.onInsuranceOptionSelect : _3, _4 = _a.upfrontAddonTitle, upfrontAddonTitle = _4 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonTitle : _4, _5 = _a.upfrontAddonChecked, upfrontAddonChecked = _5 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonChecked : _5, _6 = _a.onUpfrontAddonChange, onUpfrontAddonChange = _6 === void 0 ? props_1.ShoppingCartProductDefault.onUpfrontAddonChange : _6, _7 = _a.upfrontAddonDiscountBadge, upfrontAddonDiscountBadge = _7 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonDiscountBadge : _7, _8 = _a.upfrontAddonSummaryText, upfrontAddonSummaryText = _8 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonSummaryText : _8, _9 = _a.upfrontAddonOldPrice, upfrontAddonOldPrice = _9 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonOldPrice : _9, _10 = _a.upfrontAddonPrice, upfrontAddonPrice = _10 === void 0 ? props_1.ShoppingCartProductDefault.upfrontAddonPrice : _10, _11 = _a.hasUpfrontAddonPriceLoading, hasUpfrontAddonPriceLoading = _11 === void 0 ? props_1.ShoppingCartProductDefault.hasUpfrontAddonPriceLoading : _11, _12 = _a.deliveryText, deliveryText = _12 === void 0 ? props_1.ShoppingCartProductDefault.deliveryText : _12, _13 = _a.quantity, quantity = _13 === void 0 ? props_1.ShoppingCartProductDefault.quantity : _13, _14 = _a.hasLoading, hasLoading = _14 === void 0 ? props_1.ShoppingCartProductDefault.hasLoading : _14, _15 = _a.deliveryDangerText, deliveryDangerText = _15 === void 0 ? props_1.ShoppingCartProductDefault.deliveryDangerText : _15, _16 = _a.hasError, hasError = _16 === void 0 ? props_1.ShoppingCartProductDefault.hasError : _16, _17 = _a.errorText, errorText = _17 === void 0 ? props_1.ShoppingCartProductDefault.errorText : _17, _18 = _a.hasInsuranceActions, hasInsuranceActions = _18 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceActions : _18, _19 = _a.hasInsuranceTooltip, hasInsuranceTooltip = _19 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceTooltip : _19, _20 = _a.hasDisableActions, hasDisableActions = _20 === void 0 ? props_1.ShoppingCartProductDefault.hasDisableActions : _20, _21 = _a.hasInsuranceTooltipClickAction, hasInsuranceTooltipClickAction = _21 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceTooltipClickAction : _21, _22 = _a.insuranceTooltipText, insuranceTooltipText = _22 === void 0 ? props_1.ShoppingCartProductDefault.insuranceTooltipText : _22, _23 = _a.insuranceTooltipWidth, insuranceTooltipWidth = _23 === void 0 ? props_1.ShoppingCartProductDefault.insuranceTooltipWidth : _23, _24 = _a.onRemove, onRemove = _24 === void 0 ? props_1.ShoppingCartProductDefault.onRemove : _24, _25 = _a.onIncrement, onIncrement = _25 === void 0 ? props_1.ShoppingCartProductDefault.onIncrement : _25, _26 = _a.onDecrement, onDecrement = _26 === void 0 ? props_1.ShoppingCartProductDefault.onDecrement : _26, _27 = _a.toggleInsurance, toggleInsurance = _27 === void 0 ? props_1.ShoppingCartProductDefault.toggleInsurance : _27, _28 = _a.toggleInsuranceLogo, toggleInsuranceLogo = _28 === void 0 ? props_1.ShoppingCartProductDefault.toggleInsuranceLogo : _28, _29 = _a.hasInsurancePriceAdded, hasInsurancePriceAdded = _29 === void 0 ? props_1.ShoppingCartProductDefault.hasInsurancePriceAdded : _29, _30 = _a.hasInsuranceLoading, hasInsuranceLoading = _30 === void 0 ? props_1.ShoppingCartProductDefault.hasInsuranceLoading : _30, _31 = _a.hasDisableIncrement, hasDisableIncrement = _31 === void 0 ? props_1.ShoppingCartProductDefault.hasDisableIncrement : _31, _32 = _a.insuranceOption1TooltipTitle, insuranceOption1TooltipTitle = _32 === void 0 ? props_1.ShoppingCartProductDefault.insuranceOption1TooltipTitle : _32;
28
29
  var tooltipWrapperRef = (0, react_1.useRef)(null);
29
30
  var getScrollableParent = function (element) {
30
31
  if (!element)
@@ -50,7 +51,9 @@ var ShoppingCartProduct = function (_a) {
50
51
  var item = _a.item, children = _a.children;
51
52
  return item.component ? ((0, jsx_runtime_1.jsx)(item.component, { children: children })) : ((0, jsx_runtime_1.jsx)("a", __assign({ href: item.slug }, { children: children })));
52
53
  };
53
- return ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.ShoppingCartProductStyled, __assign({ "$discountRate": discountRate, "$hasDisableActions": hasDisableActions, "$hasInsurance": !hasLoading && insuranceType === 1 && toggleInsurance, "$insuranceType": insuranceType }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "inner" }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: "img" }, { children: (0, jsx_runtime_1.jsx)(LinkComponent, __assign({ item: { component: component, slug: slug } }, { children: image })) })), (0, jsx_runtime_1.jsx)("div", __assign({ className: "text" }, { children: (0, jsx_runtime_1.jsxs)(LinkComponent, __assign({ item: { component: component, slug: slug } }, { children: [(0, jsx_runtime_1.jsx)("strong", __assign({ className: "productCardTitle" }, { children: title })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: "productCardPriceContent" }, { children: [discountRate > 0 && (0, jsx_runtime_1.jsxs)("div", __assign({ className: "discountRate" }, { children: ["%", discountRate] })), (0, jsx_runtime_1.jsxs)("div", { children: [oldPrice && ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "oldPrice" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "price" }, { children: [oldPrice, oldPriceSm && (0, jsx_runtime_1.jsx)("small", { children: oldPriceSm })] })), oldPricePeriod && (0, jsx_runtime_1.jsx)("div", __assign({ className: "period" }, { children: "/".concat(oldPricePeriod) }))] }))), (0, jsx_runtime_1.jsxs)("div", __assign({ className: "newPrice" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "price" }, { children: [price, priceSm && (0, jsx_runtime_1.jsx)("small", { children: priceSm })] })), period && (0, jsx_runtime_1.jsx)("div", __assign({ className: "period" }, { children: "/".concat(period) }))] }))] })] })), (0, jsx_runtime_1.jsxs)("p", __assign({ className: "productCardDeliveryText" }, { children: [deliveryDangerText &&
54
- (0, jsx_runtime_1.jsx)("span", __assign({ className: "productCardDeliveryDanger" }, { children: deliveryDangerText })), deliveryText] }))] })) })), (0, jsx_runtime_1.jsx)(QuantitySelector_1.default, { orientation: "vertical", quantity: quantity, onIncrement: onIncrement, onDecrement: onDecrement, onRemove: onRemove, hasRemove: hasRemove, hasLoading: hasLoading, hasError: hasError, errorText: errorText, hasDisableActions: hasDisableActions, hasDisableIncrement: hasDisableIncrement })] })), hasInsurance && insuranceType === 1 && ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "insurance" }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: "insuranceImg", onClick: !hasLoading ? toggleInsuranceLogo : undefined }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { color: "var(--primary)", name: "Tamamlarsin", width: "80px", height: "9.14px" }) })), (0, jsx_runtime_1.jsxs)("div", __assign({ onClick: !hasLoading ? toggleInsurance : undefined, className: "insuranceContent" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "text" }, { children: [insuranceText, insurancePrice && (0, jsx_runtime_1.jsx)("p", __assign({ className: "price" }, { children: hasInsuranceLoading ? (0, jsx_runtime_1.jsx)(Loader_1.default, { type: "wave", variant: "primary" }) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("b", { dangerouslySetInnerHTML: { __html: insurancePrice } }), (0, jsx_runtime_1.jsx)("span", __assign({ className: "quantity" }, { children: insuranceQuantity }))] }) }))] })), hasInsuranceActions && ((0, jsx_runtime_1.jsx)("div", __assign({ className: "actions" }, { children: hasInsuranceTooltip ? ((0, jsx_runtime_1.jsx)(Tooltip_1.default, __assign({ popupRight: "-16px", hasClickAction: hasInsuranceTooltipClickAction, popupWidth: insuranceTooltipWidth, position: "bottomRight" }, { children: insuranceTooltipText }))) : (hasInsurancePriceAdded ? ((0, jsx_runtime_1.jsx)(QuantitySelector_styled_1.SelectorButton, __assign({ type: "button", "$hasShadow": true, disabled: hasLoading }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "DeleteSmall" }) }))) : ((0, jsx_runtime_1.jsx)(QuantitySelector_styled_1.SelectorButton, __assign({ type: "button", "$hasShadow": true, disabled: hasLoading }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "PlusSmall" }) })))) })))] }))] }))), hasInsurance && insuranceType === 2 && !hasLoading && ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Wrapper, { children: [(0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Card, __assign({ "$selected": selectedInsuranceOption === 1 }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "insurance-option", checked: selectedInsuranceOption === 1, onChange: function () { return onInsuranceOptionSelect === null || onInsuranceOptionSelect === void 0 ? void 0 : onInsuranceOptionSelect(1); } }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Header, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Indicator, {}), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Title, { children: insuranceOption1Title }), insuranceOption1TooltipText && ((0, jsx_runtime_1.jsx)("label", __assign({ ref: tooltipWrapperRef, htmlFor: "insurance-option-1-tooltip", onClick: handleTooltipWrapperClick, onMouseDown: function (e) { return e.stopPropagation(); } }, { children: (0, jsx_runtime_1.jsx)(Tooltip_1.default, __assign({ popupRight: "-16px", popupWidth: "302px", position: "bottomRight", iconWidth: "24px", iconHeight: "24px", title: insuranceOption1TooltipTitle, popupSize: "medium", hasClickAction: hasInsuranceTooltipClickAction }, { children: insuranceOption1TooltipText })) })))] }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Content, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Description, { children: insuranceOption1Description }), (insuranceOption1Price || hasInsuranceOption1PriceLoading) && ((0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Price, { children: hasInsuranceOption1PriceLoading ? ((0, jsx_runtime_1.jsx)(Loader_1.default, { type: "wave", variant: "primary" })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2PriceValue, { children: insuranceOption1Price }), insuranceOption1PricePeriod && ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2PricePeriod, { children: [" ", insuranceOption1PricePeriod] }))] })) }))] })] })), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Card, __assign({ "$selected": selectedInsuranceOption === 2 }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "insurance-option", checked: selectedInsuranceOption === 2, onChange: function () { return onInsuranceOptionSelect === null || onInsuranceOptionSelect === void 0 ? void 0 : onInsuranceOptionSelect(2); } }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Header, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Indicator, {}), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Title, { children: insuranceOption2Title })] }), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Content, { children: (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Description, { children: insuranceOption2Description }) })] }))] }))] })));
54
+ var showUpfrontProductPriceLoading = insuranceType === 3 && upfrontAddonChecked && hasUpfrontAddonPriceLoading;
55
+ var hasUpfrontAddonDiscount = Boolean(upfrontAddonOldPrice);
56
+ return ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.ShoppingCartProductStyled, __assign({ "$discountRate": discountRate, "$hasDisableActions": hasDisableActions, "$hasInsurance": !hasLoading && insuranceType === 1 && toggleInsurance, "$insuranceType": insuranceType }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "inner" }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: "img" }, { children: (0, jsx_runtime_1.jsx)(LinkComponent, __assign({ item: { component: component, slug: slug } }, { children: image })) })), (0, jsx_runtime_1.jsx)("div", __assign({ className: "text" }, { children: (0, jsx_runtime_1.jsxs)(LinkComponent, __assign({ item: { component: component, slug: slug } }, { children: [(0, jsx_runtime_1.jsx)("strong", __assign({ className: "productCardTitle" }, { children: title })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: "productCardPriceContent" }, { children: [discountRate > 0 && (0, jsx_runtime_1.jsxs)("div", __assign({ className: "discountRate" }, { children: ["%", discountRate] })), (0, jsx_runtime_1.jsx)("div", { children: showUpfrontProductPriceLoading ? ((0, jsx_runtime_1.jsx)(Loader_1.default, { type: "wave", variant: "primary" })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [oldPrice && ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "oldPrice" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "price" }, { children: [oldPrice, oldPriceSm && (0, jsx_runtime_1.jsx)("small", { children: oldPriceSm })] })), oldPricePeriod && (0, jsx_runtime_1.jsx)("div", __assign({ className: "period" }, { children: "/".concat(oldPricePeriod) }))] }))), (0, jsx_runtime_1.jsxs)("div", __assign({ className: "newPrice" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "price" }, { children: [price, priceSm && (0, jsx_runtime_1.jsx)("small", { children: priceSm })] })), period && (0, jsx_runtime_1.jsx)("div", __assign({ className: "period" }, { children: "/".concat(period) }))] }))] })) })] })), (0, jsx_runtime_1.jsxs)("p", __assign({ className: "productCardDeliveryText" }, { children: [deliveryDangerText &&
57
+ (0, jsx_runtime_1.jsx)("span", __assign({ className: "productCardDeliveryDanger" }, { children: deliveryDangerText })), deliveryText] }))] })) })), (0, jsx_runtime_1.jsx)(QuantitySelector_1.default, { orientation: "vertical", quantity: quantity, onIncrement: onIncrement, onDecrement: onDecrement, onRemove: onRemove, hasRemove: hasRemove, hasLoading: hasLoading, hasError: hasError, errorText: errorText, hasDisableActions: hasDisableActions, hasDisableIncrement: hasDisableIncrement })] })), hasInsurance && insuranceType === 1 && ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "insurance" }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: "insuranceImg", onClick: !hasLoading ? toggleInsuranceLogo : undefined }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { color: "var(--primary)", name: "Tamamlarsin", width: "80px", height: "9.14px" }) })), (0, jsx_runtime_1.jsxs)("div", __assign({ onClick: !hasLoading ? toggleInsurance : undefined, className: "insuranceContent" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: "text" }, { children: [insuranceText, insurancePrice && (0, jsx_runtime_1.jsx)("p", __assign({ className: "price" }, { children: hasInsuranceLoading ? (0, jsx_runtime_1.jsx)(Loader_1.default, { type: "wave", variant: "primary" }) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("b", { dangerouslySetInnerHTML: { __html: insurancePrice } }), (0, jsx_runtime_1.jsx)("span", __assign({ className: "quantity" }, { children: insuranceQuantity }))] }) }))] })), hasInsuranceActions && ((0, jsx_runtime_1.jsx)("div", __assign({ className: "actions" }, { children: hasInsuranceTooltip ? ((0, jsx_runtime_1.jsx)(Tooltip_1.default, __assign({ popupRight: "-16px", hasClickAction: hasInsuranceTooltipClickAction, popupWidth: insuranceTooltipWidth, position: "bottomRight" }, { children: insuranceTooltipText }))) : (hasInsurancePriceAdded ? ((0, jsx_runtime_1.jsx)(QuantitySelector_styled_1.SelectorButton, __assign({ type: "button", "$hasShadow": true, disabled: hasLoading }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "DeleteSmall" }) }))) : ((0, jsx_runtime_1.jsx)(QuantitySelector_styled_1.SelectorButton, __assign({ type: "button", "$hasShadow": true, disabled: hasLoading }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "PlusSmall" }) })))) })))] }))] }))), hasInsurance && insuranceType === 2 && !hasLoading && ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Wrapper, { children: [(0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Card, __assign({ "$selected": selectedInsuranceOption === 1 }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "insurance-option", checked: selectedInsuranceOption === 1, onChange: function () { return onInsuranceOptionSelect === null || onInsuranceOptionSelect === void 0 ? void 0 : onInsuranceOptionSelect(1); } }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Header, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Indicator, {}), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Title, { children: insuranceOption1Title }), insuranceOption1TooltipText && ((0, jsx_runtime_1.jsx)("label", __assign({ ref: tooltipWrapperRef, htmlFor: "insurance-option-1-tooltip", onClick: handleTooltipWrapperClick, onMouseDown: function (e) { return e.stopPropagation(); } }, { children: (0, jsx_runtime_1.jsx)(Tooltip_1.default, __assign({ popupRight: "-16px", popupWidth: "302px", position: "bottomRight", iconWidth: "24px", iconHeight: "24px", title: insuranceOption1TooltipTitle, popupSize: "medium", hasClickAction: hasInsuranceTooltipClickAction }, { children: insuranceOption1TooltipText })) })))] }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Content, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Description, { children: insuranceOption1Description }), (insuranceOption1Price || hasInsuranceOption1PriceLoading) && ((0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Price, { children: hasInsuranceOption1PriceLoading ? ((0, jsx_runtime_1.jsx)(Loader_1.default, { type: "wave", variant: "primary" })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2PriceValue, { children: insuranceOption1Price }), insuranceOption1PricePeriod && ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2PricePeriod, { children: [" ", insuranceOption1PricePeriod] }))] })) }))] })] })), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Card, __assign({ "$selected": selectedInsuranceOption === 2 }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "insurance-option", checked: selectedInsuranceOption === 2, onChange: function () { return onInsuranceOptionSelect === null || onInsuranceOptionSelect === void 0 ? void 0 : onInsuranceOptionSelect(2); } }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.InsuranceType2Header, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Indicator, {}), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Title, { children: insuranceOption2Title })] }), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Content, { children: (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.InsuranceType2Description, { children: insuranceOption2Description }) })] }))] })), hasInsurance && insuranceType === 3 && !hasLoading && ((0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonWrapper, { children: (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.UpfrontAddonCard, __assign({ htmlFor: "upfront-addon" }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", id: "upfront-addon", checked: upfrontAddonChecked, onChange: onUpfrontAddonChange }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.UpfrontAddonHeader, { children: [(0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonIndicator, {}), (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonTitle, { children: upfrontAddonTitle }), upfrontAddonDiscountBadge && ((0, jsx_runtime_1.jsx)(Badges_1.default, { layout: "text", variant: "light", title: upfrontAddonDiscountBadge }))] }), (upfrontAddonSummaryText || upfrontAddonPrice) && ((0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonPriceBlock, { children: hasUpfrontAddonDiscount ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.UpfrontAddonPriceLine, { children: [upfrontAddonSummaryText, " ", (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonOldPrice, { children: upfrontAddonOldPrice })] }), (0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.UpfrontAddonPriceLine, { children: ["yerine \u015Fimdi", " ", (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonDiscountedPrice, { children: upfrontAddonPrice })] })] })) : ((0, jsx_runtime_1.jsxs)(ShoppingCartProduct_styled_1.UpfrontAddonPriceLine, { children: [upfrontAddonSummaryText, upfrontAddonPrice && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" ", (0, jsx_runtime_1.jsx)(ShoppingCartProduct_styled_1.UpfrontAddonDiscountedPrice, { children: upfrontAddonPrice })] }))] })) }))] })) }))] })));
55
58
  };
56
59
  exports.default = ShoppingCartProduct;
@@ -14,4 +14,13 @@ export declare const InsuranceType2Card: import("styled-components/dist/types").
14
14
  $selected?: boolean;
15
15
  }, never>>> & string;
16
16
  export declare const InsuranceType2Wrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
17
+ export declare const UpfrontAddonIndicator: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
18
+ export declare const UpfrontAddonTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
19
+ export declare const UpfrontAddonHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
20
+ export declare const UpfrontAddonPriceBlock: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
21
+ export declare const UpfrontAddonPriceLine: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>>> & string;
22
+ export declare const UpfrontAddonOldPrice: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
23
+ export declare const UpfrontAddonDiscountedPrice: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
24
+ export declare const UpfrontAddonCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, never>>> & string;
25
+ export declare const UpfrontAddonWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
17
26
  export declare const ShoppingCartProductStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof ShoppingCartProductStyledProps> & ShoppingCartProductStyledProps, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof ShoppingCartProductStyledProps> & ShoppingCartProductStyledProps, never>>> & string;
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ShoppingCartProductStyled = exports.InsuranceType2Wrapper = exports.InsuranceType2Card = exports.InsuranceType2PricePeriod = exports.InsuranceType2PriceValue = exports.InsuranceType2Price = exports.InsuranceType2Description = exports.InsuranceType2Content = exports.InsuranceType2Title = exports.InsuranceType2Indicator = exports.InsuranceType2Header = void 0;
10
+ exports.ShoppingCartProductStyled = exports.UpfrontAddonWrapper = exports.UpfrontAddonCard = exports.UpfrontAddonDiscountedPrice = exports.UpfrontAddonOldPrice = exports.UpfrontAddonPriceLine = exports.UpfrontAddonPriceBlock = exports.UpfrontAddonHeader = exports.UpfrontAddonTitle = exports.UpfrontAddonIndicator = exports.InsuranceType2Wrapper = exports.InsuranceType2Card = exports.InsuranceType2PricePeriod = exports.InsuranceType2PriceValue = exports.InsuranceType2Price = exports.InsuranceType2Description = exports.InsuranceType2Content = exports.InsuranceType2Title = exports.InsuranceType2Indicator = exports.InsuranceType2Header = void 0;
11
11
  var jsx_runtime_1 = require("react/jsx-runtime");
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var devices_1 = require("../../constants/devices");
@@ -23,5 +23,14 @@ exports.InsuranceType2PriceValue = styled_components_1.default.span(templateObje
23
23
  exports.InsuranceType2PricePeriod = styled_components_1.default.span(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n font: var(--caption-regular-12-15);\n color: var(--dark);\n"], ["\n font: var(--caption-regular-12-15);\n color: var(--dark);\n"])));
24
24
  exports.InsuranceType2Card = styled_components_1.default.label(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1rem;\n background: var(--primary-opacity-5);\n border-radius: 0.5rem;\n cursor: pointer;\n\n input[type=\"radio\"] {\n height: 0;\n width: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n\n &:checked ~ ", " ", " {\n background-image: url('", "');\n }\n }\n"], ["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1rem;\n background: var(--primary-opacity-5);\n border-radius: 0.5rem;\n cursor: pointer;\n\n input[type=\"radio\"] {\n height: 0;\n width: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n\n &:checked ~ ", " ", " {\n background-image: url('", "');\n }\n }\n"])), exports.InsuranceType2Header, exports.InsuranceType2Indicator, (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { hasWrapper: false, color: "var(--primary)", name: "RadioButtonElementChecked" })));
25
25
  exports.InsuranceType2Wrapper = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: relative;\n margin-top: 1.5rem;\n padding: 1.5rem;\n border: 1px solid var(--grey-10);\n border-radius: 0.5rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n"], ["\n position: relative;\n margin-top: 1.5rem;\n padding: 1.5rem;\n border: 1px solid var(--grey-10);\n border-radius: 0.5rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n"])));
26
- exports.ShoppingCartProductStyled = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n .inner {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n position: relative;\n z-index: 5;\n\n .img {\n width: 96px;\n height: 96px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 1rem;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n\n &:hover {\n ~ .text {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n }\n\n .text {\n padding-right: 0.5rem;\n\n a {\n &:hover {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n\n .productCardTitle {\n display: block;\n color: var(--dark);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n height: 19px;\n word-break: break-word;\n margin-bottom: 0.5rem;\n font: var(--title-semi-bold-16-19);\n transition: all .2s ease;\n }\n\n .productCardDeliveryText {\n margin-top: 0.5rem;\n margin-bottom: 0;\n color: var(--grey-40);\n display: block;\n overflow: hidden;\n font: var(--body-medium-13-16);\n\n .productCardDeliveryDanger {\n display: block;\n color: var(--red);\n }\n }\n\n .productCardPriceContent {\n display: grid;\n align-items: ", ";\n justify-content: flex-start;\n grid-template-columns: ", ";\n\n .discountRate {\n margin-right: 0.5rem;\n width: 48px;\n height: 36px;\n border-radius: 0.5rem;\n background-color: var(--primary-opacity-10);\n color: var(--primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font: var(--body-extra-bold-13-16);\n }\n\n .oldPrice, .newPrice {\n display: flex;\n align-items: end;\n justify-content: flex-start;\n\n .price {\n margin-right: 4px;\n white-space: nowrap;\n }\n\n .period {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-all;\n }\n }\n\n .oldPrice {\n color: var(--dark-opacity-25);\n margin-bottom: 2px;\n\n .price {\n text-decoration: line-through;\n font: var(--caption-semi-bold-11-13);\n\n small {\n font: var(--caption-semi-bold-10-12);\n }\n }\n\n .period {\n text-decoration: line-through;\n font: var(--caption-regular-11-13);\n }\n }\n\n .newPrice {\n .price {\n font: var(--body-extra-bold-14-17);\n\n small {\n font: var(--caption-bold-12-15);\n }\n }\n\n .period {\n font: var(--caption-regular-12-15);\n }\n }\n }\n }\n\n }\n\n .insurance {\n position: relative;\n margin-top: 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n padding-right: 4px;\n cursor: ", ";\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n\n .insuranceImg {\n width: 96px;\n height: 40px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .insuranceContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media only screen and ", " {\n &:hover {\n button{\n background-color: var(--primary);\n color: white;\n }\n }\n }\n\n &:active {\n button {\n color: white;\n background-color: var(--primary);\n }\n }\n .text {\n display: block;\n font: var(--caption-semi-bold-12-15);\n\n .price {\n display: block;\n margin: 0;\n font: var(--caption-extra-bold-12-15);\n\n b {\n span {\n font-weight: 400;\n }\n }\n\n .quantity {\n display: inline-block;\n margin-left: 0.5rem;\n }\n }\n }\n\n .actions {\n width: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n }\n"], ["\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n .inner {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n position: relative;\n z-index: 5;\n\n .img {\n width: 96px;\n height: 96px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 1rem;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n\n &:hover {\n ~ .text {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n }\n\n .text {\n padding-right: 0.5rem;\n\n a {\n &:hover {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n\n .productCardTitle {\n display: block;\n color: var(--dark);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n height: 19px;\n word-break: break-word;\n margin-bottom: 0.5rem;\n font: var(--title-semi-bold-16-19);\n transition: all .2s ease;\n }\n\n .productCardDeliveryText {\n margin-top: 0.5rem;\n margin-bottom: 0;\n color: var(--grey-40);\n display: block;\n overflow: hidden;\n font: var(--body-medium-13-16);\n\n .productCardDeliveryDanger {\n display: block;\n color: var(--red);\n }\n }\n\n .productCardPriceContent {\n display: grid;\n align-items: ", ";\n justify-content: flex-start;\n grid-template-columns: ", ";\n\n .discountRate {\n margin-right: 0.5rem;\n width: 48px;\n height: 36px;\n border-radius: 0.5rem;\n background-color: var(--primary-opacity-10);\n color: var(--primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font: var(--body-extra-bold-13-16);\n }\n\n .oldPrice, .newPrice {\n display: flex;\n align-items: end;\n justify-content: flex-start;\n\n .price {\n margin-right: 4px;\n white-space: nowrap;\n }\n\n .period {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-all;\n }\n }\n\n .oldPrice {\n color: var(--dark-opacity-25);\n margin-bottom: 2px;\n\n .price {\n text-decoration: line-through;\n font: var(--caption-semi-bold-11-13);\n\n small {\n font: var(--caption-semi-bold-10-12);\n }\n }\n\n .period {\n text-decoration: line-through;\n font: var(--caption-regular-11-13);\n }\n }\n\n .newPrice {\n .price {\n font: var(--body-extra-bold-14-17);\n\n small {\n font: var(--caption-bold-12-15);\n }\n }\n\n .period {\n font: var(--caption-regular-12-15);\n }\n }\n }\n }\n\n }\n\n .insurance {\n position: relative;\n margin-top: 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n padding-right: 4px;\n cursor: ", ";\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n\n .insuranceImg {\n width: 96px;\n height: 40px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .insuranceContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media only screen and ", " {\n &:hover {\n button{\n background-color: var(--primary);\n color: white;\n }\n }\n }\n\n &:active {\n button {\n color: white;\n background-color: var(--primary);\n }\n }\n .text {\n display: block;\n font: var(--caption-semi-bold-12-15);\n\n .price {\n display: block;\n margin: 0;\n font: var(--caption-extra-bold-12-15);\n\n b {\n span {\n font-weight: 400;\n }\n }\n\n .quantity {\n display: inline-block;\n margin-left: 0.5rem;\n }\n }\n }\n\n .actions {\n width: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n }\n"])), function (props) { return props.$discountRate ? 'center' : 'end'; }, function (props) { return props.$discountRate ? 'auto 1fr' : '1fr'; }, function (props) { return props.$hasInsurance ? 'pointer' : 'initial'; }, devices_1.devices.mdUp);
27
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
26
+ exports.UpfrontAddonIndicator = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n background-image: url('", "');\n background-size: 100% 100%;\n"], ["\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n background-image: url('", "');\n background-size: 100% 100%;\n"])), (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { hasWrapper: false, color: "var(--primary)", name: "CheckboxElementUncheck" })));
27
+ exports.UpfrontAddonTitle = styled_components_1.default.span(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n font: var(--body-extra-bold-13-16);\n color: var(--dark);\n flex: 1;\n min-width: 0;\n"], ["\n font: var(--body-extra-bold-13-16);\n color: var(--dark);\n flex: 1;\n min-width: 0;\n"])));
28
+ exports.UpfrontAddonHeader = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 1rem;\n width: 100%;\n"], ["\n display: flex;\n align-items: center;\n gap: 1rem;\n width: 100%;\n"])));
29
+ exports.UpfrontAddonPriceBlock = styled_components_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n margin-top: auto;\n padding-left: 2.5rem;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n margin-top: auto;\n padding-left: 2.5rem;\n"])));
30
+ exports.UpfrontAddonPriceLine = styled_components_1.default.p(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n margin: 0;\n font: var(--caption-regular-11-13);\n color: var(--grey-50);\n"], ["\n margin: 0;\n font: var(--caption-regular-11-13);\n color: var(--grey-50);\n"])));
31
+ exports.UpfrontAddonOldPrice = styled_components_1.default.span(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n text-decoration: line-through;\n color: var(--dark-opacity-25);\n font: var(--caption-semi-bold-12-15);\n"], ["\n text-decoration: line-through;\n color: var(--dark-opacity-25);\n font: var(--caption-semi-bold-12-15);\n"])));
32
+ exports.UpfrontAddonDiscountedPrice = styled_components_1.default.span(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n font: var(--body-extra-bold-13-16);\n color: var(--dark);\n"], ["\n font: var(--body-extra-bold-13-16);\n color: var(--dark);\n"])));
33
+ exports.UpfrontAddonCard = styled_components_1.default.label(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: 1rem;\n background: var(--primary-opacity-5);\n border-radius: 0.5rem;\n cursor: pointer;\n\n input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n\n &:checked ~ ", " ", " {\n background-image: url('", "');\n }\n }\n"], ["\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: 1rem;\n background: var(--primary-opacity-5);\n border-radius: 0.5rem;\n cursor: pointer;\n\n input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n\n &:checked ~ ", " ", " {\n background-image: url('", "');\n }\n }\n"])), exports.UpfrontAddonHeader, exports.UpfrontAddonIndicator, (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { hasWrapper: false, color: "var(--primary)", name: "CheckboxElementChecked" })));
34
+ exports.UpfrontAddonWrapper = styled_components_1.default.div(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n position: relative;\n margin-top: 1.5rem;\n padding: 1rem;\n border: 1px solid var(--grey-10);\n border-radius: 0.5rem;\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n"], ["\n position: relative;\n margin-top: 1.5rem;\n padding: 1rem;\n border: 1px solid var(--grey-10);\n border-radius: 0.5rem;\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n"])));
35
+ exports.ShoppingCartProductStyled = styled_components_1.default.div(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n .inner {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n position: relative;\n z-index: 5;\n\n .img {\n width: 96px;\n height: 96px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 1rem;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n\n &:hover {\n ~ .text {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n }\n\n .text {\n padding-right: 0.5rem;\n\n a {\n &:hover {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n\n .productCardTitle {\n display: block;\n color: var(--dark);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n height: 19px;\n word-break: break-word;\n margin-bottom: 0.5rem;\n font: var(--title-semi-bold-16-19);\n transition: all .2s ease;\n }\n\n .productCardDeliveryText {\n margin-top: 0.5rem;\n margin-bottom: 0;\n color: var(--grey-40);\n display: block;\n overflow: hidden;\n font: var(--body-medium-13-16);\n\n .productCardDeliveryDanger {\n display: block;\n color: var(--red);\n }\n }\n\n .productCardPriceContent {\n display: grid;\n align-items: ", ";\n justify-content: flex-start;\n grid-template-columns: ", ";\n\n .discountRate {\n margin-right: 0.5rem;\n width: 48px;\n height: 36px;\n border-radius: 0.5rem;\n background-color: var(--primary-opacity-10);\n color: var(--primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font: var(--body-extra-bold-13-16);\n }\n\n .oldPrice, .newPrice {\n display: flex;\n align-items: end;\n justify-content: flex-start;\n\n .price {\n margin-right: 4px;\n white-space: nowrap;\n }\n\n .period {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-all;\n }\n }\n\n .oldPrice {\n color: var(--dark-opacity-25);\n margin-bottom: 2px;\n\n .price {\n text-decoration: line-through;\n font: var(--caption-semi-bold-11-13);\n\n small {\n font: var(--caption-semi-bold-10-12);\n }\n }\n\n .period {\n text-decoration: line-through;\n font: var(--caption-regular-11-13);\n }\n }\n\n .newPrice {\n .price {\n font: var(--body-extra-bold-14-17);\n\n small {\n font: var(--caption-bold-12-15);\n }\n }\n\n .period {\n font: var(--caption-regular-12-15);\n }\n }\n }\n }\n\n }\n\n .insurance {\n position: relative;\n margin-top: 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n padding-right: 4px;\n cursor: ", ";\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n\n .insuranceImg {\n width: 96px;\n height: 40px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .insuranceContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media only screen and ", " {\n &:hover {\n button{\n background-color: var(--primary);\n color: white;\n }\n }\n }\n\n &:active {\n button {\n color: white;\n background-color: var(--primary);\n }\n }\n .text {\n display: block;\n font: var(--caption-semi-bold-12-15);\n\n .price {\n display: block;\n margin: 0;\n font: var(--caption-extra-bold-12-15);\n\n b {\n span {\n font-weight: 400;\n }\n }\n\n .quantity {\n display: inline-block;\n margin-left: 0.5rem;\n }\n }\n }\n\n .actions {\n width: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n }\n"], ["\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n .inner {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n position: relative;\n z-index: 5;\n\n .img {\n width: 96px;\n height: 96px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 1rem;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n\n &:hover {\n ~ .text {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n }\n\n .text {\n padding-right: 0.5rem;\n\n a {\n &:hover {\n .productCardTitle {\n color: var(--primary-hover);\n }\n }\n }\n\n .productCardTitle {\n display: block;\n color: var(--dark);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n height: 19px;\n word-break: break-word;\n margin-bottom: 0.5rem;\n font: var(--title-semi-bold-16-19);\n transition: all .2s ease;\n }\n\n .productCardDeliveryText {\n margin-top: 0.5rem;\n margin-bottom: 0;\n color: var(--grey-40);\n display: block;\n overflow: hidden;\n font: var(--body-medium-13-16);\n\n .productCardDeliveryDanger {\n display: block;\n color: var(--red);\n }\n }\n\n .productCardPriceContent {\n display: grid;\n align-items: ", ";\n justify-content: flex-start;\n grid-template-columns: ", ";\n\n .discountRate {\n margin-right: 0.5rem;\n width: 48px;\n height: 36px;\n border-radius: 0.5rem;\n background-color: var(--primary-opacity-10);\n color: var(--primary);\n display: flex;\n align-items: center;\n justify-content: center;\n font: var(--body-extra-bold-13-16);\n }\n\n .oldPrice, .newPrice {\n display: flex;\n align-items: end;\n justify-content: flex-start;\n\n .price {\n margin-right: 4px;\n white-space: nowrap;\n }\n\n .period {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-all;\n }\n }\n\n .oldPrice {\n color: var(--dark-opacity-25);\n margin-bottom: 2px;\n\n .price {\n text-decoration: line-through;\n font: var(--caption-semi-bold-11-13);\n\n small {\n font: var(--caption-semi-bold-10-12);\n }\n }\n\n .period {\n text-decoration: line-through;\n font: var(--caption-regular-11-13);\n }\n }\n\n .newPrice {\n .price {\n font: var(--body-extra-bold-14-17);\n\n small {\n font: var(--caption-bold-12-15);\n }\n }\n\n .period {\n font: var(--caption-regular-12-15);\n }\n }\n }\n }\n\n }\n\n .insurance {\n position: relative;\n margin-top: 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n padding-right: 4px;\n cursor: ", ";\n\n &:before {\n content: \"\";\n position: absolute;\n left: 47px;\n bottom: 100%;\n width: 1px;\n background-color: var(--dark-opacity-5);\n height: 40px;\n }\n\n .insuranceImg {\n width: 96px;\n height: 40px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 0.5rem;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .insuranceContent {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media only screen and ", " {\n &:hover {\n button{\n background-color: var(--primary);\n color: white;\n }\n }\n }\n\n &:active {\n button {\n color: white;\n background-color: var(--primary);\n }\n }\n .text {\n display: block;\n font: var(--caption-semi-bold-12-15);\n\n .price {\n display: block;\n margin: 0;\n font: var(--caption-extra-bold-12-15);\n\n b {\n span {\n font-weight: 400;\n }\n }\n\n .quantity {\n display: inline-block;\n margin-left: 0.5rem;\n }\n }\n }\n\n .actions {\n width: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n }\n"])), function (props) { return props.$discountRate ? 'center' : 'end'; }, function (props) { return props.$discountRate ? 'auto 1fr' : '1fr'; }, function (props) { return props.$hasInsurance ? 'pointer' : 'initial'; }, devices_1.devices.mdUp);
36
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export type InsuranceType = 1 | 2;
2
+ export type InsuranceType = 1 | 2 | 3;
3
3
  export interface ShoppingCartProduct {
4
4
  title?: string;
5
5
  priceSm?: string;
@@ -32,6 +32,15 @@ export interface ShoppingCartProduct {
32
32
  /** Type 2: Selected option (1 or 2) */
33
33
  selectedInsuranceOption?: 1 | 2;
34
34
  onInsuranceOptionSelect?: (option: 1 | 2) => void;
35
+ /** Type 3: Pay upfront addon */
36
+ upfrontAddonTitle?: string;
37
+ upfrontAddonChecked?: boolean;
38
+ onUpfrontAddonChange?: () => void;
39
+ upfrontAddonDiscountBadge?: string;
40
+ upfrontAddonSummaryText?: string;
41
+ upfrontAddonOldPrice?: string;
42
+ upfrontAddonPrice?: string;
43
+ hasUpfrontAddonPriceLoading?: boolean;
35
44
  deliveryText?: string;
36
45
  quantity?: string;
37
46
  hasLoading?: boolean;
@@ -29,6 +29,14 @@ exports.ShoppingCartProductDefault = {
29
29
  insuranceOption2Description: "Hasar güvencesi eklemediğinde yalnızca 5.000 TL'ye kadar olan hasarlar için %100 hasar güvencesi bulunur.",
30
30
  selectedInsuranceOption: 1,
31
31
  onInsuranceOptionSelect: null,
32
+ upfrontAddonTitle: "Tek seferde öde",
33
+ upfrontAddonChecked: false,
34
+ onUpfrontAddonChange: null,
35
+ upfrontAddonDiscountBadge: null,
36
+ upfrontAddonSummaryText: null,
37
+ upfrontAddonOldPrice: null,
38
+ upfrontAddonPrice: null,
39
+ hasUpfrontAddonPriceLoading: false,
32
40
  deliveryText: null,
33
41
  quantity: null,
34
42
  hasLoading: false,